Konekäännös, jota äidinkielinen puhuja ei ole tarkistanut. Viitteenä on englanninkielinen versio.

RadatMuokkaa GitHubissaLähde: docs/SOLAR-SYSTEM.md

Aurinkokunta ja paikannus muiden kappaleiden ympärillä

Kaksi skenaariotyyppiä toimii Maa–Kuu-järjestelmän ulkopuolella:

  • solar-system raportoi luettelon jokaisen kappaleen yhdellä epookilla: paikan ja nopeuden, fysikaaliset vakiot, valoajan ja etäisyyden tarkkailijakappaleesta sekä rataviivan.
  • body-pnt asettaa navigointikäyttäjän (kiertäjän tai pinnalla olevan laskeutujan) minkä tahansa muun luettelon kappaleen kuin Auringon ja Maan ympärille paikallisella navigointitähdistöllä ja valinnaisella syväavaruuden etäisyydellä Maasta.

Tyyppi constellation-design käyttää samaa luetteloa rakentaakseen tähdistöjä minkä tahansa näiden kappaleiden ympärille (CONSTELLATION-DESIGN.md).

Koodi: src/body.rs (luettelo ja sen vakiot), src/ephem.rs (analyyttiset efemeridit), src/ephem_provider.rs (AnalyticSolarSystem, tarjoaja, jota molemmat tyypit lukevat), src/solar_system.rs ja src/body_pnt.rs (tyypit) sekä src/radiometric.rs (valoaika, kaksisuuntainen etäisyys ja Shapiro-viive). Testit: tests/solar_system_horizons_reference.rs ja kunkin moduulin yksikkötestit.

Luettelo#

Kahdeksantoista kappaletta: Aurinko, kahdeksan planeettaa, Pluto, Kuu, Phobos, Deimos, neljä Galilein kuuta (Io, Europa, Ganymede, Callisto) ja Titan. Nimet tunnistetaan kirjainkoosta välittämättä. Kullekin src/body.rs sisältää gravitaatioparametrin GM, päiväntasaajan ja tilavuuskeskisäteet, toisen zonaaliharmonisen J2 ja sen vertailusäteen, jos se on julkaistu, sekä Kansainvälisen tähtitieteellisen unionin (IAU) napa- ja nollameridiaanimallin (sideerinen pyörimisjakso, negatiivinen vastakulkuisesti pyörivälle kappaleelle). Jokainen arvo viittaa lähteeseensä koodissa.

Mistä paikat tulevat#

Kappaleet Malli Merkintä
Merkurius–Saturnus ja Maa, taulukosta 1 (1800 jKr.–2050 jKr.) Standishin ja Williamsin Jet Propulsion Laboratoryn (JPL) Kepler-elementit, https://ssd.jpl.nasa.gov/planets/approx_pos.html VALIDATED
kaikki kahdeksan planeettaa taulukoista 2a/2b (3000 eKr.–3000 jKr.) saman sivun pitkän aikavälin elementit VALIDATED
Uranus ja Neptunus taulukosta 1 kuten yllä MODELLED
Pluto vuoden 1992 taulukon 1 rivi (vain 1800 jKr.–2050 jKr.; nykyinen sivu poisti sen eikä ilmoita virhettä) MODELLED
Kuu Montenbruckin ja Gillin kuusarja, joka jakaa Maa–Kuu-painopisteen MODELLED
Phobos, Deimos, Galilein kuut, Titan JPL:n keskimääräiset elementit IAU:n pyörimismallilla MODELLED

table = "auto" (oletus) ottaa taulukon 1 välille 1800 jKr.–2050 jKr. ja taulukot 2a/2b sen ulkopuolella; table1 ja table2 pakottavat toisen. Pluto taulukkonsa ulkopuolella on virhe, ei ekstrapolaatio. Epookki on ISO 8601 -päivämäärä ja aika koordinoidussa maailmanajassa (UTC), muunnettuna Terrestrial Timen (TT) kautta karkaussekunneilla Barycentric Dynamical Timeen (TDB), tai suoraan kentällä epoch_jd_tdb annettu TDB-juliaaninen päivämäärä.

