二维GIS的三维可视化方案

2014-07-01 23:28辛长安白宝兴
长春师范大学学报 2014年8期
关键词:图层纹理可视化

辛长安,白宝兴

(长春理工大学计算机学院,吉林长春 130022)

二维GIS的三维可视化方案

辛长安,白宝兴

(长春理工大学计算机学院,吉林长春 130022)

本文论述了二维GIS的三维可视化技术的实现方案,重点阐述了其中涉及的关键技术模块,如地形、纹理、模型、相机等。旨在提出一种轻量化的简洁高效的实现方案,并在数据接口和渲染效率优化方面也作了相关论述。实验项目证明本文提出的技术方法是可行的,并可用于工程实践。

二维GIS;三维可视化;地形拟合;地图纹理;相机运动

1 混合GIS的发展

传统二维GIS已经广泛应用于各个领域,如城市规划、环境保护、军事操作、农业管理等。二维GIS能够处理大量的地理信息数据并提供成熟的分析功能。但是与三维相比,二维GIS在场景可视化效果方面存在明显的劣势,将二维的设计结果转化为现实三维环境对普通用户而言也存在一定困难。

随着近年来三维可视化技术的飞速发展和人们对三维GIS系统的研发,在许多以地图为主的人机交互界面应用系统中,三维GIS平台越来越占主要地位,它能够提供给用户浏览、展现、处理地图数据的直观亲近和真实的操作体验。然而,三维可视化和二维GIS通常单独使用,其中二维GIS用于数据管理和分析,三维用于分析结果的可视化。近年来纯三维GIS的突破是缓慢的,一个真正的三维地理信息系统不仅要提供3D数据的真实表现,还必须提供传统的GIS功能。三维GIS的应用和发展存在几个障碍,包括各种异构数据类型的处理、3D拓扑结构的定义、海量的三维数据分析等。因此,采取二维GIS和三维虚拟化的双重优点,实现轻量化且实用的复合GIS系统来代替纯三维GIS系统是行之有效的解决方案。本文旨在提出这样一种实现方法。

2 地形拟合及渲染

三维地形数据通常可由高程数据模形DEM数据生成。DEM数据是一组统一规格的网格数据,在每个地理坐标的网格点上标识一个海拔高度值。网格点之间位置的高程值可以通过周围网格点插值生成。把地理三维坐标映射到场景三维坐标后,就生成了三维GIS的地形图网格。为了提高显示效率,网格数据需要随着当前可视范围的缩放进行动态变化,可视范围越大网格点的粒度越粗,反之就要求网格点粒度越细,否则出现马赛克现象。

在三维可视化场景里,主要通过光线的阴影变化和可视角度的旋转变化来观察物件的形状、方位等。其中阴影的变化最能反映物件的形状特征,从而增强三维GIS的显示效果。阴影是由光源产生的,在一个开阔空间的三维GIS环境里,光源的位置设定非常重要,不同的位置产生的视觉效果会有很大差别。可以相对相机的位置设定光源,也可以相对地理位置进行设定。另外,光源的方向和类型也是要考虑的因素,在系统实现里可以提供相应的由用户设定光源参数的操作功能。

3 二维图层纹理

通常情况下,二维数据以纹理映射的方式被覆于三维地形之上,以此将二者结合起来。这一操作可以通过直接调用三维引擎API实现,例如DirectX、OpenGL等。最常见的地表纹理数据是卫星图片。因为地表纹理的数据量很大,同一块地理区域包括不同分辨率的图层,每一级别数据量是上一级的四倍,所以地表纹理文件一般存储到文件服务器上。为了提高系统的响应性能,常用的和预计将要使用的一部分纹理数据要缓存到本地磁盘。同时,通过对当前浏览的地理位置和相机所在浏览高度判断,确定最有可能访问的那部分纹理数据文件要缓存到系统内存中。理论上,只要内存允许,应该尽可能多地缓存数据。但无论是系统内存的一级缓存,还是本地磁盘的二级缓存,都应该在后台线程中处理,否则反而会影响反应性能。所以,当相机的高度或相对地理坐标变化时,这两个级别的缓存要异步刷新,但二级缓存不宜刷新太频繁。

