GPS定位信息提取及应用
扫描二维码
随时随地手机看文章
摘要:描述了GPS与手持终端串口通信的方法,并在WinCE6.0操作系统下提取GPS的定位信息,采用NMEA-0183通信协议中的RMC数据格式进行解析。简述了GIS概念,并介绍了GPS在GIS方面的应用。
关键词:GPS;串口通信;定位;GIS
GPS(Global Position Svstem)即全球定位系统,是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统,其主要目的是用来为陆、海、空3大领域提供实时、全天候及全球性导航服务,具有高精度和自动测量的特点。利用该系统,用户还能够进行高精度的时间传递和精密定位。随着GPS的发展和完善其应用层面日益增大,嵌入式GPS的手持终端应运而生。而今,人们对生活智能化提出了更高的要求,使其在GIS领域上的应用得到了广泛关注。例如智慧城市、旅游导航等。用户可以手持带有GPS的MID实时获取位置、时间信息,实现定位导航功能。基于GPS的特性,文中介绍了GPS定位信息的提取方法,包括与MID串口通信的实现过程,并对获取的数据信号通过相关的协议进行解析。最后探讨了嵌入式GPS在导游中的应用。GPS还将在更多领域上得到应用,为人们的生活提供更大的方便。服务人性化、生活智能化将逐步实现。
1 GPS信号解析协议
GPS信号通过串口以NMEA-0183标准格式输出,NMEA-0183通信协议,提供6种数据格式,分别是GGA,GLL,GSA,GSV,RMC,VTG。在此主要介绍RMC格式数据。
$GPRMC是GPS推荐的最短数据,其帧结构为:
$GPRMC,<1>.<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>
字段0:$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息。GP为信息来源,RMC为句型识别符
字段1:UTC时间,hhmmss.sss格式
字段2:状态,A=定位,V=未定位
字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)
字段4:纬度N(北纬)或S(南纬)
字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0)
字段6:经度E(东经)或W(西经)
字段7:速度,节,Knots
字段8:方位角,度
字段9:UTC日期,DDMMYY格式
字段10:磁偏角,(000-180)度(前导位数不足则补0)
字段11:校验值
<CR><LF>:该帧数据的结束标识符
对接收到的数据进行解析后即可获得经纬度、速度、时间等信息,从而实现GPS定位信息的提取。
2 GPS软件流程图
目前MID主要使用Android操作系统,然而相比Android系统,WinCE操作系统的稳定性相对更高,技术更加成熟。本文将介绍在WinCE 6.0操作系统下GPS信号的提取与解析。GPS软件流程图如图1所示。
首先打开串口进行串口的初始化,配置串口的参数,根据硬件配置,默认设置串口为COM4口,比特率为9 600 bit/s,完成所有初始化工作后,启动监听线程,监听串口上所有的输入数据,当接收到数据后,对数据进行保存,若无数据,则继续监听。系统1 s定时触发事件,若数据存在,则对接收到的数据按照NMEA0183协议解析,从而显示在用户界面上。
[!--empirenews.page--]
3 GPS定位信息提取与解析
3.1 GPS读取MID串口数据流程图
首先创建串口的读线程,然后进行串口的监听,等待指定渎事件的发生。如果有可读数据则读串口,对接收到的事件进行数据处理。数据读取流程图如图2所示。
3.2 串行端口数据通信
1)打开串行端口
通过调用CreateFile函数打开串行端口
m_hComm=CreateFile (Port,GENERIC_READ1GENERIC_WRITE,0,0,OPEN_EXISTING,0,0)。这个函数的返回值是已打开串行端口的句柄值。
2)串行端口通信配置
串口打开后.需对串口进行配置。用GetCommState函数获得当前打开的串口参数,然后根据需要修改DCB的成员变量,用SetCommState函数来设置新的串口参数。
3)设置状态参数
SetCommMask(m_hComm,EV_RXCHAR);
4)设置超时参数
为防止程序陷入循环状态,需要设置超时值。
5)读写串口通信
fReadState=ReadFiie(m_hComm,data,length,&dwLength,NULL)://从串口读取数据
fWriteState=WriteFile(m_hComm,buf,dwCharToWrite*sizeof(char),&dwBytesWritten,NULL);//向串口写入数据
6)通信结束关闭串口
函数CloseHandle(m_hComm)用来关闭串口。当串口获取GPS接收机数据信号后,需要根据NMEA-0183通信协议解析GPS数据,获取移动目标当前的格林尼治时间和位置,而我国的标准时间需在格林尼治时间上加上8小时。
GPS使用的坐标系为WGS_84坐标系,而我国通常使用的是国家坐标系,如北京54国家坐标系,因此需要进行坐标转换。GPS在与MID通信过程中可通过串口每秒发送10条数据。实际应用中可根据需要解析所需定位数据。
[!--empirenews.page--]
4 软件测试
首先,在开发平台上对程序进行编译成功后,然后同步到硬件平台上,并运行该软件,实现串口打开,使接收机处于工作状态,同时获取GPS数据,最终显示在数据信息框中。
GPS数据信息采集程序运行如图3所示。
5 嵌入式GPS在GIS上的应用
5.1 GIS简介
GIS(Geographic Information System)地理信息系统是上世纪60年代兴起的技术,经过40余年的发展,GIS技术已趋成熟,现在已进入推广和普及应用阶段。GIS是一项以计算机为基础的新兴技术,同绕着这项技术的研究、开发和应用形 成了一门交叉性、边缘性的学科,是管理和研究空间数据的技术系统,在计算机软硬件支持下,它可以对空间数据按地理坐标或空间位置进行各种处理、对数据的有效管理、研究各种空间实体及相互关系。通过对多因素的综合分析,它可以迅速地获取满足应用需要的信息,并能以地图、图形或数据的形式表示处理的结果。
随着嵌入式GPS的出现,GIS的应用领域也得到了新的扩展。例如车载导航定位系统的实现,其大大方便了出行者,改善了交通状况。而随着城市的快速发展,我国提出了智慧城市的方案。目前宣布准备或正在规划和计划建设智慧城市的有北京、上海、广州、南京、沈阳、武汉、合肥、昆明、无锡、昆山、富阳、双流等。而其中上海在智慧城市的建设中引领风骚。其涉及领域之广可及智慧安防,医疗,交通,校园,节能等。这将成为GIS发展的新领域。因此,嵌入式GPS在GIS上的应用具有很大的发展前景。
5.2 嵌入式GPS在导游中的应用
随着旅游业的蓬勃发展,传统的导游解说式旅游已经不能满足游客的需求。人们更希望自主游玩儿,而不是跟着导游走马观花,然而对于景区的陌生常常又会给游客带来困扰,不能随心所欲。此时GPS定位在GIS上的应用即可解决这一问题。以游乐园为例,游客即可进行自主游玩。
如图4所示,游客手持带有GPS的手持终端进入游乐园,当游客进入一个区域时,这里假设游客进入城堡区,通过GPS定位,此时手持终端将自动弹出界面,告知游客处于城堡区,而在城堡区界面中将设有几个窗口,分别标有城堡区中各城堡的名称,如白雪公主城堡、灰姑娘城堡、美女与野兽城堡等。用户挑选自己感兴趣的城堡点击进入界面,此时便可查看相关城堡图片,阅读相关资讯等。游客便可根据喜好判断是否前去游玩儿。
6 结束语
文中对GPS定位信息的提取进行了介绍。随着GPS的发展,嵌入式GPS的手持终端得到了广泛应用。在我国,智慧城市的提出又将带来嵌入式GPS在GIS领域上新的应用,具有美好的发展前景。