mcpField
S
Sidereon

Sidereon

本地服务
sidereon.dev科研与教育191 周前更新

关于 Sidereon

Sidereon 是面向开发者和科研用户的 Rust GNSS 定位与天体动力学引擎,并提供六种语言接口。它涵盖卫星轨道传播、定位、观测质量检查和多种地理空间格式;CLI 还可通过 MCP 向 AI Agent 提供引擎能力。

主要功能

  1. 01卫星轨道传播与过境预测
  2. 02GNSS 定位、完整性检查与融合
  3. 03RINEX 质量控制与格式处理
  4. 04大地测量、计时与大气模型
  5. 05CLI 监控与分析命令

适用场景

  1. 01计算卫星可见性与地面轨迹
  2. 02根据 RINEX 数据求解 GNSS 位置
  3. 03评估观测质量与解算误差界限
  4. 04向 AI Agent 提供天体动力学工具

MCP 相关

CLI 提供 `serve-mcp`,通过任务工具和类型化能力图向 AI Agent 暴露引擎。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbsidereon_3.0.3.mcpb

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

sidereon

DOI

使用 Rust 实现的 GNSS 定位与天体动力学,并提供一流的 Python、C、Go、WebAssembly 和 Elixir 接口。通过参考验证,并在关键之处与公开基准保持位级精确一致。

sidereon 是一套引擎:以 Rust 核心实现卫星轨道传播、GNSS 定位、时间与坐标系转换、大气模型和标准交换格式,并通过六种语言的惯用接口提供功能,让你无论在哪里工作,都能使用经过验证的同一套数学实现。

在线演示:sidereon.dev:实时卫星追踪器(地球仪、地面轨迹、覆盖范围、交会筛查、轨道确定),通过 WebAssembly 构建在浏览器中计算。

