在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的.doc

在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的.doc

ID:61497122

大小:167.00 KB

页数:18页

时间:2021-02-06

在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的.doc_第1页
在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的.doc_第2页
在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的.doc_第3页
在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的.doc_第4页
在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的.doc_第5页
资源描述:

《在Windows Mobile和Wince(Windows Embedded CE)下使用.NET Compact Framework进行GPS NMEA data数据分析的.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、在WindowsMobile和Wince(WindowsEmbeddedCE)下使用.NETCompactFramework进行GPSNMEAdata数据分析的开发提供GPS功能的Wince和WindowsMobile都需要一个GPS接收器(GPSReceiver)。GPSreceiver就像一个收音机,他从太空中各个GPS卫星(Satellites)接收信号,通过自身的算法(一般在Firmware里面)计算出位置等信息,然后以NMEAdata的格式输出。GPSreceiver就是接收卫星信号转换成NMEAdata的设备。进行GPS的开发需要从GPSreceiver取出NMEAdata

2、,分析出关心的数据。关心的数据包括经度(Longitude),维度(Latitude)和海拔(Altitude)等等。在WindowsMobile5以上MS提供了GPSIntermediateDriver,开发人员不再需要自己分析NMEAdata了。但是Wince5以及以下版本不提供GPSIntermediateDriver,还是需要自己分析NMEAdata来取出关心的信息。本文讲述如何使用C#进行NMEAdata的分析。第一眼看,分析NMEA有自己做轮子之嫌,其实了解NMEA的分析也是有好处的,由于各个生产GPSreceiver的厂商在硬件工艺和算法的不一样,各个厂商都提供自己扩展的

3、NMEAdata,这些数据GPSIntermediateDriver是不支持的,需要自己分析。NMEA全称NMEA0183,是电子与数据的通信规范,也就是协议。实现该协议的设备输出这种规范的数据,其他应用就可以基于这协议分析出相关的数据。NMEA开始用在航海设备上,现在广泛用在GPS设备上,这就是为什么NMEA的原始速度使用Knot(海里/小时)表示。下面是一段GPSNMEAdata的范例 $GPRMC,000006,A,3754.6240,S,14509.7720,E,010.8,313.1,010108,011.8,E*6A$GPGGA,201033,3754.6240,S,145

4、09.7720,E,1,05,1.7,91.1,M,-1.1,M,,*75$GPGSA,A,3,,05,10,,,,21,,29,30,,,2.9,1.7,1.3*32$GPGSV,3,3,12,29,74,163,41,30,53,337,40,31,09,266,00,37,00,000,00*78$PGRME,6.3,M,11.9,M,13.5,M*25$PGRMB,0.0,200,,,,K,,N,W*28$PGRMM,WGS 84*06 GPSNMEAdata有以下特点:*每一条NMEAdata的数据都是以dollar符号开头。*从第二个字符开始的前2个字符表示发送者(talk

5、er)和接着3个字符表示数据(message)。其中上面的talker中,GP表示通用的GPSNMEAdata,而PG为特定厂商的NMEAdata。*所有数据字段(datafields)都是使用逗号隔开(comma-delimited)。*最后一个数据段接着一个星号(asterisk)。*星号后面是两位数字的校正码(checksum),checksum的计算方法是或计算在'$'和'*'之间的所有字符。*最后以回车换行()结尾。有了上述规范,开发NMEA的分析器就变得十分简单,分析流程是:先接收一条NMEA语句(NMEAsentence),然后检查语句格式,检查check

6、sum,然后再根据talker和message进行分发,使用不同的算法进行分析。下面为核心分析流程。        public bool Parse(string sentence)        {            string rawData = sentence;            try            {                if (!IsValid(sentence))                {                    return false;                }                sentenc

7、e = sentence.Substring(1, sentence.IndexOf('*') - 1);                string[] Words = Getwords(sentence);                switch (Words[0])                {                    case "GPRMC":                        return Parse

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。