计算距离

http://www.cnblogs.com/ycsfwhh/archive/2010/12/20/1911232.html

60进制就是时间中的分秒

0.629度*60=37.74分

0.74分*60=44.4秒

所以114.629度就是114度37分44.4秒

由于$GPRMC比较重要,所以重点讲解:

http://blog.csdn.net/zccst/article/details/4235068

$GPRMC(Recommended Minimum Specific GPS/TRANSIT Data)

帧头

UTC时间

状态

纬度

北纬/南纬

经度

东经/西经

速度

$GPRMC

hhmmss.sss

A/V

ddmm.mmmm

N/S

dddmm.mmmm

E/W

方位角

UTC日期

磁偏角

磁偏角方向

模式

校验

回车换行

ddmmyy

000 - 180

E/W

A/D/E/N

*hh

CR+LF

格 式: $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh

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

$GNRMC,080436.000,A,3641.111886,N,11704.436667,E,0.057,229.659,070116,,E,A*3E

3641.111886 36.6851981

11704.436667 117.07394445

对应的经纬度:36.6851981 117.07394445

说 明:

字段 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(一节也是1.852千米/小时)

字段 8:方位角,度(二维方向指向,相当于二维罗盘)

字段 9:UTC日期,DDMMYY格式

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

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

字段12:模式,A=自动,D=差分,E=估测,N=数据无效(3.0协议内容)

字段13:校验值

对应的程序代码如下:

//运输定位数据

private bool GPRMC_Parse(stringdata)

{string[] source = Split(data, "$GPRMC");if (source != null && source.Length >= 12)

{//状态

this.AnchorState = source[2];//纬度

if (source[4].Length > 0 && source[3].Length > 2)

{this.Latitude = string.Format("{0}{1},{2}", source[4], source[3].Substring(0, 2), source[3].Substring(2));

}else{this.Latitude = "";

}//经度

if (source[6].Length > 0 && source[5].Length > 3)

{this.Longitude = string.Format("{0}{1},{2}", source[6], source[5].Substring(0, 3), source[5].Substring(3));

}else{this.Longitude = "";

}//速度

if (source[7].Length > 0)

{this.NSpeed = double.Parse(source[7]);

}else{this.NSpeed = 0;

}//方位

if (source[8].Length > 0)

{this.Track = double.Parse(source[8]);

}else{this.Track = 0;

}//磁偏角和方位

if (source[10].Length > 0 && source[11].Length > 0)

{this.Magnetic = string.Format("{0} {1}", source[11], source[10]);

}else{this.Magnetic = "";

}//模式

if (source.Length >= 13)

{this.WorkMode = source[12];

}//时间

try{if (source[9].Length == 6 && source[1].Length >= 6)

{string dtString = string.Format("{0}-{1}-{2} {3}:{4}:{5}",

source[9].Substring(4),

source[9].Substring(2, 2),

source[9].Substring(0, 2),

source[1].Substring(0, 2),

source[1].Substring(2, 2),

source[1].Substring(4));this.UTCDateTime =DateTime.Parse(dtString);

}

}catch { return false; }return true;

}return false;

}

c# 解析gprmc数据_$GPRMC解析(转)相关推荐

  1. ROS节点解析GPS数据:GPRMC/GPFDP/HEADINGA

    数据解析,肯定是要知道数据格式的: 数据格式参考:(前人已经总结的比较齐全了) https://blog.csdn.net/u010384390/article/details/78432016?op ...

  2. 解析json数据_Retrofit同时解析JSON和XML数据格式

    前言 Android开发中,我们会经常遇到前端需要解析两种数据格式(json和xml),比如自己服务器返回的是json格式的数据,我们做微信登录的时候,微信返回的格式又是xml格式的.我们可以通过自己 ...

  3. fastjson解析多层数据_怎么解析三层List json数据

    注意 这个json格式不对 前后的 [ ] 应该要去掉. (我不是说你缺少的结束符) FastJSON 随意解决的事情. 0, compile 'com.alibaba:fastjson:1.2.7' ...

  4. python解析tcp数据包-python解析获取发往本机的数据包并打印

    1.[文件] tcp.py ~ 2KB 下载(69) # -*- coding: cp936 -*- import socket from struct import * from time impo ...

  5. 使用c语言解析gprmc数据

    好的,我可以为您解释如何使用 C 语言解析 GPRMC 数据. GPRMC (Global Positioning System Receiver Monitoring Control) 是 GPS ...

  6. Python解析VOC数据标签文件

    导读 在目标检测数据集中我们经常会使用到VOC格式的数据,这篇文章就向大家介绍一下如何来解析xml标签文件的数据 xml数据 <annotation><folder>/root ...

  7. c# 解析gprmc数据_Windows下VLP16激光雷达数据解析

    最近,实验室有一个对VLP16数据解析的需求,要求在Windows系统下单独把VLP16的数据解析整理出来,作为后期多传感器融合的一个必要基础准备.无奈从ROS转战Windows,网上查了查Windo ...

  8. C语言解析GPS :GPGGA\GPRMC数据

    C语言解析GPS :GPGGA\GPRMC数据 #ifndef _GN_GPSINFO_H__ #define _GN_GPSINFO_H__typedef int i4; typedef unsig ...

  9. scanf提取gprmc数据

    scanf函数是一种用于从输入流中读取和解析数据的C库函数.你可以使用它来从标准输入(通常是键盘)中读取数据,也可以使用它来从文件中读取数据. 使用scanf函数读取GPRMC数据的方式取决于数据的格 ...

最新文章

  1. 认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL:
  2. 51Nod1556 计算
  3. mongodb数据库扩展名_MongoDB如何存储数据
  4. MTK 驱动开发(38)--- getevent 和 sendevent
  5. pwm一个时间单位_通过PWM进行数模转换的滤波电路分析计算
  6. 深入理解Android(二):Java虚拟机Dalvik
  7. mysql数据库服务器cpu_mysql数据库服务器cpu 100%
  8. Arkeia Software宣布支持第100个Linux平台
  9. Python的request官方文档
  10. 管螺纹如何标注_你所不知道的机械螺纹全面常识(分享篇),赶紧收藏下吧
  11. 马尔可夫蒙特卡洛(MCMC)-从平稳分布,细致平衡到Metropolis-Hastings和Gibbs采样
  12. 利用Hessian矩阵的Frangi 滤波器-python版本
  13. 作业1:关于使用python中scikit-learn(sklearn)模块,实现鸢尾花(iris)相关数据操作(数据加载、标准化处理、构建聚类模型并训练、可视化、评价模型)
  14. 【JAVA】交错字符串——力扣每日一题(六)(2020.07.18)
  15. 微信小程序分析送积分功能如何实现_微信积分小程序特色功能——积分营销
  16. 重装w11新硬盘,找不到硬盘
  17. 堆内存和栈内存详解(转载)
  18. meanshift算法
  19. js前端处理过滤特殊字符以及输入法特殊表情符号emoji的正则方法,解决数据库报错问题。
  20. Android Studio自带apk签名工具——apksigner

热门文章

  1. java list初始化数据_Java中初始化List的5种方法 /List的2种去重方式
  2. go互斥锁(syn包)
  3. debian 安装配置nginx
  4. 树:赫夫曼树赫夫曼编码
  5. Linux 创建链接
  6. DEJA_VU3D - Cesium功能集 之 045-沉降漏斗效果(点/盒子形式)
  7. 标题栏的ProgressBar的实现方式
  8. 一个屌丝程序猿的人生(一百一十一)
  9. Reactor简单例子_晏无心_新浪博客
  10. mysql死锁语句_Mysql死锁