前言:想要写出一篇引人入胜的文章?我们特意为您整理了三维城市管理软件研究范文,希望能给你带来灵感和参考,敬请阅读。
摘要:移动终端和传统PC电脑相比无论是系统的运算能力,系统的存储空间还是系统的图形绘制效率都要比台式机差很多,为了在移动终端上实现三维城市管理软件,我们将高效的格网调度算法,模型、图片的压缩算法,OpenGLES2和Spatialite、CouchDB数据库等技术引入到了系统软件的开发中。本文结合天津市移动终端三维城市管理软件的实际开发经验探讨了在IPad平台上系统软件的实现方法。
关键词:IOS;IPad;三维城市;模型简化;数据压缩
0引言
随着“智能化”大潮来袭,以ios和android为代表智能移动终端在全球市场地位逐步提升,并大幅侵蚀传统PC市场。有数据显示,2011年第一季度平板电脑的市场销量就增加910%,而传统PC和笔记本销量整体下滑5.8%,预计2014年智能手机销量会达到5亿台,平板电脑的销量也将达到1.2亿台。终端设备的快速发展必然会带来巨大的应用需求,而作为地理信息系统行业的新兴力量的三维GIS在移动智能终端平台上更是新上加新。只有快速的掌握新兴领域的新技术,才能快速的在新兴市场站稳脚步,从而获得更加广阔的市场前景。
1移动终端现状
随着移动互联网的飞速发展,以iPhone、iPad为代表的移动多媒体终端彻底改变了现代生活。只要指尖轻触屏幕,就可以随时随地穿梭于互联网之间,手机电视、视频通话、音乐下载、手机游戏、即时通讯、移动搜索、移动支付等成为最受欢迎的移动数据业务。移动互联网作为信息技术领域的又一次突破,对人类社会各领域活动的潜在颠覆性影响已获得了越来越多的认可,一条以移动多媒体终端为核心的产业链正在重构相关产业格局。另一方面,随着集成电路技术的飞速发展,移动终端的处理能力已经拥有了强大的处理能力,移动终端正在从简单的通话工具变为一个综合信息处理平台。这也给移动终端增加了更加宽广的发展空间。现代的移动终端已经拥有极为强大的处理能力(CPU主频已经接近2G)、内存、固化存储介质以及像电脑一样的操作系统,是一个完整的超小型计算机系统,可以完成复杂的处理任务。移动图形芯片的快速发展也使原来不可能完成的三维渲染任务得到完美的解决。
2基于移动终端的海量数据城市三维渲染的问题
移动终端和传统的台式机终端相比差别很大,由于体积和硬件条件的制约,移动终端的整体性能要远低于目前主流的桌面台式机,无论是系统的运算能力,系统的存储空间还是系统的图形绘制效率都要比台式机差很多。而城市三维海量模型数据在台式机上调度渲染也需要很高的负荷,更不用说移动终端了,因此,为了实现移动终端上的城市三维地理信息管理,目前存在如下问题:
2.1海量三维模型数据存储
由于移动终端的存储空间很低,通常城市市区400km2左右种类齐全的精细模型需要存储空间数百Gb,管理模型数量约几百万个,加上模型贴图、其他相关文件需存储的文件个数近几百万个甚至上千万个。一次三维城市管理动辄几百Gb上Tb的数据是移动终端根本无法承受的,而且移动终端存储数据的读、写速度也很低。为了解决海量城市三维模型在移动终端上的存储问题,我们需要一套完整的三维模型数据优化、压缩的解决方案,从而实现基于移动终端的海量三维城市模型存储的管理。
2.2城市级三维模型场景管理
在城市级三维地理信息管理系统中,需要动态调度和显示大量的城市建筑、地形地貌、城市部件、地下空间设施及综合管线等三维模型,这些模型通常具有个数巨大、资源消耗巨大、容量巨大等特点。由于城市的范围很大,为了可以实现在移动终端上的城市级大范围的三维模型调度和管理,我们必须有一套完整的城市三维场景管理技术。
2.3现有城市三维数据的再利用
三维数字城市在国内的应用日趋广泛,各建设单位在建设三维数字城市的过程中也积累了很多的三维模型数据和系统空间地理信息数据,由于移动终端的硬件条件限制,直接将已有的城市三维成果数据应用于基于移动终端的应用平台中不现实,所以需要采用一种最接近原有三维数字城市系统的技术路线来实现基于移动终端的应用系统,这样做可以最大程度地利用原有成果数据和资料,而且还可以沿用原有的部分技术手段来最大程度地减少功能开发的重复投入。
3基于移动终端的三维管理软件的设计与实现
基于移动终端的三维管理软件主要包括基于移动终端的三维渲染和基于移动终端的数据管理两部分。在设计和开发的过程中针对上面提出来的问题,我们总结出如下需要解决的关键点:1)城市三维数据的压缩与优化。2)城市三维海量数据的数据库存储与检索。3)城市级三维模型的调度与管理。4)移动终端三维软件实现的核心技术方法。为了解决这些关键问题,如图1所示。整个系统包含渲染内核、调度管理、数据库存储管理和用户界面四大部分。其中,渲染内核层主要实现三维模型的实时渲染,采用以OpenGLES2.0为底层的OSG作为三维模型渲染引擎,调度管理部分主要利用海量模型格网调度技术实现城市级大范围三维场景的调度与管理,数据库存储管理主要实现了三维空间数据的管理和系统海量模型文件的数据库存储,主要采用Spatialite和CouchDB移动版。用户界面部分主要实现了为用户提供的直观易懂的操作功能,如打开数据,多点触摸漫游浏览,量测,查询等操作。整体软件结构中的具体关键技术如下:
3.1基于移动终端的海量模型格网调度技术
在浏览三维城市模型时,系统需要将三维模型调入内存,然后再利用显存来实现三维模型的渲染,但是移动终端的硬件条件无法实现一次性渲染大量三维模型,尤其城市级模型数据库不仅数据存储量巨大,而且三维模型的数量也很多,通常可以达到数百万个甚至上千万个,所以我们为了实现城市级三维模型的调度,我们仅在需要的时候调取部分模型,但是我们要想从这上千万个物体中查找到几百个我们关心的物体本身也是很耗费时间的。而且由于三维可视化系统的特殊性,用户在做漫游浏览操作时通常浏览范围是实时变化的,因此,会积累大量的“从上千万个物体中查找几百个我们想要看到的物体”这一查找过程,这样需要耗费巨大的系统资源。为了尽量减少模型调度在查找这一步骤上耗费的资源,我们采取格网调度模型的方法。系统将空间划分为若干有规律的格网,每个格网都有自己唯一的标识,当用户使用系统浏览到一范围时,系统根据如下公式:ROWbase64=(Ywcs-_BlockMinY)/_BlockYSizeCOLbase64=(Xwcs-_BlockMinX)/_BlockXSize计算出当前浏览范围包含了哪些格网。如该公式仅用了计算机运算效率最高的加减乘除,因此,在用户做漫游浏览操作时完全可以满足实时计算的要求。系统在计算出当前浏览范围所交的格网后,就可以在这些格网所包含的模型中去查找我们要用到或要渲染显示的模型了。该调度方法已经应用于我们的三维地理信息平台中,针对移动终端版本,我们将格网大小分割和空间索引技术做了进一步优化,从而更适合移动终端三维模型的调度。
3.2基于OpenGLES2.0的OSGforIOS
OpenGLES(OpenGLforEmbeddedSystems)是Open-GL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。由于目前在主流的移动平台中,例如Android、IOS的移动操作系统里面目前仅支持OpenGLES的三维图形API,所以为了更好地支持现在主流的移动平台,使用OpenGLES2.0三维图形API可以更大范围的适用各种移动终端。OpenSceneGraph是一个开源的、跨平台的基于场景图的图形开发包,它为科学计算可视化、游戏、虚拟仿真等这样的高侠侣图形应用程序开发而设计。它基于场景图的概念,提供了一个在OpenGL层面上的面向对象的开发框架,为三维图形应用的快速开发提供了很多额外的小工具,从而能把开发者从繁杂的实现和优化底层代码的调用中解放出来。由于我们已有基于OSG开发的三维城市地理信息管理平台,因此我们还采用OSG移动版本来实现该软件的开发,从而可以最大程度地利用原有系统资源。
3.3非关系型数据库CouchDB
CouchDB是一个开源的面向文档的数据库管理系统,可以通过RESTfulJavaScriptObjectNotation(JSON)API访问。术语“Couch”是“ClusterOfUnreliableCom-modityHardware”的首字母缩写,反映了CouchDB的目标具有高度可伸缩性,提供了高可用性和高可靠性,即使运行在容易出现故障的硬件上也是如此。CouchDB有如下几个方面的特点:1)分布式的NOSQL数据库可以把多台服务器节点上的存储进行分布管理,并协调每一台服务器之间的通信和数据的一致性。对于城市级别的大规模文档管理的应用,该数据库不用像传统的数据库一样集中配置,只需要在需要扩充的时候增加节点即可。2)完全面向文档的非关系型数据库存储的是非结构或者半结构化的数据,特别适合读写各种文档数据,因此,特别适合数量庞大但是单个文档数据量又很小的文件。针对这些应用,CouchDB要比传统的关系型数据库方便得多,性能也更好。CouchDB在文档存储方面有很大的优势,因此,我们将海量的三维模型文件存储在CouchDB中,避免了在移动终端上存储海量的碎片文件,也提高了这些文件的检索效率和读写性能。CouchDB也是目前唯一一个支持IOS移动平台的非关系型文档数据库。
3.4轻量级移动空间数据库
SQLite本身是一个轻量级的数据库,是遵循ACID的关系型数据库系统,设计时的目标是嵌入式、轻量化的,并且现在确实在嵌入式方面得到了很多的应用,它的优点是消耗资源低,在嵌入设备中,不需要多大的内存消耗。它可以支持跨平台的多操作系统,例如Windows,Linux,Unix,同时可以被多种语言调用,如C#,Java,PHP,python,Tcl,c++,ObjectC等,同样相比其他开源的关系型数据库,它的处理速度更快。SpatiaLite是一套具有空间数据功能的SQLite数据库系统。我们采用Sptialite存储所有的空间地理信息数据,包括三维模型格网的空间索引,这样可以快速地实现空间数据的查询和检索。
3.5模型自动精简技术
为了实现移动平台高效调用大场景的三维模型,需要在浏览大范围城市模型时,采用模型自动精简技术自动精简城市建筑模型及三维地形模型,从而减轻系统的渲染负担。我们采用基于Garland的边收缩算法来精简网格化的三维模型提高访问速度。近年来,出现了很多有代表性的模型简化算法,其中Galand的基于二次误差度量的边收缩算法是目前最常采用且有效的算法。其基本思想是以顶点到相关三角形平面的距离的平方和为误差度量,通过重复的边收缩操作对模型进行简化。
4结束语
应用上面的关键技术,我们完成了基于移动终端的渲染内核、调度管理、数据库存储管理几个模块的开发,并完成了整套在ipad平台上的三维城市管理平台的开发,系统中管理了天津市外环线内400km2的0.2mDOM与DEM场景建立的三维地形和三维精细建筑模型和空间信息数据,系统提供了城市三维的高效浏览,信息查询和三维量测等功能。
参考文献:
[1]王冬,王晓华.三维GIS中海量模型调度与存储[J].地理空间信息,2012,10(1):109-111.
[2]何波.移动互联网之发展现状及监管对策[J].广播电视信息,2011(10):58-61.
[3]黄海峰,黄勃,陈泽江.移动三维地理空间信息服务系统设计与实现[J].科技资讯,2010(25):25-26.
[4]姚书科,张韧志.基于云计算的海量图片存储管理系统研究[J].电子设计工程,2012,20(11):17-20.
[5]张必强,邢渊,阮雪榆.基于特征保持和三角形优化的网格模型简化[J].上海交通大学学报,2004,38(8):1373-1377.
[6]钟晓霞,王建宇.一种基于视向的LOD自动生成方法[J].工程图学学报,2002(4):68-72.
[7]丁晶,秦亮军.移动环境下三维场景的实时渲染技术研究[J].城市勘测,2011(6):18-22.
作者:王冬 王晓华 单位:天津市测绘院