1.4 三维空间数据模型研究现状分析
三维空间数据模型研究是三维地理信息系统领域内的研究热点和难点,也是空间信息计算与可视化的基础。国内外许多专家学者在此领域做了有益的探索,在过去的十几年中,相继提出了20余种空间数据模型。本章采用吴立新等人提出的方案,将空间数据模型归纳为基于面的模型(Facial Model)、基于体的模型(Volumetric Model)和基于混合构模的数据模型(Mixed Model),如表1-1所示。
表1-1 三维空间数据模型分类体系
1.4.1 基于面模型的构模
基于面模型的构模方法侧重于三维空间实体的表面表示,如地形表面、地质层面、构筑物(建筑物)及地下工程的轮廓与空间框架。所模拟的表面可能是封闭的,也可能是非封闭的。基于采样点的TIN模型和基于数据内插的Grid模型,通常用于非封闭表面模拟;而B-Rep模型和Wire Frame模型通常用于封闭表面或外部轮廓模拟。Section模型、Section-TIN混合模型及多层DEMs模型通常用于地质构模。通过表面表示形成三维空间目标轮廓,其优点是便于显示和数据更新,不足之处是由于缺少三维几何描述和内部属性记录而难以进行三维空间查询与分析。
(1)TIN与Grid模型。有很多方法可以用来表示物体表面,如等高线模型、Grid模型、TIN模型等。最常用的表面构模技术是基于实际采样点构造TIN。TIN方法将无重复点的散乱数据点集按某种规则(如Delaunay规则)进行三角剖分,形成连续但不重叠的不规则三角网,并以此来描述三维物体的表面,如图1-1所示。
图1-1 不规则三角网TIN
而Grid模型则是考虑到采样密度和分布的非均匀性,经内插处理后形成规则的平面分割网格。这两种表面模型一般用于地形表面构模,也可用于层状矿床构模,如图1-2所示。
图1-2 规则网格
(2)边界表示(B-Rep)模型。通过面、环、边、点来定义形体的位置和形状。例如,一个长方体由6个面围成,对应有6个环,每个环由4条边界定,每条边又由两个端点定义。其特点是详细记录了构成形体的所有几何元素的几何信息及其相互连接关系,有利于以面、边、点为基础的各种几何运算和操作。边界表示构模在描述结构简单的二维物体时十分有效,但对于不规则三维对象则很不方便,且效率低下。边界线可以是平面曲线,也可以是空间曲线。
(3)线框(Wire Frame)模型。线框构模技术实质是把目标空间轮廓上两两相邻的采样点或特征点用直线连接起来,形成一系列多边形,然后把这些多边形面拼接起来形成一个多边形网格来模拟三维物体的表面。某些系统则以TIN来填充线框表面,如DataMine。当采样点或特征点呈沿环线分布时,所连成的线框模型也称为相连切片(Linked Slices)模型或连续切片模型。
(4)断面(Section)模型。断面构模技术实质上是传统地质制图方法的计算机实现,即通过平面图或剖面图来描述矿床,记录地质信息。其特点是将三维问题二维化,简化了程序设计。但是断面模型对所描述对象的表达是不完整的,往往需要通过与其他构模配合使用,同时由于采用的是非原始数据而存在误差,其构模精度一般难以满足工程要求。
(5)断面-三角网混合模型。在二维地质剖面上,主要信息是一系列表示不同地层界线的或有特殊意义的地质界线(如断层、矿体或侵入体的边界),每条界线赋予属性值,然后将相邻剖面上属性相同的界线用三角面片连接,形成具有特定属性含义的三维曲面。其构模步骤如下:
①剖面界线赋值;
②二维剖面编辑;
③相邻剖面连接;
④三维场景重建。
⑤多层DEMs构模。首先基于各地层的界面点按DEM的方法对各个地层进行插值或拟合,然后根据各地层的属性对多层DEM进行交叉划分处理,形成空间中严格按照岩性为要素进行划分的三维地层模型的骨架结构。在此基础上,引入地下空间中的特殊地质现象、人工构筑物等点、线、面、体对象,完成对三维地下空间的完整剖分。
1.4.2 基于体模型的构模
体模型是基于三维空间的体元分割和真三维实体表达,体元的属性可以独立描述和存储,因而可以进行三维空间操作和分析。体元模型可以按体元的面数分为四面体(Tetrahedral)、六面体(Hexahedral)、棱柱体(Prismatic)和多面体(Polyhedral)共4种类型,也可以根据体元的规整性分为规则体元和非规则体元两个大类。规则体元包括构造实体几何(CSG)、3D体元(Voxel)、八叉树(Octree)、针体(Needle)和规则块体(Regular Block)共5种模型,如图1-3所示。规则体元通常用于水体、污染和环境问题构模,其中Voxel和Octree模型是一种无采样约束的连续空间的标准分割方法,Needle和Regular Block可用于简单地质构模。
图1-3 规则体元模型
(1)构造实体几何(CSG)构模。首先预定义一些形状规则的基本体元,如立方体、圆柱体、球体、圆锥及封闭样条曲面等,这些体元之间可以进行几何变换和正则布尔操作(并、交、差),由这些规则的基本体元通过正则操作组合成复杂形体。CSG构模在描述结构简单的三维物体时十分有效,但对于复杂不规则的三维物体,尤其是地质体则很不方便,且效率低下。
(2)3D体元(Voxel)构模。该模型实质是2D Grid模型的3D扩展,即以一组规则尺寸的3D体素来剖分所要模拟的空间。基于Voxel的构模法有一个显著优点,就是在编制程序时可以采用隐含的定位技术,以节省存储空间和运算时间。该模型虽然结构简单、操作方便,但表达空间位置的几何精度低,且不适合于表达和分析实体之间的空间关系。当然,通过缩小Voxel的尺寸,可以提高构模精度,但空间单元数目及储量将成三次方增长。
(3)八叉树(Octree)构模。它将数据场空间进行上下、左右、前后的均匀剖分,形成8个子数据场空间,建立8个树结点;然后对各个子空间进行类似的剖分,并建立下一层次的树结点;如此迭代进行,直至子空间的大小是一个数据样点的尺寸。Octree模型在医学、生物学、机械学等领域已得到成功应用,但在矿床地质构模中仍有较大的局限性。
(4)针体(Needle)构模。Needle模型的原理类似于结晶生长过程,用一组具有相同截面尺寸的不同长度或高度的针状柱体对某一非规则三维空间、三维地物或地质体进行空间分割,用其集合来表达该目标空间、三维地物或地质体。
(5)规则块体(Regular Block)构模。规则块体构模技术是把要建模的空间分割成规则的三维立方网格,称为Block。每个块体在计算机中的存储地址与其在自然矿床中的位置相对应,每个块体被视为均质同性体,由克立格法、距离加权平均法或其他方法确定其品位或岩性参数。该模型用于属性渐变的三维空间构模较为有效,但随着块尺寸的减小,数据量急剧膨胀。
非规则体元包括四面体格网(TEN)、金字塔(Pyramid)、三棱柱(TP)、地质细胞(Geocellular)、非规则块体(Irregular Block)、实体(Solid)、3D-Voronoi和广义三棱柱(GTP)共8种模型,如图1-4所示。非规则体元均是有采样约束的、基于地质地层界面和地质构造的面向实体的三维模型。
图1-4 不规则体元模型
(1)四面体格网(TEN)构模。TEN模型是在3D Delaunay三角化研究的基础上提出的。其基本思路是对三维空间中无重复的散乱点集用互不相交的直线将空间散乱点两两连接形成三角面片,再由互不穿越的三角面片构成四面体格网。其中四面体都是以空间散乱点为其顶点,且每个四面体内不含有点集中的任一点。TEN构模时,四面体内点的属性可由插值函数得到,其中插值函数的参数由四个顶点的属性决定。TEN虽然可以描述实体内部,但不能精确表示三维连续曲面,而且用TEN模拟三维空间曲面也较为困难,算法设计较复杂。
(2)金字塔(Pyramid)模型。类似于TEN模型,不同之处是用4个三角面片和1个四边形封闭形成的金字塔状模型来实现对空间数据场的剖分。由于其数据维护和模型更新困难,一般较少采用。
(3)三棱柱(Tri-Prism ,TP)构模。TP模型是一种较常采用的简单的三维地学空间构模技术。由于TP模型的前提是三条棱边相互平行,因而不能基于实际的偏斜钻孔来构建真三维地质对象,也难以处理复杂地质构造。
(4)地质细胞(Geocellular)模型。其实质是Voxel模型的变种,即在XY平面上仍然是标准的Grid剖分,而在Z方向则依据数据场类型或地层界面变化进行实际划分,从而形成逼近实际界面的三维体元空间剖分。
(5)非规则块体(Irregular Block)构模。非规则块体与规则块体的区别在于:规则块体3个方向上的尺度(a,b,c)互不相等,但保持常数;而非规则块体3个方向上的尺度(a,b,c)不仅互不相等,且不为常数。非规则块体构模法的优势是可以根据地层空间界面的实际变化进行模拟,因而可以提高空间构模的精度。
(6)实体(Solid)构模。该方法采用多边形网格来精确描述地质体边界,同时采用传统的块体模型来独立地描述形体内部的属性分布,从而既可以保证边界构模的精度,又可以简化体内属性表达和体积计算。实体构模适合于具有复杂内部结构的地质对象,缺点是人工交互工作量巨大,需要工作耐心。
(7)3D Voronoi图模型。3D Voronoi图是2D Voronoi图的扩展。其实质是基于一组离散采样点,在约束空间内形成一组面-面相邻而互不交叉(重叠)的多面体,用该组多面体完成对目标空间的无缝分割。
(8)广义三棱柱(GIP)构模。齐安文等人针对地质钻孔(尤其是深钻偏斜)的特点,提出了一种可以不受三棱柱棱边平行(钻孔垂直)限制的ATP (Analogical Tri-Prism)构模方法,后发展为广义三棱柱构模(Generalized Tri-Prism,GTP),并将TP构模称为其特例。而且,基于TIN边退化和TIN面退化,可以由GTP导出Pyramid模型和TEN模型。GTP构模原理是:用GTP的上下底面的三角形集合所组成的TIN面来表达不同的地层面,然后利用GTP侧面的空间四边形面来描述层面间的空间关系,用GTP柱体来表达层与层之间内部实体。其特点是充分结合钻孔数据,利用钻孔数据的不同分层来模拟地层的分层实体,并表达地层面的形态。
1.4.3 混合构模
基于面模型的构模方法侧重于三维空间实体的表面表示,如地形表面、地质层面等,通过表面表示形成三维目标的空间轮廓,其优点是便于显示和数据更新,不足之处是难以进行空间分析。基于体模型的构模方法侧重于三维空间实体的边界与内部的整体表示,如地层、矿体、建筑物等,通过对体的描述实现三维目标的空间表示,优点是易于进行空间操作和分析,但存储空间大,模型数据结构复杂,计算速度慢。混合模型的目的则是综合面模型和体模型的优点,以及综合规则体元与非规则体元的优点,取长补短。目前对混合模型的研究尚局限于理论和概念的探讨,还没有成熟的模型算法出现。概念上,混合模型主要有以下几种。
(1)TIN-CSG混合构模。这是当前城市三维构模的主要方式,即以TIN模型表示地形表面,以CSG模型表示城市建筑物,两种模型的数据分开存储。这种集成只是一种表面上的集成方式,一个目标只由一种模型来表示,然后通过公共边界来连接,因此其操作与显示都是分开进行,效率较低。本书在此基础上提出了一体化的集成方式,实现了两类模型可视化渲染操作的同步进行。
(2)TIN-Octree混合构模。即以TIN表达三维空间物体的表面,以Octree表达内部结构。用指针建立TIN和Octree之间的联系。其中TIN主要用于可视化与拓扑关系表达。这种模型集中了TIN和Octree的优点,对拓扑关系搜索较为有效,并可以充分利用映射和光线跟踪等可视化技术。缺点是Octree模型数据必须随TIN数据的改变而改变,导致数据维护困难。
(3)Wire Frame-Block混合构模。即以Wire Frame模型来表达目标轮廓,以Block模型来填充其内部。为提高边界区域的模拟精度,可按某种规则来对Block进行细分,如以Wire Frame的三角面与Block体的截割角度为准则来确定Block的细分次数。该模型效率较低,模型数据更新困难。
(4)Octree-TEN混合构模。随着空间分辨率的提高,Octree模型的数据量将呈几何级数增加,且八叉树模型始终只是一个近似表示,原始采样数据一般也不保留。而TEN模型则可以保存原始观测数据,具有精确表示目标和表示较为复杂的空间拓扑关系的能力。因此,可以将两者结合起来,建立综合两者优点的Octree-TEN混合模型。在本书研究中,结合块段模型,提出了一种新的模型集成方式——BOT(Block Octree Tetrahedron Model)模型,并给出了详细的实现步骤。
总的来说,目前基于面或基于体的单个模型发展较为成熟,得到了较为成功的应用,但是对于复杂的三维空间对象,单个模型很难有效地组织和管理三维空间数据,实现对三维空间实体高效、完整的表达。因此,集成模型的构造与实现近年来逐渐成为三维GIS研究的热点。