|
|
|
|

三维GIS数据模型之初步探讨

    三维GIS数据模型之初步探讨   张占阳   (长安大学地测学院地理信息系统,陕西西安 710054)   摘 要:随着科学技术的迅猛发展,GIS技术在各行各业中的应用也越来越广泛,而三维GIS数据技术的出现又加速了GIS的社会化、大众化和企业化,...

作者:张占阳来源:本站原创|2010年03月31日

   

三维GIS数据模型之初步探讨  

张占阳  

(长安大学地测学院地理信息系统,陕西西安  710054  

  要:随着科学技术的迅猛发展,GIS技术在各行各业中的应用也越来越广泛,而三维GIS数据技术的出现又加速了GIS的社会化、大众化和企业化,使得GIS正以稳定、矫健的步伐走向成熟阶段。本文主要从以下几个方面介绍了有关三维GIS数据模型的基本概念,研究现状及其数据结构,三维空间数据库的功能概述等相关内容。  

关键字:三维GIS   三维数据结构  八叉树   三维空间数据库  

Abstract:With the rapid development of science and technology, the application of GIS technology are increasingly being used in all walks of life, while the three-dimensional GIS data technology has accelerated the emergence of GIS-socialization, mass and the enterprise, enabling GIS is now making a stable, strong and vigorous steps towards maturity. This paper describes the basic concepts, the latest research and data structure of the three-dimensional GIS data model, and three-dimensional spatial databases and other related functions of an overview of the content.  

Keywords: Three-dimensional GIS  Three-dimensional data structure Octree Three-dimensional spatial database  

【中图分类号】P208 【文献标志码】A  

  文:  

一个完整的GIS系统设计包括系统定义,系统总体设计,系统详细设计,数据库设计,系统编码实现和系统试运行以及调试安装等几方面的内容,而其中最重要的、也是必不可少的环节是数据库设计。因为数据库设计的成败直接关系到整个系统的成功与否,而且直接影响后面环节的设计状况。如果数据库设计不当,系统编码实现过程中的对象调用、数据存储以及系统试运行中的空间分析等就会出现数据调用错误和结果分析不正确等情况,在某种程度上也就失去了系统的设计意义。随着近年来三维数据技术的不断发展,又使得三维GIS数据结构设计成为数据库设计中最重要的环节。本文将从以下几个方面对三维GIS数据模型进行阐述。  

(一)三维GIS数据模型基本概念  

由于二维GIS数据模型与数据结构理论和技术的成熟,图形学理论、数据库理论技术及其它相关计算机技术的进一步发展,加上应用需求的强烈推动,三维GIS的大力研究和加速发展现已成为可能。因为地理空间在本质上就是三维的,在过去的几十年里,二维制图和GIS的迅速发展和广泛应用,使得不同领域的人们大都接受了将三维世界中的空间实体转化为二维投影的概念数据模型。但随着应用的深入和实践的需要又渐渐暴露出二维GIS简化世界和空间的缺陷,所以有关人员又不得不重新思考地理空间的三维本质特征和在三维空间概念下的一系列地理处理方法。从三维GIS的角度出发考虑,三维地理空间应有如下不同于二维空间的基本特征:  

(1)      几何坐标增加了第三维信息(Z坐标信息或H坐标信息),即垂向坐标信息。  

(2)      垂向坐标的增加导致了复杂的空间拓扑关系。其中突出的一点是无论是零维、一维、二维还是三维,在垂向上都具有复杂的拓扑关系;若果说二维拓扑关系在平面上是呈圆状发散伸展的话,那么三维拓扑关系就是在三维空间中的无穷延伸。  

(3)      三维地理空间中的地理对象具有丰富的内部信息(如属性分布,结构形式、关联特征等)。  

(二)三维GIS研究现状  

作为一门新兴的边缘学科,随着空间数据库的日趋成熟,许多商品化GIS软件的空间数据库功能也日趋完善。但绝大多数的商品化GIS软件也只能是在二维平面上模拟并处理现实世界上所遇到的现象和问题,一旦涉及到三维问题,往往感到力不从心。而GIS处理的空间数据从本质上来说是呈三维连续分布的,有关地质、气象、水文、采矿、地下水、灾害、污染等方面的自然现象是三维的,当这些领域的科学家试图以二维系统来描述它们时,就不能够将其精确反映、分析或显示。三维GIS的技术与二维GIS相似,但在数据采集、系统维护和界面设计等方面要复杂得多。目前研究和开发三维GIS的思路主要有两种:  

1)由于三维GIS首先要将地理数据变为可见的地理信息,因此人们一方面从三维可视化领域向三维GIS系统扩展,这一点同早期的二维GIS来源于计算机制图管理一样,是从可视化角度出发的。  

