Methodology: how Galaxy computes positions
Data as of 2026-10-21
Reference frames
Every position is a geometric position, with no light-time or aberration correction: where a body is at that instant, not where it appears from Earth. Galaxy works in the J2000 ecliptic frame, the frame of the JPL Horizons files and of the orbital elements. astronomy-engine returns J2000 equatorial vectors (ICRF axes); they are rotated into the ecliptic by the J2000 obliquity, ε = 84381.448″ (23.4392911°), the IAU 1976 value that defines the Horizons ecliptic, so that every source shares one frame.
The Sun is fixed at the origin: positions are heliocentric. The 3D scene maps the ecliptic onto its horizontal plane: scene X = ecliptic x, scene Y = ecliptic z (towards the north ecliptic pole), scene Z = −ecliptic y. This is a proper rotation (determinant +1), not a mirror, so orbits keep their true direction of travel.
A globe is drawn as the ellipsoid its three published radii describe, read from the same NAIF kernel as the rotation models, not as a sphere: 18 bodies are flattened or elongated this way, Saturn by 9.80% from equator to pole. For Ceres (482.08 × 482.08 × 445.93 km), whose kernel radii predate the mission that mapped it, the ellipsoid is fitted to the shipped terrain model instead. Each surface point is pushed along its direction from the centre, so a map keeps its planetocentric latitude, and a marker or a streamed tile lands on the texture it describes. Bodies with three equal radii, or none published, stay spheres.
Time scale
The date you choose is read as UTC. From 1972 onwards it is converted to Terrestrial Time with the table of leap seconds, held constant after the last one (TT − UTC = 69.184 s since 2017-01-01), which is the convention JPL Horizons applies to dates given in UT. Before 1972 the date is read as UT1 and ΔT = TT − UT1 follows the Espenak and Meeus model. A single module performs this conversion for every source, and installs it into astronomy-engine, so two sources never disagree about which instant is meant.
Where each position comes from
For a planet, a moon or a small body, Galaxy tries the following sources in order and keeps the first that answers:
- A JPL SPK kernel (SAT441, Saturn’s moons), when the site is configured to serve one. It then takes precedence over the Horizons files. It is not enabled on this site.
- Precomputed NASA/JPL Horizons files for 78 natural bodies: exact position and velocity states in the ECLIPTIC_J2000 frame, every 1, 2, 4, 8, 16, 32 or 64 days depending on the body, between 1900-01-01 and 2101-01-01; the sources page gives each file’s step and exact range. A value from a file is compared with the body’s catalogue orbit and rejected if its distance is implausibly large or small; the next source then takes over.
- astronomy-engine, an open-source library: VSOP87 for the planets, and analytic models for the Moon and the four Galilean moons.
- Keplerian orbital elements: 42 small bodies, whose osculating elements come from Horizons at a stated epoch and are checked by a test against a Horizons position at that epoch (9 of them are referred to the Solar System barycentre: beyond Neptune, a heliocentric orbit carries the Sun’s own reflex motion); and a fallback for 26 moons, derived by script from their Horizons files, used only when a file is missing, out of range or rejected.
The 16 spacecraft and the 3 interstellar objects follow their own rule. A spacecraft is positioned only by its Horizons file, sampled at a step of 1 or 4 days (1 for: Parker Solar Probe, James Webb Space Telescope, Cassini, Juno, BepiColombo, Solar Orbiter, Jupiter Icy Moons Explorer, Hera, Mars Express, ExoMars Trace Gas Orbiter), and is not drawn outside the file’s coverage. While BepiColombo orbits Mercury, a second file takes over: its position relative to Mercury, every 12 hours, propagated around Mercury (its gravity and its flattening, the J2 term) between samples, with the 16 manoeuvres of that period read in a finer sampling of the trajectory and propagated from one side only. While Juno orbits Jupiter, a second file takes over: its position relative to Jupiter, every 12 hours, propagated around Jupiter (its gravity and its flattening, the J2 term) between samples, with the 1 manoeuvre of that period read in a finer sampling of the trajectory and propagated from one side only. While ExoMars Trace Gas Orbiter orbits Mars, a second file takes over: its position relative to Mars, every 3 hours, propagated around Mars (its gravity and its flattening, the J2 term) between samples, with the 20 manoeuvres of that period read in a finer sampling of the trajectory and propagated from one side only. Where the trajectory changes too fast for that step (the orbit insertion, for example), 5 short files, at a step of 1 to 10 minutes, take over for a few hours. While Mars Express orbits Mars, a second file takes over: its position relative to Mars, every 6 hours, propagated around Mars (its gravity and its flattening, the J2 term) between samples, with the 28 manoeuvres of that period read in a finer sampling of the trajectory and propagated from one side only. Where the trajectory changes too fast for that step (the orbit insertion, for example), a short file, at a step of 5 minutes, takes over for a few hours. While Cassini orbits Saturn, a second file takes over: its position relative to Saturn, every 12 hours, propagated around Saturn (its gravity and its flattening, the J2 term) between samples, with the 251 manoeuvres of that period read in a finer sampling of the trajectory and propagated from one side only. Near a small body or a dwarf planet (Didymos, Pluto, Bennu, and Churyumov–Gerasimenko), 12 files, made by 4 of them, give the position relative to the body as it is drawn, every 3 hours to 12 hours, with the 291 manoeuvres read in a sampling of the trajectory every ten minutes, each propagated from one side only: the body’s gravity alone could not carry the spacecraft from one sample to the next. Where manoeuvres follow each other within hours (the sample collection of OSIRIS-REx on Bennu), 41 short files, at a step of 1 to 10 minutes, take over for those hours. Each keeps the position within 0.5 % of the distance to the body, measured against Horizons over every phase. One phase, around Bennu on 2020-10-20, keeps only the bound of 1 %, not half of it: at the contact, a sample every minute still leaves a few metres. Hayabusa2 near Ryugu is not corrected: the trajectory that Horizons serves there jumps by up to 60 km in ten minutes (2019-11-20), a discontinuity of the source that no interpolation can follow, and the spacecraft keeps the position of its own file. During 52 planetary flybys and 15 departures from the Earth, made by 16 of them, a short file takes over for a few days: the position relative to the centre of the planet, every 10 minutes to 12 hours, propagated along the hyperbola around the planet, with its flattening (the J2 term), between samples. These passages are detected in the true trajectory (a stay inside the planet’s sphere of influence), and each step is the coarsest that keeps the position within 0.5 % of the distance to the planet, measured against Horizons at every passage: a validation at fixed dates never falls on one. Its path, shown on request in the Orbit column of the display settings, is drawn through these same positions: its route outside the periods it orbits a body and, while it orbits one, its current revolution relative to that body. An interstellar object is positioned by its own Horizons file, the JPL solution with its non-gravitational accelerations, sampled at a step of 1 day for 1I/ʻOumuamua, 4 days for 2I/Borisov and 3I/ATLAS, and drawn only within ±20 years of perihelion; its hyperbolic elements are only the fallback until that file arrives.
Between two samples: conditional interpolation
A Horizons file holds exact states at a fixed step. Between two of them, a cubic (Hermite) curve is only valid if the body moves smoothly over the interval, which is false as soon as it completes several turns within one step. Galaxy therefore counts how many samples one revolution spans, using the catalogue’s mean period. From 100 samples per orbit upwards it uses the cubic. Below that, it propagates each of the two surrounding states along its own two-body orbit and blends them smoothly, so both ends stay exactly on the data.
Two refinements follow the same rule, keeping the data and linking it with the right curve. When a moon is massive enough to pull its planet around a shared barycentre (Charon and Pluto), that wobble is removed before interpolation and added back at the requested date. For a declared list of moons close to a flattened planet, the conic is travelled at the measured mean rate rather than the instantaneous one.
Keplerian orbits: ellipses and hyperbolas
For a closed orbit (eccentricity below 1), Kepler’s equation M = E − e sin E is solved for the eccentric anomaly. For an open orbit (eccentricity above 1, the interstellar objects), the hyperbolic form M = e sinh F − F is solved instead; the mean anomaly is then not an angle and is never reduced modulo 360°.
A small body orbiting the Sun moves at the rate set by the Sun’s gravitational parameter. A moon’s elements are referred to its planet, and its rate comes from its measured mean sidereal period, not from the Sun, nor from the instantaneous state the elements were taken from. Orbit lines of orbits with an eccentricity of 0.2 or more are sampled evenly in eccentric anomaly rather than in time, so that they reach their true closest point; hyperbolic trajectories are sampled evenly in hyperbolic anomaly.
SPK kernel
SPK is JPL’s binary format for high-precision ephemerides. Galaxy can read the SAT441 kernel for Saturn’s moons in a background worker, by HTTP range requests, composing segments through their common centre when the kernel stores no direct pair. It is not enabled on this site, so Saturn’s moons use the Horizons files; the figures below were measured locally with the kernel.
| Moon | Window | Mean (km) | Max (km) |
|---|---|---|---|
| Enceladus | 1800–2199 | 9.17 | 55.9 |
| Rhea | 1800–2199 | 6.17 | 40.4 |
| Iapetus | 1800–2199 | 2.37 | 16.4 |
| Titan | 1800–2199 | 3.69 | 24.3 |
| Mimas | 1800–2199 | 10.6 | 67.1 |
| Tethys | 1800–2199 | 8.65 | 53.5 |
| Dione | 1800–2199 | 6.85 | 43.6 |
| Hyperion | 1800–2199 | 3.48 | 22.6 |
Educational and Explore scales
Positions are computed in astronomical units (AU), then placed in the scene with a single constant K = 35 scene units, so that the Earth, at 1 AU, sits at 35 units in both modes. Only the display changes between the two modes; the computed position is the same.
- Explore is true scale: distance = AU × 35, and every body has its physical radius. A distant body can be too small to see, exactly as in space; navigation aids are drawn as labels, never by enlarging a body, and the optical zoom changes only the camera’s field of view.
- Educational is not to scale: distances are compressed to √AU × 35 along the true direction, and bodies are drawn at enlarged teaching sizes so that all of them stay visible. Around Mars, Jupiter, Saturn, Uranus, Neptune, Pluto, Didymos, Patroclus, the moons’ distances are then multiplied by one common factor per planet, the smallest that keeps every moon outside its enlarged planet, so their order of distance is preserved. Eccentric orbits keep their shape.
Measured accuracy
Every source is compared with the NASA/JPL Horizons API (geometric state vectors, J2000 ecliptic, time in UT) at 48 dates per row, spread over the window with a reproducible pseudo-random time of day. The error is the distance between Galaxy’s position and Horizons’ position, in kilometres and in radii of the body. Horizons is the reference here, not absolute truth: its own uncertainty is not included. Measured on 2026-10-21 by scripts/validate-against-horizons.mjs, whose Horizons answers are cached so that the measurement can be replayed.
| Body | Source used | Mean (km) | 95th pct (km) | Max (km) | Mean (body radii) |
|---|---|---|---|---|---|
| Mercury | JPL Horizons file | 7.32 | 35.4 | 51.1 | 0.0030 |
| Venus | JPL Horizons file | 5.43 | 22.9 | 38.7 | 0.00090 |
| Earth | JPL Horizons file | 4,683 | 4,935 | 4,942 | 0.73 |
| Moon | astronomy-engine | 12.6 | 24.8 | 36.1 | 0.0073 |
| Mars | JPL Horizons file | 4.95 | 20.9 | 31.6 | 0.0015 |
| Phobos | JPL Horizons file | 15.2 | 29.9 | 36.8 | 1.37 |
| Deimos | JPL Horizons file | 10.0 | 23.7 | 26.2 | 1.62 |
| Jupiter | JPL Horizons file | 55.4 | 103 | 123 | 0.00077 |
| Amalthea | JPL Horizons file | 1,025 | 1,492 | 1,567 | 12.3 |
| Io | astronomy-engine | 223 | 433 | 498 | 0.12 |
| Europa | astronomy-engine | 129 | 239 | 245 | 0.08 |
| Ganymede | JPL Horizons file | 51.1 | 95.2 | 111 | 0.02 |
| Callisto | JPL Horizons file | 62.2 | 194 | 228 | 0.03 |
| Saturn | JPL Horizons file | 3.92 | 10.7 | 13.7 | 0.000065 |
| Enceladus | JPL Horizons file | 627 | 859 | 880 | 2.49 |
| Rhea | JPL Horizons file | 199 | 357 | 362 | 0.26 |
| Iapetus | JPL Horizons file | 42.5 | 80.8 | 84.1 | 0.06 |
| Titan | JPL Horizons file | 13.8 | 25.4 | 27.7 | 0.0054 |
| Mimas | JPL Horizons file | 767 | 1,105 | 1,154 | 3.87 |
| Tethys | JPL Horizons file | 540 | 682 | 685 | 1.02 |
| Dione | JPL Horizons file | 241 | 467 | 491 | 0.43 |
| Hyperion | JPL Horizons file | 81.0 | 460 | 552 | 0.60 |
| Uranus | JPL Horizons file | 5.24 | 14.4 | 15.0 | 0.00020 |
| Miranda | JPL Horizons file | 41.5 | 75.2 | 127 | 0.18 |
| Ariel | JPL Horizons file | 32.5 | 91.7 | 107 | 0.06 |
| Umbriel | JPL Horizons file | 36.8 | 130 | 149 | 0.06 |
| Titania | JPL Horizons file | 18.3 | 65.3 | 82.2 | 0.02 |
| Oberon | JPL Horizons file | 9.25 | 27.8 | 60.8 | 0.01 |
| Neptune | JPL Horizons file | 23.4 | 46.8 | 47.4 | 0.00095 |
| Triton | JPL Horizons file | 31.9 | 57.4 | 58.0 | 0.02 |
| Proteus | JPL Horizons file | 48.7 | 66.9 | 76.7 | 0.23 |
| Nereid | JPL Horizons file | 32.6 | 63.9 | 66.4 | 0.19 |
| Ceres | JPL Horizons file | 7.76 | 18.9 | 24.4 | 0.02 |
| Vesta | JPL Horizons file | 2.96 | 17.6 | 19.3 | 0.01 |
| Pallas | JPL Horizons file | 3.37 | 14.0 | 20.7 | 0.01 |
| Hygiea | JPL Horizons file | 6.74 | 16.2 | 25.0 | 0.03 |
| Psyche | JPL Horizons file | 2.66 | 11.9 | 23.7 | 0.02 |
| Pluto | JPL Horizons file | 1.10 | 3.22 | 4.49 | 0.00093 |
| Charon | JPL Horizons file | 5.15 | 7.93 | 8.57 | 0.0085 |
| Styx | JPL Horizons file | 68.7 | 189 | 290 | 13.2 |
| Nix | JPL Horizons file | 46.6 | 126 | 170 | 2.59 |
| Kerberos | JPL Horizons file | 19.8 | 62.1 | 79.8 | 3.29 |
| Hydra | JPL Horizons file | 12.4 | 42.7 | 49.6 | 0.67 |
| Eris | JPL Horizons file | 4.59 | 14.6 | 15.3 | 0.0040 |
| Haumea | JPL Horizons file | 5.26 | 13.8 | 16.6 | 0.0067 |
| Makemake | JPL Horizons file | 4.70 | 12.0 | 13.6 | 0.0066 |
| Orcus | JPL Horizons file | 4.92 | 11.1 | 18.3 | 0.01 |
| Quaoar | JPL Horizons file | 5.89 | 13.3 | 15.5 | 0.01 |
| Gonggong | JPL Horizons file | 5.29 | 15.4 | 16.5 | 0.0086 |
| Sedna | JPL Horizons file | 5.74 | 15.0 | 16.2 | 0.01 |
| Halley | JPL Horizons file | 0.79 | 4.13 | 13.2 | 0.14 |
| Bennu | JPL Horizons file | 5.19 | 23.8 | 34.8 | 21.4 |
| Eros | JPL Horizons file | 3.71 | 18.1 | 30.8 | 0.44 |
| Itokawa | JPL Horizons file | 5.54 | 22.3 | 30.5 | 33.6 |
| Ryugu | JPL Horizons file | 4.86 | 20.8 | 25.6 | 10.8 |
| Ida | JPL Horizons file | 7.56 | 16.6 | 21.9 | 0.47 |
| Lutetia | JPL Horizons file | 3.20 | 16.2 | 20.9 | 0.07 |
| Gaspra | JPL Horizons file | 3.93 | 15.6 | 21.7 | 0.64 |
| Mathilde | JPL Horizons file | 2.96 | 13.0 | 17.4 | 0.11 |
| Šteins | JPL Horizons file | 3.60 | 14.5 | 21.7 | 1.40 |
| Annefrank | JPL Horizons file | 3.30 | 15.6 | 24.4 | 1.38 |
| Masursky | JPL Horizons file | 2.50 | 16.1 | 21.1 | 0.47 |
| Didymos | JPL Horizons file | 3.04 | 15.1 | 40.6 | 7.81 |
| Dimorphos | JPL Horizons file | 0.02 | 0.06 | 0.09 | 0.30 |
| Dinkinesh | JPL Horizons file | 3.63 | 14.9 | 28.9 | 10.1 |
| Donaldjohanson | JPL Horizons file | 3.32 | 13.0 | 21.6 | 1.70 |
| Eurybates | JPL Horizons file | 1.65 | 8.16 | 16.6 | 0.05 |
| Polymele | JPL Horizons file | 1.75 | 9.79 | 15.6 | 0.17 |
| Leucus | JPL Horizons file | 6.28 | 15.5 | 16.3 | 0.37 |
| Orus | JPL Horizons file | 6.69 | 13.5 | 18.1 | 0.26 |
| Patroclus | JPL Horizons file | 2.05 | 8.02 | 18.2 | 0.03 |
| Menoetius | JPL Horizons file | 6.61 | 11.0 | 11.1 | 0.12 |
| Apophis | JPL Horizons file | 15.9 | 117 | 159 | 93.8 |
| Arrokoth | JPL Horizons file | 5.88 | 12.2 | 15.3 | 0.61 |
| Tempel 1 | JPL Horizons file | 1.80 | 8.85 | 18.5 | 0.60 |
| Borrelly | JPL Horizons file | 1.56 | 7.63 | 14.2 | 0.65 |
| Wild 2 | JPL Horizons file | 15.2 | 76.0 | 141 | 7.59 |
| Hartley 2 | JPL Horizons file | 27.1 | 151 | 330 | 33.9 |
| Churyumov–Gerasimenko | JPL Horizons file | 2.23 | 12.4 | 14.6 | 1.31 |
| Giacobini–Zinner | JPL Horizons file | 1.86 | 11.7 | 30.3 | 1.86 |
| Grigg–Skjellerup | JPL Horizons file | 3.40 | 33.6 | 43.7 | 2.62 |
Keplerian elements describe an orbit without the pull of the planets, so their error grows with the distance in time from their epoch. No body in the production table (1900–2100) is positioned by them alone. They remain the fallback outside the coverage of the Horizons files (full measurements below), and the fallback of the interstellar objects until their file arrives, measured over their drawn window:
| Body | Window | Mean (km) | 95th pct (km) | Max (km) |
|---|---|---|---|---|
| 1I/ʻOumuamua | perihelion ±20 yr (1997–2037) | 6,483,000 | 1.6 × 10⁷ | 1.7 × 10⁷ |
| 2I/Borisov | perihelion ±20 yr (1999–2039) | 3,770,000 | 7,733,000 | 8,535,000 |
| 3I/ATLAS | perihelion ±20 yr (2005–2045) | 1.2 × 10⁷ | 3.3 × 10⁷ | 3.7 × 10⁷ |
For spacecraft the median is the meaningful figure: errors peak briefly around perihelia and around the periapses of a spacecraft orbiting a planet (Juno, Cassini), where the trajectory bends faster than the file’s step can resolve. Planetary flybys have their own files, described above.
| Object | Coverage | Median (km) | 95th pct (km) | Max (km) |
|---|---|---|---|---|
| Voyager 1 | 1977-09-07 → 2099-12-30 | 0.00063 | 0.0019 | 0.11 |
| Voyager 2 | 1977-08-22 → 2099-12-30 | 0.00070 | 0.0016 | 64.1 |
| Parker Solar Probe | 2018-08-14 → 2029-12-30 | 0.22 | 507 | 90,500 |
| James Webb Space Telescope | 2021-12-27 → 2031-08-22 | 0.02 | 0.04 | 0.46 |
| New Horizons | 2006-01-22 → 2049-12-28 | 0.00066 | 0.13 | 39.1 |
| Cassini | 1997-10-18 → 2017-09-14 | 1.61 | 10.8 | 26.7 |
| Juno | 2011-08-08 → 2028-08-31 | 38.2 | 89.2 | 106 |
| Rosetta | 2004-03-05 → 2016-10-02 | 0.11 | 20.3 | 23.6 |
| BepiColombo | 2018-10-23 → 2027-04-08 | 0.41 | 9.44 | 21.0 |
| OSIRIS-REx | 2016-09-11 → 2030-03-16 | 2.16 | 158 | 487 |
| Hayabusa2 | 2014-12-06 → 2026-11-23 | 3.86 | 1,727 | 2,630 |
| 1I/ʻOumuamua | 1997-09-09 → 2037-09-10 | 0.02 | 3.45 | 3.81 |
| 2I/Borisov | 1999-12-08 → 2039-12-08 | 0.02 | 1.15 | 1.26 |
| 3I/ATLAS | 2005-10-29 → 2045-10-29 | 0.03 | 0.44 | 30.5 |
| Solar Orbiter | 2020-02-12 → 2030-11-18 | 0.31 | 5.88 | 19.4 |
| Jupiter Icy Moons Explorer | 2023-04-16 → 2031-07-19 | 0.0033 | 0.06 | 0.17 |
| Hera | 2024-10-09 → 2026-11-02 | 0.0014 | 0.06 | 0.10 |
| Mars Express | 2003-06-04 → 2032-12-30 | 4.03 | 9.76 | 11.1 |
| ExoMars Trace Gas Orbiter | 2016-03-16 → 2039-01-02 | 3.94 | 9.57 | 4,711 |
Full measurements, by source
Each source measured on its own, over its own windows, including those the app only uses as a fallback. “Dates” is the number of dates at which the source gave a position.
astronomy-engine (VSOP87 and analytic models) (26)
| Body | Frame | Window | Dates | Mean (km) | Median (km) | 95th pct (km) | Max (km) | Mean (body radii) |
|---|---|---|---|---|---|---|---|---|
| Mercury | heliocentric | 1900–2100 | 48 | 2,637 | 2,376 | 4,801 | 5,010 | 1.08 |
| Mercury | heliocentric | 1600–2400 | 48 | 3,814 | 3,382 | 8,486 | 8,823 | 1.56 |
| Venus | heliocentric | 1900–2100 | 48 | 1,428 | 1,341 | 2,543 | 3,129 | 0.24 |
| Venus | heliocentric | 1600–2400 | 48 | 1,882 | 1,695 | 3,055 | 4,741 | 0.31 |
| Earth | heliocentric | 1900–2100 | 48 | 4,823 | 4,723 | 5,853 | 6,373 | 0.76 |
| Earth | heliocentric | 1600–2400 | 48 | 5,081 | 4,934 | 6,477 | 7,064 | 0.80 |
| Moon | relative to planet | 1900–2100 | 48 | 10.8 | 10.8 | 12.7 | 13.2 | 0.0062 |
| Moon | relative to planet | 1800–2199 | 48 | 11.0 | 10.8 | 14.3 | 14.8 | 0.0063 |
| Mars | heliocentric | 1900–2100 | 48 | 2,891 | 2,760 | 5,281 | 6,665 | 0.85 |
| Mars | heliocentric | 1600–2400 | 48 | 3,152 | 2,715 | 5,583 | 7,630 | 0.93 |
| Jupiter | heliocentric | 1900–2100 | 48 | 22,820 | 21,620 | 33,890 | 54,040 | 0.32 |
| Jupiter | heliocentric | 1600–2200 (limited to Horizons coverage) | 48 | 26,500 | 24,160 | 50,130 | 57,380 | 0.37 |
| Io | relative to planet | 1900–2100 | 48 | 218 | 224 | 418 | 439 | 0.12 |
| Io | relative to planet | 1800–2199 | 48 | 412 | 407 | 746 | 814 | 0.23 |
| Europa | relative to planet | 1900–2100 | 48 | 119 | 123 | 202 | 246 | 0.08 |
| Europa | relative to planet | 1800–2199 | 48 | 189 | 193 | 334 | 369 | 0.12 |
| Ganymede | relative to planet | 1900–2100 | 48 | 170 | 176 | 253 | 279 | 0.06 |
| Ganymede | relative to planet | 1800–2199 | 48 | 235 | 204 | 420 | 443 | 0.09 |
| Callisto | relative to planet | 1900–2100 | 48 | 386 | 351 | 643 | 711 | 0.16 |
| Callisto | relative to planet | 1800–2199 | 48 | 382 | 371 | 549 | 654 | 0.16 |
| Saturn | heliocentric | 1900–2100 | 48 | 80,730 | 77,970 | 132,800 | 145,100 | 1.34 |
| Saturn | heliocentric | 1749–2250 (limited to Horizons coverage) | 48 | 80,480 | 74,130 | 126,600 | 143,300 | 1.33 |
| Uranus | heliocentric | 1900–2100 | 48 | 112,200 | 103,900 | 201,400 | 234,800 | 4.39 |
| Uranus | heliocentric | 1600–2400 | 48 | 127,500 | 117,300 | 216,000 | 284,100 | 4.99 |
| Neptune | heliocentric | 1900–2100 | 48 | 262,600 | 278,700 | 428,200 | 432,600 | 10.6 |
| Neptune | heliocentric | 1800–2199 (limited to Horizons coverage) | 48 | 250,500 | 232,100 | 434,000 | 468,000 | 10.1 |
Precomputed JPL Horizons files (78)
| Body | Frame | Window | Dates | Mean (km) | Median (km) | 95th pct (km) | Max (km) | Mean (body radii) |
|---|---|---|---|---|---|---|---|---|
| Mercury | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 7.31 | 2.05 | 39.8 | 62.0 | 0.0030 |
| Venus | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 5.91 | 2.13 | 27.6 | 43.6 | 0.00098 |
| Earth | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 4,680 | 4,671 | 4,930 | 4,944 | 0.73 |
| Mars | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 5.87 | 3.54 | 21.0 | 28.3 | 0.0017 |
| Phobos | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 13.0 | 10.4 | 26.5 | 31.4 | 1.17 |
| Deimos | relative to planet | 1900-01-02 → 2100-12-25 | 48 | 7.86 | 7.10 | 17.2 | 20.4 | 1.27 |
| Jupiter | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 53.5 | 50.8 | 121 | 132 | 0.00075 |
| Amalthea | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 1,068 | 1,263 | 1,452 | 1,475 | 12.8 |
| Ganymede | relative to planet | 1900-01-02 → 2100-12-31 | 48 | 39.9 | 32.4 | 126 | 148 | 0.02 |
| Callisto | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 84.4 | 62.9 | 204 | 280 | 0.04 |
| Saturn | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 3.55 | 3.05 | 8.12 | 10.3 | 0.000059 |
| Enceladus | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 543 | 672 | 846 | 858 | 2.15 |
| Rhea | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 171 | 182 | 321 | 335 | 0.22 |
| Iapetus | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 38.5 | 38.2 | 76.5 | 80.8 | 0.05 |
| Titan | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 11.8 | 10.7 | 25.6 | 26.8 | 0.0046 |
| Mimas | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 788 | 846 | 1,066 | 1,151 | 3.97 |
| Tethys | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 535 | 607 | 684 | 685 | 1.01 |
| Dione | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 242 | 260 | 459 | 474 | 0.43 |
| Hyperion | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 65.7 | 34.5 | 126 | 631 | 0.49 |
| Uranus | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 6.97 | 6.41 | 14.1 | 15.9 | 0.00027 |
| Miranda | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 47.0 | 43.7 | 80.4 | 115 | 0.20 |
| Ariel | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 26.5 | 15.8 | 68.2 | 94.1 | 0.05 |
| Umbriel | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 41.6 | 26.0 | 103 | 166 | 0.07 |
| Titania | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 20.8 | 12.1 | 76.0 | 88.0 | 0.03 |
| Oberon | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 16.8 | 7.43 | 71.0 | 85.1 | 0.02 |
| Neptune | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 28.5 | 30.6 | 46.5 | 47.0 | 0.0012 |
| Triton | relative to planet | 1900-01-02 → 2100-12-25 | 48 | 8.69 | 9.64 | 15.1 | 18.2 | 0.0064 |
| Proteus | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 40.0 | 40.0 | 66.8 | 68.3 | 0.19 |
| Nereid | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 12.2 | 14.7 | 19.9 | 21.5 | 0.07 |
| Ceres | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 10.4 | 8.10 | 22.9 | 24.8 | 0.02 |
| Vesta | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 2.81 | 1.12 | 12.5 | 20.1 | 0.01 |
| Pallas | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 3.63 | 1.97 | 12.2 | 21.3 | 0.01 |
| Hygiea | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 5.68 | 3.73 | 14.7 | 32.6 | 0.03 |
| Psyche | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 2.05 | 0.52 | 12.1 | 23.2 | 0.02 |
| Pluto | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 1.22 | 1.05 | 3.17 | 5.24 | 0.0010 |
| Charon | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 5.47 | 5.54 | 9.28 | 9.31 | 0.0090 |
| Styx | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 88.9 | 83.8 | 202 | 317 | 17.1 |
| Nix | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 41.8 | 33.1 | 130 | 162 | 2.32 |
| Kerberos | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 24.8 | 11.2 | 73.6 | 83.3 | 4.13 |
| Hydra | relative to planet | 1900-01-02 → 2100-12-29 | 48 | 10.7 | 4.75 | 40.7 | 51.4 | 0.58 |
| Eris | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 3.95 | 2.72 | 12.8 | 15.9 | 0.0034 |
| Haumea | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 6.22 | 5.80 | 13.1 | 16.7 | 0.0080 |
| Makemake | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 5.41 | 4.34 | 15.4 | 17.1 | 0.0075 |
| Orcus | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 5.54 | 5.64 | 13.0 | 17.7 | 0.01 |
| Quaoar | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 4.89 | 4.30 | 11.4 | 16.2 | 0.0089 |
| Gonggong | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 5.92 | 5.15 | 15.2 | 16.1 | 0.0096 |
| Sedna | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 4.20 | 2.79 | 12.9 | 15.2 | 0.0084 |
| Halley | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 0.97 | 0.00042 | 4.44 | 13.6 | 0.18 |
| Bennu | heliocentric | 1900-01-04 → 2100-12-31 | 48 | 6.55 | 3.10 | 21.9 | 37.4 | 27.1 |
| Eros | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 3.73 | 1.37 | 21.9 | 24.2 | 0.44 |
| Itokawa | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 4.69 | 1.59 | 19.8 | 24.9 | 28.4 |
| Ryugu | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 7.27 | 6.35 | 21.2 | 30.4 | 16.2 |
| Ida | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 6.88 | 5.20 | 16.4 | 22.6 | 0.43 |
| Lutetia | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 2.84 | 0.93 | 12.9 | 18.6 | 0.06 |
| Gaspra | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 3.65 | 1.76 | 15.1 | 18.8 | 0.60 |
| Mathilde | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 3.24 | 0.92 | 11.7 | 23.4 | 0.12 |
| Šteins | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 3.58 | 1.76 | 16.6 | 24.5 | 1.39 |
| Annefrank | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 3.05 | 2.08 | 13.1 | 24.4 | 1.27 |
| Masursky | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 2.88 | 1.09 | 16.1 | 21.3 | 0.54 |
| Didymos | heliocentric | 1900-01-02 → 2100-12-31 | 48 | 2.31 | 0.03 | 15.2 | 19.7 | 5.92 |
| Dimorphos | relative to planet | 2000-01-06 → 2030-12-28 | 48 | 0.0053 | 0.0040 | 0.01 | 0.02 | 0.07 |
| Dinkinesh | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 3.46 | 1.73 | 14.7 | 21.5 | 9.63 |
| Donaldjohanson | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 3.23 | 1.25 | 12.9 | 19.8 | 1.66 |
| Eurybates | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 1.83 | 0.44 | 8.97 | 16.1 | 0.06 |
| Polymele | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 1.74 | 0.53 | 10.8 | 15.6 | 0.17 |
| Leucus | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 5.72 | 4.70 | 14.0 | 15.3 | 0.34 |
| Orus | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 6.43 | 6.13 | 14.5 | 14.6 | 0.25 |
| Patroclus | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 2.07 | 0.51 | 8.75 | 15.5 | 0.04 |
| Menoetius | relative to planet | 2000-01-06 → 2050-11-25 | 48 | 7.70 | 7.47 | 14.2 | 14.3 | 0.14 |
| Apophis | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 20.5 | 3.66 | 158 | 214 | 121 |
| Arrokoth | heliocentric | 1900-01-02 → 2100-12-25 | 48 | 6.65 | 5.06 | 14.0 | 16.9 | 0.70 |
| Tempel 1 | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 2.05 | 0.20 | 12.5 | 17.8 | 0.68 |
| Borrelly | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 1.32 | 0.12 | 9.87 | 11.6 | 0.55 |
| Wild 2 | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 21.9 | 1.18 | 97.7 | 257 | 10.9 |
| Hartley 2 | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 110 | 1.50 | 550 | 1,958 | 137 |
| Churyumov–Gerasimenko | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 2.48 | 1.47 | 12.0 | 13.0 | 1.46 |
| Giacobini–Zinner | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 1.77 | 0.04 | 6.33 | 21.4 | 1.77 |
| Grigg–Skjellerup | heliocentric | 1900-01-02 → 2100-12-29 | 48 | 1.69 | 0.15 | 7.76 | 11.3 | 1.30 |
Keplerian elements (catalogue, moon fallbacks, interstellar objects) (207)
| Body | Frame | Window | Dates | Mean (km) | Median (km) | 95th pct (km) | Max (km) | Mean (body radii) |
|---|---|---|---|---|---|---|---|---|
| Phobos | relative to planet | epoch ±10 yr (2015–2035) | 48 | 351 | 322 | 647 | 779 | 31.7 |
| Phobos | relative to planet | 1900–2100 | 48 | 680 | 487 | 2,055 | 2,447 | 61.4 |
| Phobos | relative to planet | 1800–2199 | 48 | 2,691 | 1,833 | 7,350 | 8,518 | 243 |
| Deimos | relative to planet | epoch ±10 yr (2015–2035) | 48 | 300 | 214 | 706 | 800 | 48.4 |
| Deimos | relative to planet | 1900–2100 | 48 | 590 | 497 | 1,196 | 1,391 | 95.2 |
| Deimos | relative to planet | 1800–2199 | 48 | 658 | 575 | 1,326 | 1,433 | 106 |
| Amalthea | relative to planet | epoch ±10 yr (2015–2035) | 48 | 2,774 | 2,591 | 5,375 | 5,695 | 33.2 |
| Amalthea | relative to planet | 1900–2100 | 48 | 2,836 | 2,706 | 5,374 | 5,485 | 34.0 |
| Amalthea | relative to planet | 1800–2199 | 48 | 2,764 | 2,731 | 4,599 | 5,658 | 33.1 |
| Enceladus | relative to planet | epoch ±10 yr (2015–2035) | 48 | 2,760 | 2,426 | 5,531 | 7,653 | 10.9 |
| Enceladus | relative to planet | 1900–2100 | 48 | 3,111 | 2,966 | 5,681 | 7,752 | 12.3 |
| Enceladus | relative to planet | 1800–2199 | 48 | 3,079 | 2,743 | 6,349 | 8,201 | 12.2 |
| Rhea | relative to planet | epoch ±10 yr (2015–2035) | 48 | 1,882 | 1,638 | 4,090 | 4,663 | 2.46 |
| Rhea | relative to planet | 1900–2100 | 48 | 2,652 | 2,494 | 5,762 | 6,157 | 3.47 |
| Rhea | relative to planet | 1800–2199 | 48 | 2,651 | 2,569 | 5,339 | 5,955 | 3.47 |
| Iapetus | relative to planet | epoch ±10 yr (2015–2035) | 48 | 8,961 | 7,825 | 18,650 | 24,510 | 12.2 |
| Iapetus | relative to planet | 1900–2100 | 48 | 68,550 | 54,000 | 161,400 | 176,700 | 93.4 |
| Iapetus | relative to planet | 1800–2199 | 48 | 135,800 | 130,900 | 297,100 | 310,400 | 185 |
| Titan | relative to planet | epoch ±10 yr (2015–2035) | 48 | 2,696 | 2,601 | 6,125 | 8,033 | 1.05 |
| Titan | relative to planet | 1900–2100 | 48 | 30,950 | 21,320 | 79,390 | 97,820 | 12.0 |
| Titan | relative to planet | 1800–2199 | 48 | 46,780 | 42,600 | 99,670 | 152,100 | 18.2 |
| Mimas | relative to planet | epoch ±10 yr (2015–2035) | 48 | 18,850 | 11,640 | 51,610 | 59,930 | 95.1 |
| Mimas | relative to planet | 1900–2100 | 48 | 125,500 | 99,930 | 272,000 | 282,200 | 633 |
| Mimas | relative to planet | 1800–2199 | 48 | 150,600 | 146,100 | 309,500 | 362,900 | 760 |
| Tethys | relative to planet | epoch ±10 yr (2015–2035) | 48 | 4,449 | 3,850 | 10,690 | 11,290 | 8.38 |
| Tethys | relative to planet | 1900–2100 | 48 | 10,990 | 9,967 | 22,820 | 24,170 | 20.7 |
| Tethys | relative to planet | 1800–2199 | 48 | 14,700 | 12,930 | 29,490 | 36,780 | 27.7 |
| Dione | relative to planet | epoch ±10 yr (2015–2035) | 48 | 2,102 | 2,000 | 3,668 | 4,266 | 3.74 |
| Dione | relative to planet | 1900–2100 | 48 | 1,641 | 1,416 | 3,122 | 4,518 | 2.92 |
| Dione | relative to planet | 1800–2199 | 48 | 2,145 | 2,029 | 3,853 | 4,592 | 3.82 |
| Hyperion | relative to planet | epoch ±10 yr (2015–2035) | 48 | 352,800 | 326,700 | 716,100 | 856,900 | 2,613 |
| Hyperion | relative to planet | 1900–2100 | 48 | 348,100 | 291,500 | 750,300 | 844,800 | 2,579 |
| Hyperion | relative to planet | 1800–2199 | 48 | 336,500 | 313,300 | 821,200 | 980,700 | 2,492 |
| Miranda | relative to planet | epoch ±10 yr (2015–2035) | 48 | 8,603 | 6,558 | 19,150 | 20,020 | 36.5 |
| Miranda | relative to planet | 1900–2100 | 48 | 7,651 | 6,766 | 16,740 | 17,690 | 32.5 |
| Miranda | relative to planet | 1800–2199 | 48 | 8,790 | 7,314 | 19,050 | 19,430 | 37.3 |
| Ariel | relative to planet | epoch ±10 yr (2015–2035) | 48 | 354 | 280 | 731 | 829 | 0.61 |
| Ariel | relative to planet | 1900–2100 | 48 | 486 | 386 | 1,230 | 1,519 | 0.84 |
| Ariel | relative to planet | 1800–2199 | 48 | 1,202 | 778 | 3,671 | 4,570 | 2.08 |
| Umbriel | relative to planet | epoch ±10 yr (2015–2035) | 48 | 595 | 487 | 1,437 | 1,647 | 1.02 |
| Umbriel | relative to planet | 1900–2100 | 48 | 2,325 | 2,251 | 4,393 | 5,155 | 3.98 |
| Umbriel | relative to planet | 1800–2199 | 48 | 2,399 | 2,083 | 5,281 | 7,161 | 4.10 |
| Titania | relative to planet | epoch ±10 yr (2015–2035) | 48 | 740 | 691 | 1,678 | 1,774 | 0.94 |
| Titania | relative to planet | 1900–2100 | 48 | 1,839 | 1,636 | 4,220 | 4,420 | 2.33 |
| Titania | relative to planet | 1800–2199 | 48 | 1,941 | 1,602 | 3,951 | 5,261 | 2.46 |
| Oberon | relative to planet | epoch ±10 yr (2015–2035) | 48 | 1,201 | 1,145 | 2,354 | 2,676 | 1.58 |
| Oberon | relative to planet | 1900–2100 | 48 | 2,172 | 2,069 | 3,822 | 5,007 | 2.85 |
| Oberon | relative to planet | 1800–2199 | 48 | 2,385 | 2,089 | 5,384 | 5,923 | 3.13 |
| Triton | relative to planet | epoch ±10 yr (2015–2035) | 48 | 4,347 | 3,596 | 11,580 | 12,310 | 3.21 |
| Triton | relative to planet | 1900–2100 | 48 | 50,840 | 41,960 | 132,100 | 148,400 | 37.6 |
| Triton | relative to planet | 1800–2199 | 48 | 82,440 | 65,510 | 209,000 | 232,200 | 61.0 |
| Proteus | relative to planet | epoch ±10 yr (2015–2035) | 48 | 537 | 514 | 749 | 755 | 2.58 |
| Proteus | relative to planet | 1900–2100 | 48 | 728 | 636 | 1,563 | 1,984 | 3.50 |
| Proteus | relative to planet | 1800–2199 | 48 | 1,200 | 1,076 | 2,423 | 2,716 | 5.77 |
| Nereid | relative to planet | epoch ±10 yr (2015–2035) | 48 | 94,740 | 79,110 | 297,800 | 510,900 | 557 |
| Nereid | relative to planet | 1900–2100 | 48 | 1,126,000 | 837,900 | 4,169,000 | 4,528,000 | 6,623 |
| Nereid | relative to planet | 1800–2199 | 48 | 2,373,000 | 1,429,000 | 6,679,000 | 7,027,000 | 13,960 |
| Ceres | heliocentric | epoch ±10 yr (1990–2010) | 48 | 1,690,000 | 884,800 | 6,027,000 | 7,515,000 | 3,599 |
| Ceres | heliocentric | 1900–2100 | 48 | 1.4 × 10⁷ | 1.4 × 10⁷ | 2.5 × 10⁷ | 2.9 × 10⁷ | 29,100 |
| Ceres | heliocentric | 1600–2400 | 48 | 5.7 × 10⁷ | 5.7 × 10⁷ | 1.1 × 10⁸ | 1.2 × 10⁸ | 121,000 |
| Vesta | heliocentric | epoch ±10 yr (1990–2010) | 48 | 555,400 | 428,900 | 1,420,000 | 1,562,000 | 2,125 |
| Vesta | heliocentric | 1900–2100 | 48 | 2,731,000 | 2,243,000 | 7,375,000 | 8,441,000 | 10,450 |
| Vesta | heliocentric | 1600–2400 | 48 | 1.0 × 10⁷ | 1.0 × 10⁷ | 2.0 × 10⁷ | 2.3 × 10⁷ | 39,030 |
| Pallas | heliocentric | epoch ±10 yr (1990–2010) | 48 | 2,106,000 | 1,920,000 | 5,894,000 | 6,658,000 | 8,211 |
| Pallas | heliocentric | 1900–2100 | 48 | 1.7 × 10⁷ | 1.9 × 10⁷ | 3.6 × 10⁷ | 3.8 × 10⁷ | 65,380 |
| Pallas | heliocentric | 1600–2400 | 48 | 6.8 × 10⁷ | 6.4 × 10⁷ | 1.3 × 10⁸ | 1.9 × 10⁸ | 263,600 |
| Hygiea | heliocentric | epoch ±10 yr (1990–2010) | 48 | 1,854,000 | 1,276,000 | 4,998,000 | 5,470,000 | 9,108 |
| Hygiea | heliocentric | 1900–2100 | 48 | 6.0 × 10⁷ | 6.0 × 10⁷ | 1.3 × 10⁸ | 1.4 × 10⁸ | 293,800 |
| Hygiea | heliocentric | 1600–2400 | 48 | 2.2 × 10⁸ | 2.1 × 10⁸ | 4.1 × 10⁸ | 4.6 × 10⁸ | 1,064,000 |
| Psyche | heliocentric | epoch ±10 yr (2016–2036) | 48 | 2,052,000 | 1,527,000 | 6,152,000 | 9,617,000 | 18,490 |
| Psyche | heliocentric | 1900–2100 | 48 | 1.7 × 10⁷ | 1.6 × 10⁷ | 3.5 × 10⁷ | 4.1 × 10⁷ | 154,700 |
| Psyche | heliocentric | 1600–2400 | 48 | 6.3 × 10⁷ | 6.4 × 10⁷ | 1.3 × 10⁸ | 1.3 × 10⁸ | 572,000 |
| Pluto | heliocentric | epoch ±10 yr (1990–2010) | 48 | 8,238 | 6,077 | 22,180 | 33,660 | 6.93 |
| Pluto | heliocentric | 1900–2100 | 48 | 475,600 | 457,200 | 1,122,000 | 1,319,000 | 400 |
| Pluto | heliocentric | 1800–2199 (limited to Horizons coverage) | 48 | 1,683,000 | 1,080,000 | 6,593,000 | 8,303,000 | 1,417 |
| Charon | relative to planet | epoch ±10 yr (2015–2035) | 48 | 15.0 | 14.3 | 18.5 | 18.9 | 0.02 |
| Charon | relative to planet | 1900–2100 | 48 | 12.4 | 12.8 | 18.3 | 18.9 | 0.02 |
| Charon | relative to planet | 1800–2199 | 48 | 10.8 | 11.0 | 18.8 | 19.3 | 0.02 |
| Styx | relative to planet | epoch ±10 yr (2015–2035) | 48 | 2,110 | 2,137 | 2,385 | 2,511 | 406 |
| Styx | relative to planet | 1900–2100 | 48 | 2,103 | 2,116 | 2,425 | 2,540 | 405 |
| Styx | relative to planet | 1800–2199 | 48 | 2,132 | 2,119 | 2,514 | 2,575 | 410 |
| Nix | relative to planet | epoch ±10 yr (2015–2035) | 48 | 2,957 | 3,204 | 3,976 | 4,009 | 164 |
| Nix | relative to planet | 1900–2100 | 48 | 2,645 | 2,436 | 4,357 | 4,667 | 147 |
| Nix | relative to planet | 1800–2199 | 48 | 2,392 | 2,026 | 4,368 | 5,732 | 133 |
| Kerberos | relative to planet | epoch ±10 yr (2015–2035) | 48 | 2,341 | 2,420 | 3,475 | 3,578 | 390 |
| Kerberos | relative to planet | 1900–2100 | 48 | 2,431 | 2,512 | 3,227 | 3,578 | 405 |
| Kerberos | relative to planet | 1800–2199 | 48 | 2,346 | 2,262 | 3,492 | 4,267 | 391 |
| Hydra | relative to planet | epoch ±10 yr (2015–2035) | 48 | 2,624 | 2,820 | 3,874 | 4,256 | 142 |
| Hydra | relative to planet | 1900–2100 | 48 | 2,210 | 2,164 | 3,944 | 4,439 | 120 |
| Hydra | relative to planet | 1800–2199 | 48 | 2,489 | 2,326 | 4,728 | 5,478 | 135 |
| Eris | heliocentric | epoch ±10 yr (1990–2010) | 48 | 774 | 778 | 1,377 | 1,474 | 0.67 |
| Eris | heliocentric | 1900–2100 | 48 | 11,070 | 5,898 | 38,780 | 42,680 | 9.52 |
| Eris | heliocentric | 1600–2400 | 48 | 458,000 | 149,900 | 2,193,000 | 2,692,000 | 394 |
| Haumea | heliocentric | epoch ±10 yr (1990–2010) | 48 | 1,364 | 1,099 | 3,233 | 3,511 | 1.75 |
| Haumea | heliocentric | 1900–2100 | 48 | 134,600 | 69,330 | 513,200 | 740,400 | 173 |
| Haumea | heliocentric | 1600–2400 | 48 | 6,325,000 | 2,614,000 | 2.8 × 10⁷ | 3.4 × 10⁷ | 8,109 |
| Makemake | heliocentric | epoch ±10 yr (1990–2010) | 48 | 1,566 | 1,219 | 3,446 | 4,381 | 2.18 |
| Makemake | heliocentric | 1900–2100 | 48 | 126,900 | 88,710 | 379,400 | 453,000 | 177 |
| Makemake | heliocentric | 1600–2400 | 48 | 5,638,000 | 1,356,000 | 1.8 × 10⁷ | 2.2 × 10⁷ | 7,863 |
| Orcus | heliocentric | epoch ±10 yr (1990–2010) | 48 | 2,310 | 1,442 | 6,321 | 6,629 | 5.04 |
| Orcus | heliocentric | 1900–2100 | 48 | 254,800 | 172,600 | 694,300 | 737,200 | 556 |
| Orcus | heliocentric | 1600–2400 | 48 | 6,200,000 | 4,002,000 | 1.8 × 10⁷ | 1.8 × 10⁷ | 13,540 |
| Quaoar | heliocentric | epoch ±10 yr (1990–2010) | 48 | 1,819 | 1,381 | 4,730 | 6,533 | 3.32 |
| Quaoar | heliocentric | 1900–2100 | 48 | 422,600 | 118,300 | 2,181,000 | 3,048,000 | 772 |
| Quaoar | heliocentric | 1600–2400 | 48 | 6,121,000 | 7,340,000 | 1.3 × 10⁷ | 1.3 × 10⁷ | 11,190 |
| Gonggong | heliocentric | epoch ±10 yr (1990–2010) | 48 | 912 | 828 | 1,692 | 1,801 | 1.48 |
| Gonggong | heliocentric | 1900–2100 | 48 | 26,010 | 18,290 | 71,110 | 80,940 | 42.3 |
| Gonggong | heliocentric | 1600–2400 | 48 | 1,132,000 | 406,600 | 4,021,000 | 4,128,000 | 1,841 |
| Sedna | heliocentric | epoch ±10 yr (1990–2010) | 48 | 881 | 868 | 1,536 | 1,750 | 1.77 |
| Sedna | heliocentric | 1900–2100 | 48 | 14,010 | 5,233 | 58,790 | 79,680 | 28.2 |
| Sedna | heliocentric | 1600–2400 | 48 | 239,100 | 130,400 | 807,800 | 928,100 | 481 |
| Halley | heliocentric | epoch ±10 yr (1990–2010) | 48 | 2,541,000 | 2,161,000 | 5,491,000 | 5,927,000 | 462,000 |
| Halley | heliocentric | 1900–2100 | 48 | 3.6 × 10⁷ | 1.2 × 10⁷ | 1.6 × 10⁸ | 2.2 × 10⁸ | 6,502,000 |
| Halley | heliocentric | 1600–2400 | 48 | 3.2 × 10⁸ | 1.2 × 10⁸ | 1.3 × 10⁹ | 2.7 × 10⁹ | 5.9 × 10⁷ |
| Bennu | heliocentric | epoch ±10 yr (2016–2036) | 48 | 252,500 | 198,600 | 597,700 | 876,000 | 1,042,000 |
| Bennu | heliocentric | 1900–2100 | 48 | 1.7 × 10⁸ | 1.9 × 10⁸ | 3.4 × 10⁸ | 3.4 × 10⁸ | 7.0 × 10⁸ |
| Bennu | heliocentric | 1900–2135 (limited to Horizons coverage) | 48 | 1.7 × 10⁸ | 2.0 × 10⁸ | 3.3 × 10⁸ | 3.4 × 10⁸ | 7.0 × 10⁸ |
| Eros | heliocentric | epoch ±10 yr (2016–2036) | 48 | 270,000 | 191,900 | 687,100 | 901,000 | 32,070 |
| Eros | heliocentric | 1900–2100 | 48 | 1,263,000 | 1,033,000 | 3,103,000 | 3,394,000 | 150,000 |
| Eros | heliocentric | 1600–2400 | 48 | 3,493,000 | 3,504,000 | 8,461,000 | 1.0 × 10⁷ | 414,800 |
| Itokawa | heliocentric | epoch ±10 yr (2016–2036) | 48 | 466,600 | 191,900 | 2,607,000 | 3,125,000 | 2,828,000 |
| Itokawa | heliocentric | 1900–2100 | 48 | 2.4 × 10⁷ | 1.7 × 10⁷ | 6.6 × 10⁷ | 8.2 × 10⁷ | 1.5 × 10⁸ |
| Itokawa | heliocentric | 1600–2400 | 48 | 1.4 × 10⁸ | 9.2 × 10⁷ | 3.8 × 10⁸ | 3.9 × 10⁸ | 8.2 × 10⁸ |
| Ryugu | heliocentric | epoch ±10 yr (2016–2036) | 48 | 1,089,000 | 180,300 | 4,724,000 | 6,950,000 | 2,431,000 |
| Ryugu | heliocentric | 1900–2100 | 48 | 4.6 × 10⁷ | 2.0 × 10⁷ | 1.8 × 10⁸ | 2.7 × 10⁸ | 1.0 × 10⁸ |
| Ryugu | heliocentric | 1600–2400 | 48 | 1.2 × 10⁸ | 4.7 × 10⁷ | 3.5 × 10⁸ | 3.6 × 10⁸ | 2.6 × 10⁸ |
| Ida | heliocentric | epoch ±10 yr (2016–2036) | 48 | 2,442,000 | 2,184,000 | 5,827,000 | 6,581,000 | 152,600 |
| Ida | heliocentric | 1900–2100 | 48 | 1.4 × 10⁷ | 1.3 × 10⁷ | 3.1 × 10⁷ | 3.3 × 10⁷ | 902,800 |
| Ida | heliocentric | 1600–2400 | 48 | 5.3 × 10⁷ | 5.1 × 10⁷ | 1.1 × 10⁸ | 1.1 × 10⁸ | 3,338,000 |
| Lutetia | heliocentric | epoch ±10 yr (2016–2036) | 48 | 1,620,000 | 1,523,000 | 3,616,000 | 3,670,000 | 33,060 |
| Lutetia | heliocentric | 1900–2100 | 48 | 2.7 × 10⁷ | 2.4 × 10⁷ | 6.0 × 10⁷ | 6.9 × 10⁷ | 542,200 |
| Lutetia | heliocentric | 1600–2400 | 48 | 9.8 × 10⁷ | 9.2 × 10⁷ | 1.8 × 10⁸ | 2.3 × 10⁸ | 2,004,000 |
| Gaspra | heliocentric | epoch ±10 yr (2016–2036) | 48 | 1,031,000 | 1,010,000 | 2,139,000 | 2,276,000 | 169,000 |
| Gaspra | heliocentric | 1900–2100 | 48 | 1.1 × 10⁷ | 1.0 × 10⁷ | 2.4 × 10⁷ | 2.4 × 10⁷ | 1,779,000 |
| Gaspra | heliocentric | 1600–2400 | 48 | 4.1 × 10⁷ | 4.1 × 10⁷ | 8.0 × 10⁷ | 8.6 × 10⁷ | 6,699,000 |
| Mathilde | heliocentric | epoch ±10 yr (2016–2036) | 48 | 2,215,000 | 1,950,000 | 5,719,000 | 6,241,000 | 83,910 |
| Mathilde | heliocentric | 1900–2100 | 48 | 1.9 × 10⁷ | 1.6 × 10⁷ | 4.4 × 10⁷ | 4.7 × 10⁷ | 730,000 |
| Mathilde | heliocentric | 1600–2400 | 48 | 6.4 × 10⁷ | 6.2 × 10⁷ | 1.4 × 10⁸ | 1.5 × 10⁸ | 2,433,000 |
| Šteins | heliocentric | epoch ±10 yr (2016–2036) | 48 | 1,483,000 | 1,275,000 | 3,832,000 | 4,721,000 | 574,800 |
| Šteins | heliocentric | 1900–2100 | 48 | 1.1 × 10⁷ | 1.0 × 10⁷ | 2.6 × 10⁷ | 2.8 × 10⁷ | 4,319,000 |
| Šteins | heliocentric | 1600–2400 | 48 | 4.1 × 10⁷ | 3.7 × 10⁷ | 8.2 × 10⁷ | 1.0 × 10⁸ | 1.6 × 10⁷ |
| Annefrank | heliocentric | epoch ±10 yr (2016–2036) | 48 | 340,200 | 227,500 | 970,900 | 1,163,000 | 141,700 |
| Annefrank | heliocentric | 1900–2100 | 48 | 2,157,000 | 1,441,000 | 5,441,000 | 7,073,000 | 898,600 |
| Annefrank | heliocentric | 1600–2400 | 48 | 8,240,000 | 2,783,000 | 2.7 × 10⁷ | 3.1 × 10⁷ | 3,433,000 |
| Masursky | heliocentric | epoch ±10 yr (2016–2036) | 48 | 921,600 | 916,600 | 2,147,000 | 2,598,000 | 171,600 |
| Masursky | heliocentric | 1900–2100 | 48 | 9,745,000 | 9,216,000 | 2.0 × 10⁷ | 2.2 × 10⁷ | 1,814,000 |
| Masursky | heliocentric | 1600–2400 | 48 | 3.5 × 10⁷ | 3.4 × 10⁷ | 7.0 × 10⁷ | 7.3 × 10⁷ | 6,552,000 |
| Didymos | heliocentric | epoch ±10 yr (2016–2036) | 48 | 1,553,000 | 349,700 | 8,200,000 | 1.1 × 10⁷ | 3,982,000 |
| Didymos | heliocentric | 1900–2100 | 48 | 7,800,000 | 5,705,000 | 2.1 × 10⁷ | 2.4 × 10⁷ | 2.0 × 10⁷ |
| Didymos | heliocentric | 1600–2400 | 48 | 7.2 × 10⁷ | 1.3 × 10⁷ | 3.3 × 10⁸ | 3.7 × 10⁸ | 1.9 × 10⁸ |
| Dimorphos | relative to planet | epoch ±10 yr (2015–2030) (limited to Horizons coverage) | 48 | 0.68 | 0.32 | 2.30 | 2.33 | 9.11 |
| Dimorphos | relative to planet | 2000–2030 (limited to Horizons coverage) | 48 | 1.17 | 1.25 | 2.33 | 2.34 | 15.6 |
| Dimorphos | relative to planet | 2000–2030 (limited to Horizons coverage) | 48 | 1.19 | 1.09 | 2.34 | 2.34 | 15.8 |
| Dinkinesh | heliocentric | epoch ±10 yr (2016–2036) | 48 | 468,400 | 414,900 | 1,104,000 | 1,152,000 | 1,303,000 |
| Dinkinesh | heliocentric | 1900–2100 | 48 | 3,937,000 | 3,461,000 | 9,473,000 | 1.1 × 10⁷ | 1.1 × 10⁷ |
| Dinkinesh | heliocentric | 1600–2400 | 48 | 1.5 × 10⁷ | 1.4 × 10⁷ | 2.9 × 10⁷ | 4.0 × 10⁷ | 4.1 × 10⁷ |
| Donaldjohanson | heliocentric | epoch ±10 yr (2016–2036) | 48 | 492,000 | 350,200 | 1,296,000 | 1,505,000 | 252,600 |
| Donaldjohanson | heliocentric | 1900–2100 | 48 | 1.6 × 10⁷ | 1.4 × 10⁷ | 3.9 × 10⁷ | 4.0 × 10⁷ | 8,363,000 |
| Donaldjohanson | heliocentric | 1600–2400 | 48 | 5.7 × 10⁷ | 5.4 × 10⁷ | 1.2 × 10⁸ | 1.2 × 10⁸ | 2.9 × 10⁷ |
| Eurybates | heliocentric | epoch ±10 yr (2016–2036) | 48 | 4,545,000 | 1,482,000 | 1.8 × 10⁷ | 2.1 × 10⁷ | 142,300 |
| Eurybates | heliocentric | 1900–2100 | 48 | 3.1 × 10⁸ | 3.2 × 10⁸ | 6.3 × 10⁸ | 6.7 × 10⁸ | 9,648,000 |
| Eurybates | heliocentric | 1600–2400 | 48 | 4.3 × 10⁸ | 3.9 × 10⁸ | 1.0 × 10⁹ | 1.1 × 10⁹ | 1.3 × 10⁷ |
| Polymele | heliocentric | epoch ±10 yr (2016–2036) | 48 | 4,564,000 | 1,507,000 | 1.9 × 10⁷ | 2.2 × 10⁷ | 433,100 |
| Polymele | heliocentric | 1900–2100 | 48 | 2.3 × 10⁸ | 2.0 × 10⁸ | 5.1 × 10⁸ | 5.8 × 10⁸ | 2.2 × 10⁷ |
| Polymele | heliocentric | 1600–2400 | 48 | 3.3 × 10⁸ | 2.6 × 10⁸ | 7.2 × 10⁸ | 9.9 × 10⁸ | 3.1 × 10⁷ |
| Leucus | heliocentric | epoch ±10 yr (2016–2036) | 48 | 4,064,000 | 1,353,000 | 1.8 × 10⁷ | 2.2 × 10⁷ | 238,000 |
| Leucus | heliocentric | 1900–2100 | 48 | 5.3 × 10⁸ | 3.0 × 10⁸ | 1.5 × 10⁹ | 1.5 × 10⁹ | 3.1 × 10⁷ |
| Leucus | heliocentric | 1600–2400 | 48 | 9.6 × 10⁸ | 9.0 × 10⁸ | 1.5 × 10⁹ | 1.6 × 10⁹ | 5.6 × 10⁷ |
| Orus | heliocentric | epoch ±10 yr (2016–2036) | 48 | 3,507,000 | 3,105,000 | 7,850,000 | 7,911,000 | 138,100 |
| Orus | heliocentric | 1900–2100 | 48 | 4.1 × 10⁸ | 2.4 × 10⁸ | 1.2 × 10⁹ | 1.2 × 10⁹ | 1.6 × 10⁷ |
| Orus | heliocentric | 1600–2400 | 48 | 1.1 × 10⁹ | 1.2 × 10⁹ | 1.5 × 10⁹ | 1.6 × 10⁹ | 4.2 × 10⁷ |
| Patroclus | heliocentric | epoch ±10 yr (2016–2036) | 48 | 2,894,000 | 2,298,000 | 8,937,000 | 1.0 × 10⁷ | 49,050 |
| Patroclus | heliocentric | 1900–2100 | 48 | 6.1 × 10⁷ | 6.0 × 10⁷ | 1.7 × 10⁸ | 1.8 × 10⁸ | 1,039,000 |
| Patroclus | heliocentric | 1600–2400 | 48 | 1.3 × 10⁸ | 1.2 × 10⁸ | 2.8 × 10⁸ | 3.4 × 10⁸ | 2,245,000 |
| Menoetius | relative to planet | epoch ±10 yr (2015–2035) | 48 | 27.5 | 26.6 | 52.5 | 57.4 | 0.51 |
| Menoetius | relative to planet | 2000–2050 (limited to Horizons coverage) | 48 | 71.1 | 64.7 | 180 | 189 | 1.32 |
| Menoetius | relative to planet | 2000–2050 (limited to Horizons coverage) | 48 | 71.0 | 59.7 | 171 | 200 | 1.31 |
| Apophis | heliocentric | epoch ±10 yr (2016–2036) | 48 | 7.0 × 10⁷ | 2,095,000 | 3.0 × 10⁸ | 3.2 × 10⁸ | 4.1 × 10⁸ |
| Apophis | heliocentric | 1900–2100 | 48 | 1.5 × 10⁸ | 1.7 × 10⁸ | 2.8 × 10⁸ | 3.2 × 10⁸ | 8.9 × 10⁸ |
| Apophis | heliocentric | 1600–2400 | 48 | 1.9 × 10⁸ | 2.1 × 10⁸ | 3.1 × 10⁸ | 3.2 × 10⁸ | 1.1 × 10⁹ |
| Arrokoth | heliocentric | epoch ±10 yr (2016–2036) | 48 | 1,669 | 1,244 | 4,701 | 5,132 | 174 |
| Arrokoth | heliocentric | 1900–2100 | 48 | 689,200 | 69,740 | 3,688,000 | 4,683,000 | 72,020 |
| Arrokoth | heliocentric | 1600–2400 | 48 | 6,477,000 | 7,736,000 | 1.4 × 10⁷ | 1.4 × 10⁷ | 676,800 |
| Tempel 1 | heliocentric | epoch ±10 yr (2016–2036) | 48 | 6.1 × 10⁷ | 1.4 × 10⁷ | 2.7 × 10⁸ | 4.0 × 10⁸ | 2.0 × 10⁷ |
| Tempel 1 | heliocentric | 1900–2100 | 48 | 4.9 × 10⁸ | 5.4 × 10⁸ | 9.5 × 10⁸ | 9.9 × 10⁸ | 1.6 × 10⁸ |
| Tempel 1 | heliocentric | 1600–2400 | 48 | 6.0 × 10⁸ | 6.3 × 10⁸ | 1.0 × 10⁹ | 1.3 × 10⁹ | 2.0 × 10⁸ |
| Borrelly | heliocentric | epoch ±10 yr (2016–2036) | 48 | 8,494,000 | 1,209,000 | 5.2 × 10⁷ | 9.5 × 10⁷ | 3,539,000 |
| Borrelly | heliocentric | 1900–2100 | 48 | 9.8 × 10⁷ | 7.3 × 10⁷ | 3.0 × 10⁸ | 3.7 × 10⁸ | 4.1 × 10⁷ |
| Borrelly | heliocentric | 1600–2400 | 48 | 3.7 × 10⁸ | 1.5 × 10⁸ | 1.0 × 10⁹ | 1.1 × 10⁹ | 1.5 × 10⁸ |
| Wild 2 | heliocentric | epoch ±10 yr (2016–2036) | 48 | 2,910,000 | 2,346,000 | 1.3 × 10⁷ | 2.1 × 10⁷ | 1,455,000 |
| Wild 2 | heliocentric | 1900–2100 | 48 | 1.1 × 10⁹ | 1.8 × 10⁸ | 3.7 × 10⁹ | 4.0 × 10⁹ | 5.3 × 10⁸ |
| Wild 2 | heliocentric | 1600–2400 | 48 | 1.6 × 10⁹ | 9.6 × 10⁸ | 3.9 × 10⁹ | 5.0 × 10⁹ | 8.1 × 10⁸ |
| Hartley 2 | heliocentric | epoch ±10 yr (2016–2036) | 48 | 1,241,000 | 1,218,000 | 3,052,000 | 4,824,000 | 1,551,000 |
| Hartley 2 | heliocentric | 1900–2100 | 48 | 3.5 × 10⁸ | 2.1 × 10⁸ | 1.1 × 10⁹ | 1.1 × 10⁹ | 4.4 × 10⁸ |
| Hartley 2 | heliocentric | 1600–2400 | 48 | 5.8 × 10⁸ | 6.3 × 10⁸ | 1.0 × 10⁹ | 1.2 × 10⁹ | 7.3 × 10⁸ |
| Churyumov–Gerasimenko | heliocentric | epoch ±10 yr (2016–2036) | 48 | 2.0 × 10⁷ | 1,348,000 | 1.0 × 10⁸ | 1.3 × 10⁸ | 1.2 × 10⁷ |
| Churyumov–Gerasimenko | heliocentric | 1900–2100 | 48 | 4.3 × 10⁸ | 3.4 × 10⁸ | 1.1 × 10⁹ | 1.2 × 10⁹ | 2.5 × 10⁸ |
| Churyumov–Gerasimenko | heliocentric | 1600–2400 | 48 | 5.9 × 10⁸ | 6.0 × 10⁸ | 1.1 × 10⁹ | 1.2 × 10⁹ | 3.5 × 10⁸ |
| Giacobini–Zinner | heliocentric | epoch ±10 yr (2016–2036) | 48 | 1.7 × 10⁷ | 4,382,000 | 5.9 × 10⁷ | 9.3 × 10⁷ | 1.7 × 10⁷ |
| Giacobini–Zinner | heliocentric | 1900–2100 | 48 | 2.2 × 10⁸ | 1.3 × 10⁸ | 7.4 × 10⁸ | 9.0 × 10⁸ | 2.2 × 10⁸ |
| Giacobini–Zinner | heliocentric | 1600–2400 | 48 | 5.9 × 10⁸ | 6.6 × 10⁸ | 1.0 × 10⁹ | 1.1 × 10⁹ | 5.9 × 10⁸ |
| Grigg–Skjellerup | heliocentric | epoch ±10 yr (2016–2036) | 48 | 966,900 | 754,500 | 2,219,000 | 2,772,000 | 743,700 |
| Grigg–Skjellerup | heliocentric | 1900–2100 | 48 | 3.5 × 10⁸ | 2.7 × 10⁸ | 8.0 × 10⁸ | 8.6 × 10⁸ | 2.7 × 10⁸ |
| Grigg–Skjellerup | heliocentric | 1600–2400 | 48 | 4.1 × 10⁸ | 4.6 × 10⁸ | 7.7 × 10⁸ | 8.4 × 10⁸ | 3.2 × 10⁸ |
| 1I/ʻOumuamua | heliocentric | perihelion ±20 yr (1997–2037) | 48 | 6,483,000 | 4,850,000 | 1.6 × 10⁷ | 1.7 × 10⁷ | n/a |
| 2I/Borisov | heliocentric | perihelion ±20 yr (1999–2039) | 48 | 3,770,000 | 4,056,000 | 7,733,000 | 8,535,000 | n/a |
| 3I/ATLAS | heliocentric | perihelion ±20 yr (2005–2045) | 48 | 1.2 × 10⁷ | 8,700,000 | 3.3 × 10⁷ | 3.7 × 10⁷ | n/a |
SPK kernel SAT441 (measured locally, not enabled on this site) (8)
| Body | Frame | Window | Dates | Mean (km) | Median (km) | 95th pct (km) | Max (km) | Mean (body radii) |
|---|---|---|---|---|---|---|---|---|
| Enceladus | relative to planet | 1800–2199 | 48 | 9.17 | 0.00058 | 45.8 | 55.9 | 0.04 |
| Rhea | relative to planet | 1800–2199 | 48 | 6.17 | 0.00050 | 30.1 | 40.4 | 0.0081 |
| Iapetus | relative to planet | 1800–2199 | 48 | 2.37 | 0.00020 | 11.2 | 16.4 | 0.0032 |
| Titan | relative to planet | 1800–2199 | 48 | 3.69 | 0.00029 | 19.7 | 24.3 | 0.0014 |
| Mimas | relative to planet | 1800–2199 | 48 | 10.6 | 0.00073 | 52.1 | 67.1 | 0.05 |
| Tethys | relative to planet | 1800–2199 | 48 | 8.65 | 0.00062 | 46.0 | 53.5 | 0.02 |
| Dione | relative to planet | 1800–2199 | 48 | 6.85 | 0.00055 | 35.6 | 43.6 | 0.01 |
| Hyperion | relative to planet | 1800–2199 | 48 | 3.48 | 0.00032 | 16.5 | 22.6 | 0.03 |
The depth of time
The clock accepts any date, and the app used to say so honestly: outside the windows measured above, an info card reads “gap to JPL Horizons not measured at this date”. It is measured now, one millennium at a time, from year 9998 BC to year 9999: 195 windows over 10 bodies. Measuring them changed nothing in the card: it already named the window next to the figure, and it now has one to name. When that gap exceeds the diameter of the body, the card adds that, at this date, the body is drawn away from its true place: beyond one diameter, the sphere drawn and the true one no longer overlap at all.
One measured limit closes that window, and it is not a choice: the Horizons API serves the bodies of the DE441 planetary ephemeris from 21 March 9999 BC (a date in the Julian calendar, which is how Horizons prints it) to 30 December 9999 AD, and refuses anything beyond. A browser date field cannot write a negative year, nor 29 February 1500, which the Julian calendar has and the Gregorian does not: before 15 October 1582 the time bar therefore replaces it with a day, a month, a year and an era, in the Julian calendar, and says so next to them.
Before year 1, a year is written BC: the astronomical year 0 is 1 BC, and the year -1000 is 1001 BC. The app computes, and writes its links, in the Gregorian calendar extended into the past, whereas historians date antiquity in the Julian calendar, which Horizons itself uses to print its dates before 1582. The same day therefore carries two different dates, and the gap grows the further back one goes: this is why the time bar shows the Julian date before 15 October 1582, while the link keeps the Gregorian one.
Each gap above compares two positions at the same Universal Time. Each side converts that time into dynamical time with its own ΔT, which follows the slowing of the Earth’s rotation. Before the age of observations ΔT is not measured: both values are extrapolations, and their disagreement enters the gap without being a position error. It is measured here in the middle of each window; around 9500 BC, it reaches 1.81 h. For the future, both sides freeze ΔT at today’s value, so their agreement says nothing about the Earth’s actual rotation.
ΔT of JPL Horizons and of the app, in the middle of each window (20)
| Year | JPL Horizons (TDB−UT) | The app (TT−UT) | Disagreement (h) |
|---|---|---|---|
| 9500 BC | 403,400 | 409,900 | 1.81 |
| 8501 BC | 335,400 | 340,800 | 1.50 |
| 7502 BC | 273,600 | 277,900 | 1.19 |
| 6501 BC | 218,100 | 221,500 | 0.94 |
| 5502 BC | 168,900 | 171,400 | 0.69 |
| 4501 BC | 125,900 | 127,800 | 0.53 |
| 3502 BC | 89,280 | 90,550 | 0.35 |
| 2501 BC | 58,920 | 59,700 | 0.22 |
| 1502 BC | 34,850 | 35,250 | 0.11 |
| 501 BC | 17,000 | 17,200 | 0.06 |
| 500 | 5,604 | 5,705 | 0.03 |
| 1500 | 295 | 198 | 0.03 |
| 2499 | 69.2 | 69.2 | 0.00 |
| 3500 | 69.2 | 69.2 | 0.00 |
| 4499 | 69.2 | 69.2 | 0.00 |
| 5500 | 69.2 | 69.2 | 0.00 |
| 6499 | 69.2 | 69.2 | 0.00 |
| 7500 | 69.2 | 69.2 | 0.00 |
| 8499 | 69.2 | 69.2 | 0.00 |
| 9499 | 69.2 | 69.2 | 0.00 |
Gap to JPL Horizons, millennium by millennium (195)
| Body | Window | Mean (km) | 95th pct (km) | Max (km) | Mean (body radii) |
|---|---|---|---|---|---|
| Mercury | 9998 BC–9001 BC | 1,092,000 | 2,030,000 | 2,082,000 | 448 |
| Mercury | 9001 BC–8001 BC | 974,000 | 1,749,000 | 1,756,000 | 399 |
| Mercury | 8001 BC–7001 BC | 729,500 | 1,282,000 | 1,374,000 | 299 |
| Mercury | 7001 BC–6001 BC | 571,100 | 1,009,000 | 1,067,000 | 234 |
| Mercury | 6001 BC–5001 BC | 482,500 | 845,600 | 938,800 | 198 |
| Mercury | 5001 BC–4001 BC | 375,700 | 635,100 | 680,900 | 154 |
| Mercury | 4001 BC–3001 BC | 244,800 | 472,100 | 507,400 | 100 |
| Mercury | 3001 BC–2001 BC | 181,900 | 293,900 | 306,200 | 74.5 |
| Mercury | 2001 BC–1001 BC | 116,100 | 188,500 | 229,200 | 47.6 |
| Mercury | 1001 BC–1 | 67,470 | 113,500 | 116,400 | 27.7 |
| Mercury | 1–1000 | 30,820 | 58,660 | 67,780 | 12.6 |
| Mercury | 1000–2000 | 8,975 | 19,350 | 23,590 | 3.68 |
| Mercury | 2000–3000 | 8,454 | 22,950 | 30,580 | 3.46 |
| Mercury | 3000–4000 | 25,700 | 50,500 | 62,540 | 10.5 |
| Mercury | 4000–5000 | 64,570 | 116,500 | 134,000 | 26.5 |
| Mercury | 5000–6000 | 112,500 | 180,300 | 193,500 | 46.1 |
| Mercury | 6000–7000 | 172,900 | 289,200 | 332,400 | 70.9 |
| Mercury | 7000–8000 | 237,600 | 375,800 | 397,700 | 97.4 |
| Mercury | 8000–9000 | 377,100 | 559,100 | 607,400 | 155 |
| Mercury | 9000–9999 | 456,200 | 665,300 | 771,700 | 187 |
| Venus | 9998 BC–9001 BC | 1,253,000 | 1,829,000 | 2,009,000 | 207 |
| Venus | 9001 BC–8001 BC | 1,093,000 | 1,653,000 | 1,671,000 | 181 |
| Venus | 8001 BC–7001 BC | 858,000 | 1,353,000 | 1,451,000 | 142 |
| Venus | 7001 BC–6001 BC | 672,700 | 1,030,000 | 1,100,000 | 111 |
| Venus | 6001 BC–5001 BC | 576,000 | 882,600 | 890,900 | 95.2 |
| Venus | 5001 BC–4001 BC | 427,200 | 651,400 | 665,400 | 70.6 |
| Venus | 4001 BC–3001 BC | 282,400 | 474,900 | 540,100 | 46.7 |
| Venus | 3001 BC–2001 BC | 211,100 | 347,500 | 366,400 | 34.9 |
| Venus | 2001 BC–1001 BC | 128,300 | 217,500 | 222,300 | 21.2 |
| Venus | 1001 BC–1 | 57,650 | 99,720 | 110,500 | 9.53 |
| Venus | 1–1000 | 21,980 | 50,330 | 57,880 | 3.63 |
| Venus | 1000–2000 | 5,198 | 11,420 | 12,130 | 0.86 |
| Venus | 2000–3000 | 4,040 | 10,190 | 11,550 | 0.67 |
| Venus | 3000–4000 | 20,130 | 43,190 | 56,230 | 3.33 |
| Venus | 4000–5000 | 61,700 | 114,300 | 133,100 | 10.2 |
| Venus | 5000–6000 | 116,300 | 190,100 | 207,200 | 19.2 |
| Venus | 6000–7000 | 197,500 | 305,100 | 315,300 | 32.6 |
| Venus | 7000–8000 | 299,700 | 456,300 | 465,000 | 49.5 |
| Venus | 8000–9000 | 365,500 | 634,500 | 680,700 | 60.4 |
| Venus | 9000–9999 | 505,200 | 803,000 | 893,200 | 83.5 |
| Earth | 9998 BC–9001 BC | 1,413,000 | 2,105,000 | 2,138,000 | 222 |
| Earth | 9001 BC–8001 BC | 1,166,000 | 1,657,000 | 1,800,000 | 183 |
| Earth | 8001 BC–7001 BC | 998,600 | 1,462,000 | 1,499,000 | 157 |
| Earth | 7001 BC–6001 BC | 745,000 | 1,147,000 | 1,215,000 | 117 |
| Earth | 6001 BC–5001 BC | 542,100 | 878,700 | 931,600 | 85.1 |
| Earth | 5001 BC–4001 BC | 408,600 | 732,900 | 753,800 | 64.1 |
| Earth | 4001 BC–3001 BC | 308,500 | 526,600 | 539,600 | 48.4 |
| Earth | 3001 BC–2001 BC | 221,400 | 355,400 | 408,100 | 34.8 |
| Earth | 2001 BC–1001 BC | 100,700 | 201,400 | 224,900 | 15.8 |
| Earth | 1001 BC–1 | 60,520 | 115,600 | 140,200 | 9.50 |
| Earth | 1–1000 | 21,100 | 44,360 | 53,410 | 3.31 |
| Earth | 1000–2000 | 6,900 | 13,410 | 18,690 | 1.08 |
| Earth | 2000–3000 | 7,334 | 16,640 | 17,610 | 1.15 |
| Earth | 3000–4000 | 23,990 | 54,390 | 57,980 | 3.77 |
| Earth | 4000–5000 | 57,830 | 107,700 | 119,400 | 9.08 |
| Earth | 5000–6000 | 114,700 | 205,000 | 226,300 | 18.0 |
| Earth | 6000–7000 | 203,000 | 348,300 | 359,800 | 31.9 |
| Earth | 7000–8000 | 300,300 | 480,900 | 495,700 | 47.1 |
| Earth | 8000–9000 | 382,400 | 652,500 | 661,800 | 60.0 |
| Earth | 9000–9999 | 508,300 | 834,700 | 880,500 | 79.8 |
| Moon | 9998 BC–9001 BC | 93,980 | 125,200 | 128,700 | 54.1 |
| Moon | 9001 BC–8001 BC | 70,790 | 94,630 | 101,700 | 40.8 |
| Moon | 8001 BC–7001 BC | 56,300 | 72,770 | 79,160 | 32.4 |
| Moon | 7001 BC–6001 BC | 43,100 | 56,940 | 60,140 | 24.8 |
| Moon | 6001 BC–5001 BC | 31,500 | 41,500 | 44,120 | 18.1 |
| Moon | 5001 BC–4001 BC | 22,020 | 29,370 | 30,720 | 12.7 |
| Moon | 4001 BC–3001 BC | 14,610 | 19,360 | 20,820 | 8.41 |
| Moon | 3001 BC–2001 BC | 9,240 | 12,760 | 12,940 | 5.32 |
| Moon | 2001 BC–1001 BC | 5,179 | 7,016 | 7,265 | 2.98 |
| Moon | 1001 BC–1 | 2,485 | 3,916 | 3,994 | 1.43 |
| Moon | 1–1000 | 897 | 1,616 | 1,685 | 0.52 |
| Moon | 1000–2000 | 50.3 | 205 | 271 | 0.03 |
| Moon | 2000–3000 | 90.3 | 232 | 277 | 0.05 |
| Moon | 3000–4000 | 630 | 1,039 | 1,090 | 0.36 |
| Moon | 4000–5000 | 1,651 | 2,217 | 2,302 | 0.95 |
| Moon | 5000–6000 | 3,120 | 3,874 | 4,136 | 1.80 |
| Moon | 6000–7000 | 4,941 | 5,716 | 6,548 | 2.84 |
| Moon | 7000–8000 | 7,220 | 8,852 | 8,996 | 4.16 |
| Moon | 8000–9000 | 9,929 | 11,930 | 12,450 | 5.71 |
| Moon | 9000–9999 | 13,340 | 16,070 | 16,200 | 7.68 |
| Mars | 9998 BC–9001 BC | 4,549,000 | 7,546,000 | 8,024,000 | 1,342 |
| Mars | 9001 BC–8001 BC | 3,690,000 | 5,882,000 | 5,894,000 | 1,089 |
| Mars | 8001 BC–7001 BC | 2,662,000 | 3,957,000 | 4,258,000 | 785 |
| Mars | 7001 BC–6001 BC | 2,150,000 | 3,227,000 | 3,267,000 | 634 |
| Mars | 6001 BC–5001 BC | 1,514,000 | 2,166,000 | 2,378,000 | 447 |
| Mars | 5001 BC–4001 BC | 1,026,000 | 1,541,000 | 1,561,000 | 303 |
| Mars | 4001 BC–3001 BC | 642,200 | 956,400 | 984,400 | 190 |
| Mars | 3001 BC–2001 BC | 407,300 | 625,800 | 654,400 | 120 |
| Mars | 2001 BC–1001 BC | 228,000 | 370,000 | 404,400 | 67.3 |
| Mars | 1001 BC–1 | 113,400 | 189,900 | 230,000 | 33.5 |
| Mars | 1–1000 | 38,220 | 88,390 | 94,050 | 11.3 |
| Mars | 1000–2000 | 7,566 | 22,720 | 25,570 | 2.23 |
| Mars | 2000–3000 | 6,216 | 16,410 | 23,970 | 1.83 |
| Mars | 3000–4000 | 34,010 | 84,490 | 115,300 | 10.0 |
| Mars | 4000–5000 | 102,800 | 199,600 | 278,600 | 30.3 |
| Mars | 5000–6000 | 220,700 | 445,300 | 460,700 | 65.1 |
| Mars | 6000–7000 | 400,500 | 678,700 | 725,300 | 118 |
| Mars | 7000–8000 | 647,700 | 1,092,000 | 1,215,000 | 191 |
| Mars | 8000–9000 | 1,082,000 | 1,623,000 | 1,817,000 | 319 |
| Mars | 9000–9999 | 1,599,000 | 2,202,000 | 2,487,000 | 472 |
| Jupiter | 9998 BC–9001 BC | 4.0 × 10⁷ | 7.1 × 10⁷ | 7.6 × 10⁷ | 554 |
| Jupiter | 9001 BC–8001 BC | 3.1 × 10⁷ | 5.6 × 10⁷ | 6.5 × 10⁷ | 429 |
| Jupiter | 8001 BC–7001 BC | 2.5 × 10⁷ | 4.4 × 10⁷ | 4.9 × 10⁷ | 345 |
| Jupiter | 7001 BC–6001 BC | 2.0 × 10⁷ | 3.4 × 10⁷ | 4.1 × 10⁷ | 280 |
| Jupiter | 6001 BC–5001 BC | 1.4 × 10⁷ | 2.5 × 10⁷ | 3.1 × 10⁷ | 200 |
| Jupiter | 5001 BC–4001 BC | 9,451,000 | 1.5 × 10⁷ | 1.6 × 10⁷ | 132 |
| Jupiter | 4001 BC–3001 BC | 6,048,000 | 1.1 × 10⁷ | 1.2 × 10⁷ | 84.6 |
| Jupiter | 3001 BC–2001 BC | 3,740,000 | 6,964,000 | 7,463,000 | 52.3 |
| Jupiter | 2001 BC–1001 BC | 1,994,000 | 3,330,000 | 3,962,000 | 27.9 |
| Jupiter | 1001 BC–1 | 811,400 | 1,559,000 | 1,579,000 | 11.3 |
| Jupiter | 1–1000 | 254,400 | 511,000 | 584,200 | 3.56 |
| Jupiter | 1000–2000 | 59,440 | 132,100 | 146,200 | 0.83 |
| Jupiter | 2000–3000 | 55,420 | 159,200 | 173,700 | 0.78 |
| Jupiter | 3000–4000 | 276,200 | 539,800 | 588,200 | 3.86 |
| Jupiter | 4000–5000 | 750,300 | 1,267,000 | 1,290,000 | 10.5 |
| Jupiter | 5000–6000 | 1,705,000 | 2,963,000 | 3,184,000 | 23.9 |
| Jupiter | 6000–7000 | 3,339,000 | 5,601,000 | 7,166,000 | 46.7 |
| Jupiter | 7000–8000 | 5,989,000 | 9,065,000 | 1.2 × 10⁷ | 83.8 |
| Jupiter | 8000–9000 | 8,323,000 | 1.5 × 10⁷ | 1.5 × 10⁷ | 116 |
| Jupiter | 9000–9999 | 1.2 × 10⁷ | 2.1 × 10⁷ | 2.4 × 10⁷ | 167 |
| Saturn | 9998 BC–9001 BC | 1.8 × 10⁸ | 3.8 × 10⁸ | 4.1 × 10⁸ | 2,991 |
| Saturn | 9001 BC–8001 BC | 1.2 × 10⁸ | 2.3 × 10⁸ | 3.1 × 10⁸ | 1,990 |
| Saturn | 8001 BC–7001 BC | 1.1 × 10⁸ | 1.9 × 10⁸ | 2.2 × 10⁸ | 1,869 |
| Saturn | 7001 BC–6001 BC | 8.9 × 10⁷ | 2.0 × 10⁸ | 2.2 × 10⁸ | 1,479 |
| Saturn | 6001 BC–5001 BC | 6.6 × 10⁷ | 1.2 × 10⁸ | 1.3 × 10⁸ | 1,091 |
| Saturn | 5001 BC–4001 BC | 4.0 × 10⁷ | 7.3 × 10⁷ | 8.0 × 10⁷ | 665 |
| Saturn | 4001 BC–3001 BC | 2.5 × 10⁷ | 4.9 × 10⁷ | 5.1 × 10⁷ | 417 |
| Saturn | 3001 BC–2001 BC | 1.5 × 10⁷ | 2.9 × 10⁷ | 3.2 × 10⁷ | 253 |
| Saturn | 2001 BC–1001 BC | 7,445,000 | 1.7 × 10⁷ | 1.7 × 10⁷ | 124 |
| Saturn | 1001 BC–1 | 2,856,000 | 7,043,000 | 7,781,000 | 47.4 |
| Saturn | 1–1000 | 801,700 | 1,793,000 | 2,336,000 | 13.3 |
| Saturn | 1000–2000 | 183,700 | 492,100 | 544,900 | 3.05 |
| Saturn | 2000–3000 | 152,700 | 312,200 | 337,600 | 2.53 |
| Saturn | 3000–4000 | 779,200 | 1,939,000 | 2,178,000 | 12.9 |
| Saturn | 4000–5000 | 2,653,000 | 4,608,000 | 5,561,000 | 44.0 |
| Saturn | 5000–6000 | 5,977,000 | 1.1 × 10⁷ | 1.3 × 10⁷ | 99.2 |
| Saturn | 6000–7000 | 1.3 × 10⁷ | 2.7 × 10⁷ | 3.5 × 10⁷ | 223 |
| Saturn | 7000–8000 | 2.4 × 10⁷ | 4.1 × 10⁷ | 5.9 × 10⁷ | 394 |
| Saturn | 8000–9000 | 3.4 × 10⁷ | 6.2 × 10⁷ | 6.7 × 10⁷ | 557 |
| Saturn | 9000–9999 | 4.9 × 10⁷ | 1.0 × 10⁸ | 1.1 × 10⁸ | 819 |
| Uranus | 9998 BC–9001 BC | 1.1 × 10⁷ | 1.8 × 10⁷ | 2.0 × 10⁷ | 433 |
| Uranus | 9001 BC–8001 BC | 9,503,000 | 1.8 × 10⁷ | 2.0 × 10⁷ | 372 |
| Uranus | 8001 BC–7001 BC | 7,139,000 | 1.2 × 10⁷ | 1.4 × 10⁷ | 279 |
| Uranus | 7001 BC–6001 BC | 5,260,000 | 8,775,000 | 9,747,000 | 206 |
| Uranus | 6001 BC–5001 BC | 4,562,000 | 6,959,000 | 7,734,000 | 179 |
| Uranus | 5001 BC–4001 BC | 3,969,000 | 6,901,000 | 7,926,000 | 155 |
| Uranus | 4001 BC–3001 BC | 2,312,000 | 4,975,000 | 5,035,000 | 90.5 |
| Uranus | 3001 BC–2001 BC | 1,824,000 | 3,175,000 | 3,625,000 | 71.3 |
| Uranus | 2001 BC–1001 BC | 1,218,000 | 1,826,000 | 1,913,000 | 47.6 |
| Uranus | 1001 BC–1 | 931,200 | 1,716,000 | 2,110,000 | 36.4 |
| Uranus | 5000–6000 | 919,600 | 1,542,000 | 1,608,000 | 36.0 |
| Uranus | 6000–7000 | 1,162,000 | 1,983,000 | 2,110,000 | 45.5 |
| Uranus | 7000–8000 | 1,504,000 | 2,760,000 | 2,896,000 | 58.8 |
| Uranus | 8000–9000 | 2,321,000 | 4,254,000 | 4,480,000 | 90.8 |
| Uranus | 9000–9999 | 3,114,000 | 4,905,000 | 5,032,000 | 122 |
| Neptune | 9998 BC–9001 BC | 5,285,000 | 7,803,000 | 8,468,000 | 213 |
| Neptune | 9001 BC–8001 BC | 7,215,000 | 8,515,000 | 8,672,000 | 291 |
| Neptune | 8001 BC–7001 BC | 6,007,000 | 7,304,000 | 7,548,000 | 243 |
| Neptune | 7001 BC–6001 BC | 4,364,000 | 5,926,000 | 6,371,000 | 176 |
| Neptune | 6001 BC–5001 BC | 3,099,000 | 4,023,000 | 4,391,000 | 125 |
| Neptune | 5001 BC–4001 BC | 3,925,000 | 4,687,000 | 4,829,000 | 159 |
| Neptune | 4001 BC–3001 BC | 3,010,000 | 3,570,000 | 3,648,000 | 122 |
| Neptune | 3001 BC–2001 BC | 2,352,000 | 3,006,000 | 3,102,000 | 95.0 |
| Neptune | 2001 BC–1001 BC | 1,501,000 | 2,084,000 | 2,307,000 | 60.6 |
| Neptune | 1001 BC–1 | 1,352,000 | 1,748,000 | 1,795,000 | 54.6 |
| Neptune | 1–1000 | 710,000 | 1,092,000 | 1,240,000 | 28.7 |
| Neptune | 1000–2000 | 356,000 | 671,700 | 745,500 | 14.4 |
| Neptune | 2000–3000 | 313,700 | 592,100 | 733,600 | 12.7 |
| Neptune | 3000–4000 | 597,400 | 859,900 | 910,800 | 24.1 |
| Neptune | 4000–5000 | 974,600 | 1,199,000 | 1,265,000 | 39.4 |
| Neptune | 5000–6000 | 1,320,000 | 2,038,000 | 2,109,000 | 53.3 |
| Neptune | 6000–7000 | 1,911,000 | 2,264,000 | 2,365,000 | 77.2 |
| Neptune | 7000–8000 | 2,292,000 | 2,864,000 | 3,122,000 | 92.6 |
| Neptune | 8000–9000 | 2,662,000 | 3,156,000 | 3,263,000 | 108 |
| Neptune | 9000–9999 | 2,636,000 | 3,465,000 | 3,876,000 | 107 |
| Body | Window | Mean (km) | 95th pct (km) | Max (km) | Mean (body radii) |
|---|---|---|---|---|---|
| Pluto | 9998 BC–9001 BC | 9.0 × 10⁹ | 1.0 × 10¹⁰ | 1.0 × 10¹⁰ | 7,570,000 |
| Pluto | 9001 BC–8001 BC | 8.5 × 10⁹ | 1.0 × 10¹⁰ | 1.0 × 10¹⁰ | 7,183,000 |
| Pluto | 8001 BC–7001 BC | 7.9 × 10⁹ | 9.5 × 10⁹ | 9.7 × 10⁹ | 6,649,000 |
| Pluto | 7001 BC–6001 BC | 7.0 × 10⁹ | 8.7 × 10⁹ | 8.9 × 10⁹ | 5,910,000 |
| Pluto | 6001 BC–5001 BC | 6.0 × 10⁹ | 7.7 × 10⁹ | 7.9 × 10⁹ | 5,046,000 |
| Pluto | 5001 BC–4001 BC | 4.9 × 10⁹ | 6.4 × 10⁹ | 6.8 × 10⁹ | 4,116,000 |
| Pluto | 4001 BC–3001 BC | 3.7 × 10⁹ | 5.1 × 10⁹ | 5.4 × 10⁹ | 3,154,000 |
| Pluto | 3001 BC–2001 BC | 2.6 × 10⁹ | 3.8 × 10⁹ | 4.0 × 10⁹ | 2,187,000 |
| Pluto | 2001 BC–1001 BC | 1.6 × 10⁹ | 2.3 × 10⁹ | 2.6 × 10⁹ | 1,342,000 |
| Pluto | 1001 BC–1 | 8.1 × 10⁸ | 1.3 × 10⁹ | 1.5 × 10⁹ | 678,100 |
| Pluto | 1–1000 | 3.0 × 10⁸ | 5.3 × 10⁸ | 6.6 × 10⁸ | 256,100 |
| Pluto | 1000–2000 | 5.0 × 10⁷ | 1.4 × 10⁸ | 1.8 × 10⁸ | 41,770 |
| Pluto | 2000–3000 | 3.6 × 10⁷ | 1.2 × 10⁸ | 1.4 × 10⁸ | 30,250 |
| Pluto | 3000–4000 | 2.4 × 10⁸ | 4.7 × 10⁸ | 4.9 × 10⁸ | 204,000 |
| Pluto | 4000–5000 | 5.5 × 10⁸ | 8.5 × 10⁸ | 9.0 × 10⁸ | 461,000 |
| Pluto | 5000–6000 | 9.0 × 10⁸ | 1.3 × 10⁹ | 1.4 × 10⁹ | 753,700 |
| Pluto | 6000–7000 | 1.2 × 10⁹ | 1.6 × 10⁹ | 1.7 × 10⁹ | 1,018,000 |
| Pluto | 7000–8000 | 1.4 × 10⁹ | 1.8 × 10⁹ | 1.8 × 10⁹ | 1,145,000 |
| Pluto | 8000–9000 | 1.4 × 10⁹ | 1.8 × 10⁹ | 1.8 × 10⁹ | 1,180,000 |
| Pluto | 9000–9999 | 1.2 × 10⁹ | 1.6 × 10⁹ | 1.7 × 10⁹ | 1,038,000 |
Before 1600 the API refuses the centre of a planet, because that centre comes from a satellite theory fitted over a bounded span. It serves the barycentre of that planet’s system instead, which comes from DE441. The deep windows of 6 bodies are therefore measured against that barycentre, and the substitution has a floor: the same source, at the same dates, measured against the body and against its barycentre where Horizons serves both (1801-01-01 to 2199-12-01). The largest difference between the two is the bias it introduces.
| Body | Horizons target | Floor along the real path (km) | Geometric body to barycentre distance (km) | Barycentre inside the body |
|---|---|---|---|---|
| Mars | 4 | 0.00016 | 0.00021 | yes |
| Jupiter | 5 | 177 | 217 | yes |
| Saturn | 6 | 286 | 306 | yes |
| Uranus | 7 | 8,915 | 43.4 | yes |
| Neptune | 8 | 2,271 | 74.2 | yes |
| Pluto | 9 | 2,130 | 2,132 | no |
For Uranus and Neptune the two columns do not agree, and the difference is not ours. Horizons is not consistent with itself on those bodies: the barycentre it serves as a target and the one implied by the body’s own ephemeris are not the same point, and they coincide around the single Voyager 2 flyby that characterised each of those systems. The floor that counts is the one along the path actually taken, and that is the one applied.
Measured windows held back, and why (5)
| Body | Window | Floor (km) | Reason |
|---|---|---|---|
| Uranus | 1–1000 | 8,915 | the floor of the substitution is more than a hundredth of the gap measured there |
| Uranus | 1000–2000 | 8,915 | the floor of the substitution is more than a hundredth of the gap measured there |
| Uranus | 2000–3000 | 8,915 | the floor of the substitution is more than a hundredth of the gap measured there |
| Uranus | 3000–4000 | 8,915 | the floor of the substitution is more than a hundredth of the gap measured there |
| Uranus | 4000–5000 | 8,915 | the floor of the substitution is more than a hundredth of the gap measured there |
A window is published only when its floor stays below a hundredth of the gap measured there, well under the resolution of the two significant digits an info card shows. 5 windows are held back, all on Uranus, and they are listed above with their floor. There, the info card keeps saying that the gap is not measured, which is true. The body’s radius decides nothing here, but it is worth knowing: the barycentre falls outside the body itself for Pluto, which is also why the app’s own Horizons service takes that wobble out and puts it back.
What a date says
The scene shows one instant, but each piece of data describes an instant of its own, and they rarely coincide. Satellite imagery does not exist for a scene set in 2030, so the latest real image is shown and the gap to the scene is written next to it. Every dated element therefore carries its own label, and there is no single control saying the whole scene is accurate: the label says what the data is, the measured gap says how far it is.
- live: the scene is at the present moment, within five minutes, and the data describes it.
- observed: a measurement of a past instant, such as a satellite image of that day.
- analysed (interpolated measurements): a field built from measurements of several satellites, with the gaps between their passes filled by statistical interpolation and not by a physical model, such as the GHRSST MUR sea surface temperature. Between two passes the value is estimated, so it is neither a measurement nor a model.
- reported: an event a third party reported and another party gathered, such as a wildfire or a storm listed by NASA EONET. It is neither a measurement nor a model, and EONET itself asks that its extents not be taken as official. An event with no declared end is shown as ongoing rather than given an invented end date.
- reconstructed (model): a model of a past or present instant, such as a reanalysis (ERA5, MERRA-2) or a position computed for a date already behind us.
- predicted: a model of a future instant, inside the window where its source has been measured. A weather forecast beyond a week is marked as having low confidence.
- extrapolated: a calculation outside every window where its gap to the reference was measured. It still draws something, and says that nothing establishes it.
- unavailable: no data for that instant, so nothing is drawn rather than something borrowed from another date.
Surface brightness
A surface is shown as bright as its published geometric albedo: the mean linear luminance of the rendered surface, texture times a gain, is 0.5 times that albedo. Without this rule each map would keep the brightness its publisher chose, and a bright icy moon could look darker than a dark one. The gain is applied when rendering, not to the files: no texture is re-encoded, and the brightest highlights are compressed by the tone mapping rather than clipped. The share images of the body pages use the same gain.
For a textured body the gain is the published albedo times 0.5, divided by the mean luminance measured on its shipped texture, weighted by area. 9 bodies drawn from a shape model without a texture carry a colour already baked at their own published albedo, so they share one gain. A check re-measures every shipped texture against this table.
| Body | Method | Albedo source | Geometric albedo | Gain |
|---|---|---|---|---|
| Mercury | texture measured | NASA NSSDCA | 0.142 | 0.31 |
| Moon | texture measured | NASA NSSDCA | 0.12 | 0.19 |
| Phobos | texture measured | NASA NSSDCA | 0.07 | 0.13 |
| Deimos | texture measured | NASA NSSDCA | 0.08 | 0.15 |
| Amalthea | texture measured | NASA NSSDCA | 0.09 | 0.38 |
| Io | texture measured | NASA NSSDCA | 0.62 | 1.19 |
| Europa | texture measured | NASA NSSDCA | 0.68 | 1.10 |
| Ganymede | texture measured | NASA NSSDCA | 0.44 | 2.94 |
| Callisto | texture measured | NASA NSSDCA | 0.19 | 1.97 |
| Enceladus | texture measured | NASA NSSDCA | 1 | 3.49 |
| Rhea | texture measured | NASA NSSDCA | 0.7 | 2.19 |
| Mimas | texture measured | NASA NSSDCA | 0.6 | 1.61 |
| Tethys | texture measured | NASA NSSDCA | 0.8 | 2.03 |
| Dione | texture measured | NASA NSSDCA | 0.7 | 1.57 |
| Hyperion | texture measured | NASA NSSDCA | 0.3 | 0.44 |
| Miranda | texture measured | NASA NSSDCA | 0.32 | 0.19 |
| Ariel | texture measured | NASA NSSDCA | 0.39 | 0.25 |
| Umbriel | texture measured | NASA NSSDCA | 0.21 | 0.76 |
| Titania | texture measured | NASA NSSDCA | 0.27 | 0.19 |
| Oberon | texture measured | NASA NSSDCA | 0.23 | 0.68 |
| Triton | texture measured | NASA NSSDCA | 0.72 | 1.61 |
| Proteus | texture measured | NASA NSSDCA | 0.1 | 0.25 |
| Nereid | texture measured | NASA NSSDCA | 0.16 | 0.19 |
| Ceres | texture measured | JPL SBDB | 0.09 | 0.19 |
| Vesta | texture measured | JPL SBDB | 0.4228 | 2.26 |
| Pallas | texture measured | JPL SBDB | 0.155 | 0.30 |
| Hygiea | texture measured | JPL SBDB | 0.0717 | 0.38 |
| Psyche | colour baked into the shape model | IRAS-A-FPA-3-RDR-IMPS-V6.0 (JPL SBDB), 0.1203 +/- 0.004 | 0.1203 | 0.19 |
| Pluto | texture measured | NASA NSSDCA | 0.52 | 2.12 |
| Charon | texture measured | NASA NSSDCA | 0.42 | 1.10 |
| Styx | texture measured | NASA NSSDCA | 0.65 | 0.50 |
| Nix | texture measured | NASA NSSDCA | 0.56 | 0.45 |
| Kerberos | texture measured | NASA NSSDCA | 0.56 | 0.47 |
| Hydra | texture measured | NASA NSSDCA | 0.83 | 0.63 |
| Eris | texture measured | arXiv:1202.1481 | 0.96 | 1.28 |
| Haumea | texture measured | arXiv:2006.03113 | 0.51 | 0.84 |
| Makemake | texture measured | arXiv:1304.1041 | 0.81 | 1.25 |
| Orcus | texture measured | arXiv:0910.4784 | 0.28 | 0.26 |
| Quaoar | texture measured | arXiv:2607.06450 | 0.125 | 0.25 |
| Gonggong | texture measured | arXiv:1903.05439 | 0.14 | 0.34 |
| Sedna | texture measured | arXiv:1204.0899 | 0.32 | 1.00 |
| Halley | texture measured | JPL SBDB | 0.04 | 0.16 |
| Bennu | texture measured | JPL SBDB | 0.044 | 0.21 |
| Eros | texture measured | JPL SBDB | 0.25 | 0.20 |
| Itokawa | texture measured | arXiv:1404.5842 | 0.29 | 0.49 |
| Ryugu | texture measured | JPL SBDB | 0.045 | 0.19 |
| Ida | texture measured | JPL SBDB | 0.262 | 0.39 |
| Lutetia | texture measured | JPL SBDB | 0.19 | 0.19 |
| Gaspra | texture measured | JPL SBDB | 0.246 | 0.45 |
| Mathilde | colour baked into the shape model | IRAS-A-FPA-3-RDR-IMPS-V6.0 (JPL SBDB), 0.0436 +/- 0.004 | 0.0436 | 0.19 |
| Šteins | colour baked into the shape model | NEOWISE, Masiero et al. 2011, ApJ 741, 68 (JPL SBDB), 0.300 +/- 0.034 | 0.3 | 0.19 |
| Didymos | colour baked into the shape model | Daly et al. 2023, Nature 616, 443 (doi:10.1038/s41586-023-05810-5), geometric albedo of the Didymos system 0.15 +/- 0.02 | 0.15 | 0.19 |
| Dimorphos | colour baked into the shape model | Daly et al. 2023, Nature 616, 443 (doi:10.1038/s41586-023-05810-5), geometric albedo of the Didymos system 0.15 +/- 0.02 | 0.15 | 0.19 |
| Donaldjohanson | colour baked into the shape model | NEOWISE, Masiero et al. 2011, ApJ 741, 68 (JPL SBDB), 0.103 +/- 0.019 | 0.103 | 0.19 |
| Apophis | colour baked into the shape model | Brozovic et al. 2018, Icarus 300, 115 (JPL SBDB), 0.35 +/- 0.10 | 0.35 | 0.19 |
| Arrokoth | colour baked into the shape model | Hofgartner et al. 2021, Icarus (doi:10.1016/j.icarus.2020.113723), p_V 0.21 (+0.05 / -0.04) at 550 nm | 0.21 | 0.19 |
| Tempel 1 | colour baked into the shape model | Earth, Moon, and Planets 89, 117 (2002) (JPL SBDB), 0.05 +/- 0.02 | 0.05 | 0.19 |
| Churyumov–Gerasimenko | texture measured | arXiv:1505.06888 | 0.065 | 0.19 |
The other bodies are not adjusted, for the reason written next to them:
- Sun: not a lit surface.
- Venus, Earth, Mars, Jupiter, Saturn, Titan, Uranus, Neptune: an atmosphere, whose published albedo is that of the whole disc, clouds and haze included, not that of the surface the texture shows.
- Iapetus: the source publishes two albedos, and no single number describes the body. For Iapetus, 0.05 and 0.5, a ratio of 10.0 between its faces, while its shipped map, measured between its brightest and darkest 60° of longitude, carries only 1.99: a single gain cannot give each face its albedo, and no global map found so far publishes that contrast as albedo.
- Annefrank, Masursky, Dinkinesh, Eurybates, Polymele, Leucus, Orus, Patroclus, Menoetius, Borrelly, Wild 2, Hartley 2, Giacobini–Zinner, Grigg–Skjellerup: neither a texture nor a baked colour, so the body is drawn in the plain tint of its record.
Known limits
- The Earth is drawn at the Earth-Moon barycentre, not at its own centre, to avoid a monthly wobble that would show as a zigzag at true scale and high speed; the Moon is placed correctly relative to that point. This offset is what the Earth row of the accuracy table measures (4,683 km on average).
- Keplerian elements drift away from the true position far from their epoch, because the two-body model ignores planetary perturbations. No body in the production table (1900–2100) depends on them alone; outside the coverage of the Horizons files they are the fallback described in the next point, and the full measurements give the size of that drift.
- Outside 1900-01-01 to 2101-01-01, the Horizons files do not apply: planets fall back to astronomy-engine, other bodies to their Keplerian elements. The production table covers 1900–2100 only; the full measurements show the sources over wider windows.
- The asteroids and comets of the optional small-body layer, several thousand of them, come from a dated snapshot of the JPL Small-Body Database shipped with the build, and are propagated from its elements. They are not part of this measurement.
- Some synchronous moons do not spin exactly at their orbital period in the catalogue, so the face they turn towards their planet slowly drifts: Moon 0.0059° per year, Io 7.00° per year, Europa 1.74° per year, Ganymede 2.14° per year, Callisto 0.71° per year. The other synchronous moons are locked exactly.
- A body ships the texture sizes its source actually supports, never more: we do not enlarge a published map, and a size is only shipped when it carries detail the size below does not. So a body served at 2k is not a body we neglected, it is a body whose published map stops there. 67 texture sets are measured this way at every build.
- 20 bodies have never been mapped globally: their surfaces are illustrative, not scientific. The sources page lists them.
- Translations not yet reviewed by native speakers: Spanish and Brazilian Portuguese. These texts were translated by Claude, an AI model, from French and English. Automatic checks ensure they contain no number, unit, proper name or link absent from the original; they cannot judge phrasing or register.
How to cite
Galaxy is archived on Zenodo and carries a permanent identifier. The DOI below is the concept DOI: it always resolves to the most recent version, so a reference written today does not rot at the next release. Version 0.10.0 was published on 2026-09-27.
Guichard, A. (2026). Galaxy: 3D Solar System (version 0.10.0) [Software]. Zenodo. https://doi.org/10.5281/zenodo.22985614
The repository also carries a CITATION.cff file, which GitHub and most reference managers read directly. It is the single place this DOI is written: this page reads it rather than repeating it.