八文_文档搜索
 
设为首页   |  加入收藏夹
 八文网 - 汇聚八方文档 - 做最优秀的免费文档下载网站
 

用VB实现GPS信息处理

文档类型: Microsoft Word 文档 文档大小:51.5KB
用VB实现GPS信息处理西安世兴科技有限公司内部资料引言目前、GPS 已在许多行业和领域得到广泛应用,但就如何将GPS 有关信息读入计算机以便进一步处理和应用,仍是大家普遍关心的问题.虽然目前GPS 接收仪的种类,功能各有差异,而且使用的通讯协议也比较多,但许多GPS 生产商都遵循NMEA0183 协议,并且这些GPS 都提供串行通讯接口.笔者试图从分析GPS 通讯NMEA0183 协议入手,以计算机实时读取,显示、存储,回放GPS信息为例,探讨用VB 实现GPS 信息处理的一些方法.
1 GPS 通讯的NMEA 协议GPS 的通讯协议比较多,其中NMEA (National Ma2rine Electronics Association协议为GPS 接收机和其他航海电子产品的导航数据输出格式,是目前普遍使用且为大多数生产商遵循的协议之一、以下为其基本通讯参数及报文格式.
1.1GPS 串行通讯参数波特率= 4800 ;无奇偶校验;数据位=8;停止位= 1
1.2NMEA 0183 报文格式NMEA 0183 协议报文的语句串(ASCII 字符) 格式全部信息可如下表示[1] :AAXXX,ddd. . . ddd ,3hh
具体内容为:串头,表示串开始AA 识别符
XXX 语句名ddd 8943;ddd 数据字段,字母或数字, 逗号3星号,串尾hh 与3 之间所有字符代码的校验和回车控制符换行控制符
1.3报文示例说明在具体的GPS 应用中、不需要用到NMEA 的全部信息,而是根据具体的工作,从中选取所需的信息,忽略其他信息.在文献[1]中、给出了用NMEA0813 的GPGGA语句的数据格式及示例,文中以GPS 推荐的最短数据GPRMC 语句为例,具体讨论协议串中各数据段内容.
当GPS 接收仪和卫星的通讯正常时接收到的数据中就包含如下格式的RMC 语句:GPRMCANW,A302
其中数据分别为:GPRMC 串头,其中RMC 为定位语句表示UTC 24 小时制的标准时间,格式为时时分分秒秒.根据任务还需要将其转换为北京时间格式A或V 表示信号接收状态、其中A表示数据OK,V表示一个警告表示纬度值,格式为ddmm.mmmmN或S 标明南北半球、N为北半球(北纬),S为南半球(南纬)表示经度值,格式为dddmm.mmmmE或W 标明东西半球、E为东半球(东经),W为西半球(西经)
0.0 表示速度, (这里速度为0)
230.4 方位角,范围为000.0 到359.9度为UTC 的日期,格式为日日月月年年
1.3 地磁变化(磁偏角) ,从000.0 到180.0度W地磁变化方向,为E或W当没有和卫星取得联系时
RMC 语句的显示格式如下:GPRMC, ,VW,N 2B
2 VB编程实现在应用VB 实现对GPS 数据接收和处理时,主要通过串行通讯方式,应用MSComm 控件完成.由于文中涉及内容较多,故只给出编程思想和核心程序段.
2.1MSComm 控件应用端口设置由于GPS串行通讯参数是固定的波特率=4800 ;无奇偶校验;数据位=8;停止位=1,所以在编程时直接设置串口通讯参数就行了.其主要程序段如下[2] :NMEA 协议设置数据采集OnComm 事件被用于捕获communications 事件及错误.因此可在MSComm 控件的OnComm 事件中加入处理函数,以便在文本框区实时显示、数据采集.
Private Static Sub MSComm1 - OnComm事件信息Dim Buffer As VariantBuffer = txtTerm 在文本框txtTerm 内显示接收到的GPS 信息ShowData 过程实现, 见2.2.4End Sub
2.2GPS 信息显示的实现GPS 信息的显示实际包括两个方面,一是经过提取处理,显示需要的信息;二是在文本框内显示或记录全部信息(各种语句都显示) .在程序实现上,为方便读取GPS信息, 并提高程序的复用性, 事先设计了两个类模块和一个标准模块 ;同时也设计了一个在文本框区显示、采集数据的过程showdata.以下为主要功能或实现过程.
类该类主要用于求得语句串中数据段的数目和内容、包含两个函数:
Function Count Parts ( sString As String , Optional sDelim As String) As Byte 用于返回协议语句中用,分割的段数Function Parse (ByVal sString As String , iReq As Integer , Op2tional sDelim As String) As String 用于分割数据段内容GPRMC-wjh 类该类实现对接收到的语句进行判断、并确定各段字符的具体内容.除变量和其他属性定义外,最核心的一个方法,就是字串判断、下面列出其程序段:
Public Property Let Sentence (ByVal RMC - Sentence As String)Dim Utils As New 检查正确的协议语句串头,以保证为GPRMC 串If Utils.Parse (RMC- Sentence , 1) =GPRMCThen变量定义部分从略mvarSentence = RMC - Sentence分析NMEA 并检查效果,如果不满足控制条件,返回并使变量值为空sUTC = Utils.Parse (mvarSentence , 2) UTC 时间If IsNumeric (sUTC) ThenmvarUTC = sUTCEnd IfsLatitude = Utils.Parse (mvarSentence , 4) 纬度If IsNumeric (sLatitude) = = Utils.Parse (mvarSentence , 5) 南,北纬If sLatHemis =SOr sLatHemis = = Utils. Parse (mvarSentence , 6) 经度If IsNumeric (sLongitude) = = Utils. Parse (mvarSentence , 7) 东,西经If sLonHemis = EOr sLonHemis = = = Utils. Parse (mvarSentence , 8) 速度If IsNumeric (sSpeed) ThenmvarSpeed = sSpeedsUTDate = Utils. Parse (mvarSentenc日期If IsNumeric (sUTDate) ThenmvarUTDate = sUTDate其他判断类似,此处从略Set Utils = NothingEnd 功能模块该模块给出了坐标格式转换函数及GPS 信息显示函数,它们分别为:
Public Function As String) As Double坐标格式转换函数,转换NMEA 协议的度分坐标格式为十进制度度格式实现方法读者可自己完成下面主要介绍用于GPS 数据显示、回放时要用到的playNMEA 过程的实现方法:Public Sub As Variant )直接显示GPS 数据流、或回放已存在的NMEA 文件Dim rmc As GPRMC-wjhDim Utils As New CparseUtils - wjhDim Sentence As IntegerFor Sentence =0To sCnt - 1If Utils. Parse rmc = New GPRMC - rmc
. Sentence = Not Val ( . Longitude) 分别为用于显示X,Y坐标,速度,日期,时间的标签(Label) 控件这里只示例了GPRMC 中几个主要信息的提取,其他信息可如法炮制
lblX. Caption = X: Format (DM2DD ( .
lblY. Caption =Y: Format (DM2DD( . Caption =速度: . Speed Km hlblDate. Caption =日期: . UTDate
lblUTC. Caption =时间: . UTC 这个时间为UTC时间根据任务可转换成北京时间ElseMsgBox接收卫星数太少,不能定位!赋给 空串Exit SubEnd WithNext Sentence如果需要记录数据到文件If hLogFile ThenDoPut hLogFile , , DataDim data0 As StringIf Err - ClickLoop Whilei2Term. SelStart = Len ( Term. Text ) 定位信息显示部分开始InString = DataReDim Preserve = tempStrNext nsCnt = cntCall 显示部分结束
Handler :MsgBox ErrorResume Next
2.3实时记录和保存GPS 数据程序运行时,如执行打开记录文件,则打开要记录的文件和端口,在GPS 信息区实时显示接收到的GPS 报文,并录入到记录文件中;若执行关闭记录文件,则关闭记录文件(但文本框中仍然显示GPS 信息) .
Private Sub mnuOpenLog - Click执行打开记录文件Dim replaceOn Error Resume NextWith OpenLog CommonDialog 控件
. Flags = Or cdlOFNExplorer
. CancelError = True 从用户处获得记录文件名称
. DialogTitle = 打开记录文件
. Filter = 文件格式LOG) |3. log| 文件格式txt) |3. txt| 文件格式|3.3 OpenLog. FileName =OpenLog. ShowOpenIf Err = cdlCancel Then Exit SubTemp = OpenLog. FileName如果文件已经存在, 询问用户是否希望覆盖此文件或在此文件基础上添加内容If Ret Thenreplace = MsgBox(代替存在的- Temp 吗, 35)Loop While replace = 2用户单击确定按钮, 则删除此文件If replace =6ThenKill Temp打开记录文件hLogFile = FreeFileOpen Temp For Binary Access Write As hLogFileClose = 0到文件结尾处来添加新数据Seek hLogFile , LOF(hLogFile) 1Private Sub mnuCloseLog - Click执行关闭记录文件
2.4回放GPS 数据GPS 数据的回放,是将存有GPS 信息的文件打开、并重新读取,显示其信息的过程.它包括一个打开过程和一个播放过程.具体实现代码如下(要用到前面给出的模块中的方法) :Private Sub mnuOpenBFile - Click读取存有GPS 信息的回放文件Dim sFile As StringDim SentenceOn Error GoTo OpenBFile从用户处获得回放文件名称
. DialogTitle = 打开回放文件
. ShowOpen If Len( . FileName) =0ThensFile = . FileNameOpen sFile For Input As 1Do While Not EOF (1)Line Input1, SentenceReDim Preserve = 1
errorhandle :MsgBox打开文件错误!Private Sub mnuPlayBFile - Click播放GPS 记录文件Call
3 结论通过对GPS 通讯NMEA 协议的分析,以RMC 语句的GPRMC串为例,给出了开发GPS 数据处理的方法.该方法具有简单,高效,实用的特点.需要说明的是,用RMC 语句不能读取高程数据,如果要在应用中读取高程数据, 可应用文中的方法, 再编写一个读GGA 语句(GPGGA串) 的类,其中第9 个数据段就是高程信息.
doc文档的标签: 处理 信息 实现
更多推荐标签: 营销涉及问题   电子电工论文   审计工作规范   中国画写生   医药回扣论文   武术开题   工程质量职责   军事议论文   二胡电视教程   城管工作   申请员工培训   结构振动力学   设备验收清单   永州永康   社会化保障   民政局公文网   学生手册   品牌经营战略   个性方案   旅游城市   会计实习摘要   可行性分析   麻醉病理学   刑法法教案   产品包装策划   薪资协议   性的解放   程序员的职责   备份恢复计划   研讨会计划书  
相关文档推荐
北极GPS应用研究和站区信息系统建设
资源与信息学院第一届一次教代会提案处理表
请用印刷体填写下列信息
GPS(全球定位系统)和GIS(地理信息
网络版GPS车辆监控系统设计与实现
用VPN组建全省电大信息安全隧道
山西省高速公路管理局网络财务管理信息系统
GPS/SMS短信息远程数据采集系统方案
教育管理信息系统互操作通信模型设计与实现
高校人力资源信息共享系统的设计与实现*
成都市疫情和突发公共卫生事件信息报送及处
信息处理技术员上机考试考生操作须知
软件开发与信息处理技术
消费者信息处理及决策理论
教学管理信息系统使用指南(学生用)
GPS/GPRS/GISnet移动信息系
基于数据库的信息处理
关于城市地理信息系统建设实现模式的探讨
一种新的GPS出租车调度系统的设计与实现
社区警务信息管理系统设计与实现
推荐文档下载
旺苍白水中学
1992年试题
市规发[2003]683号
出口商品技术指南培训计划的主要内容
国学是母乳:中国文化近百年捍卫者
环境艺术设计专业教材[学制三年中专]
中小学信息技术教育之我见
2000年以来明文废止或失效的规范性文件
单位:工学院及系
关于举办非高危行业生产经营单位(公共集聚
重视科学素养
第十七章
ORACLE市场营销日常商务智能
2005年上海市中小学信息科技学业水平等
习题汇编答案
高中新物理课纲的教学建议
大众车系ABS系统排气程序
国家工商行政管理总局
岗位效益工资制实施细则
银行业务和作用
 
文档下载提示:
·最新免费文档下载、毕业论文免费下载、Word文档下载、Excel表格下载、PDF电子书下载、PowerPoint提案下载
·所有文档均为网友上传,仅供学习参考,用作其它用途时请征得相关权益人许可.
·八文网只提供文档共享平台,不对文档内容的正确性及相关内容所引发的后果负责.
·如此文档"用VB实现GPS信息处理"涉及您的权益,请附上网址来信告知web_8wen(#)126.com,本站将认真配合并改正。
Copyright ©2005-2008 八文网-  8Wen.com . All rights reserved.