DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 757|回复: 0
打印 上一主题 下一主题

[GPS] 嵌入式GIS跨平台技术的研究与实现

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:13:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

 文章编号:1673-6338(2012)03-0214-04
嵌入式GIS跨平台技术的研究与实现
张江水1,华一新1,唐衡丽2,李翔1
(1.信息工程大学测绘学院,河南郑州 450052;2.75719部队,湖北武汉 430079)
摘要:在分析常用软件跨平台技术的基础上,提出了基于嵌入式GIS图形中间件和数据中间件实现嵌入式
GIS跨平台的方法。通过构建嵌入式图形接口描述表、图像缓存驱动、图形缓存驱动和GDI适配器的图形中
间件以及基于地理空间数据访问引擎、数据管理引擎和数据定制技术的数据中间件,满足了嵌入式GIS快速
跨平台开发的需求。
关 键 词:嵌入式GIS;跨平台;图形中间件;数据中间件;地理空间数据
中图分类号:P208   文献标识码:A   DOI编码:10.3969/j.issn.1673-6338.2012.03.014
Research and Implementation of Cross-Platform Technology on the Embedded-GIS
ZHANG Jiangshui 1,HUA Yixin1,TANG Hengli 2,LI Xiang1
(1.Institute of Surveying and Mapping,Information Engineering University,Zhengzhou 450052,China ;
2.75719 Troops,Wuhan 430079,China)
Abstract:On the basis of analysing the cross-platform technology used by the common software,a cross-platform
 method was put forward based on the embedded-GIS graphics middleware and data middleware.Through
the graphics middleware which consisted of four parts such as the image cache driver,the graphical interface
description tables,the graphics cache drive and GDI adapter,and the data middleware which consisted of the
geospatial data access engine and management engine,the needs of a variety of embedded-GIS visualization under
 the quick cross-platforms and application environments were met.
Key words:embedded-GIS;cross-platform;graphics middleware;data middleware;geographic spatial data
  跨平台是软件开发中的一个重要概念,它泛
