基于Skyline的三维场景发布技术分析

2012-12-11 06:08雷浩川
测绘通报 2012年1期
关键词:矢量建模软件

雷浩川

(青海大学地质工程系,青海西宁810016)

一、前 言

随着传统GIS向三维立体、互联网络方向的发展,网络环境下空间数据的三维可视化问题也越来越受到关注。虚拟城市、数字社区、三维警务系统、数字三维旅游系统等一个个优秀三维DGIS系统开发成功,相继出现了以 Skyline、Google Earth、Virtual Earth3D、ESRI的 ArcScene、GeoVRML 及 E 都市平台为代表的三维城市地图网站。相对于二维数据,三维空间数据包括大量的地形、影像、三维城市模型及其纹理数据等,其网络发布成为目前该领域的研究热点之一,对整合了海量数据的矢量、影像、DEM、建筑模型如何快速显示、查询、处理也是人们关注的焦点之一。

最新版ArcGIS10软件中的ArcScene提供了一般的三维数据浏览功能,但由于 ArcScene会将所有数据读入场景中完全显示,因此会占用大量显存、物理内存和虚拟内存、故影响了其显示速度[1]。在一个区域建筑模型全部加载的情况下,其浏览速度变得异常缓慢,带有纹理的模型更是如此。因此,其三维显示与发布的功能有待进一步完善。

Virtual Earth 3D是微软公司基于MicrosoftLive搜索引擎的一项个性化地图服务,它给出了二维、三维两种操作方式,并按加载的地图可分为3种,即常规地图、卫星航拍地图,以及前两者的混合模式。用户通过浏览器进入WindowsLiveMaps之后,切换到三维视窗就能够载入目前美国本土的十几个大中城市三维建筑物。此类3D资源及正式多语言的版本仍在进一步补充完善当中。

Google Earth[2]是一个使用最为广泛的网络三维客户浏览工具,它提供世界各地不同等级的卫星或地图影像数据,并采用流Streaming技术通过Internet传送,这对于粗略查询地名、地形信息等一般的用户而言不失为一个理想的资源平台,它还支持用户上传自定义的地标、房屋模型、影像等数据。同时,它也提供Web界面的API以供网页设计者做进一步做应用开发,但由于其大范围的空间数据资源都是由Google公司提供,数据库完全受到美国公司的控制,用户根据实际应用需求添加的空间数据、模型数据要网络发布需借助 Google公司的服务器进行,并且模型的发布还有一定的时间限制,因此在行业应用中不能提供有效的服务。

Skyline的软件系统一直在基于网络的三维可视化软件中居于领先地位,是较为优秀的三维GIS软件平台。该公司提供的应用软件工具包和服务的集成平台可将复杂的地理空间信息以简单的三维图像的形式表现出来。本文旨在研究利用Skyline软件来构建三维场景,加入三维建筑模型,进行三维WEBGIS应用开发,并就其不同的空间数据发布方式,做以比较分析。

二、Skyline的软件的体系结构

Skyline软 件 系 列 由 TerraBuild、TerraGate、Streaming Feature Server、TerraExplorer 等主要产品组成。

TerraBuild使用航空或卫星影像,DEM和矢量数据创建三维地形数据集,具有建立影像金字塔、集成不同的GIS数据、绘制矢量图形等功能,主要用于生成用于流技术读取的MPT文件。

TerraGate是将三维地形数据集MPT进行网络发布实现实时流畅传输的服务器端软件,它采用强大的网络数据服务器技术,处理Skyline客户端数据的传输请求。

Streaming Feature Server是Skyline基于网络的矢量数据管理服务器,通过网络以流的方式实现高效地从Oracle、SQL Server数据库及空间数据库中读取矢量数据。

TerraExplorer又可分为 TerraDeveloper、TerraExplorer Pro TerraExplorer。其中,TerraDeveloper是TerraExplorer Pro的二次开发包,用户可利用它定制自己的应用程序;TerraExplorerPro具有编辑、注记及空间三维分析等功能,并可创建自己的三维可视化环境,将MPT文件、建筑模型、注记等整合制作成FLY文件,供网络发布使用;TerraExplorer是免费的浏览TerraExplorer Pro所开发的专用功能并执行TerraExplorer所提供的基本功能,且能加载WMS的二维图层。Skyline提供C/S、B/S的灵活开发方式,本文主要探讨B/S的开发模式。图1为典型的以数据为核心的Skyline软件运行体系[3]。

三、基于Skyline的三维空间数据网络发布方法

