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狀態,須要獲取當前接受到衛星的顆數,用來判斷信號的強弱等等。
相關文章
相關標籤/搜索