2)另一方面,GIS需要存储和管理大量的空间信息和属性信息,因此另一部分人从数据库的角度出发向三维GIS发展,从商用数据库向非标准应用领域扩展,将三维空间信息的管理融入RDBMS中,或是从底层开发全新的面向空间的OODBMS,如GODOGeoO2GEO++SmallWorld GIS等。一个新的发展方向是将三维可视化与三维空间对象管理结合起来,形成集成系统。  

(三)三维GIS数据结构  

三维数据结构同二维一样,也存在栅格和矢量两种形式。栅格结构使用空间索引系统,它包括将地理实体的三维空间分成细小的单元,称之为体元或体元素(二维栅格数据结构称之为象元或像素)。存储这种数据的最简单形式是采用三维行程编码,它是二维行程编码在三维下的扩充,这种编码方法可能需要大量的存储空间,而且存在压缩效率较低、信息缺损的情况。更为复杂的技术是八叉树,它是二维数据四叉树的延伸。三维矢量数据结构的表示方法有多种,其中运用最普遍的是具有拓扑关系的三维边界表示法和八叉树表示法。  

1.  八叉树三维数据结构  

用八叉树来表示三维形体,既可以看成是四叉树方法在三维空间中的扩展,也可说成是用三维体素阵列表示形体方法的一种改进。八叉树的逻辑结构如下:假设要表示的形体V可以放在一个充分大的立方体C内,C的边长为2n。那么对于形体VC,它的八叉树可以用以下的递归方法来定义:八叉树的每个节点与C的一个子立方体对应,树根与C本身相对应,如果V=C,那么V的八叉树仅有树根;若果V不等于C,则C等分为八个子立方体,每个子立方体与树根的一个子节点相对应。只要某个子立方体不是完全空白或完全为V所占有,就要被八等分,从而对应的节点就有了八个子节点。这样的递归判断、分割一直要进行到节点所对应的立方体或是完全空白,或是完全被V占据,或是其大小已是预先定义的体素大小,并且对它与V之交作一定的“舍入”,使体素或认为是空白的,或认为是V所占有的。  

如此生成的八叉树上的节点可分为三类:(1)灰节点,对应的立方体部分的为V所占有。(2)白节点,对应的立方体中五V的内容。(3)黑节点,对应的立方体完全被V所占据。  

后两类又称为叶结点。由于八叉树的结构与四叉树是非常相似的,所以八叉树的存储结构方式可以完全沿用四叉树的有关方法。根据不同的存储方式,八叉树也可以分别称为常规的、线形的、一对八的八叉树等。  

1)常规的八叉树:八叉树的存储结构是用一个有九个字段的记录来表示其中树中的每个结点,其中一个字段用来描述该结点的特性,其余的八个字段存放指向其八个子结点的指针。这也是最普通的表示树形数据的存储结构的方式。常规八叉树缺陷较多,最大的问题是指针占用了大量的存储空间。因此,这种方式虽然十分自然,容易掌握,但在存储空间的使用率方面不很理想。  

2)线形八叉树:线形八叉树注重考虑如何提高空间利用率,用某一预先确定的次序遍历八叉树,将八叉树转换成一贯线形表,表的每个元素与一个结点相对应。线形八叉树不仅节省存储空间,对某些运算也比较方便,但是为此付出的代价是丧失了一定的灵活性。  

