协议 / 二进制序列化

NMEA 解析读懂接收器输出的每一行

粘贴采集到的文本日志,查看句型、字段含义与逐行诊断。

NMEA 解析

NMEA 日志

语句详情

请输入日志或试用示例。

日志在当前浏览器内处理,不上传或保存。

解析选项

具名字段:GGA、RMC、GLL、GSA、GSV、VTG 和 ZDA。

换算坐标只是数值解释,不能视为导航许可。请同时检查校验和及定位诊断。

请输入日志或试用示例。

接收器明明在输出数据,程序却读错经纬度或漏掉卫星字段时,可以用 NMEA 解析核对原始记录。结果将字段序号、原值和解释放在一起,空字段不会被当成零,错误行也不会从批量报告中消失。

为什么使用 NMEA 解析

混合日志仍能逐行追溯

NMEA 解析为每个非空物理行保留独立记录。已知句型、厂商私有消息和错误文本都能回到原行核对;中间的空行不会改变后续行号,便于对照采集文件定位问题。

混合语句日志被逐行拆成记录,其中未知语句完整保留原始字段。

坐标值与可信程度分别检查

算出十进制度坐标并不表示获得了有效定位。校验和状态、接收器的数据状态及坐标换算分别呈现,即使字段能够读取,校验不匹配也不会被一个成功标记遮住。

度分坐标先拆开再换算,旁边独立显示校验通过与不匹配的标记。

避免逗号拆分后的三类误读

01

不要删除空字段

每行放一条语句,保留连续逗号。GSA 的卫星槽位固定为十二个,先过滤空串再读取 DOP 会造成错位。原始字段序号可以直接用来核对接收器手册。

02

把缺失校验与通过区分开

NMEA 校验和始终参与检查。没有星号后缀时标记为未经验证,收到值错误时保留期望值与实际值。工具不会自动补全或修复后缀。

03

确认刷新时机与导出范围

默认停止输入 350 ms 后更新。关闭自动解析后可用主按钮或 Ctrl/Cmd + Enter 执行。结果过期时禁用导出,显示更多只影响页面,JSON 报告包含整批记录。

字段、状态和原文一起看

覆盖七种常用句型

GGA、RMC、GLL 展示位置相关字段;GSA 保留卫星槽位和 DOP;GSV 展示单帧卫星组;VTG 读取航迹与速度;ZDA 检查完整日期。

不混淆两类状态

RMC 前部的数据状态与末尾导航状态分别命名。数据状态 V 提示无效数据,而末尾 navStatus 的 V 不会被误当作同一个定位标志。

经纬度换算保留依据

纬度采用 ddmm,经度采用 dddmm,后面可带小数分。按分钟除以 60 换算,并验证方向、分钟及极值范围;原始数值仍可对照检查。

未知字段不猜含义

NMEA 语句解析保留基站编号、卫星编号的前导零。可选的模式、系统和信号字段按位置读取,额外字段仅编号保留,不套用厂商未公开的解释。

可以诊断什么,哪些信息不足

公开手册中的有限布局
具名解析只覆盖列出的七类字段布局,不宣称完整标准认证。未知标准句、厂商私有句以及感叹号封装保留原文,不解码 AIS 载荷、NMEA 2000 或二进制协议。
不拼接日期和卫星帧
RMC 两位年份不猜世纪,GGA、GLL 不借用上一句日期。GSV 分片独立展示,不能把相邻语句自动当成同一时刻的卫星全集,也不绘制轨迹。
不判断导航可用性
未定位或数据无效会给出诊断。坐标换算不转换基准,不推断所有接收器都使用 WGS84;GGA 的平均海平面高程也不会自动变成椭球高。
日志片段有明确上限
整段输入最多 1 MiB、5,000 个非空行,超限则停止本次解析,不截断报告。单行超过 4,096 字符会保留该行并报错,其余行继续处理。
只读分析已采集文本
不访问串口、网络日志或接收器,不改写校验和,不删除错误记录。导出的 JSON 包含原文和诊断,适合复查,不直接作为导航或安全控制输入。

NMEA 解析常见问题

怎样把坐标换算成十进制度?

小数点前最后两位及其后的小数是分,前面的数位是度。用度加分除以 60,南纬和西经再取负号。结果同时保留原字段,便于确认方向是否正确。

GPGGA 是什么意思?

GP 是发送方标识,GGA 是位置数据句型。GN 常见于多星座输出。解析时读取标准地址末尾的三位句型,不要求所有日志都使用 GP 前缀。

校验和是怎样检查的?

对起始符与星号之间的 ASCII 字符逐字异或,逗号参与运算,起始符、星号和行结束符不参与。结果与后面的两位十六进制值比较;匹配不能证明坐标准确。

支持哪些语句类型?

GGA、RMC、GLL、GSA、GSV、VTG、ZDA 有具名字段。其他句型只要能够拆开封装,仍会留下地址、字段序号及原始文本,不会从报告中静默过滤。

为什么有些语句只有时间,没有完整日期?

GGA 和 GLL 本来就没有日期字段。这里不补上本机日期,也不跨行借用日期。RMC 保留两位年,ZDA 提供四位年时才显示明确的日历日期。

有字段解释不符合预期?

核对下一段接收器日志

回到 NMEA 解析查看下一段采集记录。先按字段序号核对原值和错误原因,再决定是否调整接收器设置。