1.地表模型生成

将地形数据制作成流媒体文件是在TerraBuild中进行的,具体过程如图2所示。

1)新建工程:在选择坐标系后,还需要进行工程参数设置,主要包括数据压缩比和数据存储目录的设定,其在生成MPT之前可随时进行更改。

2)添加数据:可以添加的数据有以下3种类型:影像、高程、矢量,然后选择文件来源(FILE SYSTEM、ORACLE SPATIAL DATABASE、WEB MAP SERVER、ECW IMAGEWEB SERVER),并设置添加数据的坐标信息。当导入的数据不包含软件所能识别的金字塔数据时,数据不能在工作窗口显示,此时应在数据列表上面选择creat resolution pyramid工具即可以创建MPU格式的金字塔数据。一个编辑好的Tbp工程可以通过TerraBuilder生成三维地表数据集(*.mpt)供客户端调用;也可以通过与TerraGate及其扩展模块 DirectConnect组件协同发布,不需要生成MPT文件,直接将 Tbp工程进行发布,从而实现实时更新和发布三维地表数据。

2.建筑模型的生成

(1)三维模型的创建

三维建筑模型的建立可以采用常见的建模软件如 3ds Max、MAYA、Sketchup、MultigenCreator等中的一种,但建立的模型需要输出成Skyline可以接受的格式,如微软的模型格式*.X、打包生成的Skyline特有格式XPC、打包生成的具有纹理金字塔的XPL格式、Sketchup输出的DAE格式等。这里采用Sketchup建模,然后输出为XPL格式。如一个名为01.x的模型,经过默认打包,生成01.xpc,如果选择了“Generate objects level of detail”,则会生成最高4级的一组 xpl,文件如下:01.xpl,01_LOD_1.xpl,01_LOD_2.xpl,01_LOD_3.xpl,01_LOD_4.xpl。这 5 个文件是一个模型,不能分离。其中,由于*.xpl速度更快,网络发布的话较*.xpc更有优势[4]。要加快网络的浏览速度,模型的制作与精简非常重要。为了对模型能够优化,并高效调用,需要根据地物的重要程度确立模型的等级,可以进行精细和粗略两种方式建模。需要网络发布的海量模型数据量:单个一组模型文件(XPL格式,包含贴图)数据量大小区间值为:60 kB~2 MB。根据场景中三维模型类型的不同主要分为3类建模:① 地面建模;② 建筑建模;③树木、花草及辅助设施建模。

(2)模型点SHP文件的创建

在ArcMap中导入含有坐标信息的文本文件,输出成SHP文件,并添加路径字段。在确定模型路径之后,在ArcMap里对SHP进行编辑,添加名称字段。表1所示为图书馆、八角亭的模型,其中,图书馆模型分成了4级

表1 存储了坐标和模型索引文件的SHP文件

(3)三维工程文件的创建

三维工程文件(FLY)在TerraExp lorer Pro中创建,并通过TerraExp lorer Pro将三维地形数据、三维模型、二维信息等整合起来形成三维虚拟的场景。同时,也可以根据需求,添加一些定位标签(location)及创建路径(route)对三维虚拟场景进行全面的展示。通过网络访问的三维工程FLY文件需要设置网络地址参数,格式为Sample@IP地址:端口号,然后通过TerraGate发布的三维地形MPT数据,通过SFS发布的SHP格式的三维模型数据、二维信息等。图3为调用已创建好的FLY文件题。

图3 在TerraExpro中浏览创建好的FLY文件

(4)网页文件的设计

Skyline工程文件的网页发布通常有两种形式:基于TE3DWindow控件的胖客户端网页和不带TE3DWindow控件的瘦客户端网页。TerraExplorer Pro提供一系列COM接口,这些接口都能通过脚本语言(如Javascript、VBScript)等调用。开发人员在使用TerraExp lorer的TE3DWindow控件设计网页来进行三维显示的同时,还可通过接口调用,在实现基本功能的基础上加入高级分析功能,以适应各个不同行业的需求。在进行网页设计时,可根据需求选择不同的网页设计工具,如记事本、Dreamweaver、Asp.Net等进行界面的美化和功能定制。三维工程文件(FLY)通过IIS发布,用户在安装TerraExplorer浏览器后,即可在所提供的网页中对工程进行访问,实现网络三维浏览。

四、Skyline软件系列技术关键点

1.地形影像数据的流媒体发布技术

