互操作性导出与导入
一次运行会写出结果文档、图表和报告。--export还会以其他工具已经能读取的格式写出场景的几何或其合成信号:地球查看器、桌面地图、地理信息系统(GIS)、任务分析软件包或软件定义无线电(SDR)工具。这里的任何内容都不读取时钟或网络,任何导出都不带生成时间戳,因此同一个场景每次运行都得到逐字节相同的文件。
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
文件写在场景旁边,命名方式与结果文档相同:jamming-demo.czml、jamming-demo.kml、jamming-demo.geojson,每个运动对象一个jamming-demo.<object>.e(只有一个时为jamming-demo.e),以及成对的l-band-waterfall-jamming.sigmf-meta / .sigmf-data。使用--study-name时,它们改用该研究的名称,与其他输出一样。
明确指定了、但不适用于该场景的格式属于错误,会打印原因;在all下,会打印原因并跳过该格式。库的入口为kshana::interop::export(src, format)、kshana::interop::plan(src)和kshana::interop::geojson::apply_route(src, geojson);它们接受场景文本并返回字节,不接触任何文件,因此在WebAssembly构建中也能运行。模型上下文协议(MCP)服务器以工具export_interop、list_export_formats和import_route提供同样的三项功能(参见mcp/kshana-mcp/README.md)。
代码:src/interop/(scene.rs构建场景的一份几何描述,czml.rs、kml.rs、geojson.rs和stk.rs将其写出),信号方面为src/sigmf.rs和src/spectrum.rs。测试:tests/interop_formats.rs。
格式#
| 格式 | 它是什么 | 所遵循的规范 |
|---|---|---|
| CZML | Cesium Language:带时间标记的数据包构成的JSON(JavaScript对象表示法)数组,由CesiumJS读取 | https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Structure |
| KML | Keyhole Markup Language 2.2,开放地理空间联盟(OGC)的标准,可由Google Earth和大多数GIS工具读取;带时间标记的轨迹使用Google扩展gx:Track |
https://www.ogc.org/standards/kml/(模式命名空间http://www.opengis.net/kml/2.2;扩展命名空间http://www.google.com/kml/ext/2.2) |
| GeoJSON | 地理JSON,互联网工程任务组(IETF)征求意见稿(RFC)7946 | https://www.rfc-editor.org/rfc/rfc7946.html |
STK .e |
Ansys Systems Tool Kit(STK)的星历文件,时间-位置-速度形式EphemerisTimePosVel |
https://help.agi.com/stk/Content/stk/importfiles-02.htm |
| SigMF | Signal Metadata Format:一个JSON元数据文件和一个由复数同相正交(IQ)采样构成的原始文件 | https://sigmf.org/ |
每个文件包含什么#
每种地理空间格式都由同一个场景写出,因此它们对任何事物所在位置的描述不会相互矛盾。一个场景最多有四类对象:
- 运动对象——卫星,以及移动时的用户平台——在场景自身的时间网格上,用该类别的运行所使用的传播器进行采样。
- 固定站点——接收机、地面站、干扰机,或局部导航坐标系的原点。
- 无时间的航迹——地形、重力或组合的替代定位、导航与授时(PNT)类别所飞行的航点。这些类别没有时间轴,因此航迹不带时间。
- 干扰机覆盖范围——对
jamming类别,围绕干扰机的两个圆:在其内部,位于天顶的卫星(最强的)会降到跟踪阈值以下,因此所有卫星都会丢失的地面距离;以及在其内部,位于高度截止角处的卫星(最弱的)会降到阈值以下,因此跟踪开始失败的距离。两者都来自该类别自己的链路方程(Kaplan和Hegarty,Understanding GPS/GNSS(全球定位系统 / 全球导航卫星系统),第3版,§9.4),其中干扰机位于接收机的地平线上并按自由空间损耗计算,测试套件检查每个半径处的有效载波噪声密度比在1e-6 dB内等于阈值。该圆画在地球平均半径的球面上。
CZML#
第一个数据包是文档包("id": "document"、"version": "1.0"),带有一个覆盖时间网格的时钟。每个运动对象是一个数据包,其position带有ISO 8601(国际标准化组织的日期和时间格式)UTC(协调世界时)epoch,referenceFrame为"INERTIAL",cartesian采样为[t, x, y, z, ...]:历元之后的秒数,单位为米,位于地心天球参考系(GCRS)。CesiumJS把INERTIAL视作国际天球参考架(ICRF),GCRS与其共用坐标轴。固定站点和覆盖范围中心是恒定的地固cartesian位置,带有referenceFrame "FIXED"。覆盖范围是两个半轴都等于其半径的ellipse;无时间的航迹是贴地的polyline。每个数据包的description又用文字说明一次该坐标系。
KML#
一个<Document>,每个对象类别一个<Folder>。运动对象是一个包含<gx:Track>的<Placemark>:每个采样一个<when>(ISO 8601 UTC),然后每个采样一个<gx:coord>(经度、纬度、高度)。站点是<Point>,覆盖范围是<Polygon>,其环为闭合且逆时针,无时间的航迹是<LineString>。坐标为世界大地坐标系1984(WGS 84)的经度和纬度(十进制度)以及相对于WGS 84椭球的高度(米),写作altitudeMode absolute。KML把absolute读作平均海平面以上的高度;二者的差,即大地水准面起伏,在约 ±110 m以内,并未加以修正。文档的说明中对此有所说明。
GeoJSON#
一个FeatureCollection。位置为[longitude, latitude]或[longitude, latitude, height]——按RFC 7946的要求经度在前——单位为WGS 84度,高度为椭球面以上的米数。运动对象是一个LineString,带有times_utc属性,为每个位置保存一个ISO 8601时间;跨越180° 子午线的航迹,按RFC 7946 §3.1.9的要求,在该处切开写成MultiLineString(穿越点经过插值,而times_utc随后仅列出原始采样)。站点是Point,覆盖范围是带有闭合逆时针外环的Polygon(§3.1.6),无时间的航迹是LineString。每个要素都有一个units属性,说明每个数值成员的单位。
STK .e#
每个运动对象一个文件,因为一份STK星历描述一个载体。文件头给出NumberOfEphemerisPoints(等于数据行数)、ScenarioEpoch(UTC,d Mon yyyy hh:mm:ss.ssssss)、带有InterpolationSamplesM1 5的InterpolationMethod Lagrange、CentralBody Earth、CoordinateSystem ICRF和DistanceUnit Meters;EphemerisTimePosVel之下的各行是历元之后的秒数、以米为单位的位置和以米每秒为单位的速度,位于GCRS中。只有固定站点或无时间航迹的场景不写.e文件:固定点是STK的Facility,而不是星历。不是普通文件名成分的标识(一个星座壳层和一颗卫星,Pulsar inclined/S1-0163)会把其他每个字符写成-,如果两个标识因此重合则加上编号。
leo-pass类别和leo-pnt-chain类别(通过其[pass]阶段)从该类别自己的传播器和时间网格导出每颗近地轨道(LEO)卫星和用户。该类别在ECI0中工作,即在历元时与地固坐标系对齐的地心惯性坐标系;每个采样按该类别的地球自转转到其自身时刻的地固坐标系,并由此经真赤道平春分点(TEME)坐标系转入GCRS,该坐标系正是简化通用摄动4(SGP4)传播器在该时刻的输出坐标系,其中UT1(世界时,地球自转角)取等于UTC,并忽略极移,与其他导出相同。其他LEO类别会说明某种格式为何不适用(见下表)。
测评活动#
campaign把每个带有几何的成员场景导出为各自的一组文件,成员的标签插在格式后缀之前:每个阶段运行(<phase>,当该阶段有多次运行时为<phase>-<k>)、扫描的基础场景(sweep)、蒙特卡罗场景(monte-carlo)和每个组合成员(其标签,并写入其绑定的共享值)。campaign-shared-jammer-sea-road.toml --export kml会写出campaign-shared-jammer-sea-road.ship-strait.kml和campaign-shared-jammer-sea-road.car-coast-road.kml。与前面某个成员相同的成员只写一次,测评活动在运行时应用的值(移交、扫描值、随机种子)不在导出的成员中。只要某种格式适用于任一成员,它就适用于该测评活动;否则原因见下表的注4。参见CAMPAIGNS.md。
SigMF#
spectrum类别的[iq]快照——在某一时刻绘制成复数采样的、由模型给出的L频段——以.sigmf-meta / .sigmf-data成对文件导出,数据类型由[iq]指定(cf32_le或ci16_le)。它与该次运行为自身一致性检查而写出并读回的是同一份记录:导出的元数据等于结果文档的iq.sigmf.meta块,数据文件具有iq.sigmf.data_bytes的长度。写出器是src/sigmf.rs,即spectrum类别已经在使用的模块;没有任何重复。
坐标系与时间#
- 引擎在TEME(真赤道平春分点,历元日期)中传播,这是它的原生坐标系。运动对象经
nutation::teme_to_gcrs归算(IAU 2006岁差和IAU 2000B章动,IAU为国际天文学联合会)旋转到GCRS,该归算复现了Vallado公布的TEME到GCRF(地心天球参考架)的算例,精度为0.11 m,用于CZML和STK;并通过frames::teme_to_ecef转到地固坐标系,用于KML和GeoJSON。地固旋转取格林尼治平恒星时角,UT1取等于UTC,且不应用极移——与SP3(标准产品3)导出所用的归算相同。在GPS轨道半径处,被忽略的最大0.9 s的UT1−UTC会使卫星经度最多偏移约1.7 km;地面站不受影响,因为它们以纬度和经度给出。 ephemeris类别是例外:它的引擎输出已经带有GCRS和地固位置(采用场景的UT1−UTC和极移,或真实的国际地球自转与参考系服务(IERS)序列),这些位置原样写出。- 所有时间均为UTC。闰秒不建模:跨越闰秒的偏移按每天86,400 s计算,与引擎的时间网格计数方式一致。
t = 0的历元是该类别的运行所用的历元,每个文件都会注明它:即orbit类别的epoch;若没有,则取各卫星自身数据所带的最早历元(两行轨道根数(TLE)历元、广播星历的参考时间、SP3文件的起始时间),只有在没有卫星带有历元时(开普勒根数)才取2000-01-01T00:00:00Z。对于没有epoch的场景,SP3和OEM(轨道星历电文)导出保持使用2000-01-01T00:00:00Z,因此对这样的场景,它们的日期与这些文件的不同。没有场景的epoch时,每颗带有自身历元的卫星在其自己的时刻(其历元加t)被旋转到GCRS和地固坐标系,因为这是其TEME位置所属的日期;当各卫星的历元不同时,共用的时间标记遵循引擎的前提,即每颗卫星都从t = 0开始,并且文件会说明它们相差多少小时。jamming和gnss-sim类别的Walker星座的SGP4根数历元(2018-06-12T00:00:00Z),其运行也用它做地球自转;passes类别的epoch;ephemeris类别的epoch或TLE历元。integrity类别没有日历历元;其导出把t = 0的日期按没有历元的轨道场景处理。- 卫星保留SP3和OEM导出为其给出的位置标识
G01、G02……,因为传播器不携带TLE名称行。
导入#
- GeoJSON航线。
--import-route <file>(库:interop::geojson::apply_route)读取GeoJSON文档的第一个LineString——单独的几何、一个Feature或一个FeatureCollection——并在运行之前把它写入terrain-nav、terrain-slam、gravity-map和combined-altpnt的航迹输入(start_lat_deg、start_lon_deg、step_lat_deg、step_lon_deg、waypoints)。这些类别飞行start + i·step,因此只有航线恰好符合该形式时才被接受:即它的两个端点(保留场景的waypoints数量),或在纬度和经度上沿一条直线均匀分布的三个或更多位置,偏差在1e-7度(约1 cm)以内。任何其他航线都会被拒绝,错误信息会指出偏离直线最远的位置。没有轨迹输入的类别所对应的航线会因此原因被拒绝。经度和纬度会做范围检查,这样可以发现纬度在前的文件。 - SigMF录制文件。
spectrum类别的[recording]块通过src/sigmf.rs读取一对.sigmf-meta/.sigmf-data文件,并把它的Welch估计绘制在模型旁边(参见SPECTRUM.md)。读取文件是原生构建的功能;WebAssembly构建通过kshana::sigmf::read接收字节。
如何检查这些导出#
tests/interop_formats.rs用依据格式规范编写的验证器解析每个导出,而不是用写出器自己的代码:
- CZML:一个JSON数组,其第一个数据包是带有
version的文档包;数据包标识唯一;每个位置都声明referenceFrame为FIXED或INERTIAL;采样位置为带有ISO 8601历元和递增时间的[t, x, y, z, ...]。 - KML:一个格式良好的XML(可扩展标记语言)文档,处于OGC KML 2.2命名空间中,只有一个根要素;Placemark内部的元素顺序符合模式;每个Placemark至多一个几何;由四个或更多位置构成的闭合线环;范围内的
lon,lat[,alt]元组;有效的altitudeMode值;可解析的styleUrl;gx:Track中的<when>与<gx:coord>数量相同,并声明了扩展命名空间。 - GeoJSON:经度在前且在范围内,纬度在范围内,每个位置两个或三个数字,线串含两个或更多位置,闭合的逆时针外环,没有跨越180° 子午线的线段,没有
crs成员,每个要素都有units属性。 - STK:
stk.v.版本行,带有必需关键字的BEGIN Ephemeris/END Ephemeris块,DistanceUnit Meters,等于数据行数的NumberOfEphemerisPoints,每行七个数字,时间递增。 - SigMF:
global中的core:datatype和core:version,captures和annotations数组,每次捕获上的core:sample_start,以及由整数个采样构成的数据文件。
除结构之外,导出到CZML和STK的卫星会与引擎自己的状态在同样的坐标系归算之后比较,位置吻合到1 mm(文件携带0.1 mm):对照ephemeris类别自己的GCRS输出,以及对照orbit-sgp4-gps星座的一次独立的TEME到GCRS传播,每颗卫星按从场景文本读取的自身TLE历元确定日期。有两项检查超出了引擎:第一颗orbit-sgp4-gps卫星的CZML位置,与同一TLE经sgp4 Python包传播并由ERFA(Essential Routines for Fundamental Astronomy,IAU的SOFA库的开放实现)归算到GCRS的结果吻合到0.1 m(实测2.3 cm);orbit-rinex卫星的地固位置与全球定位系统接口规范的广播星历位置相等,精度为1 mm。jamming导出的地固位置,与干扰运行所评分的位置比较,吻合到5 mm。GeoJSON航线可经航迹场景往返,SigMF文件对读回后字节相同,并且每个导出都是逐字节确定的。
这些是对照已发布规范以及引擎自身的检查。测试套件并未把这些文件载入CesiumJS、Google Earth、Ansys STK或某个SDR工具,因此这些工具的特定版本是否接受,此处并未测试。
轨道、姿态和内核的交换(库,0.36)#
除--export格式之外,0.36还增加了库读取器和写入器,用于任务分析工具交换的标准文件。它们接受并返回文本或字节,不接触任何文件。每一项都是验证矩阵中的一行VALIDATED,对照其中指明的独立实现:
- CCSDS轨道数据电文(
kshana::odm,XML形式配合kshana::ndm_xml):按CCSDS 502.0-B-3,关键字-值表示法(KVN)和NDM/XML的OPM、OMM和OCM(OPM和OMM版本3.0与2.0,OCM 3.0)。与Orekit双向检查:Orekit读取Kshana的文件,Kshana读取Orekit的文件。仍然存在的发现由测试固定。 - CCSDS姿态数据电文(
kshana::adm,配合kshana::ndm_xml):按CCSDS 504.0-B-2,KVN和NDM/XML的AEM和APM。以同样方式与Orekit对照检查,记录的旋转也与Orekit的对照。 - SPICE SPK(
kshana::spk_writer):类型9和13的NAIF SPK段的写入器和读取器(包括把CCSDS OEM导出为SPK内核),以及类型3和21(切比雪夫多项式和扩展差分行)的写入器和读取器,对照NAIF SPICE工具包自己的读取器检查,直至字节一致。Kshana根据给定的记录写出这些段:它不拟合切比雪夫系数,也不生成差分行。
CCSDS OEM的导入器和写入器,以及OEM协方差块,出现得更早,已在上面的导入部分和矩阵中说明。
局限#
- 只有下表中的类别会导出几何。几何以月球、火星或其他天体为中心的类别不导出:CZML、KML和GeoJSON描述的是围绕地球的位置,而本版本只写出
CentralBody Earth的STK文件,尽管STK格式本身允许其他中心天体。 constellation-design、earth-gnss-lunar和oem-interop具有以地球为参照的几何,本版本不导出;下表给出了每一项的原因。gnss-ins类别在一个平面局部切平面中飞行其轨迹,因此只导出该平面的原点,而不导出轨迹。- 地固卫星位置忽略UT1−UTC和极移(见“坐标系与时间”);KML的高度是椭球高,而不是平均海平面以上的高度。
- 覆盖范围假设自由空间传播、干扰机位于接收机的地平线上,并且圆是画在球形地球上的。
每个场景文件#
kshana <scenario> --export <format>对scenarios/中每个文件所做的处理(套件清单不是场景,故不列入)。“是”表示该格式已写出并通过其验证器;否则编号指向原因。由cargo run --bin gen_validation_artifacts生成;当它过期时tests/interop_formats.rs会失败。
| 场景 | 类别 | CZML | KML | GeoJSON | STK .e |
SigMF |
|---|---|---|---|---|---|---|
acm-link.toml |
acm-link |
否 [1] | 否 [1] | 否 [1] | 否 [1] | 否 [2] |
aocs-slew-mekf.toml |
aocs |
否 [3] | 否 [3] | 否 [3] | 否 [3] | 否 [2] |
aocs-slew.toml |
aocs |
否 [3] | 否 [3] | 否 [3] | 否 [3] | 否 [2] |
aperture-duty-cycle.toml |
aperture-duty-cycle |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
araim-gps-galileo.toml |
integrity |
是 | 是 | 是 | 是 | 否 [2] |
araim-reference-check.toml |
araim-reference-check |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
ascent-losses.toml |
ascent-losses |
否 [5] | 否 [5] | 否 [5] | 否 [5] | 否 [2] |
attitude-budget.toml |
attitude-budget |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
automotive-urban-canyon.toml |
gnss-ins |
是 | 是 | 是 | 否 [6] | 否 [2] |
campaign-jam-spoof-holdover-integrity.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
campaign-monte-carlo-clock-holdover.toml |
campaign |
否 [7] | 否 [7] | 否 [7] | 否 [7] | 否 [7] |
campaign-optimize-link-budget.toml |
campaign |
否 [7] | 否 [7] | 否 [7] | 否 [7] | 否 [7] |
campaign-shared-jammer-sea-road.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
campaign-spectrum-holdover-integrity.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
campaign-sweep-jammer-power.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
celeste-iod-classical-pilot-signals.toml |
leo-signal |
否 [8] | 否 [8] | 否 [8] | 否 [8] | 否 [2] |
celeste-iod-end-to-end.toml |
leo-pnt-chain |
是 | 是 | 是 | 是 | 否 [2] |
celeste-iod-fused-pvt.toml |
leo-pvt |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
cislunar-arc-recovery.toml |
cislunar-arc-recovery |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
cislunar-observability.toml |
cislunar-observability |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
clock-ensemble.toml |
clock |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
clock-fitted-log.toml |
clock |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
clock-holdover-labsr.toml |
clock |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
clock-holdover.toml |
clock |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
clock-measured-log.toml |
clock |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
combined-altpnt.toml |
combined-altpnt |
是 | 是 | 是 | 否 [6] | 否 [2] |
conflict-resilience.toml |
conflict-resilience |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
constellation-multi-gnss-coverage.toml |
constellation-design |
否 [11] | 否 [11] | 否 [11] | 否 [11] | 否 [2] |
contact-schedule.toml |
contact-schedule |
否 [1] | 否 [1] | 否 [1] | 否 [1] | 否 [2] |
earth-gnss-lunar.toml |
earth-gnss-lunar |
否 [12] | 否 [12] | 否 [12] | 否 [12] | 否 [2] |
entry-heating-stardust.toml |
entry-heating |
否 [13] | 否 [13] | 否 [13] | 否 [13] | 否 [2] |
eo-coverage.toml |
eo-coverage |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
eo-radiometry.toml |
eo-radiometry |
否 [5] | 否 [5] | 否 [5] | 否 [5] | 否 [2] |
ephemeris.toml |
ephemeris |
是 | 是 | 是 | 是 | 否 [2] |
europa-surface-pnt.toml |
body-pnt |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
fusion-pnt-coupled.toml |
fusion |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
fusion-pnt.toml |
fusion |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
gnss-ins-aviation.toml |
gnss-ins |
是 | 是 | 是 | 否 [6] | 否 [2] |
gnss-ins-maritime.toml |
gnss-ins |
是 | 是 | 是 | 否 [6] | 否 [2] |
gnss-ins-rail.toml |
gnss-ins |
是 | 是 | 是 | 否 [6] | 否 [2] |
gnss-ins.toml |
gnss-ins |
是 | 是 | 是 | 否 [6] | 否 [2] |
gnss-sim-container-terminal-skyline.toml |
gnss-sim |
是 | 是 | 是 | 是 | 否 [2] |
gnss-sim-raim.toml |
gnss-sim |
是 | 是 | 是 | 是 | 否 [2] |
gnss-ssv-formation-heo.toml |
gnss-ssv |
否 [14] | 否 [14] | 否 [14] | 否 [14] | 否 [2] |
gnss-ssv-heo.toml |
gnss-ssv |
否 [14] | 否 [14] | 否 [14] | 否 [14] | 否 [2] |
gnss-ssv-lunar-weak.toml |
gnss-ssv |
否 [14] | 否 [14] | 否 [14] | 否 [14] | 否 [2] |
gnss-ssv-nav-lunar.toml |
gnss-ssv |
否 [14] | 否 [14] | 否 [14] | 否 [14] | 否 [2] |
gnss-ssv-shell.toml |
gnss-ssv |
否 [14] | 否 [14] | 否 [14] | 否 [14] | 否 [2] |
gps-denied-gravity-nav-egm2008.toml |
gravity-map |
是 | 是 | 是 | 否 [6] | 否 [2] |
gps-denied-gravity-nav.toml |
gravity-map |
是 | 是 | 是 | 否 [6] | 否 [2] |
gravity-map-error-mc.toml |
gravity-map |
是 | 是 | 是 | 否 [6] | 否 [2] |
gravity-map-nav.toml |
gravity-map |
是 | 是 | 是 | 否 [6] | 否 [2] |
holdover-test-example.toml |
holdover-test |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
holdover-test-ptp4l.toml |
holdover-test |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
hybrid-optical-rf.toml |
hybrid-optical-rf |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
hybrid-pnt.toml |
hybrid |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
hybrid-ukf.toml |
hybrid-ukf |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
impairment-eval.toml |
impairment-eval |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
imu-deadreckoning.toml |
inertial |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
ins-trn-coast.toml |
ins-trn-coast |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
integrity-harbour-approach.toml |
integrity |
是 | 是 | 是 | 是 | 否 [2] |
integrity-raim.toml |
integrity |
是 | 是 | 是 | 是 | 否 [2] |
jamming-demo.toml |
jamming |
是 | 是 | 是 | 是 | 否 [2] |
jamming-harbour-approach-skyline.toml |
jamming |
是 | 是 | 是 | 是 | 否 [2] |
l-band-waterfall-jamming.toml |
spectrum |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 是 |
launch-window.toml |
launch-window |
否 [15] | 否 [15] | 否 [15] | 否 [15] | 否 [2] |
leo-band-trade.toml |
leo-signal |
否 [8] | 否 [8] | 否 [8] | 否 [8] | 否 [2] |
leo-doppler-positioning.toml |
leo-pvt |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
leo-focus-data-services.toml |
campaign |
否 [7] | 否 [7] | 否 [7] | 否 [7] | 否 [7] |
leo-focus-fused-pnt-sisre.toml |
campaign |
否 [7] | 否 [7] | 否 [7] | 否 [7] | 否 [7] |
leo-focus-indoor-uhf.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-focus-iot-eirp.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-focus-ntn-bandwidth.toml |
campaign |
否 [7] | 否 [7] | 否 [7] | 否 [7] | 否 [7] |
leo-focus-ppp-altitude.toml |
campaign |
否 [7] | 否 [7] | 否 [7] | 否 [7] | 否 [7] |
leo-focus-science-iono-sounding.toml |
leo-pass |
是 | 是 | 是 | 是 | 否 [2] |
leo-indoor-uhf.toml |
leo-pass |
是 | 是 | 是 | 是 | 否 [2] |
leo-iot-energy.toml |
leo-pass |
是 | 是 | 是 | 是 | 否 [2] |
leo-navmsg-celeste-iod.toml |
leo-navmsg |
否 [16] | 否 [16] | 否 [16] | 否 [16] | 否 [2] |
leo-navmsg-encode-decode.toml |
leo-navmsg |
否 [16] | 否 [16] | 否 [16] | 否 [16] | 否 [2] |
leo-navmsg-fit-interval-trade.toml |
leo-navmsg |
否 [16] | 否 [16] | 否 [16] | 否 [16] | 否 [2] |
leo-navmsg-midpass-update.toml |
leo-navmsg |
否 [16] | 否 [16] | 否 [16] | 否 [16] | 否 [2] |
leo-navmsg-model-comparison.toml |
leo-navmsg |
否 [16] | 否 [16] | 否 [16] | 否 [16] | 否 [2] |
leo-pass-celeste-iod-multiband.toml |
leo-pass |
是 | 是 | 是 | 是 | 否 [2] |
leo-pass-iridium.toml |
leo-pass |
是 | 是 | 是 | 是 | 否 [2] |
leo-pass-vs-gnss-cn0.toml |
leo-pass |
是 | 是 | 是 | 是 | 否 [2] |
leo-pass-xona-pulsar.toml |
leo-pass |
是 | 是 | 是 | 是 | 否 [2] |
leo-pnt-end-to-end.toml |
leo-pnt-chain |
是 | 是 | 是 | 是 | 否 [2] |
leo-pnt-mega-shell.toml |
constellation-design |
否 [11] | 否 [11] | 否 [11] | 否 [11] | 否 [2] |
leo-ppp-convergence.toml |
leo-ppp |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
leo-pvt-fjord-skyline.toml |
leo-pvt |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
leo-resilience-gnss-jammed-leo-carries.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-resilience-js-margin.toml |
spectrum |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [17] |
leo-resilience-multiband-diversity.toml |
campaign |
否 [7] | 否 [7] | 否 [7] | 否 [7] | 否 [7] |
leo-resilience-spoof-doppler.toml |
leo-pass |
是 | 是 | 是 | 是 | 否 [2] |
leo-resilience-spoof-monitors.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-timing-utc.toml |
leo-pvt |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
leo-vertical-5g-network-timing.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-vertical-asset-tracking-iot.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-vertical-autonomous-vehicle-skyline.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-vertical-autonomous-vehicle.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-vertical-critical-infrastructure-timing.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-vertical-polar-arctic.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
leo-vertical-rail-maritime.toml |
campaign |
是 | 是 | 是 | 是 | 否 [7] |
link-budget.toml |
link-budget |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
lunanet-araim.toml |
lunar-integrity |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-ascent.toml |
lunar-ascent |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-attack-surface.toml |
lunar-attack-surface |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-beacon.toml |
lunar-beacon |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-descent-lola.toml |
lunar-descent |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-descent.toml |
lunar-descent |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-differential-pnt.toml |
lunar-differential-pnt |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-frame-campaign.toml |
lunar-frame-campaign |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-frame-realisation.toml |
lunar-frame-realisation |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-infrastructure-carrier-phase.toml |
lunar-infrastructure |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-infrastructure-frame-coestimation.toml |
lunar-infrastructure |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-infrastructure-geodesy-sensitivity.toml |
lunar-infrastructure |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-infrastructure-od-consistency-model-error.toml |
lunar-infrastructure |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-infrastructure-od-consistency.toml |
lunar-infrastructure |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-infrastructure-space-tie.toml |
lunar-infrastructure |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-interop-export.toml |
lunar-interop-export |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-jamming.toml |
lunar-jamming |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-joint-od-clock.toml |
lunar-joint-od-clock |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-llr-datum.toml |
lunar-llr-datum |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-orbit-rendezvous-elfo.toml |
lunar-orbit-rendezvous |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-orbit-rendezvous.toml |
lunar-orbit-rendezvous |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-relay-constellation.toml |
constellation-design |
否 [11] | 否 [11] | 否 [11] | 否 [11] | 否 [2] |
lunar-station-coverage-public-sources.toml |
lunar-station-coverage |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-station-coverage-terrain.toml |
lunar-station-coverage |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-station-coverage.toml |
lunar-station-coverage |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-station-geodesy-baseline.toml |
lunar-llr-datum |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-station-geodesy-with-station.toml |
lunar-llr-datum |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-station-time-lab.toml |
lunar-time-budget |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-surface-terrain.toml |
lunar-surface |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-surface.toml |
lunar-surface |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-time-budget.toml |
lunar-time-budget |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-time-offset.toml |
lunar-time-offset |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-vlbi-fim.toml |
lunar-vlbi-fim |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
lunar-vlbi.toml |
lunar-vlbi |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
maritime-port-approach-coast.toml |
ins-trn-coast |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
maritime-spoof-position-push.toml |
spoof-detect |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
maritime-strait-jamming.toml |
jamming |
是 | 是 | 是 | 是 | 否 [2] |
mars-orbit-pnt.toml |
body-pnt |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
mars-pnt-lmo.toml |
mars-pnt |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
mars-pnt-surface.toml |
mars-pnt |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
mars-pnt-transfer.toml |
mars-pnt |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
meo-leo-fused-pvt.toml |
leo-pvt |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
mission-thread-artemis-class.toml |
mission-thread |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
mission-thread-short.toml |
mission-thread |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
moonlight-service-volume.toml |
moonlight-service-volume |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
multi-band-jamming-waterfall.toml |
spectrum |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [17] |
ntn-5g-positioning.toml |
ntn-positioning |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
oem-interop.toml |
oem-interop |
否 [18] | 否 [18] | 否 [18] | 否 [18] | 否 [2] |
optical-atmosphere-network.toml |
optical-atmosphere |
否 [19] | 否 [19] | 否 [19] | 否 [19] | 否 [2] |
optical-atmosphere-techniques.toml |
optical-atmosphere |
否 [19] | 否 [19] | 否 [19] | 否 [19] | 否 [2] |
orbit-gnss-challenged.toml |
orbit |
是 | 是 | 是 | 是 | 否 [2] |
orbit-molniya.toml |
orbit |
是 | 是 | 是 | 是 | 否 [2] |
orbit-multignss.toml |
orbit |
是 | 是 | 是 | 是 | 否 [2] |
orbit-real-tle.toml |
orbit |
是 | 是 | 是 | 是 | 否 [2] |
orbit-rinex.toml |
orbit |
是 | 是 | 是 | 是 | 否 [2] |
orbit-sgp4-gps.toml |
orbit |
是 | 是 | 是 | 是 | 否 [2] |
orbit-urban-canyon-skyline.toml |
orbit |
是 | 是 | 是 | 是 | 否 [2] |
passes.toml |
passes |
是 | 是 | 是 | 是 | 否 [2] |
polar-arctic-leo-coverage.toml |
leo-pvt |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
pvt-abmf.toml |
pvt |
是 | 是 | 是 | 否 [6] | 否 [2] |
quantum-anomaly-detect.toml |
quantum-anomaly-detect |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
quantum-cai-coast.toml |
inertial |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
quantum-gnss-free-nav.toml |
quantum-gnss-free-nav |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
quantum-time-transfer.toml |
quantum-time-transfer |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
quantum-trade.toml |
quantum-trade |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
rail-tunnel-coast.toml |
ins-trn-coast |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
realtime-frame-eop.toml |
realtime-frame-eop |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
reentry.toml |
reentry |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
slot-timing-ocxo-leo.toml |
slot-timing |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
small-uas-jammed-nav.toml |
gnss-ins |
是 | 是 | 是 | 否 [6] | 否 [2] |
solar-system-tour.toml |
solar-system |
否 [10] | 否 [10] | 否 [10] | 否 [10] | 否 [2] |
space-packet.toml |
space-packet |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
space-weather.toml |
space-weather |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
spoof-attack.toml |
spoof |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
spoof-detect.toml |
spoof-detect |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
spoof-meaconing.toml |
spoof |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
starlink-sop-doppler-positioning.toml |
leo-pvt |
否 [9] | 否 [9] | 否 [9] | 否 [9] | 否 [2] |
sweep-clock-stability.toml |
sweep |
否 [20] | 否 [20] | 否 [20] | 否 [20] | 否 [2] |
sweep-nd-inertial.toml |
sweep-nd |
否 [20] | 否 [20] | 否 [20] | 否 [20] | 否 [2] |
telecom-prtc-holdover-24h.toml |
telecom-timing |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
telecom-synce-eec.toml |
telecom-timing |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
telecom-tie-ingest.toml |
telecom-timing |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
terrain-nav.toml |
terrain-nav |
是 | 是 | 是 | 否 [6] | 否 [2] |
terrain-slam.toml |
terrain-slam |
是 | 是 | 是 | 否 [6] | 否 [2] |
time-transfer-budget.toml |
time-transfer-budget |
否 [21] | 否 [21] | 否 [21] | 否 [21] | 否 [2] |
timetransfer.toml |
timetransfer |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
tracking-loop.toml |
tracking-loop |
否 [4] | 否 [4] | 否 [4] | 否 [4] | 否 [2] |
xona-pulsar-end-to-end.toml |
leo-pnt-chain |
是 | 是 | 是 | 是 | 否 [2] |
xona-pulsar-signals.toml |
leo-signal |
否 [8] | 否 [8] | 否 [8] | 否 [8] | 否 [2] |
某种格式为何不适用:
contact-schedule和acm-link类别规划下行接触和编码;请对同一颗卫星和同一个站导出一个passes场景,以查看其几何- SigMF保存复数基带采样,只有
spectrum类别会合成这样的采样 aocs类别模拟绕质心的姿态,没有轨道或地面位置,因此没有可放置到地球上的内容- 场景输入不带水平位置(没有纬度和经度,没有地心坐标,除至多一个高度外没有轨道根数),因此没有可放置到地球上的内容
eo-radiometry和ascent-losses类别计算预算,不涉及地球上的位置- STK星历描述载体的位置和速度随时间的变化;此场景只有固定点或无时间的航迹(固定点是STK的Facility,而不是星历)
- 该测评活动的任何成员场景都没有此格式所描述的内容;请单独导出某个成员以查看其原因
leo-signal类别分析信号设计(频谱、跟踪、捕获、兼容性),不涉及卫星或用户位置;请导出飞行该设计的leo-pass或leo-pnt-chain场景- 本版本不导出:融合定位类别把其卫星放在相对于一个从未命名的历元的地固坐标系中,因此带时间标记的导出必须凭空编造日历日期(请改为导出
leo-pass或leo-pnt-chain场景) - 该类别的几何以月球、火星或其他太阳系天体为中心;CZML、KML和GeoJSON描述地球上或围绕地球的位置,而本版本只写出CentralBody Earth的STK星历
- 本版本不导出:
constellation-design把其卫星放在相对于一个从未命名的历元的天体固连坐标系中,因此带时间标记的导出必须凭空编造日历日期 - 本版本不导出:
earth-gnss-lunar的地球全球导航卫星系统(GNSS)星座是从月球距离处的接收机观测的,该类别没有把其轨迹作为时间序列提供 - 本版本不导出:
entry-heating类别报告峰值载荷和热流,不保留带时间标记的星下点轨迹 gnss-ssv类别针对壳层或开普勒轨迹上的用户扫描可用性和链路强度;它没有可放置到地图上的单一位置launch-window场景给出了发射场的纬度但没有经度,因此无法确定该发射场的位置- 本版本不导出:
leo-navmsg的真值轨道是一个拟合参考,其历元处的地球自转角是输入(theta0_deg,默认0),而不是由日历日期导出,因此它的地固位置没有与日期关联 - 此频谱场景没有 [iq] 块,因此没有合成可供记录的采样
- 本版本不导出:
oem-interop读取和写入CCSDS(空间数据系统咨询委员会)轨道星历电文,而它本身就是星历交换文件 optical-atmosphere类别计算地面站的链路统计量,没有可放置的带时间标记的几何- 该场景在网格上扫描另一个场景;请单独导出被扫描的场景
time-transfer-budget类别计算链路预算和稳定度,没有可放置的带时间标记的几何