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 旋转速率

摘自互联网

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值