Oraakkeli on JPL Horizons (https://ssd.jpl.nasa.gov/horizons/, Development Ephemeris DE441), ja kysytyt vektorit on tallennettu hakemistoon tests/fixtures/solar_system/. Planeettarivi on VALIDATED, kun se pysyy kahden Standishin sivun oman nimellisvirheen sisällä. Mitattu komennolla cargo test --test solar_system_horizons_reference -- --nocapture:

  • Taulukko 1, Merkurius–Saturnus ja Maa–Kuu-painopiste, 12 epookkia vuosilta 1800–2049: pahin 1,87 kertaa nimellisvirhe (Saturnuksen etäisyys).
  • Taulukot 2a/2b, kaikki kahdeksan planeettaa, 15 epookkia noin 1000 eKr.–2500 jKr.: pahin 1,71 kertaa (Marsin etäisyys).
  • Taulukon 1 Uranus ja Neptunus ylittävät sivun luvut DE441:tä vastaan: 2,04 ja 5,16 kertaa nimellinen pituusvirhe. Ne on lukittu alle kuuteen kertaan ja pysyvät luokassa MODELLED.
  • Pluto: 39,2 kaarisekunnin sisällä pituudessa ja 1.14e9 m etäisyydessä.
  • Kuut, pahin planeetalta nähty kulma vuosina 2000–2040: Phobos 5,65 astetta, Deimos 0,38, Io 0,40, Europa 1,63, Ganymede 0,22, Callisto 0,27, Titan 3,31. Geosentrinen Kuu: 0,046 astetta.
  • Planeettojen nopeudet: pahin suhteellinen virhe 3.72e-3 nopeudesta (MODELLED).

Kuu ja seitsemän kuuta on mitattu lukituilla kynnyksillä, mutta niitä vastaan ei ole julkaistua rajaa, jolla ne voisi validoida, joten ne ovat MODELLED.

Analyyttiset efemeridit eivät tarvitse ydintiedostoa. JPL:n Development Ephemeris -ydin (DE-tasoiset paikat) luetaan vain erillisissä ristiinvalidointi-crateissa hakemiston xval/ alla saman rajapinnan EphemerisProvider kautta; pääcrate ei riipu niistä.

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

Syötteet: epoch (oletus 2026-01-01T00:00:00) tai epoch_jd_tdb; bodies (oletus kaikki kahdeksantoista); observer (oletus Maa); track_points kiertorataa kohti (8–2000, oletus 120); table; sekä mikä tahansa määrä kenttiä [[links]], kukin vastaanotettu epookilla.

Kappaletta kohti tulos antaa sen luokan ja vanhemman, NASA:n Navigation and Ancillary Information Facilityn (NAIF) tunnisteen, heliosentrisen paikan ja nopeuden International Celestial Reference Framessa (ICRF, päiväntasaajan J2000) metreinä ja metreinä sekunnissa, ekliptisen pituuden, leveyden ja etäisyyden, paikan suhteessa vanhempaan, kiertoajan, yllä olevat vakiot, navan ja nollameridiaanin epookilla, Standishin nimellisvirheen, jos sellainen on, sen merkinnän ja menetelmämerkkijonon sekä rataviivan yhden kierroksen ajalta (planeetalle heliosentrinen, kuulle vanhemman keskinen; Auringolle yksi piste). Havaitsijasta lähtevä linkki ja jokainen lisälinkki antaa:

  • newtonilaisen yksisuuntaisen valoajan, ratkaistuna radiometrisellä kiintopisteratkaisijalla lähettimen ollessa viivästetyssä paikassaan, ja vastaavan yksisuuntaisen etäisyyden;
  • kaksisuuntaisen valoajan ja etäisyyden;
  • Auringon Shapiro-viiveen, raportoituna erikseen eikä lisättynä;
  • Auringon erotuskulman.

Valoaika on VALIDATED Horizonsin raportoimaa yksisuuntaista valoaikaa vastaan: Mars ja Jupiter Maan keskipisteeseen neljällä epookilla vuosina 2000–2040, pahin virhe 0,070 s Marsille kynnystä 0,207 s vastaan ja 1,31 s Jupiterille kynnystä 4,04 s vastaan. Kynnys on kaksi kertaa kohteen ja Maa–Kuu-painopisteen Standish-etäisyysvirheiden summa jaettuna valon nopeudella: valoaika ei voi olla parempi kuin paikat. Se on newtonilainen geometrinen valoaika, ei relativistinen tai plasmakorjattu havaittava suure.

Mukana toimitettu scenarios/solar-system-tour.toml raportoi kaikki kahdeksantoista kappaletta ajanhetkellä 2026-09-28T00:00:00 180 pisteen rataviivoilla ja lisää Mars–Jupiter- (yksisuuntainen 2193,539 s), Saturnus–Maa- (4212,176 s) ja Europa–Jupiter- (2,218 s) linkit.

body-pnt#

Käyttäjä navigoi nimellä valitun kappaleen ympärillä (mikä tahansa luettelon kappale paitsi Aurinko ja Maa, jotka tyyppi hylkää) kahdenlaisilla mittauksilla:

  • yksisuuntaiset pseudoetäisyydet kappaleen ympärillä olevasta Walker-delta-navigointitähdistöstä (planes kertaa sats_per_plane, tasojen välinen vaiheistus phasing_f), lennettynä kaksikappaleradoilla kappaleen oman sekulaarisen J2-ajautuman kanssa; käyttäjän kello on tuntematon, joten näillä riveillä on kellovirhesarake;
  • valinnaisesti kaksisuuntainen etäisyys Maan keskipisteestä ([earth_link]), joka ei tarvitse käyttäjän kelloa ja raportoidaan yksisuuntaisena etäisyytenä omalla kohinallaan. Maan suunta ja etäisyys tulevat analyyttisestä efemeridistä jokaisella epookilla.

Näköyhteys on estetty, kun se kulkee kappaleen keskisäteen sisäpuolelta (tyypin mars-pnt jännetesti), ja pintakäyttäjä tarvitsee myös korkeuskulmamaskin. Jokaisella epookilla ajo muodostaa pelkän tähdistön geometrisen ja paikan tarkkuuden heikkenemiskertoimen (GDOP, PDOP), muodollisen yhden sigman paikkaepävarmuuden Maa-rivin kanssa ja ilman sitä sekä siemennetyn Gauss–Newton-pienimmän neliösumman paikkaratkaisun kummallakin tavalla, jotta raportti näyttää, mitä syväavaruuslinkki lisää.

Taulukko Kenttä Oletus
ylätaso body Mars
epoch / epoch_jd_tdb 2027-02-19T00:00:00, Marsin oppositio
duration_s, step_s 86 400 s, 600 s
seed 1
table auto
[user] kind orbiter (tai surface)
kiertäjä: altitude_km, inclination_deg, raan_deg, u0_deg, eccentricity 400 km, 75 astetta, 0, 0, 0
pinta: lat_deg, lon_deg, height_m 0, 0, 0
[constellation] planes, sats_per_plane, phasing_f 3, 4, 1
altitude_km kolme keskisädettä
inclination_deg 60 astetta
sigma_range_m 1 m
mask_deg (pintakäyttäjä) 10 astetta
[earth_link] enabled, sigma_range_m tosi, 1 m

raan_deg on nousevan solmun rektaskensio kappaleen päiväntasaajakoordinaatistossa ja u0_deg leveysargumentti epookilla.

Kaksi mukana toimitettua skenaariota sellaisina kuin ne ajetaan versiolla kshana 0,36 (siirrettävä matematiikka, sama jokaisella alustalla):

scenarios/mars-orbit-pnt.toml scenarios/europa-surface-pnt.toml
Käyttäjä kiertäjä, 300 km, 93 astetta pinta, 20 astetta N, 60 astetta E
Releet 12 etäisyydellä 10 000 km, 60 astetta 12 etäisyydellä 4500 km, 55 astetta, maski 10 astetta
Kesto yksi sol, 296 epookkia 306 822 s, 171 epookkia
Maan valoaika, yksisuuntainen / meno-paluu 338,3 s / 676,6 s 2182,9 s / 4365,8 s
Maa näkyvissä 0,811 epookeista 0.439
Saatavuus, vain releet / Maa-etäisyydellä 1.000 / 1.000 0.480 / 0.713
Mediaani-PDOP 1.375 5.360
RMS-virhe paikkaratkaisussa, vain releet / Maa-etäisyydellä 1,883 m / 1,629 m 112,742 m / 86,499 m
Muodollisen sigman mediaani, vain releet / Maa-etäisyydellä 1,375 m / 1,304 m 5,360 m / 4,239 m

(RMS: neliöllinen keskiarvo.) Yksi Europa-epookki (t = 16 200 s) on saatavuuden reunalla, jossa lasketun säteen viimeinen bitti ratkaisee, tehdäänkö sen Maa-etäisyyspaikkaratkaisu. Ennen versiota 0,36 isännän matematiikkakirjasto ratkaisi sen, joten sama skenaario tulosti 0,719 ja 86,147 m Linux x86-64:llä ja 0,725 ja 85,800 m macOS arm64:llä kahdelle ”Maa-etäisyydellä”-luvulle. Versiosta 0,36 lähtien jokainen transkendenttifunktio lasketaan siirrettävällä matematiikkakirjastolla, epookki ratkeaa samalla tavalla kaikilla alustoilla (natiivi ja WebAssembly antavat samat tavut), ja luvut ovat 0,713 ja 86,499 m (docs/revisions/STUDIO15-portable-math-rebaseline.md). Europan ympärillä Maa-etäisyys nostaa saatavuuden arvosta 0,480 arvoon 0,713 epookeista. Kun Maa ei koskaan nouse raajan yläpuolelle, linkki ei lisää mitään: laskeutuja 89,5 astetta S Kuussa 12 satelliitin relekuoren (korkeus 5000 km) alla näkee Maan 0 epookilla kaikista 145 epookista, ja sen virheet ovat samat linkin kanssa ja ilman sitä.

MODELLED. Releradat jättävät kolmannet kappaleet huomiotta (Jupiterin veto Europan ympärillä olevilla releillä ei ole mallinnettu), kohina on gaussista ilmoitetuilla tasoilla ja mittausmalli on hetkellinen, ei valoajalla viivästetty. Mitä tarkistetaan: releen jaksonaika kappaleen Keplerin kolmatta lakia vasten, kiertäjä pitää säteensä ja laskeutuja pysyy pinnalla, Maa-etäisyys ei koskaan huononna muodollista epävarmuutta, siemennetyt paikkaratkaisuvirheet vastaavat muodollista sigmaa (virheen neliöllinen keskiarvo jaettuna sigmalla välillä [0,6, 1,5]) ja deterministinen ajo. Mikään tästä ei ole tehtävän navigointidataa.

Skenaariotyyppi ephemeris#

Nimestään huolimatta ephemeris on Maan satelliittityyppi: yksi satelliitti, kaksirivisestä elementtijoukosta (TLE) Simplified General Perturbations 4 (SGP4) -propagaattorin kautta tai analyyttiseltä kiertoradalta, aikaruudukon yli. Jokaisella askeleella se tuottaa inertiaalisen tilan (paikka ja nopeus) koordinaatistossa TEME (true equator, mean equinox) ja koordinaatistossa GCRS (Geocentric Celestial Reference System), Maahan sidotun paikan, alasatelliittipisteen (World Geodetic System 1984, WGS 84) ja valinnaiselle maa-asemalle atsimuutin, korkeuskulman, etäisyyden ja etäisyysmuutosnopeuden. eop_finals2000a ottaa vastaan IERS:n (International Earth Rotation and Reference Systems Service) tiedoston finals2000A tekstin epookkikohtaista UT1−UTC:tä ja napaliikettä varten. Koodi: 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

Ei mallinnettu#

  • Relativistiset valoaikatermit erikseen raportoidun Shapiro-viiveen lisäksi sekä aurinkoplasmaviive.
  • Yllä ilmoitettua Standishin ja keskielementtien tarkkuutta parempia paikkoja; pääcratessa ei ole ydinlukijaa.
  • Kolmannen kappaleen häiriöt tyypin body-pnt releillä ja tyypin constellation-design radoilla.
  • Maasto millä tahansa kappaleella: kappale on sen keskimääräinen pallo.
  • Yhteentoimivuusviennit: CZML, KML ja GeoJSON kuvaavat paikkoja Maan ympärillä, joten tyypit solar-system ja body-pnt eivät vie mitään (INTEROP.md).

Lähteet#

  • E. M. Standish ja 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 ja E. Gill, Satellite Orbits: Models, Methods and Applications, Springer, 2000, §3.3.2.
  • B. A. Archinal ym., ”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/.