功能

  • **轨道传播:**基于 TLE/OMM 的 SGP4/SDP4、采用可组合力模型的数值传播(球谐地球重力场,阶次和次数可选;依据 IERS 规范计算的固体潮和极潮;太阳/月球第三体引力;带圆锥阴影的太阳辐射压;地球反照辐射和红外辐射压;相对论修正;NRLMSISE-00 阻力)、带衰减后有效性锁存的衰减/再入预测、开普勒传播和轨道异常转换、批量/星座传播、地面轨迹、过境、可见性和覆盖范围。
  • **轨道确定:**初始轨道确定(Gibbs、Herrick-Gibbs、仅测角度的 Gauss 方法)、将数值传播器拟合到精密星历的批量最小二乘拟合(带逐卫星 RTN 残差台账),以及协方差传播。
  • **GNSS 定位:**单点定位(SPP)、RINEX 观测数据到 SPP 的组装和求解辅助工具、支持协方差的公开多历元 static_positioning / solve_static 求解、留一冗余诊断和稳健加权(包括一次调用即可完成的参考站静态定位:输入流动站和参考站 RINEX,输出带协方差的测站坐标)、带时钟漂移的多普勒测速、RTK 浮点和固定解(LAMBDA),基线直接由原始 RINEX 构建(与已发布的 ITRF 测站对比结果精确到毫米)、使用 SSR 或 Galileo HAS 修正驱动广播星历求解的 PPP 浮点和固定解、采用时间相关协方差的静态 PPP(经过标定的日长边界)、可选高度角截止值和可选对流层梯度估计、DGNSS;支持 GPS/GLONASS/Galileo/BeiDou/QZSS,并提供 DOP(G/P/H/V/T)。
  • **完好性和误差界限:**RAIM 故障检测与排除、多星座 ARAIM(MHSS 保护级别)、SBAS 保护级别(DO-229)、经典可靠性(每次观测的最小可检测偏差、内部/外部可靠性)、每次求解的可观测性分类(秩、冗余度、条件数),以及协方差推导的误差指标(CEP、R95、drms、SEP、误差椭圆)。几何条件较弱时会报告宽泛或带标记的界限,而不是捏造置信度;还支持考虑不确定性的测地围栏(根据位置协方差计算包含和穿越概率,并带滞回)。
  • **GNSS 修正:**SBAS 消息解码和修正应用、带明确提供方参考点处理的 RTCM SSR 和 Galileo HAS 轨道/时钟/偏差修正存储、NTRIP 客户端流处理,以及来自 Bias-SINEX 和 CODE 产品的差分码偏差(DCB/OSB)。
  • **星历和时间:**广播星历和精密星历(SP3)、依据产品插值器推导的模板范围给出的窗口范围连续性判定、GPS(1019)、GLONASS(1020)、Galileo(1045/1046)、BeiDou(1042)和 QZSS(1044)的 RTCM 3 广播星历解码(均已通过真实数据验证)、JPL SPK 内核、跨三类数据源的卫星状态采样、多卫星批量插值、可感知时间尺度的时间处理(UTC/TAI/TT/UT1/TDB/TCG/TCB 和 GNSS 系统时间),支持闰秒处理和调用方可更新的闰秒表与 UT1 表,以及地球定向参数(EOP)。
  • **计时和时钟:**Allan 系列稳定性分析(ADEV/MDEV/HDEV/TDEV)、采用五系数拟合的幂律时钟噪声识别(IEEE 1139),以及跨产品的时钟比较。
  • **估计和检测:**用于位置解的协方差加权轨迹滤波器(无需 IMU:几何条件较弱且协方差较宽的位置解不会使轨迹产生尖峰),带固定区间 RTS 平滑器,以及标量 Kalman 和 alpha-beta 跟踪器、创新门限检测(NIS)、MAD 统计、CFAR 检测阈值,以及根据已知传感器的到达时间进行源定位(ToA/TDOA)。
  • **大地测量和监测:**椭球上的测地正算和反算(Karney)、带历元感知功能的地球参考框架目录(包含已发布的 ITRF 和 ETRF Helmert 参数集)、测站位移修正(根据调用方提供的 BLQ 系数计算固体潮、极潮和海潮负荷)、测站速度(MIDAS)、含季节项和偏移量的轨迹拟合、阶跃检测、带共模去除的网络运动场,以及采用覆盖感知模板的重复几何(恒星日)滤波。
  • **GNSS/INS 融合:**面向真实接收机的现场模式(零速度和零角速度更新、车辆非完整约束、按定位解状态加权、IMU 到机体的安装 DCM、跨失锁时段速度匹配),以及带严格姿态积分的 ECEF 捷联惯导、采用 Joseph 形式更新的误差状态 EKF(可选 UKF)、松耦合和紧耦合(逐卫星伪距和距离率测量,单颗卫星即可有效工作)、IGG-III 松耦合更新(根据已发布方案在异常值保护下进行测量重加权和自适应预测缩放)、对记录历史进行 RTS 固定区间平滑、带检查点的延迟测量重放时间同步、可序列化滤波器状态,以及确定性 IMU 误差模拟器。由模拟器支持的测试确保现场行为符合要求:在异常值预算内,融合结果优于单独 GNSS;失锁期间的漂移不超过 IMU 级别界限;少于 4 颗卫星的时间窗口内协方差保持一致。
  • **几何和事件:**TEME/GCRS/ITRS/大地坐标/地形坐标变换(IAU/IERS)、精密地球定向旋转提供器、观测角、日蚀、RIC/RTN/LVLH 坐标系下的相对运动及 Clohessy-Wiltshire 传播、带碰撞概率(TCA/Pc)的交会筛查,以及经典和等角根数转换。
  • **观测和年历:**太阳、月球和行星的视位置(地心和地形 RA/Dec 与 az/el)、日出日落和月出月落、月球照明度、季节、月相、行星凌日、月食和日食、日下点/观测者下点与晨昏线几何、角距和位置角/相位角/β 角,以及卫星视星等。
  • **观测质量:**RINEX 观测数据质量控制(完整性、多路径、周跳),已根据标准工具链验证,并提供明确的间隔元数据处理、载波相位组合和 Hatch 平滑。
  • **仿真:**确定性场景模拟器可将该库转化为验证工具:带版本的场景及逐项误差预算会生成逐位可复现的合成观测值,以及将求解器误差归因到各预算项的真实值台账。
  • **大气和地形:**Klobuchar 和完整的 Galileo NeQuick-G 电离层模型、IONEX 网格(垂直 TEC 和斜向延迟)、对流层延迟、NRLMSISE-00 密度、支持批量探测的 DTED 地形高程查询、可内存映射的地形存储、EGM96/EGM2008 大地水准面网格,以及兼容 PROJ 9.3 的 EGM96 GTX 加载器,支持明确选择融合或分别舍入的弧度插值。
  • **射频链路和信号分析:**自由空间路径损耗、EIRP、载波噪声比(C/N0)、链路余量,以及闭式导航信号品质指标(BPSK/BOC 频谱、频谱分离系数、DLL 热噪声抖动、多路径误差包络),并已根据已发布的常数验证。
  • **格式:**TLE/OMM(Alpha-5 目录编号和 CelesTrak GP CSV/JSON)、CCSDS OEM/OPM/CDM/TDM、RINEX 观测/导航/时钟、CRINEX(Hatanaka 编码/解码)、SP3、IONEX、ANTEX、Bias-SINEX、CODE DCB、RTCM 3.x、NMEA 0183;提供宽容的解析器,以及对支持此功能的格式提供可往返序列化器。
  • **公开产品分发:**精确的 GNSS 产品标识与其直接归档、NASA CDDIS/Earthdata、本地文件或内存来源无关。无网络核心可推导官方 SP3/IONEX 名称、来源位置和抗冲突缓存路径;Python 和 Elixir 接口则提供经过身份验证的获取、验证、类型化错误和不含机密信息的来源记录。参见设计说明。 应对分析中心发布延迟:可选择跨行遍历 CODE 预测电离层(先 P1 后 P2,使用相同地图日期,来源记录注明所用行)、有界的发布状态查询(每个中心和行最新发布的期次、归档报告的发布日期文本及其相对标称时间的延迟;可区分“尚未发布”和“归档无法访问”)、无网络的下一期到期时间查询(包含精确标识以及实测/预测覆盖范围),以及纳入 IGS 组合超快速产品和武汉逐小时 MGEX NRT 产品的扩展超快速产品池。将广播星历作为韧性底线的方案已记录在设计问题中。

