2.5D地图开发_三维GIS技术
发布日期:2021-06-08 浏览次数:780

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空间目标的整体描述能力差,不能反映目标的构造过程;不能记录目标组成元素的原始特征。

三维GIS符号化表达系统总体设计
2.1系统框架
选择单机系统进行系统总体设计,开发语言选择C++,结合组件式GIS思想,在一个控件集合所有三维符号功能模块,提高整个GIS系统设计有效性。系统总体架构包含有4个层面:第一层,三维GIS符号化表达系统以符号化引擎为基础进行二次开发,建立用来展开符号化表达系统,使用C++进行功能接口的调用以及系统界面的编写;第二层,三维GIS符号化引擎主要用来进行三维符号化表达,能够生成三维符号,将二维符号转化为三维符号,分析三维空间等;第三层,依赖库。依赖库主要是用来进行栅格数据处理、解析矢量数据等操作,作为三维GIS符号化引擎基础,实现各类常用空间分析功能;第四层,多源数据层。多源数据层存在有纹理数据以及二维矢量数据,借助GDAL能够解析二维矢量数据,自动生成道路等数据以及属性信息,纹理数据主要是用来生成纹理贴图。
2.2三维符号化表达设计
在展开三维符号化表达设计时,需要与空间分布特征以及地理要素形态特征结合在一起,借助放样技术以及参数化技术,场景通过三维符号表达,完成三维符号库的建立,对符号化有效性以及通用性展开分析判断。三维符号化表达不仅能够用来规划场景,同时还能用来表达二三维一体化,满足相关数据自动生成以及各类空间要素符号表达需要。
2.2.1场景规划
在场景规划方面,三维场景自定义规划,在制定位置,使用相应符号进行三维符号的绘制,变化每一个符号矩阵,进行一系列选择、缩放以及平移。在点符号模块方面,以点状地理要素三维符号为主,根据设计需要选择相应位置完成三维符号的添加;线符号模块以线状地理要素为主,用鼠标绘制三维线状地理要素;在面符号模块方面,包含三维面状地理要素符号,通过鼠标绘制面状符号,填充纹理和要素。通过三维符号搭建的场景渲染速度快,有着非常好的应用效果,通过矩阵变化以及参数设置,设置相对应的三维点状线状符号,这种设计方式比较灵活;另外,还需要根据面状符号要素和纹理进行填充,包含三维符号化表达符号姿态等方面内容。