APP下载

基于Skyline的三维网络地理信息系统的研究

2013-09-06罗传文

森林工程 2013年3期
关键词:浏览器矢量客户端

赵 驼,罗传文

(东北林业大学林学院,哈尔滨 150040)

随着传统GIS向三维立体、互联网络方向的发展,网络环境下空间数据的三维可视化问题也越来越受到关注。而Skyline的系列软件一直在基于网络的三维可视化软件中居于领先地位,是较为优秀的三维GIS软件平台,该公司提供的应用软件工具包和服务发布平台,采用了先进的流技术和分级式的呈现技术,将复杂的地理空间信息以丰富逼真的三维景观表现出来,大大提高了浏览时的体验效果。本文有关实验是以上海某实验区为例进行开展的。

1 Skyline系列软件构成

Skyline系列软件由 TerraBuilder,TerraGate,TerraExplorer,Streaming Feature Server等主要产品组成[1]。

TerraBuilder可以将航空或卫星影像数据、DEM数据还有矢量数据进行裁切融合,创建具有精确地理坐标的三维地形数据集,即MPT文件。MPT文件可以采用金字塔的构建技术,即当视距由远及近时,首先呈现的是较低分辨率的影像底图,随着视距拉近,会加载较高直至最高的影像底图,大大提高浏览的效果。

TerraGate采用强大的网络数据服务器技术将庞大三维地形数据集 MPT进行网络发布,实现实时传输,由于采用流的技术,使得客户端即使在加载海量MPT数据时,也如加载本地数据一样流畅。

Streaming Feature Server是一款能够通过网络以流方式传输特征层 (WFS)或地图影像数据(WMS)到客户端应用程序的服务器端发布软件。通过SFS manager可以对WMS和WFS进行管理和配置,以提高客户端浏览的响应速度和性能。

TerraExplorer又可分为 TerraDeveloper、Terra-Explorer View及TerraExplorer Pro。其中TerraDevel-oper是TerraExplorer Pro的二次开发包,包含许多API接口,用户可利用它根据需求定制自己的应用程序。TerraExplorer Pro可以创建和编辑具有MPT、建筑模型、注记、标签等内容的三维工程文件,同时根据需要可以实现强大的三维分析功能,提供决策支持。TerraExplorer View可以方便加载TerraExplorer Pro制作的FLY文件,免费浏览三维场景。Skyline提供C/S、B/S的灵活开发方式,本文主要探讨B/S的开发模式。

2 三维建模

2.1 地表模型

首先在TerraBuilder中创建一个空的TBP工程文件,加载含有实验区域的几张不同分辨率影像数据,对它们进行重投影,赋予统一的地理坐标,然后根据实验区域进行裁切,将裁切结果和相应的DEM通过 Standard工具栏中的 Create Resolution pyramid工具进行融合,构建成具有金字塔结构,然后经过去除背景值,检查邻接边,调色等操作,最终输出成可以用于部署的MPT文件。当用Terra-Explorer Pro加载浏览,可以发现当距地面的视距不同时,呈现的MPT的分辨率也会不同,远距离浏览时分辨率较低,近距离浏览时显现较高分辨率,这样很大程度上提高了MPT加载速度和浏览的效果。

2.2 建筑模型

2.2.1 建筑模型制作

通过对目标建筑的纹理进行拍摄,并将拍摄得到的图片进行加工处理,制成贴图。然后在Terra-Explorer Pro中,导入模型的二维边界数据,根据其高度,调整并拉伸成符合建筑轮廓的立体盒子,结合贴图可以制作成一些如房屋等简单的模型。同时一些复杂的模型可以由常见的建模软件诸如:3DMAX,Multigen Creator等建立,并且要求输出成Skyline能够接受的,微软通用模型格式*.x文件。本实验首先外业对实验区域的建筑进行拍摄和测量,然后内业利用3DMAX建模输出成.x文件。通过TerraExplorer Pro中的内置工具MakeXpl将得到的.x文件与贴图文件进行批量的打包压缩处理,生成采用全新LOD技术的.XPL和.XPL2格式的模型文件。最后将这种模型加载到TerraExplorer Pro中,放置在对应位置的MPT上,由远及近进行浏览观察,发现采用LOD技术的这些模型可见度可以根据视距的接近程度自动选择最佳尺寸纹理的模型,即当远距离浏览时会加载数据量较小、贴图较模糊的模型,但当视距接近目标,较清晰的模型就会加载同时代替之前的较不清晰的模型。这样一方面符合人由远及近观察事物时规律,同时这个相当于预加载的过程更显平滑,不会给人视觉上的突兀感,而且从某种程度上也缓和了网络瞬间的传输压力。

2.2.2 建筑点矢量文件

在制作建筑模型过程中,实验中利用3DMAX将模型的坐标点导出生成txt文件。在ArcMap中,利用Add XY Data工具,将格式良好的坐标txt文件转成Skyline可以方便加载的Shp文件,使得每一个坐标点与模型名字段一一对应,出于方便,这里还添加一个含有路径信息的字段,这样仅仅根据路径和模型名可以准确的找到相应的模型文件,加载到对应的坐标点上,在三维场景中显示。