4 二维GIS功能函数

将二维GIS功能函数与三维可视化完整地结合起来是复合GIS的基本目标。因为在数据层面,数据格式仍然是属于二维GIS规格的,所以传统二维GIS的功能函数如查询定位、测量标绘、最短路径查找、空间分析等,可以平滑移植并实现,不同的是计算结果需要在三维平台环境中展示。与地表纹理的显示处理方式一致,以附加图层的形式显示计算结果,多个纹理图层融合后与三维地形贴合。为了突出计算结果,一般此图层位于最顶层。

5 对象模型文件

管理和显示三维对象模型是复合GIS系统不可或缺的功能,否则系统的三维可视化能力就显得很不实用。因为一个GIS系统除了要显示地图以外,还需要在地图平台上承载业务分析的操作和结果。在三维平台上这些操作和结果不仅要以点、线、面、图片形式展现,更需要以三维模型的形式还原其三维世界的面貌和本质。同时,系统还需要支持一些通用的标准模型文件格式,以便使用有效的开放资源以及实现资源共享等需要。下面列举几种常用的模型文件进行说明。

5.1 KML文件

KML的全称是Keyhole Markup Language,2008年被OGC(开放地理空间信息联盟)定为标准文件格式,用来描述和保存地标和信息(支持点、线、图像、多边形和模型等)。它基于XML脚本语法,便于编写、阅读、修改和共享。标准KML文件是地球坐标系统,每个顶点坐标是一个经度、纬度、海拔的三元组,当读取并显示KML模型时需要将地球坐标转换为系统内部世界坐标。KML的语法元素很简单,也只能通过对二维图形的Z向拉伸来描述简单的三维模型。例如,对一个画在地面上的圆做海拔方向拉伸,即形成了一个立在地面上的圆柱。拉伸标签以表示。

5.2 DirectX的.X文件

.X文件是DirectX的内部标准文件用于存储三维模型,通过DirectX的API接口可以对此类文件做读写操作。另外DirectX也提供了一些工具用来查看、转换、创建.X文件。它通过网格点阵描述三维模型,比描述性的脚本文件更加强大和通用,同时它不过于复杂,可以快速装入并显示,因为GIS系统一般不需要显示非常逼真复杂的模型,所以.X文件很适用,特别当使用DirectX三维引擎时。

5.3 MDL模型文件

MDL文件格式由美国康奈尔大学制定,最初被用于康奈尔大学和印第安纳大学的几个三维渲染项目。MDL文件用非常简单的嵌套的文本块定义三维模型,包括几个标准类型的数据块,如坐标位置、旋转转变、纹理文件等。康奈尔大学定义MDL文件格式的目标是简单、易读、易用和快速,他们的确做到了这一点。MDL文件是方便小巧的文本格式,对程序员是可读的。它主要应用于对存储模型的逼真渲染,包括复杂的材料和大型多边形网格。

6 相机控制和显示剪裁

图层系统的位置是相对于虚拟相机固定的,当相机或人眼在场景中移动时整个图层场景随之移动。二维层的缩放与3D基础层视图同步旋转。相机在地形中的平移运动可以用箭头键或鼠标控制,可以通过鹰眼图控制和导航。为保证相机不与地面相撞,相机的高度可以根据地面高度自动调整保持位于地面之上。但相机高度的调整应该是平滑的,避免过度颠簸。当旋转相机时,要保证用户当前所在的中心点是不变的,只是相机的方向在改变,与人在原地环视四周的场景变换要一致。