安装

cargo add sidereon
use sidereon::astro::passes::{look_angle, GroundStation, UtcInstant};

let line1 = "1 25544U 98067A   24001.50000000  .00016717  00000-0  10270-3 0  9009";
let line2 = "2 25544  51.6400 208.8657 0002644 250.3037 109.7782 15.49560812999990";

let elements = sidereon::astro::tle::parse(line1, line2)?.elements.to_element_set()?;
let station = GroundStation { latitude_deg: 51.5, longitude_deg: -0.1, altitude_m: 10.0 };
let when = UtcInstant::from_utc(2024, 1, 1, 12, 0, 0, 0).ok_or("bad datetime")?;

let look = look_angle(&elements, station, when)?;
println!("az {:.2} el {:.2} range {:.1} km", look.azimuth_deg, look.elevation_deg, look.range_km);

六种语言的更多可运行示例,请参阅在线演示。

命令行

此仓库提供一个二进制文件,无需编写代码即可使用:

sidereon solve --obs rover.obs --nav brdc.nav     # SPP per epoch, bounds always shown
sidereon qc --obs rover.obs                       # teqc-style observation quality report
sidereon inspect FILE [--window FROM THROUGH]     # summarize a file and optionally scope SP3 continuity
sidereon metrics --enu-cov "..."                  # CEP / DRMS / R95 / ellipse from a covariance
sidereon tui --obs rover.obs --nav brdc.nav       # replay a session in the terminal monitor
sidereon tui --ntrip host:2101 --mount MP ...     # watch a live stream solve in real time
sidereon serve-mcp                                # expose the engine to AI agents over MCP

