第一篇:GPS信息原型及解析(常用NMEA-0183語(yǔ)句字段定義解釋)
NMEA協(xié)議是為了在不同的GPS(全球定位系統(tǒng))導(dǎo)航設(shè)備中建立統(tǒng)一的BTCM(海事無(wú)線電技術(shù)委員會(huì))標(biāo)準(zhǔn),由美國(guó)國(guó)家海洋電子協(xié)會(huì)(NMEA-The National Marine Electronics Associa-tion)制定的一套通訊協(xié)議。GPS接收機(jī)根據(jù)NMEA-0183協(xié)議的標(biāo)準(zhǔn)規(guī)范,將位置、速度等信息通過(guò)串口傳送到PC機(jī)、PDA等設(shè)備。
NMEA-0183協(xié)議是GPS接收機(jī)應(yīng)當(dāng)遵守的標(biāo)準(zhǔn)協(xié)議,也是目前GPS接收機(jī)上使用最廣泛的協(xié)議,大多數(shù)常見(jiàn)的GPS接收機(jī)、GPS數(shù)據(jù)處理軟件、導(dǎo)航軟件都遵守或者至少兼容這個(gè)協(xié)議。
不過(guò),也有少數(shù)廠商的設(shè)備使用自行約定的協(xié)議比如GARMIN的GPS設(shè)備(部分GARMIN設(shè)備也可以輸出兼容NMEA-0183協(xié)議的數(shù)據(jù))。軟件方面,我們熟知的Google Earth目前也不支持NMEA-0183協(xié)議,但Google Earth已經(jīng)聲明會(huì)盡快實(shí)現(xiàn)對(duì)NMEA-0183協(xié)議的兼容。呵呵,除非你確實(shí)強(qiáng)壯到可以和工業(yè)標(biāo)準(zhǔn)分庭抗禮,否則你就得服從工業(yè)標(biāo)準(zhǔn)。
NMEA-0183協(xié)議定義的語(yǔ)句非常多,但是常用的或者說(shuō)兼容性最廣的語(yǔ)句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。下面給出這些常用NMEA-0183語(yǔ)句的字段定義解釋。
$GPGGA
例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,0000*1F
字段0:$GPGGA,語(yǔ)句ID,表明該語(yǔ)句為Global Positioning System Fix Data(GGA)GPS定位信息
字段1:UTC 時(shí)間,hhmmss.sss,時(shí)分秒格式
字段2:緯度ddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)字段3:緯度N(北緯)或S(南緯)
字段4:經(jīng)度dddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)字段5:經(jīng)度E(東經(jīng))或W(西經(jīng))
字段6:GPS狀態(tài),0=未定位,1=非差分定位,2=差分定位,3=無(wú)效PPS,6=正在估算
字段7:正在使用的衛(wèi)星數(shù)量(0099.9)字段9:海拔高度(-9999.91023(前導(dǎo)位數(shù)不足則補(bǔ)0,如果不是差分定位將為空)
字段13:校驗(yàn)值
$GPGSA
例:$GPGSA,A,3,01,20,19,13,,,,,40.4,24.4,32.2*0A
字段0:$GPGSA,語(yǔ)句ID,表明該語(yǔ)句為GPS DOP and Active Satellites(GSA)當(dāng)前衛(wèi)星信息
字段1:定位模式,A=自動(dòng)手動(dòng)2D/3D,M=手動(dòng)2D/3D 字段2:定位類(lèi)型,1=未定位,2=2D定位,3=3D定位
字段3:PRN碼(偽隨機(jī)噪聲碼),第1信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段4:PRN碼(偽隨機(jī)噪聲碼),第2信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段5:PRN碼(偽隨機(jī)噪聲碼),第3信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段6:PRN碼(偽隨機(jī)噪聲碼),第4信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段7:PRN碼(偽隨機(jī)噪聲碼),第5信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段8:PRN碼(偽隨機(jī)噪聲碼),第6信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)字段9:PRN碼(偽隨機(jī)噪聲碼),第7信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段10:PRN碼(偽隨機(jī)噪聲碼),第8信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段11:PRN碼(偽隨機(jī)噪聲碼),第9信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段12:PRN碼(偽隨機(jī)噪聲碼),第10信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段13:PRN碼(偽隨機(jī)噪聲碼),第11信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段14:PRN碼(偽隨機(jī)噪聲碼),第12信道正在使用的衛(wèi)星PRN碼編號(hào)(00)(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段15:PDOP綜合位置精度因子(0.599.9)字段17:VDOP垂直精度因子(0.53)
字段2:本條GSV語(yǔ)句是本次GSV語(yǔ)句的第幾條(112)(前導(dǎo)位數(shù)不足則補(bǔ)0)字段4:PRN 碼(偽隨機(jī)噪聲碼)(0190)度(前導(dǎo)位數(shù)不足則補(bǔ)0)字段6:衛(wèi)星方位角(0032)(前導(dǎo)位數(shù)不足則補(bǔ)0)字段9:衛(wèi)星仰角(00359)度(前導(dǎo)位數(shù)不足則補(bǔ)0)字段11:信噪比(00-99)dbHz
字段12:PRN 碼(偽隨機(jī)噪聲碼)(0190)度(前導(dǎo)位數(shù)不足則補(bǔ)0)字段14:衛(wèi)星方位角(00180)度(前導(dǎo)位數(shù)不足則補(bǔ)0)字段11:磁偏角方向,E=東W=西 字段16:校驗(yàn)值
$GPVTG
例:$GPVTG,89.68,T,M,0.00,N,0.0,K*5F
字段0:$GPVTG,語(yǔ)句ID,表明該語(yǔ)句為T(mén)rack Made Good and Ground Speed(VTG)地面速度信息
字段1:運(yùn)動(dòng)角度,000359,(前導(dǎo)位數(shù)不足則補(bǔ)0)字段4:M=磁北參照系
字段5:水平運(yùn)動(dòng)速度(0.00)(前導(dǎo)位數(shù)不足則補(bǔ)0)字段6:N=節(jié),Knots
字段7:水平運(yùn)動(dòng)速度(0.00)(前導(dǎo)位數(shù)不足則補(bǔ)0)字段8:K=公里/時(shí),km/h 字段9:校驗(yàn)值
$GPGLL
例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D
字段0:$GPGLL,語(yǔ)句ID,表明該語(yǔ)句為Geographic Position(GLL)地理定位信息
字段1:緯度ddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)字段2:緯度N(北緯)或S(南緯)字段3:經(jīng)度dddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)字段4:經(jīng)度E(東經(jīng))或W(西經(jīng))字段5:UTC時(shí)間,hhmmss.sss格式 字段6:狀態(tài),A=定位,V=未定位 字段7:校驗(yàn)值
1、GPS DOP and Active Satellites(GSA)當(dāng)前衛(wèi)星信息
$GPGSA,<1>,<2>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<3>,<4>,<5>,<6>*hh
<2> 定位類(lèi)型,1=沒(méi)有定位,2=2D定位,3=3D定位
<3> PRN碼(偽隨機(jī)噪聲碼),正在用于解算位置的衛(wèi)星號(hào)(01~32,前面的0也將被傳輸)。
<4> PDOP位置精度因子(0.5~99.9)<5> HDOP水平精度因子(0.5~99.9)<6> VDOP垂直精度因子(0.5~99.9)
2、Track Made Good and Ground Speed(VTG)地面速度信息
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh
<4> 地面速率(0000.0~1851.8公里/小時(shí),前面的0也將被傳輸)
<5> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無(wú)效)
3、Geographic Position(GLL)定位地理信息
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh
<3> 經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸)<4> 經(jīng)度半球E(東經(jīng))或W(西經(jīng))<5> UTC時(shí)間,hhmmss(時(shí)分秒)格式 <6> 定位狀態(tài),A=有效定位,V=無(wú)效定位
<7> 模式指示(僅NMEA0183 3.00版本輸出,A=自主定位,D=差分,E=估算,N=數(shù)據(jù)無(wú)效)4.Data and time(ZDA)時(shí)間和日期信息
$GPZDA,<1>,<2>,<3>,<4>*hh
5.Datum(DTM)大地坐標(biāo)系信息
$GPDTML,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*hh
<4>緯度半球N(北半球)或S(南半球)<5>經(jīng)度偏移量
<6>經(jīng)度半球E(東經(jīng))或W(西經(jīng))<7>高度偏移量
<8>坐標(biāo)系代碼 W84
二、GARMIN定義的語(yǔ)句Map Datum(PGRMM)坐標(biāo)系統(tǒng)信息
1、Estimated Error Information(PGRME)估計(jì)誤差信息 $PGRME,<1>,M,<2>,M,<3>,M*hh
2、GPS Fix Data Sentence(PGRMF)GPS定位信息
$PGRMF,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>*hh
<3> UTC日期,ddmmyy(日月年)格式 <4> UTC時(shí)間,hhmmss(時(shí)分秒)格式 <5> GPS跳秒數(shù)
<6> 緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸)<7> 緯度半球N(北半球)或S(南半球)<8> 經(jīng)度dddmm.mmmm(度分)格式(前面的0也將被傳輸)<9> 經(jīng)度半球E(東經(jīng))或W(西經(jīng))<10> 模式,M=手動(dòng),A=自動(dòng)
<11> 定位類(lèi)型,0=沒(méi)有定位,1=2D定位,2=3D定位 <12> 地面速率(0~1851公里/小時(shí))
<13> 地面航向(000~359度,以真北為參考基準(zhǔn))<14> PDOP位置精度因子(0~9,四舍五入取整)<15> TDOP時(shí)間精度因子(0~9,四舍五入取整)
3、Map Datum(PGRMM)坐標(biāo)系統(tǒng)信息
$PGRMM,<1>*hh
<1> 當(dāng)前使用的坐標(biāo)系名稱(數(shù)據(jù)長(zhǎng)度可變,如“WGS 84”)注:該信息在與MapSource進(jìn)行實(shí)時(shí)連接的時(shí)候使用。
4、Sensor Status Information(PGRMT)工作狀態(tài)信息
$PGRMT,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*hh
<6> 振蕩器不連續(xù)漂移,P=通過(guò),F(xiàn)=檢測(cè)到過(guò)度漂移 <7> 數(shù)據(jù)不連續(xù)采集,C=正在采集,如果沒(méi)有采集則為空 <8> GPS接收機(jī)溫度,單位為攝氏度
<9> GPS接收機(jī)配置數(shù)據(jù),R=保持,L=丟失
注:本語(yǔ)句每分鐘發(fā)送一次,與所選擇的波特率無(wú)關(guān)。
5、3D velocity Information(PGRMV)三維速度信息
$PGRMV,<1>,<2>,<3>*hh
6、DGPS Beacon Information(PGRMB)信標(biāo)差分信息
$PGRMB,<1>,<2>,<3>,<4>,<5>,K,<6>,<7>,<8>*hh
<5> 與信標(biāo)站的距離,單位為公里
<6> 信標(biāo)接收機(jī)的通訊狀態(tài),0=檢查接線,1=無(wú)信號(hào),2=正在調(diào)諧,3=正在接收,4=正在掃描
<7> 差分源,R=RTCM,W=WAAS,N=非差分定位
<8> 差分狀態(tài),A=自動(dòng),W=僅為WAAS,R=僅為RTCM,N=不接收差分信