为了提高系统响应时间和运行效率,通过相机进行剪裁显示是非常必要的。在一个复杂的三维场景中,需要处理的渲染对象可能是非常庞大而复杂的,整个渲染任务会耗费大量的计算时间,但最后经过投影映射用户能够在屏幕上看到的信息是很有限的。三维引擎对显示的剪裁处理是在投影映射过程中进行的,在此之前是模型生成和绘制的过程。如果不做相机剪裁,就意味着我们花费了大量的机时去生成用户根本看不到的对象。看不到的原因是因为这些模型在相机的透视投影棱台之外或被其它对象完全遮挡。例如,若图中出现两排树,在判断它们处于视野之外后程序处理应该绕过对它们生成和绘制的代码。但对于处在视野之中而被其它物体遮挡的模型对象不是很容易判断,可以简化处理。若在视野中呈现了一座山,那么在山之后的对象是可以被轻松地判断并忽略的。

图1 复合GIS的呈现

7 结语

本文了实现二维和三维复合GIS系统的基本要点,包括地表纹理、二维GIS函数、三维模型、相机运行等。显示效率一直是三维渲染中最重要的问题,就此有针对性地介绍了优化技巧。通过本文以上所讨论的实现复合GIS的方法可以实现一个轻量化的、支持复杂地理环境和场景的、接口开放的复合GIS平台,为专业化的应用程序做支撑。如图1的复合GIS场景就是基于以上理论实现的。

二维GIS的三维可视化复合系统在不同的领域都有巨大的应用潜力,比如城市规划和场景设计。在这种系统中,不仅传统二维GIS功能被充分发挥,其视觉表现力也通过三维可视化大大加强。这样二维GIS的分析操作可以在三维场景中实现,同时分析结果也可以在三维场景中呈现,较之传统二维GIS方便了用户的目标场景的理解,也加强了人机之间的沟通。

[1]Appleton,K.Lovet.GIS-based visualization of development proposals:reactions from planning and related professionals[J].Computers,Environment and Urban Systems,2005,29(3):321-339.

[2]De la Losa,A.,B.Cervelle.3D Topological modeling and visualisation for 3D GIS[J].Computers & Graphics,1999, 23(4):469-478.

[3]Rhyne,TM.Going virtual with geographic information and scientific visualization[J].Computers & Geosciences,1997,23(4):489-491.

[4]刘光,唐大仕.WEB GIS 开发[M].北京:清华大学出版社,2009:145-151.

[5]孔云峰,林珲.GIS 分析设计项目管理[M].2版.北京:科学出版社,2008:122-130.

The Scheme of Visualizing 2D-GIS In 3D-Space

XIN Chang-an, BAI Bao-xing

(Computer Department, Changchun University of Science and Technology,Changchun Jilin 130022,China)

This paper discusses an efficient way to visualize 2D-GIS in 3D space, especially describing several key modules involved, including terrain, texture, 3D-model and camera motion. We mainly propose a light but available solution to realize 2D-GIS in a 3D environment with 3D-models.Additionally, the optimizing for rendering efficiency and the interface with standard model format are concerned as well. These techniques and methods have been proved to be workable and practicable.

Visualizing 2D-GIS; In 3D-Space of terrain; fitting; map texture; camera movement

2014-04-03

辛长安(1974- ),男,吉林辉南人,长春理工大学计算机学院硕士研究生,从事图像处理与模式识别研究。

P208

A

2095-7602(2014)04-0041-03

[联系作者] 白宝兴(1953- ),男,吉林怀德人,教授,博士生导师,从事图像处理与模式识别研究。

猜你喜欢
图层纹理可视化
基于CiteSpace的足三里穴研究可视化分析
思维可视化
基于CGAL和OpenGL的海底地形三维可视化
基于BM3D的复杂纹理区域图像去噪
“融评”:党媒评论的可视化创新
使用纹理叠加添加艺术画特效
解密照片合成利器图层混合模式
巧用混合图层 制作抽象动感森林
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!