with one click
celestial-mpc
根据小行星名称或编号,从 MPC(Minor Planet Center)获取轨道根数,并计算该小行星的星历数据(日心黄道坐标系)。用户需要小行星位置/轨迹时使用。
根据小行星名称或编号,从 MPC(Minor Planet Center)获取轨道根数,并计算该小行星的星历数据(日心黄道坐标系)。用户需要小行星位置/轨迹时使用。
火箭方案弹道优化(级模型),用于基于实际火箭总体参数、飞行时序和优化 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 | celestial-mpc |
| description | 根据小行星名称或编号,从 MPC(Minor Planet Center)获取轨道根数,并计算该小行星的星历数据(日心黄道坐标系)。用户需要小行星位置/轨迹时使用。 |
通过 Astrox WebAPI 的 POST /celestial/mpc,先从 MPC 获取小行星轨道根数,再按日心 MeanEclpJ2000 坐标系 + Heliocentric 积分器进行轨道递推,输出 CZML 格式星历数据。
TargetName)、观测者(ObserverName)、观测者坐标系(ObserverFrame)、分析结束时刻(Stop)。TargetName 必须提供,可为名称(如 Ceres、Apophis)或编号(如 99942)。Start 固定为小行星轨道根数的历元时刻,由服务端自动确定,用户无需输入,调用时传空字符串。Stop 缺省可不输入(传空字符串),服务端默认为历元时刻 + 1 年。ObserverName 缺省为 "Sun",ObserverFrame 缺省为 "MEANECLPJ2000"。{BASE_URL}/celestial/mpc 发送 POST,Content-Type: application/json。OrbitElements(MPC 轨道根数解析结果)和 Position(CesiumPosition 格式星历)。POST /celestial/mpc
| 参数名 | 类型 | 必须 | 缺省值 | 说明 |
|---|---|---|---|---|
TargetName | string | 是 | Ceres | 小行星名称或编号,例如 Ceres、Apophis、99942 |
ObserverName | string | 否 | Sun | 观测者名称,缺省为 Sun |
ObserverFrame | string | 否 | MEANECLPJ2000 | 观测者坐标系,可选:FIXED、INERTIAL、MEANECLPJ2000、J2000 |
Start | string | 否 | (历元时刻) | 分析开始时刻(UTCG),格式 yyyy-MM-ddTHH:mm:ssZ;暂固定为历元时刻,调用时传空字符串 "" |
Stop | string | 否 | 历元时刻 + 1 年 | 分析结束时刻(UTCG),格式 yyyy-MM-ddTHH:mm:ssZ;缺省传空字符串 "" |
响应为 JSON 对象,包含以下字段:
| 字段名 | 类型 | 说明 |
|---|---|---|
IsSuccess | boolean | 结果(True:成功;False:失败) |
Message | string | 结果信息(主要存储失败原因) |
OrbitElements | object | MPC 小行星轨道根数解析结果,详见下表 |
Position | object | 小行星星历数据(CesiumPosition CZML 格式) |
| 子字段名 | 类型 | 单位 | 说明 |
|---|---|---|---|
ArgOfPeriapsis | number | deg | 近日点幅角 |
Eccentricity | number | — | 偏心率 |
EpochMjdTdt | number | MJD | 轨道根数历元(MJD TDT) |
Inclination | number | deg | 轨道倾角 |
MeanAnomaly | number | deg | 平近点角 |
PeriTimeMjdTdt | number | MJD | 近日点时刻(MJD TDT) |
Q | number | AU | 近日点距 |
Raan | number | deg | 升交点赤经/黄经 |
SemimajorAxis | number | m | 半长轴 |
yyyy-MM-ddTHH:mm:ssZ。Start 当前版本固定为轨道根数历元时刻,调用时始终传空字符串 "",不可自定义。Stop 传空字符串时服务端默认历元时刻 + 1 年。https://data.minorplanetcenter.net/api/get-orb),若 MPC 服务不可用则调用失败。TargetName 必填,不可为空。Start 传 "",Stop 可传 "" 或用户指定的结束时刻(如指定须满足格式要求)。IsSuccess 是否为 true。OrbitElements 中的轨道根数摘要。Position 中的星历(CZML)数据。export BASE_URL=http://astrox.cn:8765
curl "${BASE_URL}/celestial/mpc" \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"TargetName": "Ceres"
}'
export BASE_URL=http://astrox.cn:8765
curl "${BASE_URL}/celestial/mpc" \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"TargetName": "Ceres",
"ObserverName": "Sun",
"ObserverFrame": "MEANECLPJ2000",
"Start": "",
"Stop": ""
}'
export BASE_URL=http://astrox.cn:8765
curl "${BASE_URL}/celestial/mpc" \
--request POST \
--header 'Content-Type: application/json' \
--data '{
"TargetName": "99942",
"ObserverName": "Sun",
"ObserverFrame": "MEANECLPJ2000",
"Start": "",
"Stop": "2026-12-31T00:00:00Z"
}'
skills/celestial-mpc/fixtures/mpc-min.json:最小可运行请求(仅指定 TargetName)。skills/celestial-mpc/fixtures/mpc-defaults.json:包含所有默认值字段的请求模板。