Maschinelle Übersetzung, nicht von einem Muttersprachler geprüft. Englisch ist die maßgebliche Fassung.

BahnenAuf GitHub bearbeitenQuelle: docs/SOLAR-SYSTEM.md

Sonnensystem und Positionierung um andere Körper

Zwei Szenarioarten arbeiten jenseits des Erde-Mond-Systems:

  • solar-system meldet jeden Körper des Katalogs zu einer Epoche: Position und Geschwindigkeit, physikalische Konstanten, Lichtlaufzeit und Entfernung von einem Beobachterkörper sowie eine Bahnspur.
  • body-pnt setzt einen Navigationsnutzer (einen Orbiter oder einen Lander auf der Oberfläche) um einen beliebigen Katalogkörper außer Sonne und Erde, mit einer lokalen Navigationskonstellation und einer optionalen Entfernung im tiefen Raum von der Erde.

Die Art constellation-design verwendet denselben Katalog, um Konstellationen um jeden dieser Körper aufzubauen (CONSTELLATION-DESIGN.md).

Code: src/body.rs (der Katalog und seine Konstanten), src/ephem.rs (die analytischen Ephemeriden), src/ephem_provider.rs (AnalyticSolarSystem, der Anbieter, den beide Arten lesen), src/solar_system.rs und src/body_pnt.rs (die Arten) und src/radiometric.rs (Lichtlaufzeit, Zwei-Wege-Entfernung und die Shapiro-Verzögerung). Tests: tests/solar_system_horizons_reference.rs und die Unit-Tests jedes Moduls.

Der Katalog#

Achtzehn Körper: die Sonne, die acht Planeten, Pluto, der Mond, Phobos, Deimos, die vier galileischen Monde (Io, Europa, Ganymed, Kallisto) und Titan. Namen werden ohne Beachtung der Groß- und Kleinschreibung abgeglichen. Für jeden enthält src/body.rs den Gravitationsparameter GM, den äquatorialen und den volumetrischen mittleren Radius, die zweite zonale Harmonische J2 und deren Bezugsradius, wo einer veröffentlicht ist, sowie das Pol- und Nullmeridian-Modell der Internationalen Astronomischen Union (IAU) (siderische Rotationsperiode, negativ bei einem rückläufigen Rotator). Jeder Wert nennt seine Quelle im Code.

Woher die Positionen kommen#

Körper Modell Kennzeichnung
Merkur bis Saturn und die Erde, aus Tabelle 1 (1800 n. Chr. bis 2050 n. Chr.) Keplersche Elemente des Jet Propulsion Laboratory (JPL) von Standish und Williams, https://ssd.jpl.nasa.gov/planets/approx_pos.html VALIDATED
Alle acht Planeten aus den Tabellen 2a/2b (3000 v. Chr. bis 3000 n. Chr.) die Elemente für lange Zeitspannen derselben Seite VALIDATED
Uranus und Neptun aus Tabelle 1 wie oben MODELLED
Pluto die Zeile der Tabelle 1 von 1992 (1800 n. Chr. bis 2050 n. Chr. nur; die aktuelle Seite hat sie entfernt und nennt keinen Fehler) MODELLED
Der Mond die Mondreihe von Montenbruck und Gill, die das Erde-Mond-Baryzentrum aufteilt MODELLED
Phobos, Deimos, die galileischen Monde, Titan mittlere Elemente des JPL mit dem Rotationsmodell der IAU MODELLED

table = "auto" (der Standard) nimmt Tabelle 1 innerhalb von 1800 n. Chr. bis 2050 n. Chr. und die Tabellen 2a/2b außerhalb davon; table1 und table2 erzwingen jeweils eine. Pluto außerhalb seiner Tabelle ist ein Fehler, keine Extrapolation. Die Epoche ist ein Datum mit Uhrzeit nach ISO 8601 in koordinierter Weltzeit (UTC), über die Terrestrische Zeit (TT) mit den Schaltsekunden in die Baryzentrische Dynamische Zeit (TDB) umgerechnet, oder ein TDB-Julianisches Datum, direkt mit epoch_jd_tdb angegeben.

