文章编号:167326338(2007)0620458204基于W indo wsMobile 的移动GI S 研究
龙明,王青山
(信息工程大学测绘学院,河南郑州 450052)
摘要:移动GI S 能够弥补传统静态GI S 的某些不足,因而正成为地理信息科学领域新的研究热点,而W indows
Mobile 作为微软进军移动设备领域的主要品牌,受到了人们越来越多的关注。介绍了W indowsMobile 操作系
统和移动GI S 的有关概念,对在W indowsMobile 系统上进行移动GI S 开发需要解决的几个关键技术,特别是对空间数据建立分块分级索引的技术进行了研究和探讨,最后对系统实现做了有益的尝试。关 键 词:W indowsMobile;移动GI S;移动设备;空间索引中图分类号:P208 文献标识码:A
Devel opment of Mobile GI S Based on W indow sMobile Operati on System
LONG M ing,WANG Q ing 2shan
(Institute of Surveying and M apping,Infor m ation Engineering U niversity,Zhengzhou 450052,China )
Abstract:W hen the traditi onal GI S could not meet users ’app licati on demands,Mobile GI S e merged and beca me an
i m portant devel op ing field of GI S .I n this paper,we intr oduced W indowsMobile Operati on Syste m and technol ogy of Mobile GI S,analyzed s ome key technol ogies,and i m p le mented a p r ot otype system.
Key words:W indowsMobile Operati on System;mobile GI S;mobile device;s patial index
移动地理信息系统(Mobile GI S )是将GI S 功能集成到P DA 和手机等移动设备中的软件产品,是GI S 走向大众化,服务于大众的一种应用。随着计算机软件硬件技术发展,移动设备技术的影响不断扩大,特别是各种具有无线互联网功能的移动智能终端(如掌上电脑)和手机的发展,使得无线、移动GI S 成为继单机桌面、C /S 、B /S 系统之后又一个GI S 新品种。1 W i n dowsM ob ile
W indowsMobile 是微软进军移动设备领域的
重大调整品牌,它包括Pocket PC 、S mart phone 以
及Media Centers 三大平台体系。基于W indows Mobile 的智能终端和手机是目前移动市场发展最
快、智能性最强、操作最简单的产品。在其上运行的GI S 软件可以与局域网内基于PC 的C /S 结构的GI S 系统无缝对接,PC 机上的GI S 绝大多数功能和界面可以直接在基于W indo ws Mobile 的智能设备或手机上复用。因此,采用基于W indowsMo 2bile 的智能设备为开发平台,其软件对用户保持
了内网外网的一致性,同时可减少代码转换成本、
提高开发效率。2 移动G I S
移动GI S 是移动系统在地理空间信息中的一种应用。从地理空间数据处理、编辑、存储、管理、装载以及终端应用整个过程来看,移动GI S 不仅仅只是一个移动设备上的单机系统,而应该是一个完整的后台计算机、前台移动设备、通信、定位设备等相结合的网络化系统。
根据应用需求,移动GI S 可划分为4个子系统。
1)服务器端的地理信息服务与分发子系统该子系统负责收集、处理、转换、存储和管理海量、多尺度的地理空间数据,包括矢量地图数据、栅格遥感影像和地理专题等信息,同时对地理空间数据进行图形显示、查询、统计和检索。另外,该子系统要响应来自智能终端的服务请求,并自动启动地理数据引擎,依据请求完成裁切、拼接、转换等步骤,及时把智能终端需求的数据反馈
收稿日期:2007206212;修回日期:2007210222。
作者简介:龙明(1980-),男,湖南怀化人,讲师,博士生,主要从事军事地理信息系统研究。
第24卷第6期2007年12月
测绘科学技术学报
Journal of Zhengzhou I nstitute of Surveying and Mapp ing Vol .24No .6Dec .2007
到用户并刷新。
2)智能终端子系统
负责存储、管理、查询、显示某一区域地理空间数据,并对移动目标位置进行获取、定位、查询、分析和显示。由于地理空间数据(矢量、栅格)的复杂数据结构,在性能远远低于个人计算机的掌上型智能终端运行时,图形的显示、缩放、查询、分析等功能的效率都比较低。因此,需要研究和开发高效的数据结构以适用低性能移动终端。
3)无线传输子系统
服务器端和智能终端主要依靠无线方式传送数据、交换信息。
4)导航定位子系统
通过红外或串口接口获取GPS或“北斗”导航定位系统的位置信息。
作为GI S开发人员,主要关注于服务器端的地理信息服务与分发子系统、智能终端子系统的开发。对于另外两个系统,可以通过应用其系统的接口来实现功能。
3 关键技术研究
虽然移动GI S在实现功能或模块组成方面与普通GI S基本相同,但由于其独有的特性,移动GI S更趋于小型化、指令精简、高性能,以适应小型智能终端设备的要求。另外还需要在小型智能终端设备上存储一定量的地图数据。为了提高软件的运行速度和节约设备的内存空间,移动GI S 软件必须具有适合自身、科学合理的空间数据存储结构。
3.1 设计模式与代码
小型智能终端设备的性能要求移动GI S的指令更加精简、高效,而不降低系统的稳定性。为了达到这种目的,在系统实现过程中,从系统结构设计到具体语句的编写都需要贯穿精简、高效的思想。
系统结构设计中,应用了一些合理设计模式以加强系统的健壮和精炼。如整体结构采用MVC模式,将系统分为数据、视图和主控3个主要的模块;在事件处理模型上采用观察者模式等。
具体编码过程中,在PC机上开发的GI S可能是一个平台工具,要求编写的程序有一定的可扩展性和动态适应性,所以需要预留一些暂时用不到的接口和属性。而移动GI S的开发,可以将要装载入智能终端的程序视为一个具体的应用,从而精减掉一些不用的接口和属性;同时可针对具体的应用环境,用一些常量代替变量,以提高运行效率。
3.2 空间索引
在进行地图显示操作时,按照在PC机上的经验,将全部矢量数据读入内存,在图形缩放、漫游时,其图形速度会有明显的提高,但在智能终端设备上却正好相反。其原因是:智能终端设备Flash卡与内存是共用的,这与微机上的内存与硬盘有着本质的区别。智能终端设备将全部矢量数据读入内存,实际上是将数据仍然读入Flash卡,其读出的数据多数并没有参与显示。所以要尽可能地减少读入内存的数据量。为了实现这个目的,采取了对数据进行分级分块建立索引的方法。
在移动GI S上建立索引,要考虑到智能终端设备的内存大小和微处理器的处理能力。索引算法必须降低其复杂性,空间数据的存储要尽量节省空间,而数据的显示、查询又要求较高的效率。所以,移动GI S的索引机制就需要在这之间达到一个平衡。
3.2.1 空间数据分级索引
由于智能终端运算速度较低,为了满足图形显示的要求,必须对地图空间数据进行必要的综合。即在不同比例尺下对地图要素作必要的取舍,从而构成一个地区不同比例尺的父类和子类。可以采用地图逐步分级的方法,并且每一级显示不同的图形要素。
数据分级包含两个层次:一是对不同比例尺的数据进行分级;二是对同一比例尺数据中的不同要素进行进一步的分级。
如,对于系列比例尺的嵌套显示,需要对不同比例尺中的要素进行分级。规定在某比例尺范围内显示特定比例尺数据中的要素,属于不同比例尺数据间的分级。其方法可通过设置数据的显示比例尺范围来实现。如可设置1∶25万的交通层数据在屏幕比例尺一定范围内显示;比例尺减小时,切换到1∶50万进行显示;增大时,切换到1∶5万进行显示。
更进一步,对于特定的一层数据,也可在其内部进行分级。以郑州市交通图为例,在其内部可进一步分级如下:第1级数据仅显示郑州市概貌和几条主要环线以及高速公路等信息;第2级显示稍详细的主要干道公路信息和主要街道;依此类推,到最后一级显示郑州市每条街道详细信息和注记。
这种分级实现方法是对数据建立分级索引。
954
第6期龙明,等:基于W indowsMobile的移动GI S研究
分级索引是一种逻辑索引,它不需要破坏数据存放的结构。建立和应用分级索引的过程如下所述。
1)遍历数据,将数据按照不同的属性码分类,如道路按照高速公路、国道、省道等不同的等级分类。
2)分类记录每一类中每个要素的I D值形成索引表;如高速公路有I D号为1、2、4、6的要素,国道有I D号为3、5、7、8的要素,则分别记录之。
3)需要读取和显示时,按照所需条件从索引表中查找所需要素的I D号列表;如只需要显示高速公路,则可得到I D号为1、2、4、6的列表。
4)按照I D号列表从数据文件中读取相应的要素进行显示。
对空间数据分级后,在智能终端进行空间数据读取时,通常智能终端读取一幅小比例尺矢量图形数据,显示这幅图的概貌。当用户选择自己感兴趣的区域后,在此级矢量数据的基础上,再读取小比例尺未包含的那部分矢量数据信息,从而显示用户选择区域更详细的图形和属性信息。该过程可以看成是由小比例尺图形对象追加信息得到大比例尺图形对象的过程。智能终端每次对数据的读取内容都是对前一次对象数据的累加,从而不存在重复读取冗余数据。直到需要进行比例尺切换时,再读入更大比例尺的数据,进入下一级循环。
3.2.2 空间数据分块索引
经过地图分级后,可以得到不同级的矢量数据。然而智能终端的屏幕较小,在一次显示时也不需要读入整个图幅的数据,因此在此基础上再对数据进行分块建索引。这样,在显示时只需要读入所需块中的数据,减少了读入的数据量,可提高效率。分块索引也是一种逻辑索引,记录的是落入块中要素的I D号。需要时,通过索引找出需要读取的块中包含的I D号。考虑到智能终端设备微处理器的处理能力,选择了算法复杂度比较小的网格索引计算方法。
将第1级地图数据根据屏幕显示范围大小,按横向分为n r份,纵向分为nc份,这样一屏幕数据由n r×nc份矢量数据组成。第2级在第1级分块基础上,每一块又按横向分为n r份,纵向分为nc份,这样一屏幕数据由(n r×nc)2份矢量数据组成。依此类推,第i级由(n r×nc)i份矢量数据组成。分割数据采用树结构索引存储,分级、分块数目大小,可根据硬件软件条件综合考虑。如图1所示,当n r=2,nc=2时,第1级图幅为一小比例尺图幅;第2级图幅为一较大比例尺图幅。将第1级图幅等分为“0”、“1”、“2”、“3”4等份矩形,将第2级图幅等分为“0”、“1”、……、“15”16等份矩形。第1级中的矩形块“0”放大后对应于第2级图幅中的“0”、“1”、“4”、“5”4个矩形块。第1级中的矩形“1”放大后对应于第2级图幅中的“2”、“3”、“6”、“7”。第1级中的矩形“2”放大后对应于第2级图幅中的“8”、“9”、“12”、“13”。第1级中的矩形“3”放大后对应于第2级图幅中的“10”、“11”、“14”、“15”。如果还有第3级,依此类推
。
图1 矢量图形对象数据的分块
用户在任意时刻只是浏览一幅图的一部分,即一幅图对象集合的一个子集,所以可以将一幅图按矩形分块方式划分成若干对象子集。每一小块为一个格网,每个格网为一对象集合,可以含0至任意个图形对象,所有格网组成一幅图。
建立和应用分块索引的过程如下所述。
1)确定分块数,根据块数计算出每小块的边界矩形,如可分为16×16块或60×60块等。
2)遍历数据,记录下每个块中包含的要素。具体方法是通过判断每个要素落在哪些块中来进行统计。如记录结果可为:块1中包含的要素的
I D号有点1、2、4,线2、5、8,面1、3、6。
3)需要读取和显示时,按照所需条件从索引表中查找所需要素的I D号列表;如只需要显示块1,则可得到块中包含要素的I D号列表。
4)按照I D号列表从数据文件中读取相应的要素进行显示。
在对空间数据建立分块索引后,可进一步减少需要读入的数据量,从而提高效率。
3.2.3 图形的漫游、缩放算法的实现
图形处于不同的级上,本级到上一级称为缩小,到下一级称为放大,同一级显示内容的变化则称为漫游。例如,在图1中,当n r=2,nc=2时,图形显示处于第1级1区,此时如果放大该区,则直接将第2级的“0”、“1”、“4”、“5”区域图
064 测绘科学技术学报2007年
形数据调入并显示。反之,当图形处于第2级5
区时,若作缩小运算则直接将第1级地图数据读入并显示。图形处于第1级时,图形无需漫游。当图形处于第2级“5”、“6”、“9”、“10”时,图形可以向左、向上平移实现漫游。图形向左平移时,屏幕显示区为“4”、“5”、“8”、“9”数据;向上平移时,屏幕显示区为“1”、“2”、“5”、“6”数据。一般地,图形的放大、缩小、漫游算法可由级数、区域块编号确定。
设任意时刻左上角的块号为i =0,2,…,n -1,按横向分为n r 份,纵向分为nc 份。当漫游显示图形时,图形数据只在同一级之间切换,则上下漫游时,i 加减n r ;左右漫游时,i 加减1,即:左移时:i =i -1;右移时:i =i +1;上移时:i =i -n r ;下移时:i =i +n r ;
缩放则可通过屏幕边界的矩形来计算上一级或下一级需要载入的块。4 系统实现
结合应用需求,以V isual Studi o 2005为开发
工具,用S QL Server 2005和S QL Server 2005Mo 2bile Editi on 进行数据的存储和管理,在W indows Mobile 操作系统和.NET Compact Fra me work 基础上实现了一个移动GI S 原型系统。如图2所示
。
(a ) (b )
图2 系统界面
其中,图2(a )为小比例尺(缩小)时,注记分
级显示、注记避让。图2(b )为大比例尺(放大)时,不同的符号配置,如公路线划加粗。
系统实现了放大、缩小、漫游、查询、量算等GI S 基本功能。在数据存储管理上使用了分级、分块建索引的方式进行组织;在数据显示上使用显示样式配置的方法进行配置,不同比例尺下用不同的符号进行显示;注记显示采用了注记避让和分级配置的处理来保证显示的清晰和美观。5 结束语
移动GI S 作为一个独立的GI S ,可以满足用户对当前地理位置信息获取的需求,鉴于移动GI S 功能的可裁减性及系统的可集成性比较高,
移动GI S 在与其他技术集成后,加上行业的特征,能满足多种行业的需要。
对移动GI S 及其开发进行了简要的介绍,并结合开发进行了移动GI S 的设计和实现。随着微处理器体积越来越小,速度越来越快,能源消耗越来越低,价格越来越低,以及外围硬件模块(如GPS 、GS M 模块等)越来越丰富,基于智能终端平台的GI S 产品将得到越来越多的应用。参考文献:
[1] 李德仁,李清泉,谢智颖,等.论空间信息与移动通信的
集成应用[J ].武汉大学学报:信息科学版,2002,27(1):
128.
[2] 王继周,李成名.嵌入式移动GI S 研究[J ].测绘科学,
2005,4(8):48250.
[3] 李鲁群,李成名.服务于P DA 的矢量数据分块存储数据结
构的研究[J ].测绘学报,2002,31(2):1702174.
[4] 王继周,李成名.移动GI S 概念框架研究[J ].武汉大学学
报:信息科学版,2003,28(7):54256.
[5] 林建民.嵌入式操作系统技术发展趋势[J ].计算机工程,
2001,27(10):18222.
责任编辑 安敏
1
64第6期龙明,等:基于W indowsMobile 的移动GI S 研究