面向移动终端的GIS服务系统设计技术研究

时间:2022-10-06 06:36:40

面向移动终端的GIS服务系统设计技术研究

摘 要:该文基于笔者多年从事数字地球和地理系统开发的相关工作经验,以面向移动终端的GIS服务系统设计为研究对象,设计实现了一套移动三维地理空间信息服务系统,该系统由服务器和客户端组成,服务器端主要实现三维GIS数据的存储,客户端采用windows mobile为操作系统,移动三维空间信息服务浏览器运行于windows mobile上面,系统在设计过程中,针对移动终端系统硬件能力的限制,实现了三维场景引擎,能快速,直观的实现三维场景重现,数据量小,实时性强,精度较高,并且支持三维GIS的各种交互手段以及全景数据浏览等功能。

关键词:地理空间 信息服务 三维空间

中图分类号:TP3 文献标识码:A 文章编号:1674-098X(2013)04(c)-0002-02

随着移动产品普及,PDA、Pocket PC逐渐进入了主流产品,各方面性能有了较大的提升,因此人们对基于移动设备的应用软件的性能与功能也有了较高的要求,而现阶段的软件存在以下问题:(1)数据更新周期需要较长的时间特别是矢量数据和三维数据,尤其对于中小城市、更新周期更长。(2)直观性差;没有遥感数据参照,更没有与实地相一致的三维地形和建筑特征。(3)国外软件所控制;核心技术来自国外,存在着国家安全及信息安全的隐患。

1 国内外现状以及发展趋势

国内GIS公司在此方面的移动业务主要以二维矢量数据为主,少有实景影像、三维模型信息,缺乏地形特征,应用面较窄。市场上少见到基于三维数据地理服务的相关移动产品,独立开发的平台更少,研发的投入与产品的开发力度和高度都不够。

GOOGLE利用自身现有的海量影像数据,以及数据管理平台的优势,正大力推出相应的软件产品。Blue Point Studio公司开发了Pocket Earth软件。日本、韩国、以色列等国,在三维导航、导游服务方面,已经有相关的产品出现。但这些国外产品只可进行有限的应用拓展,不能满足国内用户应用的个性需求,效果也不够理想。

随着基于下一代互联网络IPV6网络平台与3G移动系统的推出,实现实时动态传输的三维搜索查询、漫游以及面向公众的移动三维地理空间信息服务将是一大趋势,同时与网络运营商联合,基于该系统可在网络平台、数字电视、3G手机等领域实现跨平台的应用并带动相关产业的形成。

2 研究内容

2.1 海量数据调度管理

采用金字塔结构来组织数字地形和影像数据实现海量数据在移动设备上有限资源的动态调入。按照金字塔结构来处理后的数据形成一个多分辨率的层次结构,并采四叉树来索引这个结构中的不同层次中的块(Tile),从塔顶至塔底分辨率由低到高变化,相应的分块数则由少到多,主要包括数据分块、合并、光滑等一系列处理过程。

2.2 空间基础数据信息数字技术标准规范的统一

由于数字移动三维空间信息涉及到基础地理空间数据,专业空间数据和影像数据以及相关的属性数据,另外还有专业数据的内容,面对如此巨大的数据量,数据的组织和管理是关键问题,而技术标准规范是进行数据组织管理的基础。

2.3 数字移动设备系统的可视化

采用COM接口利用DirectMobile3D API建立主要面向三维空间场景描述。其一种快速有效的建模工具,同时又给虚拟系统的各个不同应用之间提供了一种信息交换标准。针对数字移动系统涉及的对象,除了具有三维空间信息以外,还具有时间和多重属性等信息。需要考虑定义新的对象层次结构和适合于地理信息对象造型的方法。

2.4 面向应用层的数据管理

以GIS数据、三维模型数据为一体的数据库为数据后台支持的三维空间信息管理系统。根据地理分区、逻辑分层的原则,利用网格技术,根据数据之间的关联进行组合及分层管理,实现各种信息的一体化管理,并实现各类空间数据的三维数据管理。

2.5 面向移动的可视化

数字移动三维的可视化建模理论涉及到多方面的可视化建模理论和信息可视化技术。

3 系统实现

3.1 系统总体设计

整个移动三维地理空间信息服务系统由手持设备,数据服务器,地理信息基础数据库,三维模型数据库组成,其中移动终端设备自带或者接有GPS接收机,移动终端设备通过GPS获得当前位置的位置信息,并将位置信息发送到数据服务器。数据服务器根据收到的信息,查询相应的三维地理信息数据并实时返回给用户。

整个平台采用三层软件机构模型,如图1。

业务层为移动终端设备,提供用户交互接口,数据层为由影像数据库,地形数据库,三维模型数据库组成的三维GIS数据库,中间层为数据服务器,负责业务层和移动终端之间的通讯,同时进行安全验证等操作。

