3. 轨迹记录设备与数据格式

农机作业轨迹的采集质量,首先取决于前端记录设备的选择与配置,其次取决于对输出数据格式的理解深度。同一块田、同一台机组,用不同终端记录,得到的轨迹在采样密度、坐标精度、字段完整度上可能差异明显。本节围绕三类常见终端展开,并重点讲清 NMEA、CSV、JSON 三种数据格式的字段含义与解析方法。

三类常见记录终端及其特点

车载终端是农机作业监测的主流设备,通常集成 GNSS 板卡、4G 通信、CAN 总线接口和存储模块,直接取电于拖拉机或收割机。它的优势在于能同步采集机具状态:通过 CAN 或 ISOBUS 读取 PTO 转速、作业幅宽、割台升降、发动机负荷等信号,使轨迹点不仅含位置,还含"是否在作业"的判断依据。车载终端一般以固定频率(如 1 Hz 或 5 Hz)输出定位数据,并支持断网本地缓存、联网补传。

智能手机成本最低、部署最快,依靠内置 GNSS 与定位 API 记录轨迹。其短板是定位精度受手机天线与省电策略影响,采样间隔常被系统动态拉长,且难以直接获取机具作业状态。适合小地块踏勘、临时作业统计或作为车载终端的补充。

专用记录仪指面向测绘、深松监测、播种监控等场景的高精度记录设备,可外接 RTK 差分、姿态传感器和多种传感器接口,采样率高、原始观测数据保留完整,但价格与安装复杂度也最高。

终端 → 采集信号 → 输出格式 链路对比 车载终端 GNSS + 4G + CAN/ISOBUS 1–5 Hz,断网缓存补传 智能手机 内置 GNSS + 定位 API 间隔动态,精度一般 专用记录仪 RTK + 姿态 + 多传感器 高采样率,原始数据完整 采集信号 经纬度 / 高程 · 速度与航向 · UTC 时间 · PTO 转速 · 割台或机具升降 · 作业幅宽 · 发动机负荷 NMEA 0183 $GPGGA / $GPRMC 度分格式、校验和 定位质量与卫星数 适合原始定位流 CSV 表头 + 逐行记录 时间、经纬度、速度 作业状态、幅宽 适合表格统计与入库 JSON 嵌套对象与数组 设备、任务、轨迹点 可带扩展字段 适合平台接口传输

NMEA 0183:原始定位语句的读法

NMEA 是 GNSS 接收机最通用的输出协议,以 ASCII 语句逐行输出,每条语句以 $ 开头、以 * 加两位十六进制校验和结尾。轨迹记录中最常用的是 GGA 与 RMC 两条语句。GGA 提供定位时刻、纬度、经度、定位质量、卫星数、水平精度因子和海拔;RMC 提供日期时间、位置、地面速度和航向。

解析 NMEA 有两个易错点。第一,经纬度采用"度分"格式而非十进制度,例如 3430.1234 表示 34°30.1234′,需换算为 34 + 30.1234/60 ≈ 34.5021°;南纬、西经由字段中的 S、W 标识为负值。第二,定位质量字段为 0 时表示无效定位,为 4 时表示 RTK 固定解,为 5 时表示 RTK 浮动解,只有质量达标的数据点才应进入作业面积计算。

$GPGGA,032145.00,3430.1234,N,10845.6789,E,4,18,0.8,412.3,M,-22.1,M,1.2,0000*6A
$GPRMC,032145.00,A,3430.1234,N,10845.6789,E,5.42,87.6,150420,,,D*5C

以 GGA 为例,按逗号切分后:第 2 字段为 UTC 时间 03:21:45,第 3、4 字段为纬度及其半球,第 5、6 字段为经度及其半球,第 7 字段定位质量为 4(RTK 固定解),第 8 字段卫星数 18,第 10 字段高程 412.3 m。RMC 中的 5.42 为地面速度(节),换算为 km/h 需乘 1.852,约 10.0 km/h;87.6 为航向角,以正北为 0°、顺时针为正。

CSV:面向统计的表格化记录

CSV 是作业统计与入库最常用的格式,首行为表头,其后每行一个轨迹点。字段设计应覆盖时间、位置、运动状态和作业状态四类信息。下面是一份示例表头与两行记录(示例数据,仅用于说明字段结构):

timestamp,lat,lon,speed_kmh,heading_deg,fix_quality,pto_rpm,header_up,width_m
2024-04-15T03:21:45Z,34.50206,108.76132,10.0,87.6,4,540,1,3.6
2024-04-15T03:21:46Z,34.50208,108.76135,10.1,87.9,4,538,1,3.6

解析 CSV 时,时间字段建议统一为 ISO 8601 的 UTC 格式,避免跨时区与夏令时混乱;header_up 用 1/0 表示割台或机具是否放下,是区分"在作业"与"在转移"的关键;width_m 为作业幅宽,用于面积估算。若某行 fix_quality 为 0 或 header_up 为 0,该点通常不计入有效作业面积。CSV 的缺点是缺少层级结构,设备信息、任务信息只能靠额外列或文件名承载。

JSON:带结构的平台交换格式

JSON 适合平台接口传输,能把设备、任务与轨迹点组织成嵌套结构,并保留扩展字段。典型结构如下(示例):

{
  "device_id": "TRK-0217",
  "task_id": "T20240415-03",
  "crs": "WGS84",
  "points": [
    {"t": "2024-04-15T03:21:45Z", "lat": 34.50206, "lon": 108.76132,
     "spd": 10.0, "hdg": 87.6, "fix": 4, "pto": 540, "up": 1, "w": 3.6}
  ]
}

解析 JSON 时要注意三点:一是明确坐标参考系字段(如 crs),WGS84 与 CGCS2000 在多数农机作业精度下差异很小,但若接入 RTK 差分或与地块矢量叠加,必须核对基准;二是时间字段的时区约定;三是 points 数组可能很大,宜采用流式解析或分批入库,避免一次性载入内存。

三种格式并非互斥:车载终端常以 NMEA 作为底层定位流,内部转换为 CSV 本地存储,联网时再封装为 JSON 上传平台。理解这条"原始流—本地表—平台对象"的转换链,排障时就能快速定位问题出在定位、存储还是传输环节。

格式选择与解析要点

格式主要用途解析关键点常见问题
NMEA原始定位流、精度诊断度分转十进制、校验和、定位质量误把度分当十进制度
CSV本地存储、统计入库表头一致性、时间格式、作业状态列缺表头或列顺序变动
JSON平台接口、结构化传输坐标参考系、时区、大数组分批字段嵌套层级不统一

实际作业中,建议在数据入库前先做一次格式体检:抽样检查定位质量分布、时间戳是否单调递增、经纬度是否落在合理范围、作业状态列是否存在长时间不变。这些检查能提前暴露设备掉线、天线遮挡、时间未同步等问题,为后续轨迹清洗和质量分析打好基础。