> ## Documentation Index
> Fetch the complete documentation index at: https://docs.valar.space/llms.txt
> Use this file to discover all available pages before exploring further.

# Ground Track Visualization

> Explore spacecraft ground tracks and orbital trajectories in 2D and 3D

> For the complete documentation index, see [llms.txt](/llms.txt).

Ground Track shows spacecraft positions and trajectories at the selected time on an interactive map or globe. If your account has the consolidated **Operations Map**, open **Map** (`/map`) and follow the [Map guide](/features/map). For these accounts, `/orbits/ground-track` redirects to Map with ground tracks enabled. Accounts outside that rollout retain **Orbits → Ground Track**.

<img src="https://mintcdn.com/valar-8bbb18b5/6vb3axcORVXT2Ny4/images/ground-track.png?fit=max&auto=format&n=6vb3axcORVXT2Ny4&q=85&s=b94f1a9724ffcf42a0ef65917f935328" alt="VALAR Ground Track with spacecraft paths, view controls, and playback timeline" width="1440" height="1000" data-path="images/ground-track.png" />

## Select spacecraft and a view

The spacecraft filter determines which trajectories appear. With no explicit filter, the page selects the available spacecraft. Apply your selection to update the view. Spacecraft keep their assigned colors across the map and charts.

| Control | Behavior |
| - | - |
| **2D** (default) | Geographic map covering the entire Earth, including both poles. Shows subsatellite ground tracks. |
| **3D** | WGS84 ellipsoid with trajectories at their physical altitudes. Drag to orbit the camera; scroll or pinch to zoom. |
| **ECEF** (default) | Earth-fixed coordinates. Available in both views. |
| **ECI** | Inertial coordinates, available in 3D. Earth rotates with the selected time. |
| **Reset view** | Stop tracking and reset the camera without leaving the page or clearing spacecraft selection. In 3D, fit the available trajectories. |
| **Charts** | Open the existing latitude/longitude and coordinate-versus-time charts. |

Changing view preserves the playhead and playback. Each view remembers its camera position. Entering 2D selects ECEF; the 3D frame badge identifies the actual inertial frame, such as **GCRF**, when ECI is selected. Different inertial frames cannot share a single inertial scene. Use ECEF or select spacecraft with the same inertial frame.

Hover the frame badge for its description and the link to the [reference frame catalog](/platform-overview/reference-frames).

## Geographic backgrounds

The map and globe use Valar-hosted, theme-aware monochrome cartography. Operational objects keep their assigned colours; there is no Monochrome / Colored selector. Light and dark mode change the geographic styling automatically.

The worldwide basemap retains regional detail through zoom 8. Closer views reuse that detail while operational geometry remains precise; zooming does not introduce finer geographic source data. In 3D, the surface is the WGS84 ellipsoid, not terrain.

If a background cannot load, the page reports it and keeps orbital geometry and navigation available. The background loads independently of orbit computation.

## Positions and paths

The 2D marker represents the subsatellite point. The 3D marker represents the spacecraft's physical position. Colors identify the same spacecraft in both views. Labels behind Earth are hidden in 3D; 2D labels are decluttered when they overlap.

Paths show up to **one hour behind** and **24 hours ahead** of the playhead, limited to the available orbit data. Ground tracks split at the date line and handle polar crossings. The map does not connect gaps, interpolate through declared maneuver boundaries, or extrapolate beyond supplied data.

Click a marker or choose **Inspect spacecraft** to see its latitude, longitude and ellipsoidal altitude at the playhead. **Track spacecraft** follows that craft; **Stop tracking** or **Reset view** releases it. Longitude is undefined at an exact pole. Displayed decimal places describe the computed position, not orbit uncertainty; uncertainty is shown as unavailable when it has not been supplied.

In 3D, illumination follows the supplied Sun direction and selected epoch. It illustrates geometric sunlight; it is not an eclipse-duration or power analysis product. Earth is withheld in ECI when its orientation is unavailable.

## Navigation

| Input | 2D | 3D |
| - | - | - |
| Drag | Pan | Orbit camera |
| Scroll / pinch | Zoom | Zoom |
| Right drag / two-finger drag | Pan | Pan camera target |
| Arrow keys with the view focused | Pan | Orbit camera |
| Plus / minus with the view focused | Zoom | Zoom |

The globe uses damped navigation and respects the reduced-motion preference when the view opens. Map and globe remain navigable while trajectories are loading.

## Timeline

<img src="https://mintcdn.com/valar-8bbb18b5/6vb3axcORVXT2Ny4/images/ground-track-toolbar.png?fit=max&auto=format&n=6vb3axcORVXT2Ny4&q=85&s=fd205427365b4cf4ce65f51d6f2ae26f" alt="Ground Track playback controls and UTC playhead" className="mx-auto" style={{ width: "85%" }} width="616" height="50" data-path="images/ground-track-toolbar.png" />

Playback starts paused at **300×** speed. The floating toolbar provides:

