GPS模块的数据格式

GPS模块的数据格式,第1张

GPS输出的一些数据,详细解释数据如下:

1、   $GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh<CR><LF>   Global Positioning System Fix Data(GGA)GPS定位信息  

$GPGGA,121252.000,3937.3032,N,11611.6046,E,1,05,2.0,45.9,M,-5.7,M,,0000*7

<1>UTC时间,hhmmss(时分秒)格式 

 <2>纬度ddmm.mmmm(度分)格式(前面的0也将被传输) 

 <3>纬度半球N(北半球)或S(南半球)  

<4>经度dddmm.mmmm(度分)格式(前面的0也将被传输)  

<5>经度半球E(东经)或W(西经)  

<6>GPS状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算  

<7>正在使用解算位置的卫星数量(00~12)(前面的0也将被传输) 

 <8>HDOP水平精度因子(0.5~99.9)  

<9>海拔高度(-9999.9~99999.9)  

<10>地球椭球面相对大地水准面的高度  

<11>差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)  

<12>差分站ID号0000~1023(前面的0也将被传输,如果不是差分定位将为空) 

2、  $GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>    GPS DOP and Active Satellites(GSA)当前卫星信息  

$GPGSA,A,3,14,15,05,22,18,26,,,,,,,2.1,1.2,1.7*3D 

<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.(检查位). 

3、 $GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8><CR><LF>  GPS Satellites in View(GSV)可见卫星信息    

$GPGSV,3,1,10,18,84,067,23,09,67,067,27,22,49,312,28,15,47,231,30*70

 <1>GSV语句的总数  

<2>本句GSV的编号  

 <3>可见卫星的总数,00 至 12。  

<4>卫星编号, 01 至 32。  

<5>卫星仰角, 00 至 90 度。  

 <6>卫星方位角, 000 至 359 度。实际值。  

<7>讯号噪声比(C/No), 00 至 99 dB;无表未接收到讯号。  

<8>Checksum.(检查位).  

第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。 

4、 $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF> Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐定位信息  

$GPRMC,121252.000,A,3958.3032,N,11629.6046,E,15.15,359.95,070306,,,A*54 

 <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=数据无效) 

5、 $GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh<CR><LF>  Track Made Good and Ground Speed(VTG)地面速度信息   

$GPVTG,359.95,T,,M,15.15,N,28.0,K,A*04 

<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=数据无效)  一般我们采用 RMC 定位信息

GPS接收到的数据格式及含义 如果此时GPS和卫星的通讯正常的话,可以接收到的数据格式样如下:

$GPRMC,204700,A,3403.868,N,11709.432,W,001.9,336.9,170698,013.6,E*6E

数据说明如下:

$GPRMC 代表GPS推荐的最短数据

204700 UTC_TIME 24小时制的标准时间,按照小时/分钟/秒的格式

A A 或者 V A表示数据"OK",V表示一个警告

3403.868 LAT 纬度值,精确到小数点前4位,后3位

N LAT_DIR N表示北纬,S表示南纬

11709.432 LON 经度值,精确到小数点前5位,后3位

W LON_DIR W表示西经,E表示东经

若当前没有和卫星取得联系,那么字符串的格式为: $GPRMC,UTC_TIME,V,...

扩展资料

没有解析出正确的字段,我们很容易定位是sscanf那条语句出了问题,由于我之前没用过这个函数,为此我上网查了好久这个函数的用法,后来把思路转向对比作者的GPRMC语句和我收到的GNRMC语句,除了开头不同,其他地方的差异,

$GPRMC,131913.000,A,3029.64972,N,11423.62352,E,0.00,0.00,200617,,,A*67

$GNRMC,085959.00,A,4000.73433,N,11628.03429,E,0.461,,280220,6.91,W,D*29

发现有以下几处的不同,

1) 字段1:UTC时间这里,他的小数点后面是3个0,但我的是2个0

2) 字段8:方位角这里,他的值是0.00,我的是空白

3) 字段11和12,磁偏角及磁偏角方向,他的是空白,我的有值

正是这3处不同,导致的上述解析不正确。原作者完全是按照他的GPS数据格式来写的代码,只要有任何一处不同,就会出现解析错误。

GPS测量数据采用的DAT文件格式实质上就是“文本格式”,用“记事本”就可以打开(如果文件不是特大的话)。

每个数据是这样构成的:标号,x,y,z(回车符)

EXECL可以直接读入这种格式的文件的。将dat文件后缀改为TXT文件,用execl直接读文本文件即可


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11547494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存