GPS数据格式分析

GPS数据格式分析GPS数据格式分析

大家好,又见面了,我是你们的朋友全栈君。

               

GPS数据格式分析

0 概述

 GPS接收机能提供ASCII和二进制两种格式.

其中ASCII码为NMEA-0183,NMEA-0183是美国国家海洋电子协会为海用电子设备制定的标准格式.

它是在过去海用电子设备的标准格式0180和0182的基础上,增加了GPS接收机输出的内容而完成的.

目前广泛采用的是Ver 2.00版本.现在除少数GPS接收机外,几乎所有的接收机均采用了这一格式.

GPS上电后,每隔一定的时间就会返回一定格式的数据,数据格式为:$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x.

每行开头的字符都是‘$’,接着是信息类型,后面是数据,以逗号分隔开.

其中$GPGGA是最常用的一种数据格式.一行完整的数据如下:

$GPRMC,204523.00,A,2233.94321,N,11402.42498,E,0.000,,121213,,,A*78
 信息类型为:

  • GPGSV:可见卫星信息;
  • GPGLL:地理定位信息;
  • GPRMC:推荐最小定位信息;
  • GPVTG:地面速度信息;
  • GPGGA:GPS定位信息;
  • GPGSA:当前卫星信息.

1 GSA

GPS DOP and Active Satellites(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(检查位).

比如:$GPGSA,A,3,09,19,07,08,27,11,03,01,28,23,,,2.64,1.59,2.11*0F

2  GSV

GPS Satellites in View(GSV)可见卫星信息,格式:$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8>
<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>项个别卫星会重复出现,每行最多有四颗卫星.其余卫星信息会于次一行出现,若未使用,这些字段会空白.

3 GGA

Global Positioning System Fix Data(GGA)GPS定位信息,这是一帧GPS定位的主要数据,也是使用最广的数据.

格式:$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh
<1>  UTC时间,格式为hhmmss.sss;
<2>  纬度,格式为ddmm.mmmm(第一位是零也将传送);
<3>  纬度半球,N或S(北纬或南纬)
<4>  经度,格式为dddmm.mmmm(第一位零也将传送);
<5>  经度半球,E或W(东经或西经)
<6>  GPS状态, 0未定位, 1非差分定位, 2差分定位, 3无效PPS, 6正在估算
<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也将传送)。
*    语句结束标志符
hh    从$开始到*之间的所有ASCII码的异或校验和
比如:$GPGGA,215026.00,2233.94798,N,11402.42687,E,1,10,2.24,58.8,M,-2.4,M,,*77

4 RMC

Recommended Minimum Specific GPS/TRANSIT Data(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=数据无效)

比如:$GPRMC,204522.00,A,2233.94321,N,11402.42498,E,0.000,,121213,,,A*79

5 VTG 

Track Made Good and Ground Speed(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=数据无效)

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149722.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 耳机线的接法_耳机线焊接法图解大全

    耳机线的接法_耳机线焊接法图解大全耳机是我们日常必备工具,尤其是在公共场所或是夜深人静时!之前一直用的是入耳式的耳机,隔音效果好,声音大,所以下狠心买了一个用过最贵的耳机90+元。但是买回用了不到两个星期就让我给弄报废了,而且入耳式的耳机戴久了耳朵塞的疼。所以我就淘宝买了个8.6元包邮的山寨苹果耳机,结果带给了我很多惊喜,没想到音质丝毫不比之前的任何耳机差,戴着也舒服。最重要的是隔音效果好,每当夜深人静时无论是听音乐还是看剧都与世…

    2025年7月14日
    5
  • [LeetCode]Climbing Stairs

    [LeetCode]Climbing Stairs

    2021年12月31日
    39
  • 一阶惯性滤波特点_一阶惯性环节仿真

    一阶惯性滤波特点_一阶惯性环节仿真由文章(二)可知,二次平均法改善了一次平均法滤除低频干扰时超调的影响,但仍然未能完全滤除低频干扰。因此,通过改变反馈控制系统参数结合平均法是一个不错的选择,仿真如图:通过改变比例系数,可以实现一定的滤波效果,此方法是通过降低响应参数的方式实现一级滤波,通过平均法实现二级滤波,仿真结果如下图:文章《一阶惯性传感器的快速跟踪性能实现》中,最终传递函数为:本例中,传递函数为启动性能与文章《一阶惯性传感器的快速跟踪性能实现》中接近,且较大地滤除了高频、低频干扰可见,该控制

    2022年10月4日
    3
  • python unicode编码转换utf-8编码_不成问题的问题人物解析

    python unicode编码转换utf-8编码_不成问题的问题人物解析Unicode也叫万国码、单一码,是计算机科学领域里的一项业界标准,包括字符集、编码方案等。对于世界上所有的语言文字再unicode中都可以查看到。【汉】字的编码解释官网https://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=6C49unicode编码就是为了统一世界上的编码,有一个统一的规范。但是它还存在一些问题。Unicode的问题需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存

    2022年9月30日
    4
  • vsftp 用户_linux虚拟用户

    vsftp 用户_linux虚拟用户Vsftp与PAM虚拟用户使用yum安装vsftpyum install vsftpd pam pam-* db4 db4-* 创建一个保存用户及密码的文件cd /etc/vsftpd/ touch virtual_login 添加用户(一行用户一行是密码)vim  virtual_login dongnan nandong

    2022年9月24日
    3
  • keil c51注册机2032

    keil c51注册机2032keilc51是一款非常优秀的C语言单片机编程软件,同时也是美国KeilSoftware公司出品的51系列软件,是兼容单片机C语言软件开发系统的最新版本,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而使得用户易学易用。但是软件是需要收费的,或者是功能上有所限制,因此小编今天为大家带来了keilc51注册码,同样也是注册机,详细的使用教程,以软件安装为例,且期限是到2032年有效,亲测有效,有需要的朋友欢迎下载体验。原文链接:http://www.ddooo.com/soft

    2022年6月12日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号