Die unabhängige Referenz ist JPL Horizons (https://ssd.jpl.nasa.gov/horizons/, Development Ephemeris DE441), mit den abgefragten Vektoren, die unter tests/fixtures/solar_system/ eingecheckt sind. Eine Planetenzeile ist VALIDATED, wo sie innerhalb des Doppelten des eigenen nominalen Fehlers der Standish-Seite bleibt. Gemessen mit cargo test --test solar_system_horizons_reference -- --nocapture:

  • Tabelle 1, Merkur bis Saturn und das Erde-Mond-Baryzentrum, 12 Epochen von 1800 bis 2049: im ungünstigsten Fall das 1,87-Fache des nominalen Fehlers (Entfernung des Saturn).
  • Tabellen 2a/2b, alle acht Planeten, 15 Epochen von etwa 1000 v. Chr. bis 2500 n. Chr.: im ungünstigsten Fall das 1,71-Fache (Entfernung des Mars).
  • Uranus und Neptun nach Tabelle 1 überschreiten die Angaben der Seite gegenüber DE441: das 2,04- und das 5,16-Fache des nominalen Längenfehlers. Sie sind unter dem Sechsfachen festgeschrieben und bleiben MODELLED.
  • Pluto: innerhalb von 39,2 Bogensekunden in der Länge und 1.14e9 m in der Entfernung.
  • Monde, größter vom Planeten aus gesehener Winkel über 2000 bis 2040: Phobos 5,65 Grad, Deimos 0,38, Io 0,40, Europa 1,63, Ganymed 0,22, Kallisto 0,27, Titan 3,31. Der geozentrische Mond: 0,046 Grad.
  • Planetengeschwindigkeiten: größter relativer Fehler 3.72e-3 der Geschwindigkeit (MODELLED).

Der Mond und die sieben Monde sind mit festgeschriebenen Zielwerten gemessen, aber es gibt keine veröffentlichte Schranke, gegen die sie validiert werden könnten, daher sind sie MODELLED.

Die analytischen Ephemeriden brauchen keine Kerneldatei. Ein Kernel der JPL Development Ephemeris (Positionen in DE-Güte) wird nur von den separaten Kreuzvalidierungs-Crates unter xval/ gelesen, über dasselbe Trait EphemerisProvider; das Haupt-Crate hängt nicht von ihnen ab.

solar-system#

kind = "solar-system"
epoch = "2030-01-01T00:00:00"
bodies = ["Earth", "Moon", "Mars", "Jupiter", "Europa"]
observer = "Mars"

[[links]]
from = "Europa"
to = "Earth"
Solar system at 2030-01-01T00:00:00 (JD 2462502.50080 TDB), 5 bodies, observer Mars
  Standish Table 1 (1800 AD to 2050 AD)
  Earth       0.9833 au  lon  100.18 deg  light time    1038.1 s  [VALIDATED]
  Moon        0.9815 au  lon  100.28 deg  light time    1037.8 s  [MODELLED]
  Mars        1.3814 au  lon  337.83 deg  observer  [VALIDATED]
  Jupiter     5.4235 au  lon  222.19 deg  light time    3068.4 s  [VALIDATED]
  Europa      5.4194 au  lon  222.17 deg  light time    3066.6 s  [MODELLED]
  link Europa -> Earth: one-way 2993.281 s, two-way 5986.612 s, Shapiro 33.7 us, Sun 50.0 deg

Eingaben: epoch (Standard 2026-01-01T00:00:00) oder epoch_jd_tdb; bodies (Standard alle achtzehn); observer (Standard die Erde); track_points je Bahn (8 bis 2000, Standard 120); table; und beliebig viele [[links]], jede zur Epoche empfangen.

Je Körper liefert das Ergebnis seine Klasse und seinen Mutterkörper, die Kennung der NASA Navigation and Ancillary Information Facility (NAIF), die heliozentrische Position und Geschwindigkeit im Internationalen Himmelsreferenzsystem (ICRF, äquatorial J2000) in Metern und Metern pro Sekunde, die ekliptikale Länge, Breite und Entfernung, die Position relativ zum Mutterkörper, die Umlaufdauer, die obigen Konstanten, den Pol und den Nullmeridian zur Epoche, den nominalen Fehler nach Standish, wo einer existiert, seine Bezeichnung und Methodenzeichenfolge sowie eine Bahnspur über einen Umlauf (heliozentrisch bei einem Planeten, auf den Mutterkörper zentriert bei einem Mond; ein einzelner Punkt bei der Sonne). Die Verbindung vom Beobachter und jede zusätzliche Verbindung liefert:

  • die newtonsche Einweg-Lichtlaufzeit, gelöst vom radiometrischen Fixpunkt-Lichtlaufzeit-Löser mit dem Sender an seiner retardierten Position, und die entsprechende Einweg-Entfernung;
  • die Zwei-Wege-Lichtlaufzeit und -Entfernung;
  • die Shapiro-Verzögerung der Sonne, gesondert ausgewiesen und nicht addiert;
  • der Sonnenabstandswinkel.

Die Lichtlaufzeit ist gegen die von Horizons gemeldete Einweg-Lichtlaufzeit VALIDATED: Mars und Jupiter zum Erdmittelpunkt bei vier Epochen von 2000 bis 2040, größter Fehler 0,070 s für den Mars gegenüber einem Zielwert von 0,207 s und 1,31 s für Jupiter gegenüber 4,04 s. Der Zielwert ist das Doppelte der Summe der Standish-Entfernungsfehler des Ziels und des Erde-Mond-Baryzentrums, geteilt durch die Lichtgeschwindigkeit: Die Lichtlaufzeit kann nicht besser sein als die Positionen. Sie ist die newtonsche geometrische Lichtlaufzeit, keine relativistische oder plasmakorrigierte Observable.

Das mitgelieferte scenarios/solar-system-tour.toml meldet alle achtzehn Körper bei 2026-09-28T00:00:00 mit Spuren aus 180 Punkten und fügt die Verbindungen Mars-zu-Jupiter (Einweg 2193,539 s), Saturn-zu-Erde (4212,176 s) und Europa-zu-Jupiter (2,218 s) hinzu.

body-pnt#

Ein Nutzer navigiert um einen namentlich gewählten Körper (jeden Katalogkörper außer Sonne und Erde, die die Art zurückweist) mit zwei Arten von Messung:

  • Einweg-Pseudoentfernungen von einer Walker-Delta-Navigationskonstellation um den Körper (planes mal sats_per_plane, Phasenversatz zwischen den Ebenen phasing_f), geflogen als Zweikörperbahnen mit der säkularen Drift durch das eigene J2 des Körpers; die Nutzeruhr ist unbekannt, daher tragen diese Zeilen eine Spalte für den Uhrenbias;
  • optional eine Zwei-Wege-Entfernung vom Erdmittelpunkt ([earth_link]), die keine Nutzeruhr braucht und als Einweg-Entfernung mit eigenem Rauschen gemeldet wird. Richtung und Entfernung der Erde stammen zu jeder Epoche aus der analytischen Ephemeride.

Eine Sichtlinie ist blockiert, wenn sie innerhalb des mittleren Radius des Körpers verläuft (der Sehnentest der Art mars-pnt), und ein Oberflächennutzer braucht zusätzlich die Elevationsmaske. Zu jeder Epoche bildet der Lauf den geometrischen und den Positions-Dilution-of-Precision-Wert (GDOP, PDOP) der Konstellation allein, die formale Ein-Sigma-Positionsunsicherheit mit und ohne die Erdzeile und je eine geseedete Gauß-Newton-Kleinste-Quadrate-Lösung in beiden Fällen, sodass der Bericht zeigt, was die Verbindung im tiefen Raum hinzufügt.

Tabelle Feld Standard
oberste Ebene body Mars
epoch / epoch_jd_tdb 2027-02-19T00:00:00, eine Mars-Opposition
duration_s, step_s 86.400 s, 600 s
seed 1
table auto
[user] kind orbiter (oder surface)
Orbiter: altitude_km, inclination_deg, raan_deg, u0_deg, eccentricity 400 km, 75 Grad, 0, 0, 0
Oberfläche: lat_deg, lon_deg, height_m 0, 0, 0
[constellation] planes, sats_per_plane, phasing_f 3, 4, 1
altitude_km drei mittlere Radien
inclination_deg 60 Grad
sigma_range_m 1 m
mask_deg (Oberflächennutzer) 10 Grad
[earth_link] enabled, sigma_range_m wahr, 1 m

raan_deg ist die Rektaszension des aufsteigenden Knotens im Äquatorialsystem des Körpers und u0_deg das Argument der Breite zur Epoche.

Die beiden mitgelieferten Szenarien, wie sie mit kshana 0,36 laufen (portable Mathematik, auf jeder Plattform gleich):

scenarios/mars-orbit-pnt.toml scenarios/europa-surface-pnt.toml
Nutzer Orbiter, 300 km, 93 Grad Oberfläche, 20 Grad N, 60 Grad O
Relais 12 bei 10.000 km, 60 Grad 12 bei 4500 km, 55 Grad, Maske 10 Grad
Zeitspanne ein Sol, 296 Epochen 306.822 s, 171 Epochen
Lichtlaufzeit zur Erde, einfach / hin und zurück 338,3 s / 676,6 s 2182,9 s / 4365,8 s
Erde in Sicht 0,811 der Epochen 0.439
Verfügbarkeit, nur Relais / mit der Entfernung zur Erde 1.000 / 1.000 0.480 / 0.713
Medianer PDOP 1.375 5.360
RMS-Lösungsfehler, nur Relais / mit der Entfernung zur Erde 1,883 m / 1,629 m 112,742 m / 86,499 m
Mediane formale Sigma, nur Relais / mit der Entfernung zur Erde 1,375 m / 1,304 m 5,360 m / 4,239 m

(RMS: quadratischer Mittelwert.) Eine Europa-Epoche (t = 16.200 s) liegt an der Verfügbarkeitsgrenze, wo das letzte Bit eines berechneten Radius entscheidet, ob ihre Lösung mit der Entfernung zur Erde zustande kommt. Vor 0,36 entschied die Mathematikbibliothek des Hosts darüber, sodass dasselbe Szenario für die beiden Werte „mit der Entfernung zur Erde“ 0,719 und 86,147 m auf Linux x86-64 und 0,725 und 85,800 m auf macOS arm64 ausgab. Seit 0,36 wird jede transzendente Funktion von der portablen Mathematikbibliothek berechnet, die Epoche löst sich auf jeder Plattform auf dieselbe Weise auf (nativ und WebAssembly liefern dieselben Bytes), und die Werte sind 0,713 und 86,499 m (docs/revisions/STUDIO15-portable-math-rebaseline.md). Um Europa hebt die Entfernung zur Erde die Verfügbarkeit von 0,480 auf 0,713 der Epochen. Wo die Erde den Rand nie freigibt, fügt die Verbindung nichts hinzu: Ein Lander bei 89,5 Grad S auf dem Mond unter einer Relaishülle aus 12 Satelliten in 5000 km hat die Erde bei 0 von 145 Epochen in Sicht, und seine Fehler sind mit und ohne die Verbindung gleich.

MODELLED. Die Relaisbahnen ignorieren dritte Körper (der Zug Jupiters auf Relais um Europa ist nicht modelliert), das Rauschen ist gaußsch bei den angegebenen Pegeln, und das Messmodell ist augenblicklich, nicht um die Lichtlaufzeit retardiert. Was geprüft wird: die Relaisperiode gegen das dritte Keplersche Gesetz für den Körper, ein Orbiter, der seinen Radius hält, und ein Lander auf der Oberfläche, die Entfernung zur Erde, die die formale Unsicherheit nie verschlechtert, die geseedeten Lösungsfehler, die mit dem formalen Sigma übereinstimmen (quadratischer Mittelwert von Fehler über Sigma in [0,6, 1,5]), und ein deterministischer Lauf. Nichts davon sind Navigationsdaten einer Mission.

Die Art ephemeris#

Trotz des Namens ist ephemeris eine Erdsatelliten-Art: ein Satellit, aus einem Two-Line-Element-Satz (TLE) über den Propagator Simplified General Perturbations 4 (SGP4) oder aus einer analytischen Bahn, über ein Zeitraster. In jedem Schritt gibt sie den inertialen Zustand (Position und Geschwindigkeit) im System True Equator, Mean Equinox (TEME) und im Geocentric Celestial Reference System (GCRS), die erdfeste Position, den Subsatellitenpunkt im World Geodetic System 1984 (WGS 84) und, für eine optionale Bodenstation, Azimut, Elevation, Entfernung und Entfernungsrate aus. eop_finals2000a nimmt den Text einer finals2000A-Datei des International Earth Rotation and Reference Systems Service (IERS) für UT1−UTC und Polbewegung je Epoche entgegen. Code: src/ephemeris.rs.

$ kshana scenarios/ephemeris.toml
scenario 0d4dd01b3160 | sgp4 (TLE) | 559 samples | alt 419–434 km | |lat| ≤ 51.8° | speed 7653–7661 m/s | max el 25.7° peak Doppler 34.3 kHz

Nicht modelliert#

  • Relativistische Lichtlaufzeitterme über die gesondert gemeldete Shapiro-Verzögerung hinaus und die Verzögerung durch Sonnenplasma.
  • Positionen, die besser sind als die oben angegebene Genauigkeit von Standish und der mittleren Elemente; im Haupt-Crate gibt es keinen Kernel-Leser.
  • Störungen durch dritte Körper bei Relais von body-pnt und bei Bahnen von constellation-design.
  • Gelände auf einem beliebigen Körper: Ein Körper ist seine mittlere Kugel.
  • Interoperabilitäts-Exporte: CZML, KML und GeoJSON beschreiben Positionen um die Erde, daher exportieren die Szenarien solar-system und body-pnt keine (INTEROP.md).

Referenzen#

  • E. M. Standish und J. G. Williams, "Keplerian Elements for Approximate Positions of the Major Planets", JPL Solar System Dynamics, https://ssd.jpl.nasa.gov/planets/approx_pos.html.
  • O. Montenbruck und E. Gill, Satellite Orbits: Models, Methods and Applications, Springer, 2000, §3.3.2.
  • B. A. Archinal et al., "Report of the IAU Working Group on Cartographic Coordinates and Rotational Elements: 2015", Celestial Mechanics and Dynamical Astronomy 130, 2018.
  • JPL Horizons, https://ssd.jpl.nasa.gov/horizons/.