NMEA 解析器
把 GPS 的 NMEA 语句解读成坐标、速度与 GeoJSON,并校验校验和。
NMEA 解析器完全在你的浏览器中运行:GPS 日志在本机解析,位置历史不会离开设备。
打开 GPX 查看器
关于 NMEA 解析器
几乎所有 GPS 接收机都讲 NMEA 0183:以逗号分隔的语句,开头是发送方标识和语句类型,结尾是异或校验和。用眼睛读既费劲又容易出错,最主要的原因是坐标以度和十进制分的形式给出,而不是十进制度。字段 4807.038,N 表示 48.1173 度,而不是 48.07 度,弄混这一点就是把点画到别的国家的经典方式。这个解析器把 GGA、RMC、GLL、VTG、GSA、GSV 与 ZDA 展开成可读的表格,并把轨迹导出为 GeoJSON。
功能特性
- 解析 GGA、RMC、GLL、VTG、GSA、GSV 与 ZDA 语句
- 正确地把度与十进制分换算为十进制度
- 校验每行的异或校验和并标出不一致
- 显示时间、海拔、速度、航向、定位质量与卫星数
- 把定位点导出为 GeoJSON 轨迹以及逐点要素
- 统计接收机发送的语句类型
如何使用 NMEA 解析器
- 粘贴接收机日志,每行一条语句
- 阅读解析结果表格,校验和错误会被标记
- 切换到 GeoJSON,把轨迹当作几何查看
- 下载 GeoJSON,在地图或 GIS 中打开
示例
输入
$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47
输出
48.117300, 11.516667 · 12:35:19 UTC
GPS fix · 8 satellites · 545.4 m altitude
4807.038 是 48° 07.038′,也就是 48.1173°,而不是 48.07°——这个误读会让点偏出 50 公里。
常见错误与故障排除
- 位置偏出几十公里。 — 把度分字段当成十进制度读了。小数点前除最后两位以外是度,其余是分,需要除以 60。
- 某些语句校验和不通过。 — 该行被截断,或串口丢了字节。校验和是美元符号与星号之间所有字符的异或。
常见问题
- 什么是 NMEA 0183?
- GPS 与船用电子设备通过串口发送数据的标准语句格式:美元符号、两字母发送方标识、三字母语句类型,以及逗号分隔的字段。
- 怎样把 NMEA 坐标换算成十进制度?
- 拆成度和分:小数点前除最后两位外都是度,其余是分。分除以 60 后相加,南纬或西经再取负。
- GPGGA 是什么意思?
- GP 是 GPS 发送方标识,GGA 是定位数据语句,包含时间、位置、定位质量、卫星数、HDOP 与海拔。
- 我的 GPS 日志会被上传吗?
- 不会。日志在你的浏览器中解析,因此关于你去过哪里的数据会留在本机。
相关工具
- GPX 查看器 — 在地图上打开 GPX 轨迹,读取距离与海拔,并导出 GeoJSON。
- 坐标转换器 — 在十进制度、DMS 与度分(DDM)之间双向转换经纬度。
- GPX 转 GeoJSON — 在你的浏览器中双向转换 GPX 与 GeoJSON——GPS 轨迹、路线和航点始终留在你的设备上。
- GeoJSON 查看器 — 校验 GeoJSON、在地图上预览,并查看要素与边界框摘要。
- 坐标距离 — 测量两个经纬度点之间的大圆距离、方位角与中点。
- 地图瓦片计算器 — 坐标、XYZ、TMS 与 quadkey,附瓦片数量。
全部 ArrayKit 工具