高级搜索
排名推广
排名推广
发布信息
发布信息
商务中心
商务中心
 
当前位置: 主页 > GPS学院 > GPS资料 >

专家教你怎样写一个GPS应用程序

时间:2009-05-07 10:25来源:未知 作者:admin 点击:
原文: How to Write a GPS Application - Introduction 作者: Jon Person 翻译:YuL 需要什么样的GPS应用程序才能满足商业级的要求呢,像安装在车里的导航器一样?而且,GPS数据是怎么被解释,从而应用于实际工作中的呢?在这两部分里,我将和大家一起探讨

原文:How to Write a GPS Application - Introduction
作者:Jon Person 翻译:YuL

需要什么样的GPS应用程序才能满足商业级的要求呢,像安装在车里的导航器一样?而且,GPS数据是怎么被解释,从而应用于实际工作中的呢?在这两部分里,我将和大家一起探讨这两个问题,并且给你编写商业级GPS应用程序必要的技巧,让专业的GPS设备能够更好的为你所用。

一句重要的语句

第一部分将探讨描述GPS原始数据的工作。实际上这个工作已经被国家舰船电子协会(下面简称NMEA,www.nmea.org)给简化了许多,该网站介 绍了一个正广泛应用于GPS主流设备的工业标准。为了给广大的开发人员一个良好的开端,我选择使用的一些VS.NET的源代码来自我的“GPS.NET Global Position SDK”组件。(为了简短这些代码,我去掉了诸如多线程和错误处理的部分。)

NMEA数据通过一个“逗号分隔的语句”来传递,这个语句包含的信息都基于语句的第一个单词。这里有五十种以上类型的语句,不过真正的一个描述仅仅需要处理少量的采集数据。最终常用的NMEA语句是“推荐最小”语句,它以“$GPRMC.”开头。这里有个一例子:

$GPRMC,040302.663,A,3939.7,N,10506.6,W,0.27,358.86,200804,,*1A

这条语句基本上包含了GPS应用程序所需的全部数据:纬度、经度、速度、方向、卫星时间、状态以及磁场变量。

第一步就是要写一个方法来解释NMEA数据,这个方法需要完成两件事:将每条语句分解为独立的单词,和检查首单词是否有效。清单 1-1 就是这个描述类的开始部分。

清单 1-1:一个NMEA描述的核心功能是将NMEA语句分解成单个的单词。

'** Listing 1-1. The core of an NMEA interpreter
'*******************************************************
Public Class NmeaInterpreter
' 处理来自GPS接收器的信息
Public Function Parse(ByVal sentence As String) As Boolean
' 将语句分解为单词
Dim Words() As String = GetWords(sentence)
' 通过匹配首单词来决定下一步的工作
Select Case Words(0)
Case "$GPRMC" ' 一条“推荐最小”的语句被找到!
' 标示这条语句为可用
Return True
Case Else
' 标示这条语句为不可用
Return False
End Select
End Function
' 将语句分解为单词
Public Function GetWords(ByVal sentence As String) As String()
Return sentence.Split(","c)
End Function
End Class

接下来一步就是要分析提取出来的信息了,让我们从纬度和经度开始吧。纬度和经度存储格式为“DDD°MM’SS.S,”,其中D表示时(也可以叫 “度”),M表示分,S表示秒。坐标可以简单表示为“DD°MM.M’”或者直接就表示为“DD°.”语句中第四个单词(“3939.7,”)以度和分的 形式表示当前的纬度为39°39.7’。头两个字符(39)表示度,余下的部分(39.7)表示分。经度和纬度是相同的结构,从这个语句来看要注意,头三 个字符表示经度的度(105°06.6’)。第五和第七个单词标示“半球”,其中“N”代表“北半球”,“W”代表“西经”。半球信息放在数字部分后面组 成完整的测量信息。
(责任编辑:admin)

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
用户名: 验证码: 点击我更换图片
发布者资料
GPS报 查看详细资料 发送留言 加为好友 用户等级:高级会员 注册时间:2008-01-14 23:01 最后登录:2012-03-12 19:03
栏目列表
推荐内容