一、定位系统的选择和数据获取
1、市面上可以选择多种多样的定位系统,此处以千寻位置为例:
2、下载串口调试助手(sscom5.13),将设备连接好,使用usb插入电脑端会自动获取GPS数据,此时数据是存在误差,需要找厂家进行账号密码配置(直接找他们要教程,不是专业的人使用配置会比比较麻烦)
二、GPS数据介绍:
1、GAPGGA数据:
格式:
G
P
G
G
A
,
044744.00
,
3122.4658
,
N
,
12025.2791
,
E
,
1
,
10
,
3.00
,
12.575
,
M
,
7.100
,
M
,
00
,
0000
∗
5
F
解析说明:字段
0
:
GPGGA,044744.00,3122.4658,N,12025.2791,E,1,10,3.00,12.575,M,7.100,M,00,0000*5F 解析说明: 字段0:
GPGGA,044744.00,3122.4658,N,12025.2791,E,1,10,3.00,12.575,M,7.100,M,00,0000∗5F解析说明:字段0:GPGGA,语句ID,表明该语句为Global Positioning System Fix Data(GGA)GPS定位信息
字段1:UTC 时间,hhmmss.sss,时分秒格式
字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段3:纬度N(北纬)或S(南纬)
字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段5:经度E(东经)或W(西经)
字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算
字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0)
字段8:HDOP水平精度因子(0.5 - 99.9)
字段9:海拔高度(-9999.9 - 99999.9)
字段10:地球椭球面相对大地水准面的高度
字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
字段12:差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空)
字段13:校验值
2、GPRMC数据:
格式:
G
P
R
M
C
,
044838.00
,
A
,
3122.4658
,
N
,
12025.2799
,
E
,
0.257
,
261.7
,
180921
,
0.0
,
E
,
A
∗
3
B
解析说明:字段
0
:
GPRMC,044838.00,A,3122.4658,N,12025.2799,E,0.257,261.7,180921,0.0,E,A*3B 解析说明: 字段 0:
GPRMC,044838.00,A,3122.4658,N,12025.2799,E,0.257,261.7,180921,0.0,E,A∗3B解析说明:字段0:GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息
字段 1:UTC时间,hhmmss.sss格式
字段 2:状态,A=定位,V=未定位
字段 3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段 4:纬度N(北纬)或S(南纬)
字段 5:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段 6:经度E(东经)或W(西经)
字段 7:速度,节,Knots(一节也是1.852千米/小时)
字段 8:方位角,度(二维方向指向,相当于二维罗盘)
字段 9:UTC日期,DDMMYY格式
字段10:磁偏角,(000 - 180)度(前导位数不足则补0)
字段11:磁偏角方向,E=东,W=西
字段12:模式,A=自动,D=差分,E=估测,N=数据无效(3.0协议内容)
字段13:校验
三、数据转换
1、ddmm.mmmm(度分)转换成常用坐标dd.ddddd
以GAPGGA为例:
GPS NMEA采集到的经度和纬度格式分别是
纬度ddmm.mmmmm(度分)
经度dddmm.mmmmm(度分)
其中dd是度数,mm.mmmmm是分数。
但实际如果想要在百度地图或Google地图中显示,则需要dd.mmmm和ddd.mmmm
其中dd.mmmm和ddd.mmmm全是度数。
因此,把ddmm.mmmmm中的分数转换为度数即可(1度=60分)。下面是转换算法:
转换后的纬度 = dd + (mm.mmmm/60)
转换后的经度 = ddd + (mm.mmmm/60)
如:
ddmm.mmmm格式的一个坐标3958.2399
转换后的纬度 =39+58.2399/60=39.970665
四、精度测试:
1、打开具有经纬度的地图
我推荐一个连接 https://www.earthol.com/
2、输入自己的经纬度信息进行测试