mit einem Klick
propagator-sgp4
通过 Astrox WebAPI 的 POST /Propagator/sgp4,依据两行根数 TLE 使用 SGP4 模型外推星历,输出 CzmlPositionOut(CZML 结构的位置序列)。当用户需要 SGP4、TLE、两行根数、NORAD 星历、近地轨道 TLE 递推时使用。
通过 Astrox WebAPI 的 POST /Propagator/sgp4,依据两行根数 TLE 使用 SGP4 模型外推星历,输出 CzmlPositionOut(CZML 结构的位置序列)。当用户需要 SGP4、TLE、两行根数、NORAD 星历、近地轨道 TLE 递推时使用。
火箭方案弹道优化(级模型),用于基于实际火箭总体参数、飞行时序和优化 Profiles 计算入轨弹道、关键点、全程时序和子级落点。默认 Web API 为 http://www.astrox.cn:8764。
计算地面站、卫星等对象的光照时间,考虑 De430 视太阳位置。支持天体遮挡和地形遮罩。当用户需要计算光照时间、阴影(日食)时间、半影/本影时间时使用。
行星与小行星之间的 Lambert 转移轨道计算。出发/到达天体可为行星(Earth,Mars,Ceres 等)或小行星(MPC 编号/名称);小行星可传入历元轨道根数以避免 MPC 网络查询。用户需要日心系转移窗口与 Delta-V 时使用。
计算两对象间可见性/访问弧段。当用户需要测站对卫星可见窗口、卫星与卫星之间Access弧段、AER 采样时使用。
根据目标天体、观测者和时间步长计算天体星历,并输出 CZML Position格式。用户需要行星/月球相对位置时使用。
求解 Lambert 问题(始末位置速度已知,单圈转移),输出起点和终点的速度增量(DV1、DV2)。当用户需要根据始末状态向量和飞行时间计算轨道转移速度增量时使用。支持多个Lambert转移算例同时计算。
| name | propagator-sgp4 |
| description | 通过 Astrox WebAPI 的 POST /Propagator/sgp4,依据两行根数 TLE 使用 SGP4 模型外推星历,输出 CzmlPositionOut(CZML 结构的位置序列)。当用户需要 SGP4、TLE、两行根数、NORAD 星历、近地轨道 TLE 递推时使用。 |
Start/Stop,以及可选的采样步长 Step、卫星编号 SatelliteNumber。TLEs 为恰好两个字符串的数组:[line1, line2],与 NORAD 标准两行根数一致(含行首的 1 / 2 及校验位等,按用户给出的原文传递)。Start、Stop 为 UTC,推荐 yyyy-MM-ddTHH:mm:ssZ(或接口可接受的 ISO8601 变体)。{BASE_URL}/Propagator/sgp4 发送 POST,Content-Type: application/json。若无特别指定,可用 curl;亦可用与用户环境一致的 HTTP 客户端(如 Invoke-RestMethod、Python requests)。注意:OpenAPI 中该路径为 **/Propagator/sgp4**(sgp4 为小写),与 /Propagator/TwoBody 的命名风格不同,调用时请与规范一致。
POST /Propagator/sgp4
Sgp4Input| 参数名 | 类型 | 必须 | 说明 |
|---|---|---|---|
Start | string | 是 | 分析开始时刻 (UTCG),如 yyyy-MM-ddTHH:mm:ssZ |
Stop | string | 是 | 分析结束时刻 (UTCG),如 yyyy-MM-ddTHH:mm:ssZ |
TLEs | array of string | 是 | 两行 TLE:["tle-line1", "tle-line2"] |
Step | number | null | 否 |
SatelliteNumber | string | null | 否 |
详见 shared-docs/api-schemas/CzmlPositionOut.md
TLEs 长度必须为 2(第一行、第二行各一个字符串);不要把两行合并成一个带 \n 的字符串,除非接口另有说明(本接口 schema 为 items: string 的数组)。IsSuccess 可能为 false,应阅读 Message。Step 与二体接口类似,单位为秒;省略或置 null 时使用服务端默认策略。Start、Stop、TLEs 必填Start < StopTLEs.length === 2,且每行非空Step;否则可传 null 或不传(以服务端行为为准)IsSuccessIsSuccess = false 时优先返回 Message说明:将 BASE_URL 换成实际服务根地址。PowerShell 可用:$env:BASE_URL='http://...',再对 curl.exe 使用同一 URL 拼接。
export BASE_URL=http://astrox.cn:8765
curl "${BASE_URL}/Propagator/sgp4" \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"Start": "2021-05-01T00:00:00Z",
"Stop": "2021-05-01T06:00:00Z",
"Step": 60,
"SatelliteNumber": "25730",
"TLEs": [
"1 25730U 99025A 21120.62396556 .00000659 00000-0 35583-3 0 9997",
"2 25730 99.0559 142.6068 0014039 175.9692 333.4962 14.16181681132327"
]
}'
用 fixture 可避免 PowerShell 下行内 JSON 转义问题:
export BASE_URL=http://astrox.cn:8765
curl "${BASE_URL}/Propagator/sgp4" \
--request POST \
--header 'Content-Type: application/json' \
--data-binary "@propagator-sgp4/fixtures/sgp4-min.json"
(路径相对于仓库根目录;若在 propagator-sgp4 目录下执行,请改为 @fixtures/sgp4-min.json。)
| 文件 | 用途简述 |
|---|---|
propagator-sgp4/fixtures/sgp4-min.json | 与 OpenAPI 默认 TLE 一致的 6 h 窗口 + Step: 60 |
从响应中取末时刻位置速度:按 shared-docs/api-schemas/CzmlPositionOut.md 中 cartesianVelocity 平铺格式,取最后一组 [t, X, Y, Z, Vx, Vy, Vz]。