1.1三维可视化仿真系统当前地理信息系统技术仍以二维信息为主,比较而言,三维地理信息系统技术可以使信息的表现更真实、丰富、具体,而下一代GIS技术的一个主要特点也是支持“数字地球”或“数字城市”概念的实现,从二维向三维发展,从静态数据处理向动态发展,具有时序数据处理能力,因此三维地理信息系统技术与无线通信技术的结合将是未来地理信息技术发展的必然趋势,也将成为未来数字城市建设技术的必然选择。
三维GIS是模拟、表示、管理、分析客观世界中的三维空间实体及其相关信息的计算机系统,能为管理和决策提供更加直接和真实的目标和研究对象。
三维GIS是二维GIS技术的延伸和扩展。
基于三维地理信息系统技术,能够实现城市地质灾害相关数据的的数字化、网络化及动态可视化,同时也可作为一个供地质灾害管理预测分析辅助的强大应用平台。
1.1.1电子沙盘框架建设电子沙盘框架建设基于国际先进的SkyLine三维展示平台,利用DEM与DOM建立大场景的三维模型,实现整个地图大场景的描述,同时集成地质灾害相关信息,实现大场景的立体信息集成和展示,为使用者提供更为丰富的综合信息。
Skyline是一个领先的三维地理信息系统平台,用一个强大的界面,可以把不同的地理数据联系起来,并且可以把它们快速的分发到各个用户。
沙盘框架逻辑如下:1.1.1.1 架构模式三维可视化仿真系统采用当今社会最流行也最实用的B\S架构,此架构降低了最终用户的维护和升级成本。
服务器端的配置:TerraExplorer Pro + TerraGate + internet License。
客户端的配置:TerraExplorer Viewer + IE6.0或以上。
开发环境:开发工具(Microsoft Visual Studio .NET 2003/2005 C#) + 客户端脚本语言(javascript/jscript)+ 编辑工具(UltraEdit/Editplus)。
Skyline软件体系结构如下图所示:图错误!文档中没有指定样式的文字。
-1 Skyline软件体系结构图总的架构来分,Skyline分为三个模块。
数据合成模块TerraBuilder家族,它分为三个级别:单机版(TerraBuilder)、企业版(TerraBuilder Enterprise)、直连(DirectConnect)。
他们三个之间的区别在于,数据量较小的时候就用单机版。
当数据量比较大的时候,我们就用TerraBuilder企业版,它是利用网络中的计算器计算单元,相当于是CPU的并行计算。
如果数据量达到类似全球级别的数据,那么我们就用DirectConnect,它的技术就类似于GoogleEarth、SkylineGlobe(用户可以登录 进行免费下载安装)。
利用DirectConnect不需要和成中间文件,只要你把影像数据和地形数据匹配好,做为终端安装一个插件,浏览到哪个区域,那么它就会自动将影像和地形数据进行叠加显示给终端。
TerraExplorer 家族分为免费版(TerraExplorer Viewer)、专业版(TerraExplorer Pro)和二次开发包(TerraDeveloper),关于它们几个的接口开放程度请看下图:图错误!文档中没有指定样式的文字。
-2 TerraExplorer Pro接口开放程度明细图1.1.1.2 应用流程Skyline的应用流程:1、准备好影像数据(可以是卫片或者航片)以及高程数据。
2、利用TerraBuilder合成地形数据库(合成好的文件格式是Skyline私有的*.MPT格式),即大的三维场景。
3、将合成好的*.MPT格式的地形数据库导入到TerraExplorer Pro模块中,在Tpro模块中,我们进行基于地形数据库的各种编辑工作,包括增加二维、三维物体,设置飞行路径,添加图片、标注等!这个工作就是我们做的工程文件,最终的文件格式是*.FLY格式。
4、通过TerraGate和Windows IIS共同实现Fly文件、JPG、矢量数据和MPT 地形数据的发布。
用户通过网络访问Fly文件时,MPT地形数据通过TerraGate 进行网络发布,其他数据全部需要通过Windows IIS发布,流程图如下:图错误!文档中没有指定样式的文字。
-3 数据发布流程图5、TerraGate的主要作用是进行*.MPT文件的网络发布,在TerraGate可以设置多个MPT文件,供FLY工程文件调用。
1.1.1.3 模块功能1.导入DEM数据。
将已经处理好的DEM数据导入。
要求DEM数据按照规格要求进行处理,处理完毕后的DEM数据使用本功能导入系统的场景模型,系统建立三维模型。
2.导入DOM数据。
将已经处理好的DOM数据导入。
要求导入前的DOM数据进行过配准纠偏等处理,并且已经符合规格。
DOM数据导入后,自动和系统中的三维场景模型叠加,更加真实自然的展现地貌等特性。
3.建立三维场景模型。
根据导入的DEM数据和DOM数据,建立三维的场景模型。
在导入了DEM和DOM 之后,根据已经导入的数据,建立三维场景模型,展现DEM的三维信息和DOM的地貌信息。
4.场景模型管理。
对场景模型进行管理,包括:参数配置和修改,场景删除等。
在数据导入完毕后,系统需要对部分参数做适当的修改调整。
1.1.1.4 流程逻辑图错误!文档中没有指定样式的文字。
-4 电子沙盘框架流程图1.1.1.5 Skyline平台的特性1、TerraExplorer Pro的特性(1)以网络数据流形式高效展现地形及叠加地貌信息。
(2)提供创建和发布3D地形可视化信息的所有工具。
(3)支持交互式绘图工具,用于在3D地形模型中创建几何图形、用户自定义对象、建筑物、文本、位图和动画。
(4)产生和输入静态、动态的2D或3D对象、符号及地理配准信息图层。
(5)在线或离线导入GIS数据图层。
(6)将图层数据以标准GIS文件格式输出。
(7)通过标准COM接口与外部、本地和WEB应用程序通讯。
控制所有动态及静态对象、信息层和应用系统信息。
(8)提供全套3D测量及地形分析工具。
(9)自主导航功能可创建预定义飞行路径,并在TerraExplorer中回放。
(10)用鼠标、键盘和飞行控制面板的任意组合方式控制速度、高度角及视角。
(11)将事先录制的飞行路径输出为视频文件,如AVI或一系列帧文件。
(12)3D视窗中的快照功能及影像文件输出功能。
(13)在3D模型的特定区域建立指向网页、应用程序和数据库的超级链接。
(14)集成文本和WEB内容。
(15)通过发布工具输出3D场景提供Intranet/Internet访问。
(16)增强的本地或远程用户安全性保证。
2、TerraBuilder的特性(1)高效的海量数据库处理能力。
(2)通过TerraBuilder代理支持多处理器及网络负载均衡。
(3)通过数据压缩降低数据存储量。
(4)支持大多数标准源数据格式。
(5)通过插件(PLUG-IN)形式支持读取新数据格式源数据。
(6)64-BIT文件指针支持超过TB级数据库数据快速存取。
(7)自动融合(镶嵌)不同空间分辨率的源数据。
(8)提供高效用户接口用于自动或手动实现客户化定制。
(9)强大的三维模型预览选项和功能。
(10)丰富的编辑工具,用于创建和扩展用户自定义图层。
3、TerraGate的特性(1)通过Intranet/Internet进行3D数据的传输。
(2)对低带宽的情况能够进行最优化。
(3)简单的可测量性设计。
(4)采用TCP/IP协议。
(5)与防火墙和代理服务器共同工作。
(6)充分利用多处理器服务器的硬件优势。
(7)有效处理大量数据集。
(8)地貌数据的大小只被磁盘媒质所限制。
1.1.1.6 开发接口介绍TerraExplorer Pro API是TerraExplorer Pro家族中的基础开发环境,是一套面向三维GIS应用系统开发者的新一代组件式GIS开发环境。
TerraExplorer Pro API 基于Microsoft的COM组件技术标准和脚本语言标准,以ActiveX控件的方式和脚本语言(如:Javascrīpt、VBScrip等)的方式提供强大的三维GIS功能,适用于用户快速开发专业三维GIS应用系统或三维地图网站。
TerraExplorer Pro API由ActiveX控件和数量众多的自动化对象(Automation Objects)构成,因此可以方便地嵌入到流行的可视化高级开发语言环境中进行二次开发。
开发人员可以充分发挥Visual Basic、Visual C++、C++ Builder、PowerBuilder、Visual 、Visual C#.Net和Delphi等高级开发工具在面向对象编程、可视化程序设计等方面的优势,结合各种第三方ActiveX组件,轻松开发出各种三维GIS应用系统。
1、TerraExplorer Pro接口下列是您使用TerraExplorer或者TerraExplorer Pro开发一个客户端应用程序时用到的主要接口。
这几个接口还可以衍生出许多扩展功能接口,欲知详情请参看接口的详细描述部分。
(1)ITerraExplorer–此接口是一些关于用户界面的具体设置譬如开发者使用的什么版本或者在用户界面里的一些单位的设置;(2)IPlane–关于TerraExplorer Pro对plane和camera的控制。
开发者通过对于IPlane接口的设置来操作plane和camera按照要求进行各种复杂的运动;(3)IObjectManager–用来处理所有在3D 世界里的对象。
使用这个接口开发者能增加、取消和修改在3D 世界里的所有对象的各种属性。
以下对象都可以通过IObjectManager 接口来处理:2D Objects–通过设置以下接口的句柄来对这些2D对象操作(Text label, Image label, Polyline, Polygon, Rectangle, Regular Polygon, 2D Arrow, Circle, Ellipse 和Arc)。
3D Objects–通过设置以下接口的句柄来对这些3D对象操作(3D Model, Building, 3D Polygon, Box, Cylinder, Sphere, Cone, Pyramid 和3D Arrow)。
(4)Route–允许开发者在工程中添加修改新routes或者获取当前工程中存在的routes。
(5)Location–允许开发者进行一些兴趣点位置的设置。
(6)IInformationTree –提供对于TerraExplorer Pro 的信息树的完全控制。