en un clic
celestial-transfer
行星与小行星之间的 Lambert 转移轨道计算。出发/到达天体可为行星(Earth,Mars,Ceres 等)或小行星(MPC 编号/名称);小行星可传入历元轨道根数以避免 MPC 网络查询。用户需要日心系转移窗口与 Delta-V 时使用。
行星与小行星之间的 Lambert 转移轨道计算。出发/到达天体可为行星(Earth,Mars,Ceres 等)或小行星(MPC 编号/名称);小行星可传入历元轨道根数以避免 MPC 网络查询。用户需要日心系转移窗口与 Delta-V 时使用。
火箭方案弹道优化(级模型),用于基于实际火箭总体参数、飞行时序和优化 Profiles 计算入轨弹道、关键点、全程时序和子级落点。默认 Web API 为 http://www.astrox.cn:8764。
计算地面站、卫星等对象的光照时间,考虑 De430 视太阳位置。支持天体遮挡和地形遮罩。当用户需要计算光照时间、阴影(日食)时间、半影/本影时间时使用。
计算两对象间可见性/访问弧段。当用户需要测站对卫星可见窗口、卫星与卫星之间Access弧段、AER 采样时使用。
根据目标天体、观测者和时间步长计算天体星历,并输出 CZML Position格式。用户需要行星/月球相对位置时使用。
求解 Lambert 问题(始末位置速度已知,单圈转移),输出起点和终点的速度增量(DV1、DV2)。当用户需要根据始末状态向量和飞行时间计算轨道转移速度增量时使用。支持多个Lambert转移算例同时计算。
根据小行星名称或编号,从 MPC(Minor Planet Center)获取轨道根数,并计算该小行星的星历数据(日心黄道坐标系)。用户需要小行星位置/轨迹时使用。
| name | celestial-transfer |
| description | 行星与小行星之间的 Lambert 转移轨道计算。出发/到达天体可为行星(Earth,Mars,Ceres 等)或小行星(MPC 编号/名称);小行星可传入历元轨道根数以避免 MPC 网络查询。用户需要日心系转移窗口与 Delta-V 时使用。 |
通过 Astrox WebAPI 的 POST /celestial/transfer,在指定出发/到达时间网格上求解行星或小行星之间的 Lambert 转移。小行星轨道采用日心 Heliocentric 积分器递推;结果位置速度通常输出在 SunFrameName 所指定的日心参考系中(如 MeanEclpJ2000、ICRF)。
DepartureCbName、到达天体 ArrivalCbName、出发时间段 DepartureInterval、到达时间段 ArrivalInterval、最小转移时间 MinTofDays、日心输出系 SunFrameName,以及可选的时间步长与小行星轨道根数。DepartureElements / ArrivalElements(MPC 型轨道根数)。若对应 *Elements 不为 null,服务端直接使用该根数积分,不调用 MPC 网络查询。*Elements 为 null,则由服务端通过 MPC 等途径获取轨道根数(依赖网络)。DepartureInterval 与 ArrivalInterval 均为 Start/Stop 两段 ISO8601 UTC 字符串,中间以 / 分隔,例如 2028-06-01T00:00:00Z/2028-10-01T00:00:00Z。{BASE_URL}/celestial/transfer 发送 POST,Content-Type: application/json。TransferResults 为每次可行转移的列表,含出发/到达时刻、两段 Delta-V 向量与模长、日心系 RV1/RV2。POST /celestial/transfer
| 参数名 | 类型 | 必须 | 缺省值示例 | 说明 |
|---|---|---|---|---|
DepartureCbName | string | 是 | Earth | 出发天体名称(行星或小行星 MPC 名称/编号) |
ArrivalCbName | string | 是 | 2015 XF261 | 到达天体名称(行星或小行星) |
DepartureInterval | string | 是 | 2028-06-01T00:00:00Z/2028-10-01T00:00:00Z | 出发时间搜索区间 Start/Stop,UTC ISO8601 |
ArrivalInterval | string | 是 | 2029-04-10T00:00:00Z/2029-04-10T00:00:00Z | 到达时间搜索区间 Start/Stop,UTC ISO8601 |
SunFrameName | string | 否 | MeanEclpJ2000 | 日心结果输出参考系,例如 MeanEclpJ2000 或 ICRF |
MinTofDays | int32 | 否 | 10 | 最小转移时间(天) |
DepartureStepDay | number | 否 | 1 | 出发时间步长(天) |
ArrivalStepDay | number | 否 | 1 | 到达时间步长(天) |
DepartureElements | object | null | 否 | null | 出发小行星 MPC 轨道根数;非 null 时不经网络查询 MPC |
ArrivalElements | object | null | 否 | null | 到达小行星 MPC 轨道根数;非 null 时不经网络查询 MPC |
| 子字段名 | 类型 | 单位 | 说明 |
|---|---|---|---|
EpochMjdTdt | number | MJD | 轨道根数历元(TDT) |
SemimajorAxis | number | AU | 半长轴 |
Eccentricity | number | — | 偏心率 |
Inclination | number | deg | 轨道倾角 |
Raan | number | deg | 升交点赤经/黄经 |
ArgOfPeriapsis | number | deg | 近日点幅角 |
MeanAnomaly | number | deg | 平近点角 |
PeriTimeMjdTdt | number | MJD | 近日点时刻(TDT),可选 |
Q | number | AU | 近日点距,可选 |
| 字段名 | 类型 | 说明 |
|---|---|---|
IsSuccess | boolean | 结果(True:成功;False:失败) |
Message | string | 结果信息(失败原因等) |
TransferResults | array | 转移结果列表,元素类型见下表 |
| 字段名 | 类型 | 单位 | 说明 |
|---|---|---|---|
DepartureTime | string | — | 出发时刻(UTC ISO8601 字符串) |
ArrivalTime | string | — | 到达时刻(UTC ISO8601 字符串) |
DeltaV1 | number[] | m/s | 出发端速度增量向量 [x,y,z] |
DeltaV2 | number[] | m/s | 到达端速度增量向量 [x,y,z] |
DV1_Mag | number | m/s | 出发端速度增量模 |
DV2_Mag | number | m/s | 到达端速度增量模 |
RV1 | number[] | m, m/s | 出发时日心系位置速度(长度 6:位置 3 + 速度 3) |
RV2 | number[] | m, m/s | 到达时日心系位置速度(长度 6) |
2028-06-01T00:00:00Z;区间必须为 Start/Stop 用 / 连接。MinTofDays 为整数(天);步长 DepartureStepDay、ArrivalStepDay 为天。Earth、Mars);小行星可用名称或 MPC 编号样式字符串。*Elements 时依赖 MPC 等外部数据,可能因网络或服务不可用而失败。IsSuccess 为 true。*Elements。null 的 *Elements 可省略或显式传 null。IsSuccess === true。TransferResults 中各方案的 DepartureTime、ArrivalTime、DV1_Mag、DV2_Mag。export BASE_URL=http://astrox.cn:8765
curl "${BASE_URL}/celestial/transfer" \
--request POST \
--header 'Content-Type: application/json' \
--data-binary @skills/celestial-transfer/fixtures/transfer-min.json
export BASE_URL=http://astrox.cn:8765
curl "${BASE_URL}/celestial/transfer" \
--request POST \
--header 'Content-Type: application/json' \
--data-binary @skills/celestial-transfer/fixtures/transfer-with-elements.json
对应上游测试 Transfer_EarthToApophis_Mpc_260424:验证「行星 → 非内置小行星(MPC)」全链路;不传 ArrivalElements,服务端需访问 MPC 获取 Apophis 根数。无网络或 MPC 不可用时请求会失败。
export BASE_URL=http://astrox.cn:8765
curl "${BASE_URL}/celestial/transfer" \
--request POST \
--header 'Content-Type: application/json' \
--data-binary @skills/celestial-transfer/fixtures/transfer-earth2mpc.json
skills/celestial-transfer/fixtures/transfer-min.json:最小可运行请求(地球到火星,不传 *Elements)。skills/celestial-transfer/fixtures/transfer-with-elements.json:含 DepartureElements/ArrivalElements 的完整模板(与公开 API 示例一致)。skills/celestial-transfer/fixtures/transfer-earth2mpc.json:地球 → Apophis,不传 *Elements,依赖 MPC 网络;时间窗口为 2029 年逼近地球前后的短区间,步长 10 天(与单元测试 Transfer_EarthToApophis_Mpc_260424 一致)。