Reference data
/stations/orbits/special/ephemeris/solar-systemPurpose
Three read-only endpoints returning reference data the service carries. None takes a request body, and none touches the constellation store, so they work immediately after startup.
GET /stations
The built-in ground-station catalog.
curl -s http://127.0.0.1:8080/stations[
{
"id": "dsn:goldstone",
"network": "dsn",
"name": "NASA DSN Goldstone (Mojave, USA)",
"latitude_deg": 35.4267,
"longitude_deg": -116.89,
"altitude_km": 1.0,
"min_elevation_deg": 6.0,
"provenance": "https://deepspace.jpl.nasa.gov/about/complexes/"
}
]Response elided; the catalog holds 14 stations.
| Parameter | Type | Unit | Default | Required | Description |
|---|---|---|---|---|---|
id | string | n/a | — | No | Namespaced identifier as `network:site`. |
network | string | n/a | — | No | Operating network, for example `dsn`, `ksat`, `ssc`. |
latitude_deg | number | deg | — | No | Geodetic latitude, positive north. |
longitude_deg | number | deg | — | No | Longitude, positive east. Goldstone at -116.89 is west. |
altitude_km | number | km | — | No | Height above the reference ellipsoid. |
min_elevation_deg | number | deg | — | No | The mask the site actually works to. Part of the site definition, not a preference. |
provenance | string | n/a | — | No | Source for the coordinates. Every entry cites where its data came from. |
The provenance field is worth noticing. Station coordinates are the kind of input
that gets copied between documents until nobody knows where they came from, and citing
the source per entry is what makes the catalog auditable.
Stations are supplied to analysis endpoints inline, not by catalog identifier.
Use this endpoint to look coordinates up, then include them in a
ground_stations array.
GET /orbits/special
Constants for the orbits that have names.
curl -s http://127.0.0.1:8080/orbits/special{
"geostationary_altitude_km": 35786.032461861854,
"critical_inclination_deg": 63.43494882292201,
"sun_synchronous_inclination_deg": null,
"sun_synchronous_error": null,
"repeat_ground_track_altitude_km": null,
"repeat_ground_track_error": null
}| Field | Meaning |
|---|---|
geostationary_altitude_km | Altitude at which the orbital period matches one sidereal day |
critical_inclination_deg | 63.435 degrees, where J2-driven apsidal rotation vanishes |
sun_synchronous_* | Inclination for a requested altitude, when one is supplied |
repeat_ground_track_* | Altitude for a requested repeat cycle, when one is supplied |
The null fields are not missing data. They are solutions to queries you did not
ask: supply the relevant query parameters and they are populated, with a
companion _error field reporting how closely the condition was met.
The critical inclination of 63.435 degrees is where the J2 apsidal rotation rate goes to zero, so an eccentric orbit keeps its perigee over the same latitude. It is why Molniya orbits use it.
GET /ephemeris/solar-system
Sampled positions of solar system bodies, used for third-body perturbations and for the solar system view in the globe viewer.
curl -s http://127.0.0.1:8080/ephemeris/solar-system{
"start": "2026-01-01T00:00:00Z",
"days": 730.0,
"au_to_km": 149597870.7,
"sample_days": [0.0, 2.0054945054945055, 4.010989010989011]
}Response elided.
The default span is 730 days sampled at roughly two-day intervals. The
au_to_km constant is included so a consumer can convert without hard-coding it,
which is the sort of detail that prevents a unit error downstream.
See also
orbitforge stations listfor the same catalog from a shell.- Propagation fidelity for how third-body ephemerides are used.
main (pre-release)