(一)主要研究开发内容
空间数据的获取是 GIS 建设与运行的基础,数据源及数据获取方式的不同,会对数据模型的生成产生很大的影响,如何根据不同的需要,采取合适的方法来获取数据,以及如果保证数据的精确度,最终使可视化程度更接近现实,提高系统的空间查询分析能力。
由于客观世界的多样性和复杂性,可视化要涉及多方面的数据集成,要采用较复杂的数据模型。为了有效地管理和分析三维 GIS 中的各种数据,要求三维 GIS 的数据模型有着很强的数据表达能力。三维 GIS 数据模型不但要满足三维空间分析的需要,也要满足三维图形空间生成和管理的需要。如何选择一种快速而且有效的建模方法来满足不同应用的需求。
如何使人们能够在一个虚拟的三维环境中,用动态交互的方式对场景进行全方位的审视,比如可以从任意角度、距离和精细程度观察场景,可以选择并切换多种运动模式,如行走、驾驶、飞翔等,还可以自己控制浏览的路线等等。
(二)技术关键
2.1GIS 空间数据结构
2.1.1 空间数据结构的分类
(1)栅格数据结构
栅格结构是最简单最直观的空间数据结构,又称为网格结构或像元结构,是指将地球表面划分为大小均匀紧密相邻的网格阵列,每个网格作为一个像元或像素,由行、列号定义,并包含一个代码,表示该像素的属性类型或量值,或仅仅包含指向其属性记录的指针。
因此栅格结构是以规则的阵列来表示地物或现象分布的数据组织,组织中的每个数据表示地物或现象的非几何属性特征。栅格数据格网主要有三角形格网和正方形格网,一个正方形栅格格网和一个三角形栅格格网。栅格数据结构的缺点在于一个栅格只能赋予一个特定的值,因而难以表示不同要素占据不同位置的情况。
(2)矢量数据结构
矢量结构是通过记录坐标的方式尽可能精确地表示点、线、多边形等地理实体。矢量结构的特点是:定位明显,属性隐含。许多数据如行政边界、交通干线、土地利用类型、土壤类型等都是用矢量数字化的方法输入计算机或以矢量的方式存在计算机中,表现为点、线、多边形数据。
其中点用一空间坐标对表示,线由一串坐标对组成,面是由线形成的闭合多边形。矢量数据结构是面向实体的表示方法,形式直观,分析方便,信息冗余量小,但是结构较为复杂。
(3)栅格矢量一体化数据模型
栅格矢量一体化数据模型是结合栅格和矢量数据模型的优点提出的一种数据模型。在栅格矢量一体化模型中,面状数据用矢量边界表示,也可以用栅格方式表示。线状数据一般用矢量方式表示,如果将矢量方式表示的线状对象也用像元空间填充表达,则能够将矢量与栅格的概念统一起来,形成栅格矢量一体化的数据模型,其从本质上是以栅格为基础的数据模型。
2.1.2 空间数据结构的比较
为了将栅格数据分析得结果,通过矢量绘图装置输出,或者为了数据压缩的需要,将大量的面状栅格数据转换为少量数据表示的多边形边界,通常将栅格转化为矢量数据。由于矢量数据直接用于多种数据的复合分析等处理比较复杂,特别是不同数据要在位置上一一配准,寻找交点并进行分析,而栅格数据模式进行处理则容易的多,此时我们通常将栅格转化为矢量数据。
臻图信息--地理信息
2.2GIS 三维空间数据模型
2.2.1 空间数据模型分类
三维数据结构同二维一样也存在栅格和矢量两种形式。栅格结构使用空间索引系统,将地理实体的三维空间分成细小单元(体元)。三维矢量数据结构表示方法有很多,将实体抽象为点、线、面、体,由面构成体。其中运用最为普遍的是具有拓扑关系的三维边界表示法和八叉树表示法。根据三维空间模型对地学空间目标的集合特性的描述是以表面描述方式还是以空间剖分方式,可以分为体元模型和面元模型。
(1)体元模型
常用的模型是将三维空间对象视为体单元的集合。体单元是简单的三维基本单元,如立方体、球、圆柱体等。将三维空间对象视为这些基本对象经过一些基本操作 (如交、并、差等) 后的组合体。体模型数据结构包括三维栅格结构、八叉树结构、结构实体几何模型和四面体格网模型 [23]。
对于建筑物,本文不关注其中的拓扑结构,仅对其整体和外部形状感兴趣,综合考虑到建筑物的形状特点、3D 建模的精度要求,如果用 Octree 建模则难以保证精度,用 TEN 建模则会增加许多有意义的数据,因此 CSG 是进行建筑物建模的一个较好选择,本文重点讲述结构实体几何模型(CSG)。结构实体几何模型(CSG)类似于机械制造方法,最早由 Voelcker 和 Requicha 提出,是将简单的几何形体(如球、圆柱、圆锥等体素)通过正则运算(交、并、差)来构造复杂的 3D 目标。一个复杂目标可以描述为一棵 CSG 树,这棵树的终端结点为基本体素(如立方体、圆柱、圆锥),而中间结点 (枝节点) 为正则集合运算的结点。
CSG 树以根节点作为查询和操作的基本单元,它对应一个三维空间目标。一个复杂的空间形体,可以由一些比较简单,规则的空间形体经过布尔运算而得到。
CSG 模型的优点是:方法简单,适合对复杂目标采用分治算法;具有唯一性和明确性;没有冗余信息,必要时可以在目标和体素上附加有关属性。其缺点是:一个 3D 空间目标的 CSG 是不唯一的,且不描述点、边、环、面的拓扑关系。
(2)面元模型
模型数据结构主要包括规则和网模型 Grid、不规则三角网 TIN 和边界表示模型 B-Rep。
规则格网模型 Grid 用一组大小相同的网格描述地形表面。它能充分表现高程的细节变化,拓扑关系简单,算法容易实现,空间操作及存储方便。但占用的存储空间较大,不规则的地面特征与规则的数据表示之间可能不协调,在地形平坦的地方存在大量的数据冗余。
不规则三角网(TIN)是由分散的地形点按照一定的规则构成的一系列不相交的三角形,三角面的形状和大小取决于不规则分布的观测点的密度和位置。TIN 实现三维地形的显示过程就是确定哪三个点构成一个最佳三角形,并使每个离散点都成为三角形的顶点。TIN 的优点是存储效率高,数据结构简单,与不规则的地面特征和谐一致,可以表示细微特征或叠加任意形状的区域边界。当表面粗糙或变化剧烈时,TIN 能包含大量的数据点,而当表面相对单一时,在同样大小的区域,TIN 只需要少量的数据点。TIN 比 Grid 复杂,它不仅要存储每个点的属性数据,还要存储其平面坐标、节点连接的拓扑关系,难以与矢量和栅格数据结构进行联合分析。
边界表示模型(B-Rep)是以物体边界为基础来描述几何形状,一般采用矢量法表达三维目标,与二维 GIS 所采用的矢量结构在原理上一致。每个物体均由有限个面构成,每个面由有限条边围成,而每条边由构成边的顶点表示。在边界表示法中,空间实体的几何信息和拓扑信息是分开存储的,其数据结构可以用体表、面表、弧表、边表、顶点表等五个层次来描述,因此在进行坐标变换时,仅需改变空间点的坐标,空间实体间的拓扑关系可以保持不变。
B-Rep 模型强调 3D 空间目标的外部细节,通过 3D 目标属性表、面 - 体关系表、边 - 点 - 面关系表和点坐标表来详细记录构成 3D 空间目标的所有几何信息和拓扑信息。其优点为:几何信息与拓扑信息分开存储,完整清晰;便于基于面、边的空间查询与计算;易于与 2D 图形、3D 线框模型、有限元网格部分及 3D 曲面造型接口。其缺点是:数据量大,数据关系复杂;对 3D 空间目标的整体描述能力差,不能反映目标的构造过程;不能记录目标组成元素的原始特征。