2.3 创建三维工程文件

三维工程文件,即*.fly文件,它可以在TerraExplorer Pro中创建,记录着所引用的三维地形数据、三维模型、二维矢量的位置和配置信息,在TerraExplorer中打开可以呈现出三维虚拟场景。同时根据需求,也可以添加一些定位标签、路径以及三维漫游等,方便更好的全方位展示[2]。这里的*.fly制作好后,和应用程序放在一起发布。

3 web应用的构建

3.1 B/S架构

B/S架构,即Browser/Server(浏览器/服务器)结构,是WEB兴起后的一种网络结构模式,WEB浏览器成为客户端最主要的应用软件。在这种结构下,用户界面依靠浏览器解读包含有脚本语言和CSS的HTML来实现,部分事务逻辑也在前端实现,但系统功能的核心部分集中在服务器上,从而简化了系统的开发、维护和使用。实验中客户端的浏览工作完全是由IE浏览器实现的,大大减轻了客户端硬盘的压力,方便了数据的维护和更新。

3.2 应用设计

本实验Web系统的开发采用的是面向对象的编程方法,使用基于COM组件的开发技术。采用的编程环境为Microsoft Visual Studio 2010,将脚本语言JavaScript和 CSS包含于HTML中,TerraExplorer则提供的3D窗口和信息树以控件对象的方式嵌入到页面当中,实现前台的界面和应用,利用ASP.NET可以实现与后台数据库的交互与存储,由此共同构建整个系统的框架。SkyLine的二次开发组件为开发者提供了许多的API接口,这便于开发人员很方便的使用其接口实现所需功能,而不必知道接口底层所封装的实现过程。在这里利用这些接口既实现三维场景的构建和浏览,同时还加入了一些强大分析功能。

3.3 系统构架和实现

具体操作和部署如下:

在服务器端:模拟一台TerraGate服务器发布MPT作为三维场景的底图,发布过程中注意修改服务端口;模拟一台模型服务器通过IIS发布三维模型数据,这里可以根据发布模型数据量的大小,考虑是否使用服务器集群,以确保客户机大量并发访问时服务器依然可以稳定运作;模拟一台专门发布矢量的服务器,这里可以利用ArcGIS Server发布WFS形式的矢量,当然也可以利用TerraGate中SFS组件进行发布,本实验使用SFS进行发布,同时实验中的矢量数据为了方便管理和存储,矢量数据都统一入库;最后是模拟一台应用服务器,同样是利用IIS将三维系统网站进行发布。整个系统的架构如图1所示。

图1 系统构架图Fig.1 The diagram of system frame

客户端则只需要安装一款免费的TerraExplorer View再加上系统自带的IE浏览器就可以轻松浏览包含庞大数据量的三维虚拟场景,浏览过程中需要加载大量模型数据,所以对机器的显卡和内存要求较高。其具体原理为:客户端打开IE输入URL浏览Web应用的同时向应用服务器发出三维地理服务的请求,应用服务器会根据收到的请求,向客户端发送相应的Fly文件。用户在客户端利用Terra-Explorer View解析Fly中的信息,依据这些信息找到需要的TerraGate服务器,模型服务器和矢量服务器,下载所需的MPT,三维模型和矢量并在浏览器中实时加载呈现。

实验中Fly文件采用流的设置,只有视窗内区域的模型才会被加载,当视窗移动到别处时,新的视窗下的模型逐渐呈现,而之前的模型则会被卸载,不会额外占用内存,卸载并不代表完全消失,而是转而停留IE缓存中,方便以后的更便捷的调用。与此同时,模型的加载呈现并不会有任何突兀感,LOD技术的利用,使模型会根据视距的远近自动的调节清晰度。而以SFS发布的矢量,由于采用了缓存机制,减少了矢量服务器与数据库数据交互的时间,同样也提高了响应速度。种种机制,都使得海量数据的浏览既流畅又便捷。实验场景效果如图2所示。

另外,Skyline还引入了Internet Iicense这个机制,就是将一个Internet Iicense与一个或多个IP、域名绑定,这些绑定信息都以许可的形式,添加到TerraGate中。如果客户端以TerraExplorer View为基础通过浏览器访问应用服务器,而应用服务器又恰恰使用了Internet Iicense中的IP或域名,这样就会使得客户端获得一些TerraExplorer Pro才拥有的功能权限,当然这前提是无论是TerraGate服务器还是应用服务器都必须在同一套系统当中。通过Internet Iicense的实现,使得更多的用户仅仅需要一个免费的TerraExplorer View,通过浏览器就可以既能畅游三维场景,还能享受到许多强大的三维地理分析功能。实验中利用Internet Iicense使客户端仅用IE浏览器就能获得TerraExplorer Pro才具有的视域分析和最短路径分析功能:

视域分析,点选相应按钮启用该功能,在3D窗口中点取一点并选取一个角度范围,双击,则生成分析结果如图3所示。

