3,gps定位原理及格式

1 gps定位原理ios

gps是美国开发的一套实时定位系统。在导航应用中,重点关注的是用户的gps接受机,根据接收机的数据从而获取当前的位置和时间信息。大概了解下定位原理:算法

因为咱们是用于上位机的开发,接收器遵照的是NMEA0183协议,某种程度上咱们经过协议直接获得当前所在的经纬度信息。
首先咱们必需要了解的是地球的参考坐标系,以便于咱们使用地图时把获得的坐标转换成导航所使用的坐标系。NMEA0183使用的参考坐标系是WGS-84坐标系。
其次,必须了解三颗卫星能够定位,另一颗卫星是为了消除偏差,因此咱们一般须要4颗卫星来进行定位。因为如今使用的gps芯片是遵照nmea0183协议,因此会直接给出当前的经纬度信息,因此具体的算法请参考相关文档。

2 gps数据获取spa

gps信息一般由读取串口而得到。因为会不停的从串口获得gps信息,因此在导航系统中须要另外开一个线程去获取数据。
另外在不一样的系统中咱们须要采起不一样的策略去获取gps数据,例如在wince中咱们能够直接读取串口信息,而在Android和ios中咱们能够直接经过其系统上层API直接传递gps信息给导航引擎。

 

3 gps数据分析线程

一般咱们从串口会读出如下数据:
$GPGGA,235949.042,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*45  
$GPGLL,0000.0000,N,00000.0000,E,235949.042,V,N*47  
$GPGSA,A,1,,,,,,,,,,,,,,,*1E  
$GPGSV,1,1,00*79  
$GPRMC,235949.042,V,0000.0000,N,00000.0000,E,,,140209,,,N*7E  
$GPVTG,,T,,M,,N,,K,N*2C 
因此必须分析如下协议
$GPGGA、$GPGLL、$GPGSA、$GPGSV、$GPRMC、$GPVTG。具体协议分析能够参考相关资料。通常来讲,咱们须要获取当前的经纬度信息,当前时间。另外为了给客户展现当前的gps状态,须要获取当前接受到卫星的颗数,用来判断信号的强弱等等。
相关文章
相关标签/搜索