c语言gps数据类型,GPS数据格式
該協議信息包括GGA位置測定系統的定位資料、GSV導航衛星資料、RMC導
航衛星特定精簡資料、VTG方向及速度等相關資料。這里以接收GGA數據為例,
給出的格式如下:
$GPGGA,
hhmmss,dddmm.mmmm,a,dddmm.mmmm,a,x,xx,x.x,x.x,M,,M,x.x,xxxx*CS
例:$GPGGA,033744,2446.5241,N,12100.1536,E,1,10,0.8,133.4,M,,,,*1F
表1所列是其具體說明。通過表1便可讀出上面例子中的位置信息為:北緯24
度46.5241分,西經12l度00.1536分,格林威治時間為:3點37分44秒
GPS?數據格式
GPS
a.GPS固定數據輸出語句($GPGGA)
這是一幀GPS定位的主要數據,也是使用最廣的數據。
$GPGGA 語句包括17個字段:語句標識頭,世界時間,緯度,緯度半球,經
度,經度半球,定位質量指示,使用衛星數量,水平精確度,海拔高度,高度單
位,大地水準面高度,高度單位,差分GPS數據期限,差分參考基站標號,校
驗和結束標記(用回車符和換行符),分別用14個逗號進行分隔。該
數據幀的結構及各字段釋義如下:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<
CR>
$GPGGA:起始引導符及語句格式說明(本句為GPS定位數據);
<1>?UTC時間,格式為hhmmss.sss;
<2>?緯度,格式為ddmm.mmmm(第一位是零也將傳送);
<3>?緯度半球,N或S(北緯或南緯)
<4>?經度,格式為dddmm.mmmm(第一位零也將傳送);
<5>?經度半球,E或W(東經或西經)
<6>?定位質量指示,0=定位無效,1=定位有效;
<7>?使用衛星數量,從00到12(第一個零也將傳送)
<8>?水平精確度,0.5到99.9
<9>?天線離海平面的高度,-9999.9到9999.9米
M 指單位米
<10> 大地水準面高度,-9999.9到9999.9米
M 指單位米
<11> 差分GPS數據期限(RTCM SC-104),最后設立RTCM傳送的秒數量
<12>?差分參考基站標號,從0000到1023(首位0也將傳送)。 * 語句結束標志符
xx 從$開始到*之間的所有ASCII碼的異或校驗和
回車
換行
b.可視衛星狀態輸出語句($GPGSV)
例2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21,
078,44,17,36,313,42*78
標準格式:?$GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),
(7)*hh(CR)(LF)
各部分含義為:
(1)總的GSV語句電文數;2;
(2)當前GSV語句號:1;
(3)可視衛星總數:08;
(4)衛星號:06;
(5)仰角(00~90度):33度;
(6)方位角(000~359度):240度;
(7)信噪比(00~99dB):45dB(后面依次為第10,16,17號衛星的信息);
*總和校驗域;
hh
總和校驗數:78;
(CR)(LF)回車,換行。
注:每條語句最多包括四顆衛星的信息,每顆衛星的信息有四個數據項,即:
(4)-衛星號,(5)-仰角,(6)-方位角,(7)-信噪比。
c.當前衛星信息($GSA)
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>
<1>模式 :M = 手動, A = 自動。
<2>定位型式 1 = 未定位, 2 = 二維定位, 3 = 三維定位。
<3>PRN 數字:01 至 32 表天空使用中的衛星編號,最多可接收12顆衛星信
息。
<4> PDOP位置精度因子(0.5~99.9)
<5> HDOP水平精度因子(0.5~99.9)
<6> VDOP垂直精度因子(0.5~99.9)
<7> Checksum.(檢查位).
d.推薦定位信息(RMC)
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1> UTC時間,hhmmss(時分秒)格式
<2> 定位狀態,A=有效定位,V=無效定位?<3>
緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸)
<4> 緯度半球N(北半球)或S(南半球)
<5> 經度dddmm.mmmm(度分)格式(前面的0也將被傳輸)
<6> 經度半球E(東經)或W(西經)
<7> 地面速率(000.0~999.9節,前面的0也將被傳輸)
<8>
地面航向(000.0~359.9度,以真北為參考基準,前面的0也將被傳輸)
<9> UTC日期,ddmmyy(日月年)格式
<10> 磁偏角(000.0~180.0度,前面的0也將被傳輸)
<11> 磁偏角方向,E(東)或W(西)
<12> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,
N=數據無效)
e.地面速度信息(VTG)
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh
<1>
以真北為參考基準的地面航向(000~359度,前面的0也將被傳輸)
<2>
以磁北為參考基準的地面航向(000~359度,前面的0也將被傳輸)
<3> 地面速率(000.0~999.9節,前面的0也將被傳輸)
<4>
地面速率(0000.0~1851.8公里/小時,前面的0也將被傳輸)
<5> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,
N=數據無效)
GPS 數據格式
GPRMC(建議使用最小GPS數據格式)
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>
1) 標準定位時間(UTC time)格式:時時分分秒秒.秒秒秒(hhmmss.sss)。
2) 定位狀態,A = 數據可用,V = 數據不可用。
3) 緯度,格式:度度分分.分分分分(ddmm.mmmm)。
4) 緯度區分,北半球(N)或南半球(S)。
5) 經度,格式:度度分分.分分分分。
6) 經度區分,東(E)半球或西(W)半球。
7) 相對位移速度, 0.0 至 1851.8 knots
8) 相對位移方向,000.0 至 359.9度。實際值。
9) 日期,格式:日日月月年年(ddmmyy)。
10) 磁極變量,000.0 至180.0。
11) 度數。
12) Checksum.(檢查位)
GPGSV(所示衛星格式)?$GPGSV,
<1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8>
1) 天空中收到訊號的衛星總數。
2) 定位的衛星總數。
3) 天空中的衛星總數,00 至 12。
4) 衛星編號, 01 至 32。
5) 衛星仰角, OO 至 90 度。
6) 衛星方位角, OOO 至 359 度。實際值。
7) 訊號噪聲比(C/No), 00 至 99 dB;無表未接收到訊號。
8) Checksum.(檢查位).
第<4>,<5>,<6>,<7>項個別衛星會重復出現,每行最多有四顆衛星。其余衛星信
息會于次一行出現,若未使用,這些字段會空白。
GPGSA(GPS精度指針及使用衛星格式)
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>
1)模式 2:M = 手動, A = 自動。
2)模式 1:定位型式 1 = 未定位, 2 = 二維定位, 3 = 三維定位。
3) PRN 數字:01 至 32 表天空使用中的衛星編號,最多可接收12顆衛星信
息。
4) PDOP-位置精度稀釋 0.5 至 99.9.
5) HDOP-水平精度稀釋 0.5 to 99.9.
6) VDOP-垂直精度稀釋 0.5 to 99.9.
7)
Checksum.(檢查位).
GPS固定數據輸出語句($GPGGA)
這是一幀GPS定位的主要數據,也是使用最廣的數據。為了便于理解,下面舉
例說明$GPGGA語句各部分的含義。例1是用GN-77N和筆者開發的軟硬件
接口,在筆者所在地接收到的$GPGGA語句的內容。
例1:$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4,7
6.2,M,-7.0,M,,*65
其標準格式為:$GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(1
0),M,(11),(12)*hh(CR)(LF)
各部分所對應的含義為:
(1)定位UTC時間:05時09分01秒
(2)緯度(格式ddmm.mmmm:即dd度,mm.mmmm分);
(3)N/S(北緯或南緯):北緯39度31.4449分;
(4)經度(格式dddmm.mmmm:即ddd度,mm.mmmm分);
(5)E/W(東經或西經):東經116度43.5123分;
(6)質量因子(0=沒有定位,1=實時GPS,2=差分GPS):1=實時GPS;?(7)可使用的衛星數(0~8):可使用的衛星數=07;
(8)水平精度因子(1.0~99.9);水平精度因子=1.4;
(9)天線高程(海平面,-9999.9~99999.9,單位:m);天線高程=76.2m);
(10)大地橢球面相對海平面的高度(-999.9~9999.9,單位:m):-7.0m;
(11)差分GPS數據年齡,實時GPS時無:無;
(12)差分基準站號(0000~1023),實時GPS時無:無;
*總和校驗域;
hh
總和校驗數:65
(CR)(LF)回車,換行。
b.可視衛星狀態輸出語句($GPGSV)
例2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21,
078,44,17,36,313,42*78
標準格式:?$GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)
*hh(CR)(LF)
各部分含義為:
(1)總的GSV語句電文數;2;
(2)當前GSV語句號:1;
(3)可視衛星總數:08;
(4)衛星號:06;
(5)仰角(00~90度):33度;
(6)方位角(000~359度):240度;
(7)信噪比(00~99dB):45dB(后面依次為第10,16,17號衛星的信息);
*總和校驗域;
hh
總和校驗數:78;
(CR)(LF)回車,換行。
注:每條語句最多包括四顆衛星的信息,每顆衛星的信息有四個數據項,即:
(4)-衛星號,(5)-仰角,(6)-方位角,(7)-信噪比。
GPS接收機能提供ASCII和二進制兩種格式。其中ASCII碼為NMEA-0183,
NMEA-0183是美國國家海洋電子協會為海用電子設備制定的標準格式。它是
在過去海用電子設備的標準格式0180和0182的基礎上,增加了GPS接收機輸
出的內容而完成的。目前廣泛采用的是Ver 2.00版本。現在除少數GPS接收
機外,幾乎所有的接收機均采用了這一格式。各條語句都以$開頭,格式為:$A
AXXX,ddd…ddd,*hh。AA為識別符,XXX為語句名,ddd…ddd為
發送的數據內容,*后hh為校驗和,回車、換行符。GPS接收機可
以輸出多種數據格式。如GGA、ZDA、GLL、GSA、GSV、VTG等格式。其中
$GPGGA是最常用的一種數據格式。下面是$GPGGA的一個例子。
$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4,76.2,
M,-7.0,M,,*65
說明如下:
(1)?GGA表示定位語句。
(2)?定位UTC時間:050901表示05時09分01秒
(3)?接收機所在緯度值(格式ddmm.mmmm),N/S(北緯或南緯)。3931.444
9,N表示北緯39度31.4449分。
(4)?經度(格式dddmm.mmmm),E/W(東經或西經)。11643.5123,E表示
東經116度43.5123分。
(5)?定位代號(0
為未定位或無效的定位;1為 GPS SPS 格式(SPS為
商業用途格式),已定位;2 為偏差修正GPS(即DGPS),SPS 格式,已定
位;3 為GPS PPS 格式(PPS為軍用格式),已定位)。1表示使用SPS定
位服務而且是有效的定位。
(6)?可使用的衛星數。07表示可使用的衛星數為7顆。
(7)?水平精度因子(HDOP),1.4表示水平精度因子為1.4。
(8)?天線MSL(MSL - Main Sea Level公海平面)高程(海平面,-9999.
9~99999.9,單位:m),76.2為天線MSL高程。
(9)?大地橢球面相對海平面的高度(-999.9~9999.9,單位:m),-7.0m。
(10)差分GPS數據年齡,實時GPS時無:無。
(11)差分基準站號(0000~1023),實時GPS時無:無。
(12)*總和校驗域(hh ),總和校驗數為65。
NMEA-0183的串行通訊協議為:波特率為4800,無校驗位,8個數據位,開
始位和停止位各為1。
航向信息語句格式:
$HEHDT,23.254,T*cc ? $GPAAM - Waypoint Arrival
Alarm?? $GPBOD - Bearing, Origin to
Destination?? $GPBWW - Bearing, Waypoint to
Waypoint?? $GPGGA - Global Positioning System Fix
Data?? $GPGLL - Geographic Position,
Latitude/Longitude?? $GPGSA - GPS DOP and Active
Satellites?? $GPGST - GPS Pseudorange Noise
Statistics?? $GPGSV - GPS Satellites in
View?? $GPHDG - Heading, Deviation &
Variation?? $GPHDT - Heading,
True?? $GPRMB - Recommended Minimum Navigation
Information?? $GPRMC - Recommended Minimum
Specific GPS/TRANSIT Data?? $GPRTE -
Routes?? $GPVTG - Track Made Good and Ground
Speed?? $GPWCV - Waypoint Closure
Velocity?? $GPWNC - Distance, Waypoint to
Waypoint?? $GPWPL - Waypoint
Location?? $GPXTE - Cross-Track Error,
Measured?? $GPXTR - Cross-Track Error, Dead
Reckoning?? $GPZDA - UTC Date/Time and Local Time
Zone Offset?? $GPZFO - UTC and Time from Origin
Waypoint?? $GPZTG - UTC and Time to Destination
Waypoint
NMEA-0183語句格式一般為:“$”為語句起始標志;“,”為域分隔符;“*”為校驗和識別符,其后面的兩位數
為校驗和;“/”為終止符,表示回車、換行。本文以GPGGA信息語句為例,進行詳細分析。
“
$HEHDT,nnn.nn,T*hh”(雙引號不在發送范圍),其中$表示句子開始;HE和HDT分別表示發
送數據者為電羅經和發送數據為航向數據;nnn.nn表示航向方位角,在0.0°~359.9°之間,前后用逗號
隔開;T表示True;*表示后續2個數為校驗和;hh表示校驗和,為從$到*符號之間但不包括這2個字符
本身的“異或”值的ASCII碼;和為回車和換行字符,表示句子的結束。HDT語句可以由航向
數據通過數值與字符轉換、“異或”運算和ASCII碼變換等操作來實現。
GPS
接收機輸出端口與輸出端口均為RS422接口,
轉換器同時與兩者連接.GPS輸入標準NMEA一0183格式的
語句,包括航向信號HDT語句和航向變化率信號ROT語句.
只輸入一種格式信號,同時包含航向信息與航向變化率
信息. 當檢測有GPS信號輸入時,轉換器將GPS的航向語句直
接輸出到接口為RS232的GPS終端導航設備,同時將輸入的
HDT與R0T數據整合轉換為輸出到接口為
Rs422的終端導航設備
陀螺羅經: HEADING TURE ***.* 陀螺羅經航向
ROT **.* /MIN 旋轉速率
摘自互聯網
總結
以上是生活随笔為你收集整理的c语言gps数据类型,GPS数据格式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中南大学c语言上机考试题库,中南大学C+
- 下一篇: android 汉字编码,Android