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 观测值消息
| 消息类型 | 系统 | 说明 |
|---|---|---|
| 1074 | GPS | GPS MSM4 观测值(压缩格式) |
| 1075 | GPS | GPS MSM5 观测值 |
| 1076 | GPS | GPS MSM6 观测值 |
| 1077 | GPS | GPS MSM7 观测值(完整格式) |
| 1084 | GLONASS | GLONASS MSM4 观测值 |
| 1085 | GLONASS | GLONASS MSM5 观测值 |
| 1086 | GLONASS | GLONASS MSM6 观测值 |
| 1087 | GLONASS | GLONASS MSM7 观测值 |
| 1094 | Galileo | Galileo MSM4 观测值 |
| 1095 | Galileo | Galileo MSM5 观测值 |
| 1096 | Galileo | Galileo MSM6 观测值 |
| 1097 | Galileo | Galileo MSM7 观测值 |
| 1124 | BDS | BDS MSM4 观测值 |
| 1125 | BDS | BDS MSM5 观测值 |
| 1126 | BDS | BDS MSM6 观测值 |
| 1127 | BDS | BDS MSM7 观测值 |
导航电文消息
| 消息类型 | 系统 | 说明 |
|---|---|---|
| 1019 | GPS | GPS 导航电文(星历) |
| 1020 | GLONASS | GLONASS 导航电文 |
| 1046 | Galileo | Galileo 导航电文 |
| 1121 | BDS | BDS 导航电文 |
其他消息
| 消息类型 | 说明 |
|---|---|
| 1005 | 基准站坐标(RTCM 固定天线坐标) |
| 1006 | 基准站坐标与天线高度 |
| 1033 | 接收机与天线描述信息 |
注意
MSM4 和 MSM7 是最常用的两种观测值格式。MSM4 为压缩格式,文件体积较小;MSM7 为完整格式,包含所有观测值和精度信息。选择时需在精度和文件大小之间权衡。
输入文件说明
| 文件类型 | 格式 | 说明 |
|---|---|---|
| 观测文件 | RINEX 2.x/3.x | 包含伪距、载波相位、多普勒等观测数据 |
| 导航电文 | RINEX Nav | GPS/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 命令行一致