贵阳gis软件平台_gis下载
发布日期:2020-09-11 浏览次数:716

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数据生成三维模型数据,将二三维联系在一起显示,更好地完成二三维数据在空间方面的衔接。二三维一体化符号化表达系统,使用二维矢量数据,包含物体在点图层以及线图层等方面数据内容。就实现思路而言,首先要解析二维矢量数据,获取其中属性值和相对应的几何字段;其次要结合不同要素绘制三维模型。在二三维一体化表达方面,包含有两种形式,分别是线状要素符号化以及面状要素符号化。选择二维矢量图层为基础表达面状地理要素二三维一体化,生成所需要的面状要素。
以道路为例,首先读取道路线图层每条路段记录,获取三维空间坐标以及起点终点ID等参数,存储至相应的列表中。其次,获取道路点图层顶点ID存储至相应的列表。再次,结合道路线图层ID号进行标记,得到链接ID号,根据其长度以及路宽打断三叉以上叉路口。最后,结合获取的路段列表进行道路的绘制以及纹理贴图。根据起始点终点ID列表参数获取道路交叉点顺序,确定交叉口的空间位置和形状,计算纹理坐标并贴图。
3场景操作和分析应用
3.1场景漫游
场景漫游模块中,漫游模式有用户自定义模式和经典模式两种。用户自定义模式有节点跟随模式以及设置路径模式等,主要是通过设置对话框参数进行自定义场景漫游;经典模式有飞行模式、驾驶模式、步行模式以及轨迹球模式等,通过封装以及继承OSG自带漫游器实现。其中飞行模式调用osg GA : FlightManipulator类实现,移动鼠标进行场景的移动和旋转;驾驶模式调用osg GA: Drive Manipulator类实现,移动鼠标实现漫游功能;步行模式调动osg GA:Camera Manipulator类实现,移动鼠标点击键盘进行场景漫游;轨迹球模式调用osg GA:TrackballManipulator类实现,移动鼠标完成场景漫游。
3.2场景编辑
在场景编辑方面,包含工具以及场景操作两个方面内容,其中工具主要是用来进行节点的选择以及漫游路径交互绘制,场景操作主要是进行场景缩放、窗口平移以及节点删除等方面操作。在具体操作过程中,平移操作需要借助视点上下和左右操作进行,放大与缩小操作需要拉近或者拉远视点来使窗口向前或者向后移动,删除操作需要在父节点中删除所选中的节点。
3.3空间分析
空间分析模块有多种不同组成结构,如缓冲区分析、属性查询、天际线分析、空间量算等。在实际应用中,也可以结合专题应用添加相对应的分析模块。空间分析模块是三维GIS符号化系统与三维地图之间最为明显的区别。空间分析可以通过符号化地理要素进行。在缓冲区分析方面,能够进行圆形缓冲区分析,鼠标左键在界面选择两个点,其中一个点作为圆心,另一个点与该点距离为半径,使用着色器将园内顶点颜色渲染;在天际线分析方面,主要用来分析当前角度和视点的可见区域,在屏幕上绘制场景要素边缘;在可视分析方面,有可视域分析以及通视性分析两方面内容,其中可视域分析将参数输入对话框,包含视角大小、位置、方向以及长度等,先将场景渲染至纹理,之后计算顶点深度,获取深度纹理涂对应值比较,顶点可见为绿色,顶点不可见为红色;通视性分析以鼠标确定视线起点和终点,交点通过碰撞检测获取,红色作为不可视部分,绿色作为可视部分。
4结语
三维GIS符号化表达系统以XTMap三维引擎为基础,具备有场景操作、空间分析、场景快速搭建以及二三维一体化等方面功能。选择C++作为系统开发语言,以COM组件完成编程,整个系统有着非常好的可扩展性,可以根据用户实际需求添加所需要的地学分析库。引擎控件能够二次开发,在单机以及网络中都有着非常好的应用效果,实现相应功能。另外,根据所需要的符号,灵活添加其他功能接口。本次研究还存在有一些不足,例如未能实现在网络环境下调用,在之后的研究中将逐渐优化和完善,希望能够在实际应用中更好的发挥出价值和作用。