1 虚拟现实及相关软件
虚拟现实(VR—Virtual Reality)技术是一种由计算机及相关软硬件系统生成的高技术模拟系统。它构成一个以视觉感受为主,包括听觉、触觉、甚至味觉的综合可感知的虚拟环境,它通过专门设备使演练者在这个人工环境中具有身临其境的感觉。将虚拟现实技术引入地理信息系统会促进其本身的发展,也能更大程度地满足社会的需要。
MuhiGen Creator/Vega Prime是由MPI— MuhiGen-Paradigm Inc公司推出的虚拟现实仿真产品。MuhiGen Creator是用于实时生成三维数据库,具有完整的交互式实时三维建模,自动化的大型地形、三维人文景观和道路产生器等。它可以应用在战场、城市仿真和计算可视化等领域,是理想的虚拟场景建模环境。Vega Prime是专门应用于实时视景、声音仿真和虚拟现实等领域的软件。包括一个图形用户界面Lynx Prime和一系列用C++实现的库文件和头文件。可以在Visual C++环境下调用这些头文件,编程实现虚拟场景的交互控制。
2 组件式GIS开发及相关软件
组件式GIS就是采用了面向对象的技术和组件思想的GIS,将GIS的各大功能模块划分为几个组件,各个GIS组件之间,以及与其它非GIS组件之间,都可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS基础平台以及应用系统。目前大多数GIS软件公司都把开发组件式GIS作为一个重要的发展战略,MapX是Mapinfo公司提供的一个快速、易用及功能强大的组件产品,实现了大部分Mapinfo Professional的功能。MapX可以在VB,Dephi,VC++等可视化环境下,通过设置属性以及对相应的事件调用相应的方法,即可实现数据可视化、专题分析、地理查询及地理编码等丰富的地图信息系统功能。
3虚拟数字矿山的建模技术
3.1矿山地形建模
MuhiGen Creator能够处理的是DED格式地形数据,可以将各种具有真实地理坐标的数字高程原始数据(GRID、TIN等)转换成DED格式数据(可利用ARC/INFO和Global Mapper等软件进行格式转化)。Creator有4种地形转换算法:1)规则格网算法(Polymesh)。该算法是通过从高程网格中采样来生成统一的直线网格面,根据定义的取样系数(Post Sampling Rate),为每个取样点的样本创建多边形,每个取样点的样本都会成为地形多边形的顶点;2)不规则格网算法(Irregular Mesh)。取样方式与规则格网略有不同,它创建了一个非矩形的多边形,使取样点能够靠近地形变化最大的特征点,结果是对于相同数量的多边形,用不规则形状的三角形比用规则的Polymesh能更加精确地描述地形;3)德洛内算法(Delaunay)。对数据库中的每个高程点都进行采样,如果要检测到山脊和山谷,定义其一系列采样点被增加到三角化计算中。同样如要保护海岸线,Creator检查每一个与海岸线相交的新的多边形边缘,并将沿海的采样点加到三角化计算中;4)连续自适应地形算法(CAT—Continuous Adaptive Terrain)。CAT算法的优点在于不同细节层次模型之间转化非常圆滑,没有突然变化。但由于CAT算法生成的地形数据库只能在SGI Performer系统中运行,地形选择的算法主要根据用户数据库运行的硬件类型来确定,要考虑的因素包括处理速度、所支持的边界匹配、三角条带的能力以及能够处理的最大多边形数量。
3.2矿山地表地物建模
地物建模一般利用已经数字化的CAD格式矢量图,将其导入Creator进行建模。需要注意的是 Creator只能处理AutoCAD R12/T12 dxf格式的数据,需将图像另存为这种格式。地表建筑物或构筑物的高度可通过实地量测或高分辨率遥感影像获得;表面纹理可通过数码相机直接拍摄,再利用 Photoshop等图像处理软件进行后期处理纠正获得。地物模型建好后,加上纹理、材质、阴影等,可得到较好的虚拟仿真效果。
3.3矿山井下巷道建模
目前,矿山井下巷道信息主要是通过CAD格式的双线采掘工程平面图来表达。首先根据采掘工程平面图上的高程信息,利用CAD里的三维多线段重新描绘巷道,同时将高程信息赋予每个节点,实现巷道的单线显示,最后将其另存为dxf格式的数据,导人Creator建立具有真实坐标以及拓扑关系的三维巷道模型。
4具有GIS特点的虚拟数字矿山数据及其组织
4.1 虚拟场景的数据源
三维虚拟场景是对客观世界的反映,主要描述了客观世界中的地形、地貌、地表特征、文化特征及人工模型(地物)。三维虚拟场景的构建是对客观世界进行抽象和数字化的过程。要使建立的虚拟场景具有实用价值,必须使建立的模型具备传统地图的基本特性:1)量测性:数据要有严格的数学基础;2)直观性:实施制图综合,根据需要显示最主要的内容;3)一览性:使用地图语言。
三维数据模型采用的数据格式是Creator的 Open Flight,它是一个分层的数据结构,并通过几何层次结构和属性来描述三维物体。由它建立的场景是一个或多个树型数据库,这是整个虚拟场景的数据基础。每个Open Flight文件代表一个数据库,它高效地描述了模型或地形的几何体、层次结构及图形属性。每个数据库由根节点(db)、子节点(group、object)和叶子节点(face)组成。
在建模之前必须收集客观世界中的有关数据,这些数据必须具有可量测性,主要收集:
——空间数据。主要包括地形和地物数据,这些数据主要是描述场景的轮廓。地形原始数据可以来源于地形图等高线、离散的高程点及其它具有高程的陡坎线、湖泊平面多边形等,也可以通过处理航摄影像、机载激光扫描仪扫描的数据或SAR/ INSAR等卫星遥感图像获得。地物数据主要是指建筑物、构筑物等位置、结构数据;道路、河流、绿化树木等的平面位置和相关数据。
——纹理数据。贴在地形上的纹理,也称为地理纹理,一般来源于数字正射影像地图(DOM)或数字栅格地图(DRG)。可将遥感图像、航空相片处理成DOM,DRG可由地形图经扫描、图形定向、几何纠正及色彩校正后形成。
对一般地物的纹理,主要通过数码相机采集。 OpenFlight模型接受的标准纹理格式为rgb、 rgba、int、inta,也可接受常见的tif、gif、jPg等格式,但容易造成系统的不稳定,纹理图像大小一般为2#。
——属性数据。如果只能对一个三维场景漫游,而不能对其场景中的物体进行一些基本的查询、量算等操作,那也就没有GIS特征。而二维 GIS数据含有大量的属性数据,MapX可以接受的数据是tab表格式,其属性数据文件(.DAT)包含了空间数据完整的属性。可通过互响应机制,将二维矢量图和三维场景图连接起来,并可消除三维场景中的迷失感。
4.2虚拟场景的数据组织
二维空间数据主要用MapX的图层(tab文件)来组织,每个图层包括了特定的数据集,如道路、学校和商店等。三维空间数据用Creator的 OpenFlight数据结构来组织,利用其层次结构,根据地形、地物(道路、学校、商店等)等分类来组织数据。
属性数据的组织方式:1)数据量不大可通过MapX的tab表组织,并通过交叉索引文件将空间数据(.MAP文件)和属性数据(.DAT)连接起来;2)数据量较大可通过大型的商业数据库(SQL Server、Oracle等)组织,利用MapX的数据绑定功能,将其与空间数据联系起来,或利用AD0(Microsoft AcfiveX Data Objects)直接对数据库里的数据进行操作。同时可将三维模型的名字、二维GIS表里的关键字段以及数据库里表的关键字段一一对应,以实现空间数据与属性的关联。整个数据组织(数据源包括各种相关的纸质地图、电子地图、表、文档等)如图1所示。
5具有GIS特点的矿山虚拟场景交互
5.1 二维地图与三维场景的互响应
二维地图缺乏立体感,三维虚拟场景有迷失感,而两者的互响应有效地克服了独立的二维地图和三维虚拟场景的不足,实现了两者间的优势互补。
二维地图与三维场景的互响应主要方式有:1)通过坐标联系。二维电子地图与三维场景图都是基于统一的坐标系统,在漫游三维场景的过程中,将实时变化的视点用坐标形式反映在二维地图上,同时点击二维图中任意一点。用当前点的坐标来更新三维场景中的视点坐标,以达到二维地图与三维场景互响应的目的;2)通过对象惟一名称联系。在虚拟场景里通过鼠标点击,利用碰撞检测获得点击物体的名称,由于三维场景中模型的名字与tab表及数据库表里关键字段相对应,因此可获得物体的属性信息,同时也实现了二维地图与三维场景的互响应。
5.2 二维地图与三维虚拟场景的操作
对于二维地图,MapX提供了丰富的内嵌功能,如一般的地图操作(放大、缩小、漫游等)以及各种专题图(范围值、等级符号、点密度、独立值、直方图和饼图)的制作。
对于三维场景图的距离量测可通过鼠标,利用碰撞检测获得两点的三维坐标来计算两点之间的距离。属性查询通过与二维地图互响应的方式实现(其实质是获得与其相对应的二维物体的属性信息),如图2所示。有关三维场景图的空间分析,目前还没有成熟算法,但可以进行一些简化处理,如缓冲区分析可以转化为相应的二维地图的操作,将操作结果通过二维地图与三维场景互响应的方式在虚拟场景里反映出来。如图3所示。
6 实例
结合山西某矿的虚拟演示项目,开发了虚拟数字矿山的原型系统。数据是1:2 000以及部分1:500的扫描地形图、采掘工程平面图、井上下对照图以及工业广场和工人村的各种文字图像资料等。首先对扫描地形图进行配准,然后矢量化,得到 AutoCAD R12(dxf格式)的矢量图。导人 Creator里建立工业广场和工人村模型。利用采掘工程平面图,根据上述巷道建模方法。实现巷道模型的建立。通过Photoshop对野外收集的图像进行处理,将制作好的纹理贴在模型表面,在模型上再加上光源、材质,完成模型的制作。利用tab表建立相应的属性字段,完成属性数据的输入。在 Vega Prime的GUI界面里完成各种对象的属性配制,生成ACF(Application Configure File)文件,利用VC的MFC完成虚拟数字矿山的原型系统(见图4、5)。
7结语
组件式GIS用于数字矿山,并有机地结合GIS二次开发组件(MapX),可以开发出具有一定功能的虚拟数字矿山系统,可以满足矿山整体展示、巷道设计、矿山生态重建模拟等的需要。但由于软件的系统配置要求较高,不能与Web插件相结合,三维空间分析较弱,还需要在这些方面做进一步研究和拓展。