基于Skyline的海量三维模型网络发布显示
2014-04-18王子启赵胜利吴红梅
王子启,田 静,赵胜利,吴红梅
(1. 山东正元地理信息工程有限责任公司,山东 济南 250101)
基于Skyline的海量三维模型网络发布显示
王子启1,田 静1,赵胜利1,吴红梅1
(1. 山东正元地理信息工程有限责任公司,山东 济南 250101)
针对城市三维地理信息系统中海量三维数据在网络发布时显示速度慢的问题,基于Skyline三维软件平台,从三维建模、模型加载和数据发布等几个方面提出了相应的优化措施。实验证明,该方法可以有效地降低系统内存占用率,减少系统启动时间,提高可视范围内模型的读取速度。
数字城市;三维可视化;海量数据;网络发布;流技术
随着数字城市建设的推进,三维GIS凭借其立体、直观、逼真的视觉效果,越来越受到关注[1,2]。由于三维数据包含海量的DEM、影像、矢量、三维建筑物模型和纹理等信息,其数据存储、网络发布以及网络环境下三维数据的显示速度成为制约其应用的瓶颈[3-6]。本文基于Skyline三维软件平台,从三维建模、模型加载和数据发布等几个方面提出了相应的优化措施。
1 系统搭建与发布
本系统利用3DMAX进行三维建模,Oracle 11g存储后台数据库,ArcGIS Server发布基础地理数据的WFS服务,.NET作为开发环境,以Skyline作为基础平台将三维地形、三维模型、矢量数据和属性数据进行整合,最终完成三维工程文件的网络发布。客户端可以直接浏览服务器端发布的三维场景数据和各类三维对象的属性特征数据。
1.1 三维地形的制作
将影像图和数字高程模型进行相应的前期处理,然后叠加并加载到TerraBuilder中,生成具有地表起伏的三维地形景观.mpt的文件,形成TerraExplorer Pro软件所需要的地形数据库[7]。系统坐标采用WGS84椭球经纬度坐标。
1.2 三维模型的制作
集成三维数字地形模型、建筑物实体模型以及道路、河流等模型,形成完整的三维数字环境表达,是三维GIS应用的基础[8,9]。三维模型的建立选择3DMAX软件,根据1︰500基础地形数据库、影像图和外业采集的数据和照片信息,逐个制作精细的三维地物模型即.x文件,再转成适合于TerraExplorer显示的.xpl2文件。.xpl2格式具有纹理金字塔,是.x格式的模型经过TerraExplorer Pro打包生成的Skyline专有的一组在贴图上进行层次细节分级显示的模型金字塔格式,显示时可以根据视距远近控制显示纹理精细度。该格式的模型网络发布速度快。精细建模时,每个模型的大小控制在1 M以下,大大提高了海量模型在三维场景中的运行效率。本系统所做的三维模型包括城市房屋、地面道路、路灯、水系、花草树木等。
图1 系统搭建模式
由于建模区域大、模型多,本系统将目标区域的建筑物分成4个子区域和小品、植被、城市部件、基础数据、水系、地下管线等几个分类区域,把每个子区域建成独立的矢量点图层(.shp文件),建筑物模型的中心点即为点图层中的点数据,从而使矢量图层中建筑物中心点位置和建筑物模型文件一一对应。
1.3 三维工程文件的建立
在TerraExplorer Pro中导入三维地形数据(.mpt)、WFS服务(矢量数据)和三维模型。其中.mpt是经过地形传输服务器TerraGate发布的网络路径格式;WFS服务是ArcGIS Server发布的基础地理数据;三维模型是建模人员制作的立体三维模型。初步建立三维景观,经过场景配置、处理和编辑形成真实、准确的三维地理模型,生成真实丰富的数字城市三维虚拟环境。再由TerraExplorer Pro打包存储,进而生成.FLY后缀的工程文件。
1.4 城市三维景观地图的发布及部署
由于地形数据由正射影像、数据高程模型和矢量数据等融合而成,具有数据容量大的特点,若直接采用IIS发布,不仅不能对网络传输进行优化,且易造成客户端浏览器无法加载或直接崩溃[10]。因此利用Skyline的网络数据服务器技术TerraGate对其进行优化后,再实现三维地形数据的网络实时在线发布。TerraGate不受网络连接的反应时间或中断影响,只要最初的影像以低分辨率的形式被接收到,用户不必等待所有数据传送完毕就能接入到3D环境。而三维工程文件和.NET开发的三维数字城市管理平台则通过Web服务IIS发布。
本系统中,服务器端部署具有一定权限的TerraGate和ISS服务器,客户端安装TerraExplorer Viewer插件即可通过IE浏览器在线浏览三维数字城市管理平台,如图2。
图2 系统效果图
2 关键技术
2.1 层模式加载
传统的场景加载方式是全要素加载,即在启动系统时把所有的数据全部加载进来之后才能显示场景[4]。该方法的优点是浏览场景时,所有模型已全部加载完毕,处于可见状态,无需等待模型显示过程,适于数据量较小的情况。缺点是启动系统时等待加载时间长,内存占用率高,浪费资源,且对于本系统来说浏览顺畅度不足。
2.2 流模式加载
流模式是根据请求发送数据块,按浏览时视野范围所见区域来对模型进行实时加载,当离开视野范围时,不予加载。该方法有效地降低了内存占用率,启动系统时耗时短,大大提高了三维场景的浏览速度。缺点是当系统是海量模型时,浏览三维场景模型显示所需缓冲时间长,显示较慢。
2.3 设置关键参数
对于层次细节分级显示的xpl模型,通过设置参数值,根据距离模型的远近来自动调整模型的显示细节,从而减少系统资源消耗。
通过设置最远可视范围(即视角离模型的距离),在浏览三维场景时,当模型到视角的距离大于此值时自动消隐,不再占用系统内存,一定程度上保证了系统的稳定性。
3 实验分析
以某市试验区为例,数据包括:23.5 km2区域精细三维建模,其中制作建筑物模型6 631个,效果图模型258个,市区道路模型约60个,地面模型约90个,各类雕塑、景观、路灯、垃圾桶等模型约2万个,树木、花草模型约6.4万个。分别采用全要素模式、流模式和混合模式加载,创建3个工程文件test01.fly、test02.fly和test03.fly。3种方式加载相同的数据,其中test01.fly全部使用全要素模式加载,test02.fly全部使用流模式加载,test03.fly将起始位置作为重点区域,使用全要素模式加载,其余部分采用流模式加载。
经试验测得3种方式的占用内存情况、启动耗时、浏览时的顺畅度和模型显示速度,如表1。
表1 实验结果比较
实验表明,采用混合模式的加载方式综合效果最好。流模式虽然占用内存最少,启动时间最短,但浏览过程中读取当前视域范围内的模型数据需要一定的缓冲时间,显示速度比较慢,每到一个区域都需要等待数秒;全要素加载虽然浏览过程模型总是完全显示,但由于海量数据占用了大量内存,浏览时顺畅度受到影响,并且启动系统时耗时过长。
[1] 郭仁忠,刘江涛,彭子凤,等.开放式空间基础信息平台的发展特征与技术内涵[J].测绘学报,2012,41(3):323-326
[2] 刘义琴,潘懋,彭博,等.基于三维GIS技术的城市地下空间数字化——以天津市塘沽为例[J].测绘通报,2011(2):45-47[3] 朱国敏,马照亭,孙隆祥,等.城市三维地理信息系统中海量数据的数据库组织与管理[J].测绘科学,2008,33(1):238-240
[4] 李佼,吴建平.基于Skyline的三维空间数据网络发布[J].测绘科学,2010,35(2):183-185
[5] 黄丽,曹新平.基于Skyline的海量3维实体模型管理与显示[J].测绘与空间地理信息,2011,34(1):48-52
[6] 雷浩川,严康文.基于Skyline的三维场景网络发布技术分析[J].青岛大学学报:自然科学版,2012,30(4):30-33
[7] 戴洪宝.基于Skyline的数字城市三维可视化系统的研究[D].西安:西安科技大学,2010
[8] 邓洁,夏春林,王润芳.基于Skyline Terrasuite的城市三维景观的建立[J].遥感技术与应用,2008,23(5):529-532
[9] 王冬,王晓华.三维GIS中海量模型调度与存储[J].地理空间信息,2012,10(1):109-111
[10] 陶刚,池天河,郑桂香.基于Skyline的网络三维GIS建设及应用[J].测绘科学,2011,36(6)::219-221
P208
B
1672-4623(2014)05-0053-02
10.3969/j.issn.1672-4623.2014.05.019
王子启,硕士,工程师,现主要从事地理信息系统应用开发工作。
2013-03-18。