指既不依赖于操作系统,也不依赖于硬件环境的
软件特性。由于嵌入式GIS应用开发具有相当的
复杂度[1],需要较长的开发周期,因此嵌入式GIS
的应用开发对于跨平台的要求尤为迫切[2]。
1 软件跨平台技术分析
对软件领域跨平台技术研究包含多个方面,
与之对应的也衍生出了多种跨平台技术。
1.1 基于中间件的跨平台技术
中间件是一种独立的系统软件或服务程序,
分布式应用软件借助这种软件在不同的技术之间
共享资源。中间件位于平台(操作系统、硬件)与
应用软件之间,能够应用于多种软硬件平台,支持
分布计算、有标准的协议和接口。程序员通过调
用中间件提供的大量API实现异构环境的通讯,
从而屏蔽异构系统中复杂的操作系统和网络协
议[3-5]。
1.2 基于虚拟机和解释器的跨平台技术
基于虚拟机的跨平台技术是对中间件技术的
一种延伸,其中Java虚拟机最具代表性。一般的
高级编程语言如果要在不同的平台上运行,至少
需要编译成不同的目标代码。而Java语言编译
的程序只需生成在Java虚拟机上运行的目标代
码,就可以在多种平台上不加修改地运行。Java
虚拟机在执行目标代码时将其解释成具体平台上
的机器指令执行。
1.3 基于标准接口规范和支持库的跨平台技术
前面两种跨平台技术都是通过建立一个中间
层来实现上层软件平台与复杂的底层环境的分
离。它在嵌入式系统中应用的主要问题是会降低
上层软件的运行效率。为了尽可能不影响应用软
件的效率,人们提出了基于标准规范的跨平台技
术。其实现理念是为不同的底层平台提供相应的
收稿日期:2012-02-18;修回日期:2012-04-16。    
作者简介:张江水(1979- ),男,河南平顶山人,讲师,博士生,主要研究方向为嵌入式地理信息系统。
2012年
第29卷第3期
测绘科学技术学报
Journal of Geomatics Science and Technology
2012
Vol.29No.3
底层库支持。用户进行软件开发时面对的是一套
标准的接口规范。只要软件遵循相应的规范,并
且在底层平台存在相应的底层库支持,应用软件
就可以在该平台上运行。但是由于嵌入式软硬件
平台种类繁多,到目前为止对于一些通用接口如
OpenGL,在嵌入式平台下没有得到广泛的支持。
目前常用的软件跨平台技术在嵌入式GIS
中使用主要存在两方面的问题。一是由于现有的
中间件、虚拟机等都是第三方的独立产品,这就使
得嵌入式GIS的跨平台特性严重受到第三方的
制约;二是在嵌入式GIS应用中,用户对软件的
实时性要求较高,而第三方软件的使用则会大大
降低嵌入式GIS的执行效率。
2 中间件思想的嵌入式GIS跨平台结构设计
虽然目前对于软件的跨平台存在多种解决方
案,但是由于嵌入式GIS的特殊性[6],使得许多
现成的技术并不能够适用于跨平台嵌入式GIS
的开发。用户往往需要根据实际情况针对软件的
性能、效率等参数进行深层次的定制。如果采用
虚拟机、中间件等第三方软件来实现嵌入式GIS
的跨平台,它所能胜任的嵌入式工作环境则会在
很大程度上取决于这些第三方软件的执行效率。
因此嵌入式GIS的跨平台必须从软件的底层做
起,即用户能够根据实际应用的需要从嵌入式
GIS平台的底层实现开始进行定制。基于中间件
思想的嵌入式GIS结构如图1所示。
图1 嵌入式GIS跨平台结构
为了实现嵌入式GIS的跨平台特性,就必须
使其能够屏蔽多种嵌入式计算机平台之间的差
异,实现与它们之间的统一交互。嵌入式GIS与
嵌入式平台间交互的主要内容包括数据交互和图
形设备交互。首先,嵌入式GIS处理的地理空间
数据都存储在嵌入式计算机的存储介质中,因此
必须通过数据交互来实现对地理空间数据的保存
与加载;其次,对地理空间信息的可视化表达是嵌
入式GIS的重要特色,而进行可视化输出就必须
对嵌入式平台的图形设备进行操作。基于传统中
间件软件的思想,把屏蔽嵌入式GIS数据交互的
中间层称为嵌入式GIS数据中间件;把屏蔽嵌入
式GIS图形设备交互中间层称为嵌入式GIS图
形中间件。
3 嵌入式GIS图形中间件的实现
嵌入式GIS图形中间件是处于嵌入式GIS
图形功能层与嵌入式操作系统之间的中间产品。
向上它能够屏蔽多种嵌入式系统对图形设备接口
描述的差异,为嵌入式GIS的图形功能层提供统
一图形设备操作方法。向下则针对不同的嵌入式
平台,实现各种具体的可视化输出功能。
在嵌入式GIS中,图形中间件不只是一套简
单的操作系统图形设备接口的屏蔽软件,还应能
够根据用户对嵌入式GIS性能、效率的不同要
求,提供相应的图形中间件实现方案。此处提出
了一种基于递进结构的嵌入式GIS图形中间件
实现方法,其结构如图2所示。
图2 嵌入式GIS图形中间件的递进结构图
3.1 嵌入式GIS图形接口描述表
由于嵌入式GIS的图形功能复杂,需要使用
到大量嵌入式操作系统提供的GDI(图形设备接
口),而不同嵌入式操作系统的GDI往往存在很
多差异,这就为嵌入式GIS图形功能的跨平台带
来了极大的不便。嵌入式GIS图形接口描述表
主要用于替代各个嵌入式操作系统的GDI,使嵌
入式GIS的所有图形功能都基于这个图形接口
描述中的接口来完成。这样在需要进行嵌入式
GIS跨平台移植时,只需要建立相应嵌入式操作
系统GDI与嵌入式GIS图形接口描述表中接口
的一一映射。
第29卷第3期张江水,等:嵌入式GIS跨平台技术的研究与实现  21 5
3.2 图像缓存驱动
图像缓存驱动即嵌入式GIS图形中间件的
栅格数据显示引擎,其工作原理与WebGIS中的
WMS(Web Map Service)类似。首先,在嵌入式
GIS的数据准备阶段,针对嵌入式GIS应用环境
和数据范围对电子地图进行显示比例尺分级和瓦
片切分。其次,在PC平台的GIS软件中对相应
的数据进行符号化生成电子地图,并根据设定的
显示比例尺和瓦片切分原则将生成的电子地图保
存为图像文件(或数据块),同时记录相应的索引
信息。当嵌入式GIS开始运行时,将这些索引信
息加载到图像缓存驱动的缓存描述表中。当嵌入
式GIS的图形功能层发出地图可视化申请时,图
像缓存驱动从图像缓存描述表中找到相应分级和
分块的地图图像文件,将其加载到地图输出缓存
中,并最终通过图像绘制接口进行显示。
3.3 图形缓存驱动
在图像缓存驱动中嵌入式GIS只能静态显
示生成好的电子地图,图形缓存驱动技术则可使
用户直接显示矢量地图符号。图形缓存驱动需要
在内存中开辟一个连续的图形显示缓冲区,在该
缓冲区中的数据位与显示屏幕上的像素一一对
应。当用户调用图形接口描述表中的图形绘制功
能时,将对像素的操作改为对图形缓冲中数据位
的操作。当所有的图形绘制完成后,通过将图形
缓存中的数据直接拷贝到显示设备的相应位置来
实现GIS图形的输出。
3.4 GDI适配器
图形缓存驱动大大减少了嵌入式GIS在不
同嵌入式操作系统间移植的工作量。但是由于其
需要独立在内存中完成图形绘制,实现难度大,并
且对嵌入式计算机的计算性能和存储资源要求都
相对较高。因此采用嵌入式操作系统提供的GDI
实现图形接口描述表中的内容是嵌入式GIS图
形中间件最基本的功能,GDI适配器就是为了实
现这一目的而设计的。GDI适配器根据嵌入式
操作系统的不同,分别调用相应操作系统下的
GDI来实现图形接口描述表中定义的图形功能。
并最终通过条件编译的方式,在代码的编译阶段
就完成GDI与图形接口描述表的绑定。
3.5 嵌入式GIS图形中间件的工作方式
当嵌入式GIS图形功能层需要进行地理空
间信息可视化时,需要通过调用嵌入式GIS图形
接口描述表进行具体的图形操作。具体实现方式
为:首先嵌入式GIS图形中间件将检查图像缓存
驱动,如果存在满足需要的地图图像时,直接通过
图像缓存驱动加载相应的地图图像并通过GDI
适配器进行显示[7];否则将调用图形缓存驱动实
现图形接口描述表中定义的图形功能,并最终通
过GDI适配器将缓存中的内容进行显示;最后如
果用户没有定制图像缓存驱动和图形缓存驱动,
也可以通过GDI适配器直接调用嵌入式操作系
统提供的GDI完成图形绘制。
GDI适配器是嵌入式GIS图形中间件实现
图形功能在嵌入式硬件设备上显示的最后环节。
它有2种实现方式,一种是轻量型的实现方式,即
在GDI适配器中只实现栅格图像的绘制,而具体
的栅格图像则是通过图像缓存驱动或图形缓存驱
动来获得。另一种实现方式是完整实现方式,即
GDI适配器通过调用具体嵌入式操作系统的
GDI实现所有的图形接口描述表中定义的图形
功能。这时,嵌入式GIS可以不通过图像缓存驱
动和图形缓存驱动,直接通过GDI适配器实现地
理空间信息的可视化。
4 嵌入式GIS数据中间件的实现
嵌入式GIS数据中间件负责为嵌入式GIS
提供跨多种嵌入式平台的、统一的地理空间数据
的调度和访问方法。它可以看作是一个轻量型地
理空间数据引擎的扩展。一方面为嵌入式GIS
平台用户提供统一的地理空间信息存储、查询、检
索等操作;另一方面则需要处理多嵌入式平台为
地理空间数据带来的存储差异。嵌入式GIS数
据中间件的结构如图3所示。
图3 嵌入式GIS数据中间件的结构设计
4.1 地理空间数据访问引擎
地理空间数据访问引擎主要为嵌入式GIS
提供统一的地理空间数据模型管理和数据访问方
法。它需要对加载到内存的数据建立地理空间数
据模型,并按照系统设定的原则对这些数据模型
进行管理。当用户需要操作具体的地理对象时,
2 16  测绘科学技术学报2012年
它会根据用户提出的数据申请对其管理的内存区
域进行检查。如果存在该地理对象,则直接将其
返回给用户。否则,它将继续向地理空间数据管
理引擎发出数据请求。
4.2 地理空间数据管理引擎
地理空间数据管理引擎主要负责地理空间数
据存储细节的实现。根据数据存储方式的不同,
它又分为基于文件的地理空间数据管理引擎和基
于数据库的空间数据管理引擎。在地理空间数据
管理引擎中维护着嵌入式GIS地理空间数据的
基本元数据,包括这些数据的比例尺、数据范围、
图名、存储状态等[8]。这些信息在嵌入式GIS数
据中间件的初始化阶段便加入到系统的内存中
来,作为数据检索的最高层次的索引,同时也是决
定是在数据文件还是在数据库中检索数据的依
据[9]。当它接收到数据申请时,需要在元数据中
检索数据,并比较数据的存储方式。当数据在数
据库中存储时,它将数据申请转换为SQL语句并
将其发送给数据库系统;如果数据在文件中存储
时,它需要搜寻索引文件,将数据申请转换为具体
的文件名和存储地址并加载相应的数据。
4.3 地理空间数据定制
为了尽可能减少由于数据结构差异带来的额
外处理工作,嵌入式GIS数据中间件并不提供对
多种开放数据源的支持[10]。而是通过在PC平台
上的数据定制软件,将各种来源的地理空间数据
转换为统一、高效的数据组织方式以供嵌入式
GIS使用。地理空间数据定制需要完成以下5项
工作[11]。
1)一致化处理。对数据按位进行排序,使其
能够在不同嵌入式平台以统一的方式进行访问。
2)数据过滤。通过数据过滤,剔除与应用无
关的数据。
3)格式转换。将地理空间数据转换为更为
紧凑的数据格式。
4)建立索引。根据数据特点,建立高效的空
间数据索引。
5)数据入库。针对嵌入式数据库,将地理空
间数据存储为数据库中的表。
5 结论
在所提出的嵌入式GIS跨平台技术基础上,
设计并实现了相应的嵌入式GIS平台。该平台
能够在WindowsCE,VxWorks,ReWorks以及
Linux等多种嵌入式操作系统和Arm,x86以及
PowerPC等多种嵌入式硬件平台下运行,实现基
本的地理空间数据显示和查询分析功能。通过实
验,得出以下4点结论。
1)基于图像缓存驱动的嵌入式GIS地图显
示具有较快的绘制效率和较好的绘制效果,但是
对嵌入式系统的存储量要求较高。
2)图形缓存驱动的跨平台特性最好,但是它
对嵌入式平台的内存容量和运算速度要求较高。
3)基于GDI适配器的嵌入式GIS图形显示
对嵌入式平台的额外需求最少,但是对各个嵌入
式操作系统GDI的封装较为繁琐。
4)嵌入式GIS数据中间件可实现实验环境
中所有平台下的地理空间数据管理和访问工作。
与传统的嵌入式GIS技术相比,使用嵌入式
GIS图形中间件和数据中间件技术,能够大大提
高嵌入式GIS系统的跨平台性。用户能够以此
为基础,快速搭建自己的嵌入式GIS应用,从而
使得嵌入式GIS应用得到进一步的推广。
参考文献:
[1] 马亚明,张亚军,张瑞生.嵌入式GIS中矢量地图快速显示
策略研究[J].测绘科学技术学报,2009,26(4):300-301.
[2] CHEN F,YANG C,YU W,et a1.Research on Embedded
GIS Based on Wireless Networks[C]∥IEEE International
Symposium on Geo-science and Remote Sensing.IGARSS
04,2004:2926-2928.
[3] 张时煌,方裕.微型嵌入式GIS软件平台的重要意义及发
展动态[J].中国图像图形学报,2001,6(9):901-902.
[4] 李德仁,李清泉,谢智颖,等.论空间信息与移动通信的集
成应用[J].武汉大学学报:信息科学版,2002,27(1):1-8.
[5] 胡泽明,岳春生.嵌入式GIS系统多缓存地图显示方法
[J].信息工程大学学报,2010,11(3):317-318.
[6] 崔铁军,李玉,饶欣平.嵌入式GIS的发展及开发实践[J].
测绘学院学报,2004,21(2):128-129.
[7] 王渭中.嵌入式图形中间件的研究与实现[D].济南:山东大
学,2007:8-10.
[8] 沈文裕,方钰,蒋昌俊,等.跨平台嵌入式GIS数据模型的
研究与应用[J].计算机应用,2007,27(9):2299-2300.
[9] 李鲁群,李成名,林宗坚.服务于PDA的矢量数据分块存储
数据结构的研究[J].测绘学报,2002,31(2):171-174.
[10] 肖乐斌,钟耳顺,刘纪远,等.GIS概念数据模型的研究
[J].武汉大学学报:信息科学版,2001,26(5):387-392.
[11] 宋栋,姜树明,陈长英,等.跨平台嵌入式GIS系统设计关
键技术研究[J].山东科学,2009,22(3):48.
责任编辑 安敏
第29卷第3期张江水,等:嵌入式GIS跨平台技术的研究与实现
嵌入式GIS跨平台技术的研究与实现.pdf (201.5 KB, 下载次数: 3)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-5 22:25 , 耗时 0.097102 秒, 22 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表