zoukankan      html  css  js  c++  java
  • GPS NMEA0183协议详解 转载

    NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。

     

    NMEA-0183协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。

     

    不过,也有少数厂商的设备使用自行约定的协议比如GARMIN的GPS设备(部分GARMIN设备也可以输出兼容NMEA-0183协议的数据)。软件方面,我们熟知的Google Earth目前也不支持NMEA-0183协议,但Google Earth已经声明会尽快实现对NMEA-0183协议的兼容。呵呵,除非你确实强壮到可以和工业标准分庭抗礼,否则你就得服从工业标准。

     

    NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。下面给出这些常用NMEA-0183语句的字段定义解释。

     

     

     

     

    $GPGGA

     

    例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F

     

    字段0:$GPGGA,语句ID,表明该语句为Global Positioning System Fix Data(GGA)GPS定位信息

     

    字段1:UTC 时间,hhmmss.sss,时分秒格式

     

    字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)

     

    字段3:纬度N(北纬)或S(南纬)

     

    字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)

     

    字段5:经度E(东经)或W(西经)

     

    字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算

     

    字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0)

     

    字段8:HDOP水平精度因子(0.5 - 99.9)

     

    字段9:海拔高度(-9999.9 - 99999.9)

     

    字段10:地球椭球面相对大地水准面的高度

     

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

     

    字段12:差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空)

     

    字段13:校验值

     

     

     

    $GPGSA

     

    例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A

     

    字段0:$GPGSA,语句ID,表明该语句为GPS DOP and Active Satellites(GSA)当前卫星信息

     

    字段1:定位模式,A=自动手动2D/3D,M=手动2D/3D

     

    字段2:定位类型,1=未定位,2=2D定位,3=3D定位

     

    字段3:PRN码(伪随机噪声码),第1信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段4:PRN码(伪随机噪声码),第2信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段5:PRN码(伪随机噪声码),第3信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段6:PRN码(伪随机噪声码),第4信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段7:PRN码(伪随机噪声码),第5信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段8:PRN码(伪随机噪声码),第6信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段9:PRN码(伪随机噪声码),第7信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段10:PRN码(伪随机噪声码),第8信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段11:PRN码(伪随机噪声码),第9信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段12:PRN码(伪随机噪声码),第10信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段13:PRN码(伪随机噪声码),第11信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段14:PRN码(伪随机噪声码),第12信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

     

    字段15:PDOP综合位置精度因子(0.5 - 99.9)

     

    字段16:HDOP水平精度因子(0.5 - 99.9)

     

    字段17:VDOP垂直精度因子(0.5 - 99.9)

     

    字段18:校验值

     

     

     

    $GPGSV

     

    例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70

     

    字段0:$GPGSV,语句ID,表明该语句为GPS Satellites in View(GSV)可见卫星信息

     

    字段1:本次GSV语句的总数目(1 - 3)

     

    字段2:本条GSV语句是本次GSV语句的第几条(1 - 3)

     

    字段3:当前可见卫星总数(00 - 12)(前导位数不足则补0)

     

    字段4:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)

     

    字段5:卫星仰角(00 - 90)度(前导位数不足则补0)

     

    字段6:卫星方位角(00 - 359)度(前导位数不足则补0)

     

    字段7:信噪比(00-99)dbHz

     

    字段8:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)

     

    字段9:卫星仰角(00 - 90)度(前导位数不足则补0)

     

    字段10:卫星方位角(00 - 359)度(前导位数不足则补0)

     

    字段11:信噪比(00-99)dbHz

     

    字段12:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)

     

    字段13:卫星仰角(00 - 90)度(前导位数不足则补0)

     

    字段14:卫星方位角(00 - 359)度(前导位数不足则补0)

     

    字段15:信噪比(00-99)dbHz

     

    字段16:校验值

    $GPRMC

     

    例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50

     

    字段0:$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息

     

    字段1:UTC时间,hhmmss.sss格式

     

    字段2:状态,A=定位,V=未定位

     

    字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)

     

    字段4:纬度N(北纬)或S(南纬)

     

    字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0)

     

    字段6:经度E(东经)或W(西经)

     

    字段7:速度,节,Knots

     

    字段8:方位角,度

     

    字段9:UTC日期,DDMMYY格式

     

    字段10:磁偏角,(000 - 180)度(前导位数不足则补0)

     

    字段11:磁偏角方向,E=东W=西

     

    字段16:校验值

     

     

     

    $GPVTG

     

    例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F

     

    字段0:$GPVTG,语句ID,表明该语句为Track Made Good and Ground Speed(VTG)地面速度信息

     

    字段1:运动角度,000 - 359,(前导位数不足则补0)

     

    字段2:T=真北参照系

     

    字段3:运动角度,000 - 359,(前导位数不足则补0)

     

    字段4:M=磁北参照系

     

    字段5:水平运动速度(0.00)(前导位数不足则补0)

     

    字段6:N=节,Knots

     

    字段7:水平运动速度(0.00)(前导位数不足则补0)

     

    字段8:K=公里/时,km/h

     

    字段9:校验值

     

     

     

    $GPGLL

     

    例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D

     

    字段0:$GPGLL,语句ID,表明该语句为Geographic Position(GLL)地理定位信息

     

    字段1:纬度ddmm.mmmm,度分格式(前导位数不足则补0)

     

    字段2:纬度N(北纬)或S(南纬)

     

    字段3:经度dddmm.mmmm,度分格式(前导位数不足则补0)

     

    字段4:经度E(东经)或W(西经)

     

    字段5:UTC时间,hhmmss.sss格式

     

    字段6:状态,A=定位,V=未定位

     

    字段7:校验值

  • 相关阅读:
    2015.2.27 UltraEdit中显示XML结构
    2015.1.31 DataGridView自动滚动到某行
    2015.1.15 利用函数实现将一行记录拆分成多行记录 (多年想要的效果)
    2015.1.15 利用Oracle函数返回表结果 重大技术进步!
    2015.1.15 利用Oracle函数插入表结构 Bulk collect into 不用循环,简洁高效
    2015.1.8 Left join 左连接
    2015.1.10 解决DataGridView SelectionChanged事件自动触发问题
    delphi 遍历窗口
    delphi 访问 protected 属性 哈哈
    clientdataset 读取excel 如果excel 文件不存在的时候 相应的gird 会不显示数据, 鼠标掠过 gird 格子 才会显示数据。 这是一个bug 哈哈
  • 原文地址:https://www.cnblogs.com/glguan/p/2310949.html
Copyright © 2011-2022 走看看