图2 三维场景效果图Fig.2 The rendering of three dimensional scene

图3 视域分析效果图Fig.3 The rendering of horizon analysis

最短路径分析,利用此功能首先在三维场景中选取一起点一终点,双击即可计算生成一条起点到终点的最短路径。

4 关键技术

4.1 流(Streaming)技术

传统三维场景数据的加载方式都是在客户发出服务请求之后,根据请求内容,将所有可能要浏览到的数据统一地一次性地加载进来,由于三维数据一般数据量都较为庞大,使得场景加载时间过长,甚至出现未响应的情况,同时客户不一定会对请求的数据一一的全部浏览,从某种程度上,会导致数据资源的浪费。而Skyline利用流这一技术有效地解决了这一难题。

利用流技术,客户发出数据请求后,被请求的数据会被划分为若干个数据块,当浏览到某一感兴趣的区域时,和这一区域相关的数据块就会被加载进来,以三维模型和MPT的形式呈现。正是利用这一机制实现所见区域的实时加载,而且原先呈现过的模型会移动到IE缓存中,即不会占用额外内存,还可以方便下一次的加载。利用这种即用即取的特点解决了传统加载方式在加载庞大三维数据时需要较长的等候时间的难题,同时还节省了不必要的网络资源,提高了显示的效果和系统的运行速率[3-4]。

4.2 SFS(Streaming Feature Server)技术

SFS引入地图服务缓存机制,通过建立静态和动态缓存的方式,显著改进访问地图服务的速度。静态缓存机制,基于地图服务分块生成地理“切片”,从而显著提高地图服务的执行效率,这种机制允许用户终端直接从缓存数据中快速读取矢量数据和栅格数据,而不是和以往传统模式一样,向服务器发出请求,然后再动态生成所需求的数据。

对于静态缓存,SFS提供的专用工具SFS CacheCreator,通过它能将shape文件、ArcSDE、Oracle Spatial、SQL Server2008、PostGIS等空间数据要素进行处理,生成静态缓存。这种方式适用于数据不经常发生变更的情况,比如基础地理信息要素——行政区划、河流、地名等。

对于动态缓存,通过SFS管理器能够将ArcSDE、Oracle Spatial、SQL Server2008、PostGIS 存储的空间数据要素动态更新,当原始矢量数据更新之后,缓存也随之更新。这种方式适用于业务系统数据每天都在发生变更的情况。

4.3 LOD技术

LOD(Level Of Detail),即层次细节技术,是解决硬件性能不够发达的技术产物,可以说它是一种过渡技术,也就是说当硬件发展的一定阶段,LOD技术也许就会走向末端。但现阶段,LOD技术还是解决渲染速度瓶颈问题的最有效的技术手段之一。在Skyline中,采用高分辨率纹理的3D模型(也就是X和OpenFlight文件)会使场景运行的表现受到影响。新的XPL格式能够将X模型自动生成纹理分辨率逐渐减小的一组模型。在场景中使用这组纹理逐级显示的模型时,系统能够根据模型的可见度和与观察者的接近程度自动选择最佳尺寸纹理的模型。

LOD值在批量导入模型的时候默认设置为1 000,这个值是控制模型金字塔贴图分级渐变的参数,一般来说,这个值越大,模型显示最高级别精度贴图模型的可视距离就越小,系统运行效率越高,反之亦反。这个参数的经验值为2 500左右,一般最大值不超过5 000。

5 结束语

相比二维GIS,三维GIS为空间信息的展示提供了更丰富、逼真的平台,使人们将抽象难懂的空间信息可视化和直观化,易于人们更准确的做出判断。同时随着网络技术突飞猛进发展,使资源共享变得很简单,交流的双方可以跨越时空的障碍,随时随地传递信息。两者的结合,使得三维网络GIS具有巨大的优势,并日益受到广大专家学者的关注。Skyline以崭新的角度为三维网络地理信息系统提供了可靠地解决方案,满足了国防军事、政府部门、企业用户等用户可视化地理信息的需求。

Skyline构建三维网络地理信息系统中有着独特的优势,利用其先进的技术,成功的解决了海量三维数据发布效率低,网络传输压力大,模型加载慢等难题,为地理信息系统的发展做出贡献。与此同时,在实验中也发现了一些问题,例如浏览三维场景读取模型过程中存在部分模型未能加载的现象,希望这一问题在后续的版本中得到解决。

【参 考 文 献】

[1]潘 发,李启发.基于Skyline的三维城市系统探讨[J].青海科技,2011(6):47-49.

[2]梁吉欣,左小清.Skyline在Web三维GIS中的应用研究[J].昆明理工大学学报(理工版),2009,34(2):1 -4.

[3]刘向东,李 璐,于文跃.应用PCI处理遥感影像初步探讨[J].森林工程,2007,23(6):13 -14.

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

猜你喜欢

浏览器矢量客户端
矢量三角形法的应用
如何看待传统媒体新闻客户端的“断舍离”?
反浏览器指纹追踪
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用
环球浏览器
客户端空间数据缓存策略
色料减色混合色矢量计算