* **Reset to start:** jump to the beginning of the available interval.
* **Reverse:** play backward; press again to pause reverse playback.
* **Play / Pause:** start or pause forward playback.
* **Sync to real-time:** follow the browser clock while it falls within available trajectory data. If it lies outside the data, a message explains why sync is unavailable.
* **Timeline slider:** seek to a time within the data interval. Seeking exits real-time sync.
* **Speed:** choose 0.5×, 1×, 2×, 5×, 10×, 50×, 100×, 300× or 1000×. Changing speed exits real-time sync.

The timestamp is UTC. Playback progresses in elapsed physical seconds and supports a supplied leap second. The browser clock itself cannot represent a leap second. At an interval boundary, ordinary playback wraps; live sync stops when data no longer covers the browser time.

## Data and charts

By default, the page requests seven days before and seven days after its reference time, with samples every 60 seconds. Use the time-range presets and past/future controls to change that interval. Paths are prepared in a background worker for a bounded window around the playhead. The map appears while these samples are being computed; it does not wait for the complete orbit response before allowing navigation.

The existing five-minute per-spacecraft/time-range cache and request deduplication remain in use. Latitude/longitude, latitude-versus-time and longitude-versus-time charts are available in the Charts panel, with hover values and loading or empty states.

**Display quality** notices identify missing or invalid samples, unavailable Earth orientation or illumination, and interpolation gaps. No coordinate or altitude is invented to fill missing data. Orbit propagation accuracy and source freshness remain properties of the selected orbit; geographic background detail does not improve them.

## When the orbit is stale or unusable

The map draws each spacecraft from a **fresh** orbit. A spacecraft's [orbit age](/features/orbit-age#orbit-age) is measured from its latest [state vector](/features/state-vectors) — the position and velocity at an epoch you provide through orbit determination, an [OPM](/file-formats/opm) import, or manual entry. As that age grows it crosses two levels in turn — the [degraded level](/features/orbit-age#degraded-level), then the [stale level](/features/orbit-age#stale-level) — and the map reacts differently at each. The track normally draws the moment you open the page; on a stale orbit it waits for you to choose to proceed.

What you see depends on the selected spacecraft's orbit age:

| Orbit state | What the map shows |
| - | - |
| **Fresh** (within both levels) | The ground track, globe position, and charts draw normally — nothing extra. |
| **Degraded** (past the [degraded level](/features/orbit-age#degraded-level)) | The track draws from the platform-fetched public [TLE](/file-formats/tle), with an inline aging notice above the map reading **This spacecraft's orbit is stale**, the orbit's age (`last determined N days ago`), and the level it crossed (`exceeds your N-day threshold`). When the fallback orbit is itself stale, the notice adds **the public-TLE fallback is also stale**. The track still draws — the notice is a heads-up, not a block. |
| **Stale** (past the [stale level](/features/orbit-age#stale-level)) | The track is **held** until you choose to proceed. Above the map, the page shows the same **This spacecraft's orbit is stale** panel — with the age and threshold lines — plus a **Compute anyway** button. Click **Compute anyway** to draw the ground track and globe position from the stale orbit. |
| **No usable orbit** | When a selected spacecraft has no orbit data of any kind to draw from, the page shows a panel reading **Can't compute — `{spacecraft}` has no usable orbit**, explaining that **There is no usable orbit data for this spacecraft, so this product can't be computed. Add tracking data to continue**, with an **Add orbit data** button that opens the [Spacecraft](/features/spacecraft-management) page. This is never shown as a raw error. |

Both `N` values are whole days — the spacecraft's actual orbit age and your configured stale level. The stale and degraded levels are workspace-wide values set once in **Settings → Orbits → Orbit age** (stale level default `14 days`); the same values govern the [Keplerian-elements plot](/features/orbit-elements-plots) and [AOI overflight](/features/areas-of-interest/overflight-events), changed in one place rather than per surface. See [Orbit age](/features/orbit-age#stale-level) for the workspace-wide policy and the block message.

<Note>
  Every spacecraft affected at either level is also named in the unified [orbit-data-age footer](/features/orbit-age#the-orbit-data-age-footer) at the bottom of the page — tagged **Degraded** at the degraded level, or **Blocked** once past the stale level — so you can see which spacecraft are affected at a glance.
</Note>

## Loading and unavailable data

| State | What remains available |
| - | - |
| Renderer loading | A short map or globe placeholder while the local renderer loads. |
| Trajectories loading | Geographic navigation; a loading indicator and disabled playback until data arrives. |
| Paths being prepared | Current positions and navigation, with a progress message. |
| Missing physical samples | Geographic navigation and an explanation; unsupported positions are withheld. |
| Background unavailable | Operational geometry, navigation and a background status message. |
| WebGL unavailable | An explanation directing you to 2D or the numerical state panel. |
| Charts loading | Chart skeletons; the geographic view remains available. |

### Geographic context

The map and globe include country borders and place names. Labels adjust with zoom to keep the display readable. The 2D map stays within the poles even at maximum zoom-out, filling the available space. Satellite imagery is historical background context; its date and resolution are shown on the map.

If an orbit request fails, Ground Track shows the failure and offers **Retry trajectories**. A spacecraft with a usable public TLE can be plotted without a primary state vector, subject to the same backend freshness policy. A stale-orbit refusal still requires an explicit **Compute anyway** decision.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.