← All samples

Geo3d Search Sample (Satellites)

Live satellite positions on a 3D globe (CesiumJS). Click anywhere on the globe to set a search centre — the demo shows the satellite 3D-closest to that point and re-ranks them as you move. True 3D: altitude is part of the distance.

Engine loading…

Satellites tracked: 0
Source: celestrak.org + SGP4 (client-side)
Last update: never

Maintenance

Refresh re-propagates every satellite to the current time with SGP4 (pure client-side math, no network) and rebuilds the index. Orbital element sets are downloaded from CelesTrak once per group per session. Reset clears OPFS state including the cached UniDic dictionary.

Auto-refresh pauses while the tab is hidden to save CPU — positions are recomputed locally, so refreshing never contacts CelesTrak again. Element sets change only a few times a day and CelesTrak temporarily blocks clients that re-download them repeatedly, hence the once-per-session fetch.

Search

Results are always sorted by 3D Euclidean distance from the pin (altitude included). Use the search box or quick filters to narrow the matches by text — the closest matches up to the selected count are shown.

Left drag to rotate · right drag to tilt · scroll wheel to zoom · click the globe to move the search centre 📌.

Results

  • Loading satellite data…
Developer detail (DSL query and internal state)

Live view of the DSL string the demo sends to index.search() and the pin's internal state. Handy when you want to copy the query into a CLI or unit test.

Pin (lat, lon)
—
Pin ECEF
—
Last DSL query
—

Log