基于移动GIS的GPS定位导航系统的设计与实现
扫描二维码
随时随地手机看文章
摘 要: 剖析了基于移动GIS 的GPS 定位导航系统的关键技术,设计出基于Smart Client 的系统开发架构,通过GPS 中间驱动(GPS Intermediate Driver)技术及嵌入式开发方式,在PDA 电子地图上实现GPS 的定位与导航。
1 引言
随着计算机软、硬件技术的高速发展,移动Internet 与GIS 的有机结合,形成了面向手机等便携式信息终端的GIS 应用方案。与此同时,很多新的技术比如大容量存储卡,无线局域网,无线通讯,3G 网络,GPS 全球定位导航系统也渐渐的被集成到智能设备中,这使得在移动设备上实现GIS 的功能成为可能。人们通常把用户(终端设备)处于移动情况下使用的地理信息系统,称为移动GIS。
近年来,移动GIS 作为地理信息科学领域研究的热点问题,引起了很多学者们的关注。在理论上,国外学者提出了动态、可定制IMA(智能地图代理)架构[3];将电子地图转换为简单空间格式的算法;在国内,李德仁、李清泉等分析了空间信息与移动通信集成的关键技术,提出了集成系统的体系结构;刘召芹提出集成数据模型,提高了数据共享程度[5].在应用方面,由美国地理信息与分析中心(NCGIA)发起的名为Battuta 计划正处于原型系统建立和区域试验的阶段,该计划旨在研究数据采集系统中地理数据与相关技术的整合应用; 由爱尔兰都柏林大学的A.Rizzinig 和K.
Gardiner 等撰写的"移动环境管理GIS 系统:鱼类栖息地空间信息管理系统设计",结合了无线网络和移动GIS 实现了环境空间数据的移动管理,为无线网络与移动GIS 的结合提供了原型参考;在国内,南京大学的严长清等在"基于GPS-PDA 的土地变更调查数据采集系统集成设计"中采用PDA 与差分GP S 结合的方式,使移动GIS 数据采集满足了国土资源行业的需求;王悦,吴云东等在"基于移动地图学的空间信息系统"中分析了移动地图学的发展趋势,结合地图学与其他学科交叉的现状,以地图学的观点指出移动地图服务发展的关键因素。
GPS 作为移动GIS 采集地理信息数据的一个主要手段,可以通过GPS 实时获得点的位置信息,并在此基础上实现导航的功能。利用GPS 中间驱动技术(简称GPSID)设计面向移动GIS 的GPS 定位导航系统,通过一个中间层连接开发端和GPS 模块,使开发者无需直接接触硬件部分,从而降低了开发者与GPS 串口通讯的难度。通过嵌入式开发,实现智能设备GPS 的定位导航功能,以满足移动GIS 数据采集的需求。
2 PDA电子地图的设计
PDA 电子地图是指显示在智能移动设备上的地理信息数据的可视化产品,它能够根据用户不同的需求提供相应的信息。PDA 电子地图不同于传统纸质地图或电子介质地图。传统的纸质地图是绘制在硬纸或聚酯薄膜上,单层显示,内容丰富,制作复杂,更新周期长,且不考虑个人用户需求;电子介质地图,是通过计算机成图,采用单层或多层叠加显示,内容详尽,更新快,有成熟的制作标准,可以进行复杂分析操作。
目前,PDA 电子地图设计由于诸多的限制条件,无法具备上述两种地图的所有功能,PDA 电子地图设计的限制主要来源于以下几个方面:1)屏幕分辨率低;2)显示屏小;3)屏幕色彩不丰富;4)CPU 处理能力低下;5)野外环境因素:强光、雨雪、大风等的制约;6)移动设备没有鼠标,键盘输入功能也不强大。
因此,PDA 电子地图的设计需要综合考虑上述的限制条件及设备自身特点。Reichenbacher (2004)提出,PDA 电子地图的设计需要满足以下四个方面:
(1) 信息内容:PDA 电子地图所承载的信息,并不要求像传统地图那样拥有对地理信息数据的全面而细致描述,但需要所加载的图层数据能够描述出用户的需求,完成相应的任务。比如,用户是某交通部门,相应的地图设计可以在建筑物或河流方面加以简化,而突出道路数据的展示。对于要突出描述的专题信息,详尽程度也有要求,专题信息的数据质量要高,显示要清晰,精度要达到用户需求。
(2) 用户界面:PDA 电子地图的界面要简单整洁,界面元素尽量少,信息多采用整屏显示,功能项放在显示屏下方的任务栏中,以节省更多的屏幕空间,用来显示地图信息。其次,充分利用键盘和触摸笔编制系统功能快捷键,以达到简洁实用的目的。
(3) 可视化:在可视化方面,要根据不同的环境和不同的设备,对地图的设计加以调整,地图标记和符号要简单、明显,使用的标记数量不宜过多,地图背景色多以灰色等冷色调为主,对比度要鲜明,对要素类的填充图案不易过于复杂,达到显示内容清晰,显示效果良好。
(4) 技术:技术上,要充分考虑移动设备的存储量、电池电量、CPU 处理能力、显示屏大小等,通常可以对PDA 电子地图进行分层和空间数据精简处理,将PDA 电子地图分为基础图层和工作图层。基础图层作为背景层,多以影像为主;工作层为移动GIS 要操作的图层,多以矢量数据为主。
PDA 电子地图的设计,是实现GPS 定位导航和移动GIS 数据采集的关键环节,地图质量的好坏直接关系到定位导航的精度和数据采集的质量。实现移动设备的定位导航系统,离不开GPS 模块,下面将介绍一种开发基于智能设备的定位导航系统的新技术-GPS中间驱动。
3 GPS中间驱动(GPS Intermediate Driver)
GPS 中间驱动(GPS Intermediate Driver),即在开发人员和GPS 硬件设备之间建立一个中间层,开发人员无需直接访问GPS 硬件,而是通过访问中间驱动提供的API 函数,间接与GPS 通讯。GPS 中间驱动是微软公司在Windows Mobile 系列5.0 版本之后,提出的一个基于智能设备的GPS 应用程序开发理念。
GPSID 的提出拥有很高的商业价值,对于GPS 硬件制造商:GPSID 可以和应用程序无缝接合;对于应用程序提供商:它可以和任意支持GPSID 的GPS 设备进行整合。
传统的GPS 开发方式,多采用编程语言直接操作GPS 硬件部分,进行GPS 数据文件流工作,完全人为的解析NMEA 数据,来实现串口通讯;或者使用已经成型的移动GIS 软件的GPS 功能,比如,ESRI 公司的ArcPad、超图公司的eSuperMap 等。GPS 中间驱动技术,相对于传统的开发方式拥有很多优点,比如:
1)开发速度快、效率高;2)拥有友好的API 接口函数;3)兼容传统的GPS 数据文件流操作;4)可以在PC 端进行仿真模拟;5)支持多个应用程序同时访问一个GPS 设备;6)使解析NMEA-0183 数据变得简单。
GPS 中间驱动的工作流程如图1 所示:
图1 GPS 中间驱动工作流程。
通过程序语言调用GPSID 提供的API 函数,完成相应的GPS 参数设置(端口、波特率)及端口的打开关闭操作;API 函数修改操作系统注册表信息,实现对GPS 硬件的实际访问,GPS 设备响应访问信号,完成GPS 数据的接收与通讯。目前,GPSID 提供的API 函数包括以下四种:1)GPSOpenDevice:打开GPS 设备,建立与GPSID 的通讯;2)GPSCloseDevice:关闭GPS 设备;3)GPSGetPosition:获取当前点位信息,包括经纬度、高程等;4)GPSGetDeviceState:获取GPS 设备状态信息,包括接收卫星个数、定位质量、时间等。
通过上述四种API 函数,应用程序开发人员可以获得定位与导航数据,完成对GPS 设备的所有操作。
从GPS 设备中接收的位置数据,并不能直接的运用到实际的定位与导航之中,其间还存在坐标系统的转换问题,下面将探讨GPS 数据匹配到PDA 电子地图上的坐标转换问题。
4 GPS坐标转换
智能设备GPS 接收的NMEA 格式数据为WGS-84 坐标系下的大地坐标,即用经纬度高程(B,L,H)表示的坐标;PDA 电子地图使用的是国家大地坐标系或地方独立坐标系下的直角坐标,是用(X,Y)表示的平面坐标。因此,在不考虑高程参与转换的前提下,通过坐标转换实现坐标系的统一。
转换过程分为两步,第一步将WGS-84 椭球下的(B,L)坐标,通过高斯正算,转换为该椭球下的平面坐标;第二步将高斯平面坐标,通过解析变换法,转换为国家大地坐标系或地方独立坐标系下的平面坐标(X,Y)。
4.1 高斯正算
根据不同的精度要求可以给出不同的高斯正算公式,下面采用一种适合于计算机编程实现的电算公式,使用1975 国际椭球参数,平面坐标精度可达0.001m。
4.2 平面坐标转换
根据地方的实际情况和需要,将高斯平面坐标转换为地方独立坐标系下的平面坐标(X,Y),采用四参数转换模型。使用此模型求解平面坐标分为三个步骤,第一步是将WGS-84 平面坐标系进行旋转;第二步将旋转后的WGS-84 平面坐标系与地方平面坐标系进行尺度统一;第三步进行平移。
以下为模型的具体形式:
其中: , 通过采集两坐标系下至少三对的公共点数据,使用最小二乘原理,列出误差方程,求解出四个转换参数。有了转换参数,就能够通过上式,求解出其它点在地方独立坐标系下的平面坐标。
5 实例开发
实例硬件条件为HTC Touch HD 智能手机和内置嵌入式GPS 模块(定位精度10m);坐标系为阜新独立坐标系;开发平台为Visual Studio.NET(2008),加载ArcGIS Mobile SDK 组件。
系统作为移动GIS 的一部分,采用与移动GIS相同的开发架构,即Smart Client(智能客户端)架构,架构如图2 所示:
图2 Smart Client 系统开发架构图
该模式继承并结合C/S、B/S 模式的优点,在充分利用客户端资源的同时支持与服务器的实时双向同步。PDA 电子地图数据既可以直接部署在智能设备的地图缓存中,也可以通过无线网络下载到客户端存储卡里。
系统实现的主要功能如图3 所示,其中地图管理和地图操作为通用功能,主要包括放大、缩小、漫游;GPS 设置和GPS 操作主要包括端口、波特率设定、GPS 端口的打开和关闭;卫星信息显示功能,主要包括显示经纬度坐标、接收卫星数、卫星位置和信号强度。
图3 系统功能设计图。
为了验证系统的稳定性、可行性和数据传输的可靠性,系统实地测试为安装了本系统的智能手机,加载制作的辽宁工程技术大学PDA 电子地图,测试PDA通过无线网络访问Internet的连通性,开启GP S端口,从辽宁工程技术大学荃蕙路西起点出发,东行到达街道口,经莘铭路、紫荫路到达学校南门。测试所经过的路线具有利用GPS 采集地理数据和导航的典型代表性。
GPS 中间件技术通过调用以下方法设置端口号和波特率:
图4 地图在PDA 端显示。
图5 可用卫星位置分布。
图6 GPS 定位。
图7 GPS 导航。
通过URL(统一资源定位符)和缓存存储的路径,来唯一确定地图数据的位置:
通过以下代码确定坐标参考框架,加载端口接收的GPS 数据,进行坐标转换:
由以上调用主要函数的过程可以看出,GPS 中间件技术拥有更高的数据安全性,具有更强的可视化表达能力。
6 结论
使用GPS 中间驱动技术能够简洁、清晰、高效的开发出一套性能稳定、功能全面的定位导航系统。
系统可以做进一步的扩展和定制。当系统扩展应用到车载导航,系统的服务对象变更为路面行驶车辆时,就应在系统中加入地图匹配技术和导航地图数据库;GPS 的定位导航精度也可以依据不同行业的需求加以灵活定制。例如,PDA 或智能手机可以集成差分GPS 模块,定位精度可达到分米级。