软件模型采用中间件技术机型网络通讯,用户数据请求被发送到中间件上,中间件使用对象传输协议,将请求传输给数据服务器,数据服务器执行相应查询,并将查询结果数据集进行编码,在通过中间件返回给移动三维地理空间信息浏览器,浏览器解码该三维GIS数据,通过三维引擎进行数据的调度和快速渲染和浏览,将三维图像呈现给移动终端用户,如何解决让有限的硬件资源的移动终端快速、流畅的进行三维展示,是整个设计方案可用性的关键所在,也就是说三维场景引擎在有限的硬件资源下实现三维场景渲染的效果,左右着该移动三维地理空间信息服务系统的用户体验感受和可用性。

从该系统的软件结构模型中我们可以看到该系统包括4个主要部分:场景数据库、对象建模、场景引擎、交互模型。

场景数据库:场景数据库管理三维场景中的所有实体数据和关系数据。系统涉及大量模型数据、影像数据、地形数据,场景数据库必须负责数据的简化、压缩和结构存储,同时负责数据查询、提取和信息恢复等任务。

对象建模:虚拟可视化系统中各种不同实体和关系非常复杂,对象建模将有效地简化系统的设计。

场景引擎:场景引擎负责虚拟系统的绘制和事件以及消息机制的实现。也是可视化系统的关键,如何解决场景的复杂度和移动设备图形和性能不足之间的矛盾,是场景引擎研究的主要问题。基于Direct3D MOBILE的三维场景引擎的渲染。

3.2 系统实现

创建D3DM对象和设备

(1)D3DMPRESENT_PARAMETERS结构体

这个结构用于设定将要创建的D3D设备对象的一些特性,主要包括后备缓冲表面的宽度,高度,象素格式,后备缓冲表面的数量,通常只有一个,全屏抗锯齿的类型,指定表面在交换链中是如何被交换的,窗口模式,D3D是否自动创建深度、模板缓冲,深度/模板缓冲的格式,屏幕刷新率等。

(2)创建设备

创建相关设备并且设置设备的相关属性,包括指定对象要表示的物理显示设备,设备的类型,与设备相关的窗口句柄,指定一个已经初始化好D3DPRESENT_PARAMETERS结构体等。

(3)设置渲染状态

利用D3D设置场景引擎的多种渲染状态,它影响几何物体怎么样被渲染。渲染状态有默认值,主要包括裁剪开关、光照开关、Z缓冲开关等。

创建要渲染的场景对象

(1)顶点缓冲的创建

顶点类似于数学上点的结构,但DirectX的顶点包含了许多附加的属性,如位置、颜色、法线向量、纹理坐标。一个顶点缓冲区是一块连续存储了的顶点数据的内存。

(2)索引缓冲的创建及索引数组的计算

为了表现复杂模型的时候,减少重复的顶点数,系统创建顶点列表和索引列表(index list),其中顶点列表包含所有不重复的顶点,索引列表中则用顶点列表中定义的值来表示每一个三角形的构造方式。

(3)纹理的创建

对于纹理的创建,首先要创建纹理表面,他包括该纹理图面的宽度、高度以及指向的指针等,再从内存中读取数据到纹理表面。

(4)渲染过程

一旦创建好顶点缓冲区和索引缓冲区及计算好索引后并且各纹理光照等条件都已经到位,则接下来就可以进行渲染,主要包括设置资源流、设置索引缓冲区、绘制三方面的工作。

3.3 三维数据快速浏览的实现

(1)三维数据加载优化

由于移动终端资源有限,对大块三维数据的操作需要较长时间。因此我们将三维数据通过另一种压缩算法先分好块再存储起来,这样可以避免频繁操作大块三维数据的情况,给浏览器的其他处理留下了充分的时间。

(2)三维数据存储优化

三维数据通过压缩算法进行压缩后压缩比达到5∶1,大大的缩小了需要占用的存储空间,极大减少了移动终端的资源占用。又因为在压缩时采用了分块存储并建立了索引的方法,加速了读取速度,很大程度上提高了读取的效率。

(3)基于LOD的三维数据的生成

在实际开发中注意相邻复杂度模型中低复杂度模型的多边形数目是高复杂度模型多边形数目的75%。采用LOD技术不但可以增强场景的逼真度,也可以减少场景绘制的多边形的数量,既提高了可视性又节约了系统资源。

(4)三维数据拼接缝消除

使用LOD技术时在不同精度的层之间的连接就会导致拼接处有明显的缝隙,给人明显的不连续的感觉,会大大降低场景的真实性,因此我们在不同精度层的拼接处采用建立顶点索引并对这种块进行重新分配空间及调整三角面列表的生成序列的方法来解决。

4 结语

本系统针对移动终端在计算能力和三维图形处理方面存在的局限性,采用三维多细节层次LOD建模方式,同时对该建模方式进行了改进和优化,消除了不同精度的三维数据拼接缝的问题,对基于D3D MOBILE的三维场景引擎进行了优化设计和研究开发,综合使用中间件技术、压缩技术、渲染技术等优化了移动终端的三维虚拟场景。

参考文献

[1] 陈飞翔,杨崇俊.基于LBS的移动GIS研究[J].计算机工程与应用,2006(2):200-201.

[2] 高山.虚拟城市的三维建模[J].测绘通报,2004(6):4647.

上一篇:浅析高校档案管理工作现状 下一篇:基于多媒体网络技术的建构主义理论在病理教学...