NMEA0183协议中的GGA语句解析

目录

  • NMEA0183协议中的GGA语句解析
    • $GPGGA语句简介
    • Python 解析GGA语句
      • 1.pynmea2 安装
      • 2.pynmea2使用方法

$GPGGA语句简介

NMEA0183协议是接收机输出定位信息的通用标准之一,其中GGA语句包含了关键的时间、经纬度、定位状态等内容。
常用的语句示例如下:

$GPGGA,134658.00,5106.9792,N,11402.3003,W,2,09,1.0,1048.47,M,-16.27,M,08,AAAA*60

对应的字段和解释如下表:GGA语句格式

Num 字段 具体内容 格式 示例
1 $GPGGA 记录头 $GPGGA
2 utc 定位时间 hhmmss.ss 134658.00
3 lat 纬度 DDmm.mm 5106.9792
4 lat direction 纬度方向,北纬N或南纬S N
5 lon 经度 DDDmm.mm 11402.300
6 lon direction 经度方向,东经E或西经W W
7 quality 表示定位解的状态,常用有1=单点解,2=伪距差分解,4=RTK固定解,5=RTK浮点解 2
8 # sats 参与定位解算的卫星数 09
9 hdop 水平精度因子 1.0
10 altitude 天线海拔高,相距于平均海水面 1048.47
11 altitude units 天线海拔高单位,M=meters M
12 undulation 大地水准面与参考椭球面的偏差 -16.27
13 undulation units 大地水准面与参考椭球面的偏差单位,M=meters M
14 age 差分时间或龄期,没有差分数据时通常为空 08
15 station ID 差分基站ID AAAA
16 *xx 校验和 *60
17 [CR][LF] 语句中止符 [CR][LF]

Python 解析GGA语句

我们可以使用Python第三方包 pynmea2 来解析NMEA,获取其中的位置、解算状态等,十分方便。也可以使用pynmea2结合位置信息,输出NMEA语句等。参考链接:https://openbase.com/python/pynmea2

1.pynmea2 安装

我装了conda,所以直接使用conda进行安装,也可以使用pip。

conda install pynmea2
2.pynmea2使用方法

解析单个语句:

import pynmea2
>>> msg = pynmea2.parse("$GPGGA,184353.07,1929.045,S,02410.506,E,1,04,2.6,100.00,M,-33.9,M,,0000*6D")
>>> msg
<GGA(timestamp=datetime.time(18, 43, 53), lat='1929.045', lat_dir='S', lon='02410.506', lon_dir='E', gps_qual='1', num_sats='04', horizontal_dil='2.6', altitude=100.0, altitude_units='M', geo_sep='-33.9', geo_sep_units='M', age_gps_data='', ref_station_id='0000')>

解析文件:

import pynmea2file = open('examples/data.log', encoding='utf-8')for line in file.readlines():try:msg = pynmea2.parse(line)print(repr(msg))except pynmea2.ParseError as e:print('Parse error: {}'.format(e))continue

NMEA0183协议中的GGA语句解析相关推荐

  1. HTTP协议中的chunked编码解析

    " HTTP协议中的chunked传输编码全接触." 在HTTP协议中,服务器发往客户端的数据中,通常都包括HTTP头和HTTP体,当存在HTTP体的时候,HTTP体的长度通常是由 ...

  2. java chunked编码解码_HTTP协议中的CHUNKED编码解析

    HTTP协议中的TRANFER-ENCODING:CHUNKED编码解析 通常情况下,Transfer-Encoding域的值应当为chunked,表明采用chunked编码方式来进行报文体的传输.c ...

  3. java sql语法解析_Java中的SQL语句解析

    String sql = "SELECT userId,password FROM Table_1 where userId ='" + userId +"' and p ...

  4. matlab菜鸡学习日志--------使用matlab解析NMEA-0183 协议获取经纬度以及航向角

    先上代码! clc clear all filename = 'zuixin.txt'; %result = cell(224, 5); fid = fopen(filename, 'r'); dat ...

  5. Yunxion资产跟踪之GNSS NEMA语句解析之GGA

    NMEA作为全球不同定位系统GPS导航中的统一BTCM标准.由美国国家海洋电子协会制定的一套通讯协议.一些专业开发研究定位跟踪通信类产品的公司,在开发产品过程中发现NMEA-0183协议是GPS接收机 ...

  6. GNSS NEMA语句解析之GGA

    $GPGGA,121252.000,3937.3032,N,11611.6046,E,1,05,2.0,45.9,M,-5.7,M,,0000*77 Global Positioning System ...

  7. GPS NMEA0183协议解析(转载)

    这几天忙里偷闲集中把GPS NMEA0183协议好好研究了一下,不仅整理了一份相对较完整的协议文本,并且编写了一个相对较完善的GPS协议解析程序. 上图是我所说的测试程序,已经可以获得定位数据及相关卫 ...

  8. oracle12测试骤,Oracle中SQL语句解析的步骤

    我们都知道在Oracle中每条SQL语句在执行之前都需要经过解析,这里面又分为软解析和硬解析.那么这两种解析有何不同之处呢?它们又分别是如何进行解析呢?Oracle内部解析的步骤又是如何进行的呢?下面 ...

  9. java break在switch_java中switch case语句需要加入break的原因解析

    java中switch case语句需要加入break的原因解析 java 中使用switch case语句需要加入break 做了具体的实例分析,及编译源码,在源码中分析应该如何使用,大家可以参考下 ...

  10. Oracle中start with xx connect by prior 语句解析

    Oracle中start with xx connect by prior 语句解析 ​ Oracle这种的start with语句主要对B型树的数据进行递归查询.可以指定数据树上的任一节点,然后查找 ...

最新文章

  1. phpstorm 2017.1.3编辑远程项目
  2. SPARK:作业基本运行原理
  3. php承载,javascript,php_如何防止无限循环的php CPU承载过重?,javascript,php - phpStudy...
  4. ES报错:Connection reset by peer 解决经历
  5. ubuntu高版本环境变量问题
  6. Linux 网络操作
  7. how to use automake to build files
  8. 关于JS特效的兼容问题。
  9. SCCM2012升级SP1系列之配置管理SCCM2012④配置SCCM2012补丁分发
  10. 为什么软件开发周期总是预估的2-3倍?
  11. Windows Mobile 6 Professional SDK
  12. 使用PS制作背景透明的png图片
  13. 干货分享:PDF分割合并工具免费哪个好用?
  14. 【ensp】单臂路由与生成树的配置
  15. 2040: [蓝桥杯2022初赛] 砍竹子(优先队列)
  16. 两消两现指的是_精细胞减二末期会有“两现”吗
  17. visual C++2015提示0x80240017
  18. 我的人生就是一次次世界杯串起来的
  19. 数码管显示“0~F”的共阳共阴数码管编码表
  20. 金融民工python学习笔记

热门文章

  1. Eclipse启动提示“subversive connector discovery”
  2. HTML5前端教程:jQuery项目实战
  3. NBU备份软件实施过程的注意事项
  4. 【DEM数据详细操作】ArcGIS提取等高线、DEM拼接、DEM裁剪、晕渲图制作
  5. keras对MNIST数据集分类
  6. 16进制转换成rgba方法
  7. 从各方面比较一下各类电脑玩手游吃鸡安卓模拟器
  8. 北理工-大二数据结构乐学编程题-约瑟夫问题、验证表、循环小数、综教楼后的坑...
  9. 常见debug指令和使用
  10. Redis 官方文档译注