跳到主要内容

RNX2RTCM -- RINEX 转 RTCM 转换工具

适用场景把历史 RINEX 数据转换为 RTCM3 流,用于回放、测试和 NTRIP 分发。
运行方式独立命令行工具,重点控制时间窗、采样间隔、站点 ID 和消息类型。
推荐下一步先用短时间窗口生成小文件验证,再扩大到整天或批量转换。

RNX2RTCM 是 RTKHUB 工具链中的 RINEX 到 RTCM3 格式转换模块,基于 RTKLIB rnx2rtcm 构建。它将 RINEX 观测数据和导航电文转换为 RTCM3 消息流,支持时间窗口控制、多种 RTCM 消息类型和采样间隔设置。

核心特性

  • 时间窗口转换 -- 支持指定起止时间和采样间隔,精确控制输出范围
  • 多种 RTCM 消息类型 -- 支持 MSM4/5/6/7 观测值、导航电文、天线信息等多种消息格式
  • 采样间隔控制 -- 可自定义输出 RTCM 数据的采样频率
  • 灵活的输入选项 -- 支持 RINEX 观测文件和导航电文,可按系统过滤
当前状态

RNX2RTCM 是独立的命令行转换工具,常用于将 RINEX 后处理数据转换为实时 RTCM 格式,以便通过 NTRIP 服务分发或用于回放测试。

启动参数

.\rnx2rtcm.exe -ts 2026/05/31 00:00:00 -te 2026/05/31 23:59:59 -ti 1 -out test.rtcm -typ 1074,1084 obs.rnx nav.rnx
参数说明
-ts <date> <time>起始时间(GPST),格式如 2026/05/31 00:00:00
-te <date> <time>结束时间(GPST),格式如 2026/05/31 23:59:59
-ti <sec>采样间隔(秒),如 1 表示每秒输出一个 RTCM 帧
-sta <id>RTCM 站点 ID(1-4095),用于标识基准站
-out <file>输出 RTCM 文件路径
-typ <list>RTCM 消息类型(逗号分隔,如 1074,1084,1124
-opt <options>RTCM 编码器选项
-rnxopt <options>RINEX 读取选项(如 -SYS=C 表示仅读取 BDS 数据)
-x <level>调试跟踪级别(0=关闭, 1=错误, 2=警告, 3=信息, 4=调试)
提示

-sta 参数设置的站点 ID 会嵌入到输出的 RTCM 消息中,接收端通过此 ID 识别基准站来源。如果不需要特定 ID,可使用默认值。

使用示例

基本转换

将 RINEX 观测数据和导航电文转换为 RTCM 文件:

.\rnx2rtcm.exe -ts 2026/05/31 00:00:00 -te 2026/05/31 23:59:59 -ti 1 -out output.rtcm -typ 1074,1084,1124 obs.rnx nav.rnx

指定站点 ID 和采样间隔

自定义站点 ID 并以 30 秒间隔输出:

.\rnx2rtcm.exe -ts 2026/05/31 00:00:00 -te 2026/05/31 23:59:59 -ti 30 -sta 1001 -out basestation.rtcm -typ 1074,1077,1084,1087,1124,1127 obs.rnx nav.rnx

仅转换特定系统数据

使用 -rnxopt 过滤,仅处理 BDS 系统数据:

.\rnx2rtcm.exe -ts 2026/05/31 00:00:00 -te 2026/05/31 23:59:59 -ti 1 -rnxopt -SYS=C -out bds_only.rtcm -typ 1124 obs.rnx nav.rnx

同时输出导航电文和观测值

.\rnx2rtcm.exe -ts 2026/05/31 00:00:00 -te 2026/05/31 23:59:59 -ti 1 -out full.rtcm -typ 1074,1084,1124,1005,1019,1020,1046,1121 obs.rnx nav.rnx

RTCM 消息类型参考

RNX2RTCM 支持以下主要 RTCM3 消息类型:

MSM 观测值消息

消息类型系统说明
1074GPSGPS MSM4 观测值(压缩格式)
1075GPSGPS MSM5 观测值
1076GPSGPS MSM6 观测值
1077GPSGPS MSM7 观测值(完整格式)
1084GLONASSGLONASS MSM4 观测值
1085GLONASSGLONASS MSM5 观测值
1086GLONASSGLONASS MSM6 观测值
1087GLONASSGLONASS MSM7 观测值
1094GalileoGalileo MSM4 观测值
1095GalileoGalileo MSM5 观测值
1096GalileoGalileo MSM6 观测值
1097GalileoGalileo MSM7 观测值
1124BDSBDS MSM4 观测值
1125BDSBDS MSM5 观测值
1126BDSBDS MSM6 观测值
1127BDSBDS MSM7 观测值

导航电文消息

消息类型系统说明
1019GPSGPS 导航电文(星历)
1020GLONASSGLONASS 导航电文
1046GalileoGalileo 导航电文
1121BDSBDS 导航电文

其他消息

消息类型说明
1005基准站坐标(RTCM 固定天线坐标)
1006基准站坐标与天线高度
1033接收机与天线描述信息
注意

MSM4 和 MSM7 是最常用的两种观测值格式。MSM4 为压缩格式,文件体积较小;MSM7 为完整格式,包含所有观测值和精度信息。选择时需在精度和文件大小之间权衡。

输入文件说明

文件类型格式说明
观测文件RINEX 2.x/3.x包含伪距、载波相位、多普勒等观测数据
导航电文RINEX NavGPS/GLONASS/Galileo/BDS 卫星星历数据
信息

输入文件的时间范围应覆盖 -ts-te 指定的时间窗口。未覆盖的历元将被跳过,不会产生输出。

输出文件说明

输出文件为标准 RTCM3 二进制格式,可直接用于:

  • NTRIP 服务的数据分发
  • RTK 接收机的回放测试
  • 数据流转发(通过 STRHUB)

典型使用场景

创建 RTCM 测试数据

将 RINEX 后处理数据转换为 RTCM 格式,用于测试 NTRIP 服务或 RTK 接收机:

.\rnx2rtcm.exe -ts 2026/05/31 00:00:00 -te 2026/05/31 06:00:00 -ti 1 -sta 2001 -out test_data.rtcm -typ 1074,1084,1124,1005 obs.rnx nav.rnx

RINEX 转实时 RTCM 格式

将历史 RINEX 数据转换为实时 RTCM 消息流,通过 STRHUB 进行数据转发或回放:

.\rnx2rtcm.exe -ts 2026/05/31 00:00:00 -te 2026/05/31 23:59:59 -ti 1 -out realtime.rtcm -typ 1074,1077,1084,1087,1124,1127 obs.rnx nav.rnx

批量转换数据

对多天 RINEX 数据进行批量 RTCM 转换,生成标准化的 RTCM 文件:

.\rnx2rtcm.exe -ts 2026/05/31 00:00:00 -te 2026/06/01 00:00:00 -ti 30 -out batch_output.rtcm -typ 1074,1084,1124 obs_rnx3.03.obs brdc.nav
提示

对于大批量 RINEX 到 RTCM 的转换任务,建议通过 RTKHUB 平台的 Web 界面进行调度,支持批量文件管理和进度监控。

注意事项

  • 时间参数 -ts-te 使用 GPST(GPS 时间),不是 UTC 时间,两者存在闰秒差异
  • 输出的 RTCM 消息流为标准 RTCM3 二进制协议,可被任何 RTCM3 兼容接收器解析
  • -rnxopt 参数可传递任意 RINEX 读取选项,格式与 RTKLIB rnx2rtcm 命令行一致