Exporty a importy pro interoperabilitu
Běh zapisuje dokument s výsledkem, graf a zprávu. --export zapisuje navíc geometrii scénáře nebo jeho syntetizovaný signál ve formátech, které už jiné nástroje čtou: prohlížeč zeměkoule, desktopová mapa, geografický informační systém (GIS), balík pro analýzu misí nebo nástroj softwarově definovaného rádia (SDR). Nic z toho nečte hodiny ani síť a žádný export nenese časové razítko vytvoření, takže stejný scénář dává při každém běhu bajt po bajtu shodné soubory.
kshana scenarios/jamming-demo.toml --export czml # one format
kshana scenarios/jamming-demo.toml --export kml --export geojson
kshana scenarios/jamming-demo.toml --export all # every format that applies
kshana scenarios/jamming-demo.toml --export list # which apply, and why not, without running
kshana scenarios/terrain-nav.toml --import-route route.geojson --export geojson
Soubory se zapisují vedle scénáře a jmenují se jako dokument s výsledkem: jamming-demo.czml, jamming-demo.kml, jamming-demo.geojson, jeden jamming-demo.<object>.e na každý pohybující se objekt (nebo jamming-demo.e, když je jen jeden) a dvojice l-band-waterfall-jamming.sigmf-meta / .sigmf-data. S --study-name nesou místo toho název studie, jako ostatní výstupy.
Výslovně uvedený formát, který se na scénář nevztahuje, je chyba, která vypíše důvod; pod all se důvod vypíše a formát se přeskočí. Vstupními body knihovny jsou kshana::interop::export(src, format), kshana::interop::plan(src) a kshana::interop::geojson::apply_route(src, geojson); přijímají text scénáře a vracejí bajty, bez doteku souborů, takže běží i v sestavení pro WebAssembly. Server Model Context Protocol (MCP) poskytuje tytéž tři jako nástroje export_interop, list_export_formats a import_route (viz mcp/kshana-mcp/README.md).
Kód: src/interop/ (scene.rs sestaví jeden geometrický popis scénáře, czml.rs, kml.rs, geojson.rs a stk.rs jej zapisují), src/sigmf.rs a src/spectrum.rs pro signál. Testy: tests/interop_formats.rs.
Formáty#
| Formát | Co to je | Dodržená specifikace |
|---|---|---|
| CZML | Cesium Language: pole JSON (JavaScript Object Notation) paketů s časovými značkami, čtené CesiumJS | https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Structure |
| KML | Keyhole Markup Language 2,2, standard Open Geospatial Consortium (OGC), čtený Google Earth a většinou nástrojů GIS; stopy s časovými značkami používají rozšíření Google gx:Track |
https://www.ogc.org/standards/kml/ (jmenný prostor schématu http://www.opengis.net/kml/2.2; jmenný prostor rozšíření http://www.google.com/kml/ext/2.2) |
| GeoJSON | geografický JSON, Internet Engineering Task Force (IETF) Request for Comments (RFC) 7946 | https://www.rfc-editor.org/rfc/rfc7946.html |
STK .e |
soubor efemerid Ansys Systems Tool Kit (STK), forma čas–poloha–rychlost EphemerisTimePosVel |
https://help.agi.com/stk/Content/stk/importfiles-02.htm |
| SigMF | Signal Metadata Format: soubor metadat JSON a surový soubor komplexních vzorků v fázi a kvadratuře (IQ) | https://sigmf.org/ |
Co který soubor obsahuje#
Každý geoprostorový formát se zapisuje ze stejné scény, takže se nemohou lišit v tom, kde co je. Scéna má až čtyři druhy objektů:
- Pohybující se objekty — družice a uživatelská platforma, když se pohybuje — vzorkované na vlastní časové mřížce scénáře propagátory, které používá běh daného druhu.
- Pevná stanoviště — přijímač, pozemní stanice, rušička nebo počátek místní navigační soustavy.
- Netimované stopy — body trasy, kterou letí druh pro alternativní určování polohy, navigace a času (PNT) založený na terénu, gravitaci nebo jejich kombinaci. Tyto druhy nemají časovou osu, takže stopy žádnou nenesou.
- Stopy rušičky — pro druh
jammingdvě kružnice kolem rušičky: pozemní dosah, uvnitř něhož družice v zenitu (nejsilnější) klesne pod práh sledování, takže jsou ztraceny všechny družice, a dosah, uvnitř něhož to platí pro družici na elevační masce (nejslabší), takže sledování začíná selhávat. Obě vycházejí z vlastních rovnic spoje daného druhu (Kaplan a Hegarty, Understanding GPS/GNSS (Global Positioning System / Global Navigation Satellite Systems), 3. vyd., §9,4) s rušičkou na horizontu přijímače a ztrátou ve volném prostoru a testovací sada kontroluje, že efektivní poměr nosné a hustoty šumu na každém poloměru se rovná prahu s přesností 1e-6 dB. Kružnice je kreslena na kouli o středním poloměru Země.
CZML#
První paket je dokumentový paket ("id": "document", "version": "1.0") s hodinami zahrnujícími časovou mřížku. Každý pohybující se objekt je paket, jehož position má epoch ve formátu ISO 8601 (formát data a času Mezinárodní organizace pro normalizaci) UTC (koordinovaný světový čas), referenceFrame "INERTIAL" a vzorky cartesian [t, x, y, z, ...]: sekundy po epoše, metry v Geocentric Celestial Reference System (GCRS). CesiumJS bere INERTIAL jako International Celestial Reference Frame (ICRF), jehož osy GCRS sdílí. Pevná stanoviště a středy stop jsou konstantní polohy cartesian vztažené k Zemi s referenceFrame "FIXED". Stopa rušičky je ellipse s oběma poloosami rovnými jejímu poloměru; netimovaná stopa je polyline přichycená k zemi. description každého paketu uvádí soustavu ještě jednou slovy.
KML#
Jeden <Document> s jednou <Folder> na třídu objektů. Pohybující se objekt je <Placemark> obsahující <gx:Track>: jedno <when> na vzorek (ISO 8601 UTC), pak jedno <gx:coord> na vzorek (délka, šířka, výška). Stanoviště jsou <Point>y, stopy rušičky <Polygon>y s uzavřeným prstencem proti směru hodinových ručiček, netimované stopy <LineString>y. Souřadnice jsou zeměpisná délka a šířka World Geodetic System 1984 (WGS 84) v desetinných stupních a výška v metrech nad elipsoidem WGS 84, zapsané s altitudeMode absolute. KML čte absolute jako výšku nad střední hladinou moře; rozdíl, undulace geoidu, je v rozmezí asi ±110 m a neaplikuje se. Popis dokumentu to uvádí.
GeoJSON#
Jeden FeatureCollection. Polohy jsou [longitude, latitude] nebo [longitude, latitude, height] — nejdřív délka, jak vyžaduje RFC 7946 — ve stupních WGS 84, s výškou v metrech nad elipsoidem. Pohybující se objekt je LineString s vlastností times_utc obsahující jeden čas ISO 8601 na každou polohu; stopa, která kříží poledník 180°, se zapíše jako MultiLineString přerušená tam, jak žádá RFC 7946 §3.1.9 (bod křížení se interpoluje a times_utc pak uvádí jen původní vzorky). Stanoviště jsou Pointy, stopy rušičky Polygony s uzavřeným vnějším prstencem proti směru hodinových ručiček (§3.1.6), netimované stopy LineStringy. Každý prvek má vlastnost units pojmenovávající jednotku každého číselného člena.
STK .e#
Jeden soubor na pohybující se objekt, protože efemerida STK popisuje jedno vozidlo. Záhlaví uvádí NumberOfEphemerisPoints (rovno počtu datových řádků), ScenarioEpoch (UTC, d Mon yyyy hh:mm:ss.ssssss), InterpolationMethod Lagrange s InterpolationSamplesM1 5, CentralBody Earth, CoordinateSystem ICRF a DistanceUnit Meters; řádky pod EphemerisTimePosVel jsou sekundy po epoše, poloha v metrech a rychlost v metrech za sekundu v GCRS. Scéna jen s pevnými stanovišti nebo netimovanými stopami nezapíše žádný soubor .e: pevný bod je STK Facility, nikoli efemerida. Id, které není prostou částí názvu souboru (skořepina konstelace a družice, Pulsar inclined/S1-0163), se zapíše s každým jiným znakem jako -, číslované, pokud by se dvě id pak shodovala.
Druh leo-pass a druh leo-pnt-chain (přes svou fázi [pass]) exportují každou družici na nízké oběžné dráze Země (LEO) i uživatele z vlastních propagátorů a časové mřížky daného druhu. Druh pracuje v ECI0, geocentrické inerciální soustavě zarovnané se soustavou vztaženou k Zemi v epoše; každý vzorek se otočí do soustavy vztažené k Zemi v jeho vlastním čase rotací Země daného druhu a odtud do GCRS přes soustavu true equator, mean equinox (TEME), v níž vydává výstup propagátor Simplified General Perturbations 4 (SGP4), v daném okamžiku, přičemž UT1 (Universal Time, úhel rotace Země) se klade rovno UTC a polární pohyb se zanedbává, jako u ostatních exportů. Ostatní druhy LEO uvádějí, proč se formát neuplatňuje (tabulka níže).
Kampaně#
campaign exportuje každý členský scénář, který má geometrii, jako vlastní sadu souborů, s označením člena vloženým před příponu formátu: každý běh fáze (<phase>, nebo <phase>-<k>, když má fáze několik běhů), základní scénář sweepu (sweep), scénář Monte Carlo (monte-carlo) a každý složený člen (jeho označení, s vázanými sdílenými hodnotami zapsanými dovnitř). campaign-shared-jammer-sea-road.toml --export kml zapíše campaign-shared-jammer-sea-road.ship-strait.kml a campaign-shared-jammer-sea-road.car-coast-road.kml. Člen shodný s dřívějším se zapíše jednou a hodnoty, které kampaň aplikuje za běhu (předání, hodnoty sweepu, seedy), nejsou v exportovaném členu. Formát se na kampaň vztahuje, když se vztahuje na kterýkoli člen; jinak je důvod v poznámce 4 tabulky níže. Viz CAMPAIGNS.md.
SigMF#
Snímek [iq] druhu spectrum — modelované pásmo L vykreslené jako komplexní vzorky v jednom okamžiku — jako dvojice .sigmf-meta / .sigmf-data v datovém typu, který pojmenovává [iq] (cf32_le nebo ci16_le). Je to tatáž nahrávka, kterou běh zapisuje a zpětně čte pro vlastní kontrolu konzistence: exportovaná metadata se rovnají bloku iq.sigmf.meta dokumentu s výsledkem a datový soubor má délku iq.sigmf.data_bytes. Zapisovač je src/sigmf.rs, modul, který už druh spectrum používal; nic se neduplikuje.
Soustavy a čas#
- Engine propaguje v TEME (true equator, mean equinox of date), své nativní soustavě. Pohybující se objekty se do GCRS otáčejí redukcí
nutation::teme_to_gcrs(precese IAU 2006 a nutace IAU 2000B, kde IAU je Mezinárodní astronomická unie), která reprodukuje Valladův publikovaný příklad TEME–GCRF (Geocentric Celestial Reference Frame) s přesností 0,11 m, pro CZML a STK, a do soustavy vztažené k Zemi pomocíframes::teme_to_ecefpro KML a GeoJSON. Rotace do soustavy vztažené k Zemi je greenwichský střední hvězdný úhel s UT1 rovným UTC a bez aplikovaného polárního pohybu — tatáž redukce, kterou používá export SP3 (Standard Product 3). Při poloměru dráhy GPS zanedbané UT1−UTC až 0,9 s posune zeměpisnou délku družice až o asi 1,7 km; pozemní stanoviště to neovlivní, protože jsou dána zeměpisnou šířkou a délkou. - Výjimkou je druh
ephemeris: jeho výstup enginu už nese polohy v GCRS i v soustavě vztažené k Zemi (s UT1−UTC a polárním pohybem scénáře nebo se skutečnou řadou International Earth Rotation and Reference Systems Service (IERS)) a ty se zapisují beze změny. - Každý čas je UTC. Přestupné sekundy se nemodelují: posun přes přestupnou sekundu se počítá, jako by každý den měl 86 400 s, jak počítají časové mřížky enginu.
- Epocha
t = 0je ta, kterou používá běh daného druhu, a každý soubor ji uvádí:epochdruhuorbit; pokud chybí, nejstarší epocha, kterou nesou vlastní data družic (epocha dvouřádkové sady prvků (TLE), referenční čas vysílané efemeridy, začátek souboru SP3), a 2000-01-01T00:00:00Z jen tehdy, když ji nenese žádná družice (keplerovské prvky). Exporty SP3 a OEM (Orbit Ephemeris Message) ponechávají 2000-01-01T00:00:00Z pro scénář bezepoch, takže se pro takový scénář jejich data od těchto souborů liší. Bezepochscénáře se každá družice, která nese vlastní epochu, otáčí do GCRS a soustav vztažených k Zemi v jejím vlastním okamžiku (její epocha plust), protože k tomuto datu patří její poloha v TEME; kde se epochy družic liší, sdílené časové značky sledují předpoklad enginu, že každá družice začíná vt = 0, a soubor uvádí, o kolik hodin se liší. Epocha prvků SGP4 Walkerových konstelací druhůjammingagnss-sim(2018-06-12T00:00:00Z), kterou jejich běhy používají také pro rotaci Země;epochdruhupasses;epochnebo epocha TLE druhuephemeris. Druhintegritynemá kalendářní epochu; jeho export datujet = 0jako u scénáře orbit bez ní. - Družice si ponechávají poziční identifikátory
G01,G02, ..., které jim dávají exporty SP3 a OEM, protože propagátory nenesou řádky s názvy z TLE.
Importy#
- Trasa GeoJSON.
--import-route <file>(knihovna:interop::geojson::apply_route) čte prvníLineStringdokumentu GeoJSON — samostatnou geometrii,FeatureneboFeatureCollection— a zapisuje jej do vstupů stopy druhůterrain-nav,terrain-slam,gravity-mapacombined-altpnt(start_lat_deg,start_lon_deg,step_lat_deg,step_lon_deg,waypoints) před během. Tyto druhy létajístart + i·step, takže trasa se přijme, jen když je přesně taková: její dva konce (početwaypointsscénáře se zachová) nebo tři či více poloh rovnoměrně rozmístěných na přímce v zeměpisné šířce a délce, s přesností 1e-7 stupně (asi 1 cm). Každá jiná trasa se odmítne a chyba jmenuje polohu nejvíce vzdálenou od přímky. Trasa pro druh bez vstupu trajektorie se odmítne s tímto důvodem. Zeměpisná délka a šířka se kontrolují na rozsah, což zachytí soubor s šířkou na prvním místě. - Nahrávka SigMF. Blok
[recording]druhuspectrumčte dvojici.sigmf-meta/.sigmf-datapřessrc/sigmf.rsa vykresluje svůj odhad Welch vedle modelu (viz SPECTRUM.md). Čtení souborů je funkce nativního sestavení; sestavení pro WebAssembly přebírá bajty přeskshana::sigmf::read.
Jak se exporty kontrolují#
tests/interop_formats.rs zpracuje každý export validátorem napsaným podle specifikace formátu, nikoli kódem samotného zapisovače:
- CZML: pole JSON, jehož první paket je dokumentový paket s
version; jedinečné identifikátory paketů; každá poloha uvádíreferenceFrameFIXEDneboINERTIAL; vzorkované polohy jsou[t, x, y, z, ...]s epochou ISO 8601 a rostoucími časy. - KML: dobře utvořený dokument XML (Extensible Markup Language) v jmenném prostoru OGC KML 2,2 s jedním kořenovým prvkem; pořadí prvků schématu uvnitř Placemark; nejvýše jedna geometrie na Placemark; uzavřené lineární prstence o čtyřech či více polohách; n-tice
lon,lat[,alt]v rozsahu; platné hodnotyaltitudeMode;styleUrl, které se dají přeložit na existující styl;gx:Tracks tolika<when>jako<gx:coord>a deklarovaný jmenný prostor rozšíření. - GeoJSON: délka na prvním místě a v rozsahu, šířka v rozsahu, dvě nebo tři čísla na polohu, lomené čáry o dvou či více polohách, uzavřené vnější prstence proti směru hodinových ručiček, žádný úsek přes poledník 180°, žádný člen
crs, vlastnostunitsu každého prvku. - STK: řádek verze
stk.v., blokBEGIN Ephemeris/END Ephemeriss požadovanými klíčovými slovy,DistanceUnit Meters,NumberOfEphemerisPointsrovno počtu datových řádků, sedm čísel na řádek, rostoucí časy. - SigMF:
core:datatypeacore:versionvglobal, polecapturesaannotations,core:sample_startu každého záznamu a datový soubor z celých vzorků.
Kromě struktury se družice exportovaná do CZML a do STK porovnává s vlastním stavem enginu po téže redukci soustavy a shoduje se na 1 mm v poloze (soubory nesou 0,1 mm): proti vlastnímu výstupu GCRS druhu ephemeris a proti nezávislé propagaci TEME–GCRS konstelace orbit-sgp4-gps, přičemž každá družice je datována vlastní epochou TLE přečtenou z textu scénáře. Dvě kontroly jdou mimo engine: polohy CZML první družice orbit-sgp4-gps se shodují na 0,1 m (naměřeno 2,3 cm) s toutéž TLE propagovanou balíčkem Pythonu sgp4 a redukovanou do GCRS pomocí ERFA (Essential Routines for Fundamental Astronomy, otevřená implementace knihovny SOFA od IAU) a polohy družic orbit-rinex vztažené k Zemi se rovnají polohám z vysílané efemeridy podle specifikace rozhraní Global Positioning System na 1 mm. Polohy vztažené k Zemi z exportu jamming se porovnávají s polohami, které hodnotí běh rušení, na 5 mm. Trasa GeoJSON projde zpáteční cestou přes scénář stopy, dvojice SigMF se přečte zpět na tytéž bajty a každý export je bajtově deterministický.
Jde o kontroly proti publikovaným specifikacím a proti samotnému enginu. Soubory nebyly v rámci testovací sady načteny do CesiumJS, Google Earth, Ansys STK ani nástroje SDR, takže přijetí konkrétní verzí těchto nástrojů se zde netestuje.
Výměna drah, orientace a jader (knihovna, 0,36)#
Vedle formátů --export přidala verze 0,36 knihovní čtečky a zapisovače standardních souborů, které si vyměňují nástroje pro analýzu misí. Přijímají a vracejí text či bajty a nedotýkají se souborů. Každý je řádek VALIDATED v ověřovací matici, proti nezávislé implementaci tam uvedené:
- CCSDS Orbit Data Messages (
kshana::odm, skshana::ndm_xmlpro formu XML): OPM, OMM a OCM v zápisu klíč–hodnota (KVN) a NDM/XML podle CCSDS 502.0-B-3 (OPM a OMM verze 3,0 a 2,0, OCM 3,0). Zkontrolováno oběma směry proti Orekit: Orekit čte soubory Kshany a Kshana čte soubory Orekit. Zbylá zjištění jsou zafixována testy. - CCSDS Attitude Data Messages (
kshana::adm, skshana::ndm_xml): AEM a APM podle CCSDS 504.0-B-2, v KVN a NDM/XML. Zkontrolováno proti Orekit stejným způsobem a rotace záznamů proti rotacím Orekit. - SPICE SPK (
kshana::spk_writer): zapisovače a čtečky segmentů NAIF SPK typů 9 a 13 (s exportem CCSDS OEM do jádra SPK) a typů 3 a 21 (Čebyševovy polynomy a rozšířené diferenční řádky), zkontrolované proti vlastním čtečkám knihovny NAIF SPICE, až na shodu bajt po bajtu. Kshana zapisuje segmenty ze záznamů, které dostane: Čebyševovy koeficienty neprokládá ani diferenční řádky nevytváří.
Importér a zapisovač CCSDS OEM a blok kovariance OEM jsou starší a jsou popsány v importech výše a v matici.
Omezení#
- Geometrii exportují jen druhy v tabulce níže. Druhy, jejichž geometrie je vztažena k Měsíci, Marsu nebo jinému tělesu, se neexportují: CZML, KML a GeoJSON popisují polohy kolem Země a toto vydání zapisuje soubory STK jen s
CentralBody Earth, ačkoli samotný formát STK jiná centrální tělesa připouští. constellation-design,earth-gnss-lunaraoem-interopmají geometrii vztaženou k Zemi, kterou toto vydání neexportuje; tabulka uvádí důvod pro každý.- Druh
gnss-insletí svou trajektorii v rovinné místní tečné rovině, takže se exportuje jen počátek roviny, nikoli trajektorie. - Polohy družic vztažené k Zemi zanedbávají UT1−UTC a polární pohyb (viz Soustavy a čas); výšky KML jsou elipsoidické, ne nad střední hladinou moře.
- Stopy rušičky předpokládají šíření ve volném prostoru, rušičku na horizontu přijímače a kulovou Zemi pro kružnici.
Každý soubor scénáře#
Co dělá kshana <scenario> --export <format> pro každý soubor v scenarios/ (manifest sady není scénář a je vynechán). „ano“ znamená, že formát se zapíše a projde svým validátorem; jinak číslo odkazuje na důvod. Generuje cargo run --bin gen_validation_artifacts; tests/interop_formats.rs selže, když je zastaralá.
| Scénář | Druh | CZML | KML | GeoJSON | STK .e |
SigMF |
|---|---|---|---|---|---|---|
acm-link.toml |
acm-link |
ne [1] | ne [1] | ne [1] | ne [1] | ne [2] |
aocs-slew-mekf.toml |
aocs |
ne [3] | ne [3] | ne [3] | ne [3] | ne [2] |
aocs-slew.toml |
aocs |
ne [3] | ne [3] | ne [3] | ne [3] | ne [2] |
aperture-duty-cycle.toml |
aperture-duty-cycle |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
araim-gps-galileo.toml |
integrity |
ano | ano | ano | ano | ne [2] |
araim-reference-check.toml |
araim-reference-check |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
ascent-losses.toml |
ascent-losses |
ne [5] | ne [5] | ne [5] | ne [5] | ne [2] |
attitude-budget.toml |
attitude-budget |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
automotive-urban-canyon.toml |
gnss-ins |
ano | ano | ano | ne [6] | ne [2] |
campaign-jam-spoof-holdover-integrity.toml |
campaign |
ano | ano | ano | ano | ne [7] |
campaign-monte-carlo-clock-holdover.toml |
campaign |
ne [7] | ne [7] | ne [7] | ne [7] | ne [7] |
campaign-optimize-link-budget.toml |
campaign |
ne [7] | ne [7] | ne [7] | ne [7] | ne [7] |
campaign-shared-jammer-sea-road.toml |
campaign |
ano | ano | ano | ano | ne [7] |
campaign-spectrum-holdover-integrity.toml |
campaign |
ano | ano | ano | ano | ne [7] |
campaign-sweep-jammer-power.toml |
campaign |
ano | ano | ano | ano | ne [7] |
celeste-iod-classical-pilot-signals.toml |
leo-signal |
ne [8] | ne [8] | ne [8] | ne [8] | ne [2] |
celeste-iod-end-to-end.toml |
leo-pnt-chain |
ano | ano | ano | ano | ne [2] |
celeste-iod-fused-pvt.toml |
leo-pvt |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
cislunar-arc-recovery.toml |
cislunar-arc-recovery |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
cislunar-observability.toml |
cislunar-observability |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
clock-ensemble.toml |
clock |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
clock-fitted-log.toml |
clock |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
clock-holdover-labsr.toml |
clock |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
clock-holdover.toml |
clock |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
clock-measured-log.toml |
clock |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
combined-altpnt.toml |
combined-altpnt |
ano | ano | ano | ne [6] | ne [2] |
conflict-resilience.toml |
conflict-resilience |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
constellation-multi-gnss-coverage.toml |
constellation-design |
ne [11] | ne [11] | ne [11] | ne [11] | ne [2] |
contact-schedule.toml |
contact-schedule |
ne [1] | ne [1] | ne [1] | ne [1] | ne [2] |
earth-gnss-lunar.toml |
earth-gnss-lunar |
ne [12] | ne [12] | ne [12] | ne [12] | ne [2] |
entry-heating-stardust.toml |
entry-heating |
ne [13] | ne [13] | ne [13] | ne [13] | ne [2] |
eo-coverage.toml |
eo-coverage |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
eo-radiometry.toml |
eo-radiometry |
ne [5] | ne [5] | ne [5] | ne [5] | ne [2] |
ephemeris.toml |
ephemeris |
ano | ano | ano | ano | ne [2] |
europa-surface-pnt.toml |
body-pnt |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
fusion-pnt-coupled.toml |
fusion |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
fusion-pnt.toml |
fusion |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
gnss-ins-aviation.toml |
gnss-ins |
ano | ano | ano | ne [6] | ne [2] |
gnss-ins-maritime.toml |
gnss-ins |
ano | ano | ano | ne [6] | ne [2] |
gnss-ins-rail.toml |
gnss-ins |
ano | ano | ano | ne [6] | ne [2] |
gnss-ins.toml |
gnss-ins |
ano | ano | ano | ne [6] | ne [2] |
gnss-sim-container-terminal-skyline.toml |
gnss-sim |
ano | ano | ano | ano | ne [2] |
gnss-sim-raim.toml |
gnss-sim |
ano | ano | ano | ano | ne [2] |
gnss-ssv-formation-heo.toml |
gnss-ssv |
ne [14] | ne [14] | ne [14] | ne [14] | ne [2] |
gnss-ssv-heo.toml |
gnss-ssv |
ne [14] | ne [14] | ne [14] | ne [14] | ne [2] |
gnss-ssv-lunar-weak.toml |
gnss-ssv |
ne [14] | ne [14] | ne [14] | ne [14] | ne [2] |
gnss-ssv-nav-lunar.toml |
gnss-ssv |
ne [14] | ne [14] | ne [14] | ne [14] | ne [2] |
gnss-ssv-shell.toml |
gnss-ssv |
ne [14] | ne [14] | ne [14] | ne [14] | ne [2] |
gps-denied-gravity-nav-egm2008.toml |
gravity-map |
ano | ano | ano | ne [6] | ne [2] |
gps-denied-gravity-nav.toml |
gravity-map |
ano | ano | ano | ne [6] | ne [2] |
gravity-map-error-mc.toml |
gravity-map |
ano | ano | ano | ne [6] | ne [2] |
gravity-map-nav.toml |
gravity-map |
ano | ano | ano | ne [6] | ne [2] |
holdover-test-example.toml |
holdover-test |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
holdover-test-ptp4l.toml |
holdover-test |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
hybrid-optical-rf.toml |
hybrid-optical-rf |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
hybrid-pnt.toml |
hybrid |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
hybrid-ukf.toml |
hybrid-ukf |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
impairment-eval.toml |
impairment-eval |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
imu-deadreckoning.toml |
inertial |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
ins-trn-coast.toml |
ins-trn-coast |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
integrity-harbour-approach.toml |
integrity |
ano | ano | ano | ano | ne [2] |
integrity-raim.toml |
integrity |
ano | ano | ano | ano | ne [2] |
jamming-demo.toml |
jamming |
ano | ano | ano | ano | ne [2] |
jamming-harbour-approach-skyline.toml |
jamming |
ano | ano | ano | ano | ne [2] |
l-band-waterfall-jamming.toml |
spectrum |
ne [4] | ne [4] | ne [4] | ne [4] | ano |
launch-window.toml |
launch-window |
ne [15] | ne [15] | ne [15] | ne [15] | ne [2] |
leo-band-trade.toml |
leo-signal |
ne [8] | ne [8] | ne [8] | ne [8] | ne [2] |
leo-doppler-positioning.toml |
leo-pvt |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
leo-focus-data-services.toml |
campaign |
ne [7] | ne [7] | ne [7] | ne [7] | ne [7] |
leo-focus-fused-pnt-sisre.toml |
campaign |
ne [7] | ne [7] | ne [7] | ne [7] | ne [7] |
leo-focus-indoor-uhf.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-focus-iot-eirp.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-focus-ntn-bandwidth.toml |
campaign |
ne [7] | ne [7] | ne [7] | ne [7] | ne [7] |
leo-focus-ppp-altitude.toml |
campaign |
ne [7] | ne [7] | ne [7] | ne [7] | ne [7] |
leo-focus-science-iono-sounding.toml |
leo-pass |
ano | ano | ano | ano | ne [2] |
leo-indoor-uhf.toml |
leo-pass |
ano | ano | ano | ano | ne [2] |
leo-iot-energy.toml |
leo-pass |
ano | ano | ano | ano | ne [2] |
leo-navmsg-celeste-iod.toml |
leo-navmsg |
ne [16] | ne [16] | ne [16] | ne [16] | ne [2] |
leo-navmsg-encode-decode.toml |
leo-navmsg |
ne [16] | ne [16] | ne [16] | ne [16] | ne [2] |
leo-navmsg-fit-interval-trade.toml |
leo-navmsg |
ne [16] | ne [16] | ne [16] | ne [16] | ne [2] |
leo-navmsg-midpass-update.toml |
leo-navmsg |
ne [16] | ne [16] | ne [16] | ne [16] | ne [2] |
leo-navmsg-model-comparison.toml |
leo-navmsg |
ne [16] | ne [16] | ne [16] | ne [16] | ne [2] |
leo-pass-celeste-iod-multiband.toml |
leo-pass |
ano | ano | ano | ano | ne [2] |
leo-pass-iridium.toml |
leo-pass |
ano | ano | ano | ano | ne [2] |
leo-pass-vs-gnss-cn0.toml |
leo-pass |
ano | ano | ano | ano | ne [2] |
leo-pass-xona-pulsar.toml |
leo-pass |
ano | ano | ano | ano | ne [2] |
leo-pnt-end-to-end.toml |
leo-pnt-chain |
ano | ano | ano | ano | ne [2] |
leo-pnt-mega-shell.toml |
constellation-design |
ne [11] | ne [11] | ne [11] | ne [11] | ne [2] |
leo-ppp-convergence.toml |
leo-ppp |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
leo-pvt-fjord-skyline.toml |
leo-pvt |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
leo-resilience-gnss-jammed-leo-carries.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-resilience-js-margin.toml |
spectrum |
ne [4] | ne [4] | ne [4] | ne [4] | ne [17] |
leo-resilience-multiband-diversity.toml |
campaign |
ne [7] | ne [7] | ne [7] | ne [7] | ne [7] |
leo-resilience-spoof-doppler.toml |
leo-pass |
ano | ano | ano | ano | ne [2] |
leo-resilience-spoof-monitors.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-timing-utc.toml |
leo-pvt |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
leo-vertical-5g-network-timing.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-vertical-asset-tracking-iot.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-vertical-autonomous-vehicle-skyline.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-vertical-autonomous-vehicle.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-vertical-critical-infrastructure-timing.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-vertical-polar-arctic.toml |
campaign |
ano | ano | ano | ano | ne [7] |
leo-vertical-rail-maritime.toml |
campaign |
ano | ano | ano | ano | ne [7] |
link-budget.toml |
link-budget |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
lunanet-araim.toml |
lunar-integrity |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-ascent.toml |
lunar-ascent |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-attack-surface.toml |
lunar-attack-surface |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-beacon.toml |
lunar-beacon |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-descent-lola.toml |
lunar-descent |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-descent.toml |
lunar-descent |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-differential-pnt.toml |
lunar-differential-pnt |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-frame-campaign.toml |
lunar-frame-campaign |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-frame-realisation.toml |
lunar-frame-realisation |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-infrastructure-carrier-phase.toml |
lunar-infrastructure |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-infrastructure-frame-coestimation.toml |
lunar-infrastructure |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-infrastructure-geodesy-sensitivity.toml |
lunar-infrastructure |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-infrastructure-od-consistency-model-error.toml |
lunar-infrastructure |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-infrastructure-od-consistency.toml |
lunar-infrastructure |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-infrastructure-space-tie.toml |
lunar-infrastructure |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-interop-export.toml |
lunar-interop-export |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-jamming.toml |
lunar-jamming |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-joint-od-clock.toml |
lunar-joint-od-clock |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-llr-datum.toml |
lunar-llr-datum |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-orbit-rendezvous-elfo.toml |
lunar-orbit-rendezvous |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-orbit-rendezvous.toml |
lunar-orbit-rendezvous |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-relay-constellation.toml |
constellation-design |
ne [11] | ne [11] | ne [11] | ne [11] | ne [2] |
lunar-station-coverage-public-sources.toml |
lunar-station-coverage |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-station-coverage-terrain.toml |
lunar-station-coverage |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-station-coverage.toml |
lunar-station-coverage |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-station-geodesy-baseline.toml |
lunar-llr-datum |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-station-geodesy-with-station.toml |
lunar-llr-datum |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-station-time-lab.toml |
lunar-time-budget |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-surface-terrain.toml |
lunar-surface |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-surface.toml |
lunar-surface |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-time-budget.toml |
lunar-time-budget |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-time-offset.toml |
lunar-time-offset |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-vlbi-fim.toml |
lunar-vlbi-fim |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
lunar-vlbi.toml |
lunar-vlbi |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
maritime-port-approach-coast.toml |
ins-trn-coast |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
maritime-spoof-position-push.toml |
spoof-detect |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
maritime-strait-jamming.toml |
jamming |
ano | ano | ano | ano | ne [2] |
mars-orbit-pnt.toml |
body-pnt |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
mars-pnt-lmo.toml |
mars-pnt |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
mars-pnt-surface.toml |
mars-pnt |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
mars-pnt-transfer.toml |
mars-pnt |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
meo-leo-fused-pvt.toml |
leo-pvt |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
mission-thread-artemis-class.toml |
mission-thread |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
mission-thread-short.toml |
mission-thread |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
moonlight-service-volume.toml |
moonlight-service-volume |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
multi-band-jamming-waterfall.toml |
spectrum |
ne [4] | ne [4] | ne [4] | ne [4] | ne [17] |
ntn-5g-positioning.toml |
ntn-positioning |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
oem-interop.toml |
oem-interop |
ne [18] | ne [18] | ne [18] | ne [18] | ne [2] |
optical-atmosphere-network.toml |
optical-atmosphere |
ne [19] | ne [19] | ne [19] | ne [19] | ne [2] |
optical-atmosphere-techniques.toml |
optical-atmosphere |
ne [19] | ne [19] | ne [19] | ne [19] | ne [2] |
orbit-gnss-challenged.toml |
orbit |
ano | ano | ano | ano | ne [2] |
orbit-molniya.toml |
orbit |
ano | ano | ano | ano | ne [2] |
orbit-multignss.toml |
orbit |
ano | ano | ano | ano | ne [2] |
orbit-real-tle.toml |
orbit |
ano | ano | ano | ano | ne [2] |
orbit-rinex.toml |
orbit |
ano | ano | ano | ano | ne [2] |
orbit-sgp4-gps.toml |
orbit |
ano | ano | ano | ano | ne [2] |
orbit-urban-canyon-skyline.toml |
orbit |
ano | ano | ano | ano | ne [2] |
passes.toml |
passes |
ano | ano | ano | ano | ne [2] |
polar-arctic-leo-coverage.toml |
leo-pvt |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
pvt-abmf.toml |
pvt |
ano | ano | ano | ne [6] | ne [2] |
quantum-anomaly-detect.toml |
quantum-anomaly-detect |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
quantum-cai-coast.toml |
inertial |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
quantum-gnss-free-nav.toml |
quantum-gnss-free-nav |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
quantum-time-transfer.toml |
quantum-time-transfer |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
quantum-trade.toml |
quantum-trade |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
rail-tunnel-coast.toml |
ins-trn-coast |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
realtime-frame-eop.toml |
realtime-frame-eop |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
reentry.toml |
reentry |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
slot-timing-ocxo-leo.toml |
slot-timing |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
small-uas-jammed-nav.toml |
gnss-ins |
ano | ano | ano | ne [6] | ne [2] |
solar-system-tour.toml |
solar-system |
ne [10] | ne [10] | ne [10] | ne [10] | ne [2] |
space-packet.toml |
space-packet |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
space-weather.toml |
space-weather |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
spoof-attack.toml |
spoof |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
spoof-detect.toml |
spoof-detect |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
spoof-meaconing.toml |
spoof |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
starlink-sop-doppler-positioning.toml |
leo-pvt |
ne [9] | ne [9] | ne [9] | ne [9] | ne [2] |
sweep-clock-stability.toml |
sweep |
ne [20] | ne [20] | ne [20] | ne [20] | ne [2] |
sweep-nd-inertial.toml |
sweep-nd |
ne [20] | ne [20] | ne [20] | ne [20] | ne [2] |
telecom-prtc-holdover-24h.toml |
telecom-timing |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
telecom-synce-eec.toml |
telecom-timing |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
telecom-tie-ingest.toml |
telecom-timing |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
terrain-nav.toml |
terrain-nav |
ano | ano | ano | ne [6] | ne [2] |
terrain-slam.toml |
terrain-slam |
ano | ano | ano | ne [6] | ne [2] |
time-transfer-budget.toml |
time-transfer-budget |
ne [21] | ne [21] | ne [21] | ne [21] | ne [2] |
timetransfer.toml |
timetransfer |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
tracking-loop.toml |
tracking-loop |
ne [4] | ne [4] | ne [4] | ne [4] | ne [2] |
xona-pulsar-end-to-end.toml |
leo-pnt-chain |
ano | ano | ano | ano | ne [2] |
xona-pulsar-signals.toml |
leo-signal |
ne [8] | ne [8] | ne [8] | ne [8] | ne [2] |
Proč se formát neuplatňuje:
- druhy
contact-scheduleaacm-linkplánují kontakty downlinku a kódování; pro geometrii exportujte scénářpassespro stejnou družici a stanici - SigMF obsahuje komplexní vzorky v základním pásmu, které syntetizuje jen druh
spectrum - druh
aocssimuluje orientaci kolem těžiště bez dráhy či pozemní polohy, takže není co umístit na Zemi - vstup scénáře nenese žádnou horizontální polohu (žádnou zeměpisnou šířku a délku, žádné geocentrické souřadnice, žádné dráhové prvky kromě nejvýše výšky), takže není co umístit na Zemi
- druhy
eo-radiometryaascent-lossespočítají bilance bez polohy na Zemi - efemerida STK popisuje polohu a rychlost vozidla v čase; tato scéna má jen pevné body nebo netimované stopy (pevný bod je STK Facility, nikoli efemerida)
- žádný členský scénář kampaně nemá nic, co tento formát popisuje; exportujte člena samostatně, abyste viděli jeho důvod
- druh
leo-signalanalyzuje návrhy signálů (spektra, sledování, akvizici, kompatibilitu) bez polohy družice či uživatele; exportujte scénářleo-passneboleo-pnt-chain, který návrh letí - v tomto vydání se neexportuje: fúzní polohové druhy umísťují své družice do soustavy vztažené k Zemi vzhledem k epoše, kterou nikdy nejmenují, takže by časově označený export musel kalendářní datum vymyslet (exportujte místo toho scénář
leo-passneboleo-pnt-chain) - geometrie druhu je vztažena k Měsíci, Marsu nebo jinému tělesu Sluneční soustavy; CZML, KML a GeoJSON popisují polohy na Zemi nebo kolem ní a toto vydání zapisuje efemeridy STK jen s CentralBody Earth
- v tomto vydání se neexportuje:
constellation-designumísťuje své družice do soustavy vztažené k tělesu vzhledem k epoše, kterou nikdy nejmenuje, takže by časově označený export musel kalendářní datum vymyslet - v tomto vydání se neexportuje: konstelaci globálního družicového navigačního systému (GNSS) Země z
earth-gnss-lunarvidí přijímač ve vzdálenosti Měsíce, jehož trajektorii druh nezpřístupňuje jako časovou řadu - v tomto vydání se neexportuje: druh
entry-heatinghlásí špičková zatížení a ohřev a neuchovává žádnou pozemní stopu s časovými značkami - druh
gnss-ssvprochází dostupnost a sílu spoje pro uživatele na skořepině nebo keplerovské trajektorii; nemá jedinou polohu, kterou lze umístit na mapu - scénář
launch-windowuvádí zeměpisnou šířku místa startu, ale ne délku, takže místo nelze umístit - v tomto vydání se neexportuje: pravá dráha
leo-navmsgje referenční dráha pro fitování, jejíž úhel rotace Země v epoše je vstup (theta0_deg, výchozí 0), nikoli odvozený z kalendářního data, takže její polohy vztažené k Zemi nejsou vázány na datum - tento scénář spectrum nemá blok [iq], takže se nesyntetizují žádné vzorky k nahrání
- v tomto vydání se neexportuje:
oem-interopčte a zapisuje Orbit Ephemeris Message CCSDS (Consultative Committee for Space Data Systems), což je samo o sobě výměnný soubor efemerid - druh
optical-atmospherepočítá statistiky spoje pro pozemní stanoviště bez geometrie s časovými značkami, kterou by bylo možno umístit - scénář prochází jiný scénář přes mřížku; exportujte procházený scénář samostatně
- druh
time-transfer-budgetpočítá bilanci spoje a stability bez geometrie s časovými značkami, kterou by bylo možno umístit