c# 解析gprmc数据_$GPRMC解析(转)
计算距离
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解析(转)相关推荐
- ROS节点解析GPS数据:GPRMC/GPFDP/HEADINGA
数据解析,肯定是要知道数据格式的: 数据格式参考:(前人已经总结的比较齐全了) https://blog.csdn.net/u010384390/article/details/78432016?op ...
- 解析json数据_Retrofit同时解析JSON和XML数据格式
前言 Android开发中,我们会经常遇到前端需要解析两种数据格式(json和xml),比如自己服务器返回的是json格式的数据,我们做微信登录的时候,微信返回的格式又是xml格式的.我们可以通过自己 ...
- fastjson解析多层数据_怎么解析三层List json数据
注意 这个json格式不对 前后的 [ ] 应该要去掉. (我不是说你缺少的结束符) FastJSON 随意解决的事情. 0, compile 'com.alibaba:fastjson:1.2.7' ...
- python解析tcp数据包-python解析获取发往本机的数据包并打印
1.[文件] tcp.py ~ 2KB 下载(69) # -*- coding: cp936 -*- import socket from struct import * from time impo ...
- 使用c语言解析gprmc数据
好的,我可以为您解释如何使用 C 语言解析 GPRMC 数据. GPRMC (Global Positioning System Receiver Monitoring Control) 是 GPS ...
- Python解析VOC数据标签文件
导读 在目标检测数据集中我们经常会使用到VOC格式的数据,这篇文章就向大家介绍一下如何来解析xml标签文件的数据 xml数据 <annotation><folder>/root ...
- c# 解析gprmc数据_Windows下VLP16激光雷达数据解析
最近,实验室有一个对VLP16数据解析的需求,要求在Windows系统下单独把VLP16的数据解析整理出来,作为后期多传感器融合的一个必要基础准备.无奈从ROS转战Windows,网上查了查Windo ...
- C语言解析GPS :GPGGA\GPRMC数据
C语言解析GPS :GPGGA\GPRMC数据 #ifndef _GN_GPSINFO_H__ #define _GN_GPSINFO_H__typedef int i4; typedef unsig ...
- scanf提取gprmc数据
scanf函数是一种用于从输入流中读取和解析数据的C库函数.你可以使用它来从标准输入(通常是键盘)中读取数据,也可以使用它来从文件中读取数据. 使用scanf函数读取GPRMC数据的方式取决于数据的格 ...
最新文章
- 认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL:
- 51Nod1556 计算
- mongodb数据库扩展名_MongoDB如何存储数据
- MTK 驱动开发(38)--- getevent 和 sendevent
- pwm一个时间单位_通过PWM进行数模转换的滤波电路分析计算
- 深入理解Android(二):Java虚拟机Dalvik
- mysql数据库服务器cpu_mysql数据库服务器cpu 100%
- Arkeia Software宣布支持第100个Linux平台
- Python的request官方文档
- 管螺纹如何标注_你所不知道的机械螺纹全面常识(分享篇),赶紧收藏下吧
- 马尔可夫蒙特卡洛(MCMC)-从平稳分布,细致平衡到Metropolis-Hastings和Gibbs采样
- 利用Hessian矩阵的Frangi 滤波器-python版本
- 作业1:关于使用python中scikit-learn(sklearn)模块,实现鸢尾花(iris)相关数据操作(数据加载、标准化处理、构建聚类模型并训练、可视化、评价模型)
- 【JAVA】交错字符串——力扣每日一题(六)(2020.07.18)
- 微信小程序分析送积分功能如何实现_微信积分小程序特色功能——积分营销
- 重装w11新硬盘,找不到硬盘
- 堆内存和栈内存详解(转载)
- meanshift算法
- js前端处理过滤特殊字符以及输入法特殊表情符号emoji的正则方法,解决数据库报错问题。
- Android Studio自带apk签名工具——apksigner