GPS业界盛行这样一句话,GPS的运用只遭到人们想象力的约束.现在GPS的民用范畴现已包含了陆地运送、海洋运送、民用航空、通讯、测绘、修建、采矿、农业、电力体系、医疗运用、科研、家电、文娱等多个范畴,而我们所熟知的轿车导航也只不过是其间的运用之一,2007年,我国GPS现已进入了一个全面迸发期。
现在市场上GPS相关产品现已许多,但由于各方面技能约束,普遍存在一些严重问题:大多数产品针对专用的硬件渠道,本钱高、可移植性差;体系开发难度大、开发周期长、软件支撑少[2];选用本地地图,地图数据库更新困难。
本文针对上述问题,充分利用现有技能,整合各种现有资源,规划了根据Windows Mobile通用渠道和网络电子地图的方位查询体系。该体系通讯部分选用SMS完结,具有地图数据更新获取便利、运用简略、本钱低、操作便利等长处。
1 整体规划方案
Windows Mobile,是 Microsoft 用于 Pocket PC 和 Smartphone 的软件渠道。Windows Mobile 将了解的 Windows 桌面扩展到了个人设备中。Windows Mobile是微软为手持设备推出的移动版Windows,运用Windows Mobile操作体系的设备首要有PPC手机、PDA、随身音乐播放器等。Windows Mobile操作体系有三种,别离是Windows Mobile Standard、Windows Mobile Professional,Windows Mobile Classic.现在常用版别Windows Mobile 6.1,最新的版别是6.5.
体系从功用上能够分为Pocket PC监控中心和Pocket PC监控方针两部分。监控方针首要功用为接纳GPS信号、提取所需信息和呼应监控中心的监控指令。监控中心经过短音讯(SMS)向监控方针发送监控指令,接纳来自监控方针的数据并对接纳来的数据进行处理。为了更好地显现监控方针所在方位,监控中心一起选用Google地图和Mapabc地图2种网络电子地图。网络电子地图数据经过HTTP协议从Google地图或Mapabc地图服务器上实时下载。体系框图如图1所示。
体系首要规划功用如下:
(1)在Windows Mobile渠道上完结了GPS定位;
(2)网络电子地图实时下载、显现、拖动、扩大/缩小;
(3)监控方针的方位查询与显现;
(4)完结了对监控方针的声响监控。
2 PPC监控方针规划与完结
相对于PDA,PPC是一种狭窄得多的概念,专指运用微软Windows Mobile系列操作体系的PDA.最早的Windows Mobile操作体系是Poceket PC 1.0,一款不怎么成功的操作体系,但PPC由此得名。随后的Poceket PC 2002、Windows Mobile 2003、Windows Mobile 2003 SE都是十分成功的操作体系。
2.1 GPS定位数据提取的完结
传统GPS编程经过串口通讯接纳NMEA(National Marine Electronics Association)句子,然后经过解析NMEA句子[3]提取经纬度信息完结。运用程序独占GPS设备,即同一时刻只答应一个运用程序拜访GPS设备。
本文选用Windows Mobile供给的GID接口完结(GPS Intermediate Driver)。GID是一个坐落运用程序和GPS设备中间层的设备驱动。运用GID时,答应多个运用程序一起运用GPS设备(一切的运用程序都经过GID直接拜访GPS设备),不需求解析NMEA句子,且能够运用相同的代码拜访简直一切类型的GPS设备[4].
选用GID完结的首要进程为:
(1)引证gpsapi.dll.GID是一套在Mobile Device上的本地代码,在。NET Compact Framework渠道上运用,需求选用跨渠道调用技能,引证相应的运用程序接口。
(2)用CreateEvent创立Windows CE事情方针,这样当有GPS设备获取了新的数据或许设备状况改动时就能收到告诉。
(3)运用GPSOpenDevice与GID树立一个衔接。假如GPS设备封闭,则发动GPS设备。
(4)经过调用WaitForMultipleObjects(假如仅有一个事情则调用WaitForSingleObject),等候GPS设备获取新的方位数据或设备状况改动事情产生;当GPS设备获取了新的方位数据时,调用GPSGetPosition取回方位信息。当GPS设备状况改动时,调用GPSGetDeviceState取回设备状况信息。
(5)重复第(4)步,直到不再需求GPS信息。
(6)调用GPSCloseDevice封闭与GID的衔接。假如这个衔接是GID仅有的衔接,则GID主动封闭GPS设备。GPS设备耗电相当大,因而当不再需求拜访GPS设备时要封闭与GID的衔接。
GID全称:Group Identification 集体身份是一个通用的、适应性强和用户界面友爱的图形用户界面,用于几许模仿、数据输入、模型转化、网格和可视化的成果,对一切类型的数值仿真包都适用。 一般多用于比方网游封测时期的账号,或许便是一些带有同享性质的资源运用者的帐号。
2.2 短音讯发送与接纳完结
短音讯收发一般选用AT(Attention)指令完结,本体系选用Pocket Outlook完结。Windows Mobile SDK对Pocket Outlook供给的服务进行了保管封装,能够便利地完结一切的个人信息管理功用[3],一切这些类型构成了POOM(Pocket Outlook Object Model)。
(1)短音讯发送。POOM中的SmsAccount类能够便利地完结短音讯的发送。首要,运用SmsMessage类结构一条短音讯;然后,运用SmsAccount类中的Send办法即可发送短音讯。
(2)短音讯的接纳和截获。Pocket Outlook能够完结短音讯的接纳和截获,且只接纳满意特定条件的短音讯。短音讯接纳和截获进程如下:
①创立一个MessageInterceptor类型的方针。
②设置MessageCondition特色,指定MessageInterceptor方针截获条件。
③设置InterceptionAction特色,指定截获到音讯后Pocket Outlook履行的动作。本体系中,经过将InterceptionAction特色设置为NotifyAndDelete完结截获所需的监控短音讯,而且其他程序不会收到监控短音讯,这样监控短音讯就不会进入短音讯收件箱。
④为MessageInterceptor方针增加截获短音讯事情处理办法。截获短音讯事情界说如下:
public event MessageInterceptorEventHandler MessageReceived
当有满意截获条件的短音讯抵达设备时触发此事情。增加了事情处理办法后,当有满意截获条件的短音讯抵达时,就会触发MessageReceived事情,然后主动调用事情处理办法进行处理。
3 监控中心规划与完结
PPC端监控中心经过GPRS网络,首要以短音讯的方式向监控方针发送监控指令,并经过处理来自监控方针的数据完结对监控方针的方位查询及显现、声响监控等功用。
3.1 网络电子地图完结
现在,Windows Mobile不支撑脚本,故PPC端监控中心电子地图不能运用含接口的地图完结。本体系PPC端监控中心网络电子地图选用Google地图和北京图盟科技有限公司的Mapabc地图。
(1)地图数据下载
Google地图由0~17级不同比例尺的256×256像素的小地图拼块拼接而成,每一个Google地图拼块叫做一个tile.tile的URI相似如下:
其间,mt2.google.com为Google地图服务器,x、y、z别离表明tile的坐标和扩大因子。Google地图服务器有4台,别离为mt0.google.com、mt1.google.com、mt2.google.com和mt3.google.com.为了进步地图下载速度,本体系从4台服务器轮番下载。
(2)地图显现
任给一个经纬度,要将其代表的方位在地图上显现出来,就要将该经纬度转化为对应扩大因子的tile坐标。本体系选用一种近似的办法转化,经过剖析发现,经度与x坐标呈线性对应联系,其核算公式为:
其间,longitude为经度值,其规模为-180~+180,西经用负值表明,东经用正值表明;0.0063为校正值;z为扩大因子。
纬度与y坐标转化公式为:
其间,latitude为纬度值,其规模为-90~+90,北纬用正值表明,南纬用负值表明;z为扩大因子。将经纬度转化为tile坐标后,就能将经纬度与地图匹配了,这样就能够将经纬度对应的方位在地图上显现出来。
本体系选用的Windows Mobile Pocket PC的窗体客户区宽度和高度别离为240像素和268像素,每个tile为256×256像素,这样客户区就需求4个或6个tile拼接而成,如图2和图3所示。
3)地图拖动
地图移动相当于改动地图的中心坐标。本体系完结地图拖动的办法为:当在触摸屏上点击地图某一点时,将地图的中心坐标移到点击处。如图4所示,设点O为窗口客户区中心,点P为点击处,核算点P与点O的水平缓笔直像素距离△Px和△Py,然后将地图中心别离沿水平方向和笔直方向移动△Px和△Py像素,即可完结地图的拖动功用,拖动后地图如图5所示。
(4)地图扩大/缩小
Google地图的扩大因子z的取值为0~17,别离代表0~17级不同比例尺的地图。0~17级地图别离用18张不同具体程度的地图完结,故完结地图的扩大/缩小功用只需求改动扩大因子的巨细,将当时实践的地图切换到改动后的扩大因子所对应的比例尺的地图上,中心点经纬度不变。
3.2 监控中心界面规划及首要功用测验成果
点击操作菜单,顺次挑选监控、方位,然后在弹出的菜单中设置监控方针手机号、陈述次数、陈述时刻距离,如图6所示。
按图6所示设置,点击开端按钮,PPC端监控中心发送监控指令,监控方针收到方位查询指令后,就按监控指令向监控中心陈述自己的方位。PPC端监控中心收到监控方针发来的方位信息后即在地图上显现出来。图7为方针坐落深圳大学工作楼前测验的成果,图中地图为Google地图,点击设置菜单,然后挑选运用Mapabc地图切换到Mapabc地图,如图8所示。PPC端监控中心结构监控指令短音讯如下:
SmsMessage msg=new SmsMessage(15914175891,″*定◎位*″+interval);
其间,interval指定监控方针陈述方位信息的时刻距离,此处为1.
本体系根据Windows Mobile通用渠道,充分利用了Windows Mobile界面友爱、运用简略和支撑软件丰厚等特色。GPS数据经过Windows Mobile供给的GID接口完结,能够使多个运用程序一起运用GPS设备,通用性好,可移植性强。经实践测验,本体系获取地图数据便利快捷、本钱低、保护便利、定位精度高,能满意人们日益增长的运用需求。