Crate

  • sidereon-core:引擎。SGP4/SDP4 传播、坐标和时间转换、RINEX/SP3/ANTEX/OMM/RTCM 解析、广播星历和精密星历、SPP/RTK/PPP/静态/DGNSS 定位、DOP 和可见性、会合评估,以及配套的数值内核。
  • sidereon:基于 sidereon-core 的便捷 Rust 接口。产品加载器、CRINEX 编码/解码、太阳/月球天空辅助工具、大地坐标/地心坐标转换及 TLE 观测角/地面轨迹快捷工具、多普勒辅助工具,以及提供结果结构体和统一错误枚举的 SPP/RTK/PPP/静态解算。这是 Rust 接口,其对等覆盖标准与下方的绑定保持一致。
  • sidereon-cli:基于引擎的 sidereon 命令行工具:solve(根据 RINEX 进行 SPP,始终显示由协方差推导出的边界)、qc、metrics、inspect、终端解算监视器(tui),可重放已记录的 RINEX 会话,或监视实时 NTRIP/TCP RTCM 流;以及 serve-mcp,一种模型上下文协议服务,通过任务工具和类型化能力图向 AI Agent 提供引擎能力。使用 cargo build -p sidereon-cli 从此仓库构建;尚未发布到 crates.io。
  • trust-region-least-squares:独立、可单独发布的非线性最小二乘求解器,可逐位复现 SciPy 的 trust-region-reflective least_squares。它不依赖该引擎。

接口

Rust 接口是上文提到的 sidereon crate。其他语言的接口位于各自的仓库中,均基于同一个核心:

所有 Sidereon 库均以相同版本发布。新增 API 和行为变更会经过评审,确保各接口的覆盖范围一致;请参阅协调发布政策。

验证

评估结果是确定性的:相同的产品、相同的版本和相同的平台会产生完全相同的位;如果某个版本会改变现有功能的评估结果位,变更日志会注明这一点。只有测试固定了结果的情况下,跨平台位一致性才成立。

每个数值算法都会与其领域的参考实现或已发布标准进行交叉验证,而不只是与内部基准值比较。每项检查都会在测试套件中针对已提交的参考测试数据运行,并记录其来源(工具、版本、出处);许多检查都要求逐位完全一致。

能力交叉验证对象参考来源
SGP4 / SDP4 传播Vallado / CelesTrak 验证状态Vallado、Crawford、Hujsak 和 Kelso,Revisiting Spacetrack Report #3,AIAA 2006-6753
坐标系、时间、星历(TEME/GCRS/ITRS、IAU 2006/2000A)固定版本的 Skyfield 向量(底层使用 ERFA/SOFA 例程)IAU SOFA / ERFA
地球定向IERS 地球定向参数Petit 和 Luzum(编),IERS Conventions (2010),IERS TN 36
最小二乘引擎(TRF)SciPy least_squares,位级精确Virtanen 等,SciPy 1.0,Nature Methods 17 (2020)
GNSS 定位(SPP / RTK / PPP)RTKLIB 标准测试数据流和真实 IGS 精密产品RTKLIB;International GNSS Service (IGS)
大地水准面起伏(EGM96 15 角分)PROJ(us_nga_egm96_15),精度达 5 mmPROJ
RINEX 观测质量控制 — 多路径(MP1/MP2)对真实采集数据流运行 teqc +qc,精度达亚微米级teqc
RTCM MSM 锁定时间到 RINEX LLI 的转换使用 RTKLIB convbin 解码真实 MSM 数据流RTKLIB
RTCM 3 MSM1..MSM7、传统格式 1001..1004 / 1009..1012、NavIC 1041、GLONASS 1230 和 IGS SSR 4076 解码使用 RTKLIB decode_rtcm3 解码真实多星座数据流及 RTKLIB 编码数据流,逐位完全一致RTKLIB
RTCM 3 SSR 1057..1270 和 IGS SSR 4076(包括所有子类型及 VTEC)的解码使用 BNC SSR 解码器解码 BNC 编码、RTKLIB 编码和真实 IGS SSR 数据流,逐位完全一致BKG NTRIP Client (BNC)
RTCM 3 网络 RTK 和转换消息(1014-1017、1021-1027、1030-1032、1034、1035、1037-1039)pyrtcm 消息布局,逐字段验证pyrtcm

各 crate 的测试套件记录了确切的参考来源、测试数据和容差。 Python oracle 版本固定说明记录了跨版本 FITPACK 和伪逆检查,以及由此确立的测试数据重新生成规则。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。