1. 观察原始数据
提供的GPGGA数据,TXT格式,共15列,以逗号分隔:
根据查询的资料(百度百科-GPGGA)显示,字段含义如下:
$GPGGA 语句包括17个字段:语句标识头,世界时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,水平精确度,海拔高度,高度单位,大地水准面高度,高度单位,差分GPS数据期限,差分参考基站标号,校验和结束标记(用回车符 和换行符 ),分别用14个逗号进行分隔。该数据帧的结构及各字段释义如下:
2. 数据处理
以原始数据的一行为例:
$GNGGA,000233.00,4050.24926,N,12026.77689,E,1,09,0.96,165.1,M,3.2,M,*7E
- 在整个文档的第一行加入对应的字段名称:
语句标识头,世界时间,纬度,纬度半球,经度,经度半球,定位质量指示,使用卫星数量,水平精确度,海拔高度,高度单位,大地水准面高度,高度单位,差分GPS数据期限,差分参考基站标号
- 为方便进一步处理,建议将文档另存为csv格式,UTF-8编码
- 使用 Excel 打开 csv,这一步是因为 excel 比较好对数据做统一的简单计算(比如某一列都除以100之类的)
2.1 经纬度处理
C和E分别为经纬度,在现有数据基础上除以100:
2.2 时间戳处理
把B列,UTC时间,也除以100,变成小数 2.33。
hhmmss.sss 小时、分钟、秒 这个格式,000233.00 等同于 2分23秒,出于后期编程的需要,老板要求转换为:hh:mm:ss格式,即 2.33 转化为 00:02:23 这个格式转换。我写了个python代码解决