3)一对八式的八叉树:一个非叶结点有八个子结点,为了确定起见,将它们分别标记为01234567。从上面的介绍可以看到,如果一个记录与一个结点相对应,那么在这个记录中描述的是这个结点的8个子结点的特征值。而指针给出的则是该8个子结点所对应记录的存放处,而且还隐含的假设了这些子结点记录存放的次序。也就是说,即使某个记录是不必要的,那么相应的存储位置也必须空闲在那里,以保证不会错误地存取到其它同辈结点的记录中。这样当然会有一定的浪费,除非它是完全的八叉树,即所有的叶结点均在同一层次出现,而在该层次之上的所有层中的结点均为非结点。为了克服这种缺陷,一是增加计算量,即在存取相应结点之前,首先检查它的父结点记录,看一下之前有几个叶结点,从而可以知道应该如何存取所需结点记录,这种方法的存储需求无疑是最小的,但要增加计算量;另一个是在记录中增加一定的信息,使计算工作适当减少或者更加方便。例如,在原记录中增加三个字节,一分为八,每个子结点对应三位,代表它的子结点在指针指向区域中的偏移。因此,要找到它的子结点的记录位置,只要固定的把指针指向的位置加上偏移量(0-7)乘上记录所占的字节数,就是所要的记录位置,因而一个结点的描述记录为:  

偏移  

指针   

SWB  

SWT  

NWB  

NWB  

SEB  

SET  

NEB  

NET  

2.  三维数据的显示  

三维显示通常采用截面图、等距平面、多层平面和立体块状图等多种表现形式,大多数三维显示技术局限于CRT屏幕和绘图纸的二维表现形式,人们可以观察到地理现象的三维形状,但不能将它们作为离散的实体进行分析,如立体不能被测量、拉伸、改变形状或组合。借助三维显示技术,通过离散的高程点形成等高线图、截面图、多层平面和透视图,可以把这些最初都是人工完成的工作,用各种计算机程序迅速高效地完成。  

(四)三维GIS空间数据库功能  

目前,三维空间数据库所研究的内容以及实现的功能主要包括:  

1)数据编码。指采集三维数据和对其进行有效性检查的工具,有效性检查将随着数据的自然属性,表示方法和精度水平的不同而不同。  

2)数据的组织和重构。包括对三维数据的拓扑描述和以及从一种表示法到另一种表示法的转换(如从矢量的边界表示转换为栅格的八叉树表示)。  

3)变换。即能对所有物体或某一类物体,又能对某个物体进行平移、旋转、剪裁、比例缩放等变换。另外还可以将一个物体分解成几个以及将几个物体组合成一个。  

4)查询。此功能依赖于单个物体的内在性质(如位置、形状、组成)和不同物体间的关系(如连接、相交、形状相似或构成相似)。  

5)逻辑运算。通过与、或、非以及异或运算符对物体进行组合运算。  

6)计算。计算物体的体积、表面积、中心、物体之间的距离及交角等。  

7)分析。如计算某一类地物的分布趋势或其它指标以及进行模型的比较。  

8)建立模型。对于给定的类型数据按照一定的建模方法对数据进行建模。  

9)视觉变换。在用户选择的任何视点,以用户确定的视角、比例因子、符号来表示所有的地物或某些指定的物体。  

10)系统维护。包括数据的自动备份,安全性措施以及网络工作管理。  

可见,三维GIS的数据结构及其数据库原理技术都较为完善,研究方向也较为明确。但是迄今为止,目前国际国内还没有一个成熟完整的三维GIS系统,与三维GIS相关的系统大多集中在三维可视化方面,如EVSVis5DVoxel,医学可视化及各种CAD软件等,也有一些三维系统部分实现三维GIS的功能,比较有名的软件有:LYNX IVMInteractive Volume Modeling), GOCADI/EMSSGM等。  

  论:  

三维GIS数据模型的研究是GIS技术迅猛发展、广泛应用并走向成熟的一个重要环节,也是GIS技术走向未来全方位服务阶段的关键性台阶。而三维数据结构研究和三维GIS空间数据库的功能研究又是其中的重中之重,决不能掉以轻心!  

参考文献:  

[1] 李德仁,龚建雅.地理信息系统导论.北京:测绘出版社,1993.  

[2] 王青山.地理数据模型分析与展望.北京:星球地图出版社,2001.  

[3] 崔铁军编著.地理空间数据库原理.北京:科学出版社,2007(地理信息系统理论与应用丛书).  

[4] 刘敬敏.《基于TGIS的时空数据模型研究及应用》.大连:大连理工大学出版社,2008.  

[5] 张占阳.《“全能型”GIS.中国GIS资讯网,2008.  

[6] 刘庆元,韦建超,戴水财.基于GIS的边坡三维有限元分析前处理.矿山测量,2007(01).

上一篇:利用Google Earth API自动化谷歌地球

下一篇:地形三维可视化基本研究