利用TerraGate实现地形影像数据发布,用户可以通过Internet进行地形影像数据的传输和访问。TerraGate的空间数据是以流方式实时地传输给客户端,其流畅效果就像读取本地机上的文件一样。

TerraGate服务器的流技术明显不同于一般的视频流,该服务器运行在基于网络无缝可变带宽的基础之上,使得用户通过网络读取源影像和地表数据集(MPT文件)时不会受到带宽、或者连通中断的影响。能够在接收到低分辨率的影像时立刻进行三维显示,而不用等到所有数据集都传输完毕时才显示,从而实现了多用户在同时访问海量的三维数据时流畅的浏览效果。

2.模型流(streaming)技术

模型流技术即是将模型数据SHP化,就是把模型作为SHP点数据文件的符号,然后再利用Terra-ExplorerPro将其以流(streaming)方式加载,实现模型按浏览动态加载,实现“所见即所得”模型流显示。这种技术从理论上对模型数据量支持是无限制的,从而解决了由于模型数量的增加浏览速度变慢的问题。

3.矢量数据以流方式发布

一般以在网络上发布矢量数据,可以有两种方式:WFS和SFS。WFS是一种能从地理数据集中提取地理特征(点、线、面)的服务,已经是较为成熟的方式;SFS的全称是streaming feature server,即流特征服务,其作为Skyline的一个组件,可从空间数据库中读取数据并通过网络以流的方式进行传输,因此可以将 SFS理解为 Skyline自己构建的 WFS。Skyline以SFS方式发布矢量数据并在三维场景中分块调用(即流模式),窗口浏览什么范围,就传输那个范位的数据,无需加载整个文件数据,这就提高了海量矢量数据传输速度。

由此可见,流技术的广泛使用,是Skyline软件的最大特点之一,也是它在众多三维可视化软件中能够脱颖而出的关键。

五、项目试验

本文选取青海大学约8 km2的范围作为试验区,验证Skyline软件的网络发布数据的性能,所用到的数据有:

1)全校范围的北京54坐标系的1∶500数字地形图,由学生测量得到并进行了加工处理。

2)全校范围的遥感影像数据,由Getscreen软件从Google Earth上截取。

3)整个青海省90m DEM数据,从中科院网站免费下载得到。

4)模型文件的创建选择了Sketchup8软件,建成了全校大约600个建筑物的模型。

将所有数据整合由Terragate和IIS发布,分别在把模型和矢量数据以图层方式加载和以流方式两种方式调用比较其性能,明显可以看到,以图层方式加载模型和矢量数据时,其在普通的机器上浏览网页异常缓慢且经常卡死,而在流方式下,浏览的速度都是非常迅速的。

六、结束语

以流方式发布的数据(矢量、影像、DEM、SHP三维模型)比直接以图层方式加载的速度要快,因此地形数据通常以MPT方式发布,对矢量数据以SFS技术发布。对建筑物等模型的建立要考虑精细程度,采用精细与粗略两种建模方法,对模型要加以优化以加快浏览速度。TerraExplorer Pro针对矢量数据(SHP格式)提供整层(Entire)加载和流模式(Streaming)两种加载方式。整层(Entire)加载方式即传统的加载方式。在打开工程文件(FLY)时,需要在全部模型数据加载后才显示场景,进行操作。因此,等待加载的时间可能会很长,多运用于单机运行环境且数据量较小的情况[5]。流模式(Streaming)的加载方式即实时加载所见区域的数据。当然,Skyline还有其许多不足的方面,如空间分析功能比较弱,需要和ArcGIS结合才能发挥出其优越性能,但这些都不会动摇其作为优秀三维GIS软件的地位。

[1]EsriWeb Help.ArcScene 3D Display Environment[EB/OL].[2012-05-01].http:∥support1esri1com/.

[2]Google Earth Help.General Information:Comparison of Google Earth Products and Support[EB/OL].[2012-05-04].http:∥www.google.com/.

[3]梁吉欣.基于Skyllne的Web三维GIS应用研究[D].昆明:昆明理工大学.2009.

[4]钟海东,吴健.基于Skyline和视频监控的三维WebGIS应用研究[J].微计算机信息,2011,27(5):20-22.

[5]李佼,吴健平.基于Skyline的三维空间数据网络发布[J].测绘科学,2010,35(2):183-185.

猜你喜欢
矢量建模软件
禅宗软件
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
软件对对碰
基于PSS/E的风电场建模与动态分析
不对称半桥变换器的建模与仿真
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用
即时通讯软件WhatsApp