北京三维可视化公司_三维GIS公司
发布日期:2021-09-04 浏览次数:641

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

基于三维GIS技术的动态LOD渲染方法的实验及验证
针对透视投影下现有矢量地图动态LOD渲染方法存在的不足,本文从渲染的客观需求出发使用梯形格网统一了简化与剖分的过程,并研究了透视投影下梯形格网的简化算法。之后,分析了地图简化的影响因素,最终,针对GPU的渲染流程提出了一种基于三维GIS梯形格网的矢量地图动态LOD渲染方法。在此基础上,设计可视化平台的渲染引擎以实现地图渲染,并设计典型的实验案例验证本文方法的可行性与适用性。
1. 可视化平台的框架结构
本文设计的可视化平台主要包括地图组织模块、地图操作模块和渲染执行模块三大子模块。以地理数据、符号库和样式数据确定地图渲染样式。地图数据以图层样式和地理数据进行组织,针对矢量地图的渲染需求设计地图渲染模块,同时添加地图操作模块用以支持用户操作。可视化平台的框架结构
(1)地图组织模块
地图组织模块用以对可视化平台进行全局组织,包含图层类、数据源类、渲染类和地图类。数据源类包含顶点几何数据和顶点索引数据,在数据源类进行构建梯形格网并添加空间索引,用户操作时,依据地图区域检索相应数据,交给渲染模块进行渲染。图层类包含图层ID、图层可见比例范围、图层颜色、图层透明度等相关属性,每一个图层类对应一个渲染模块中的图层渲染类,针对图层属性设置着色器程序完成对地图的渲染。
(2)地图操作模块
地图操作模块用以实现用户对地图的基本操作。地图操作模块提供了诸多接口包含获取地图数据,设置地图属性如:俯仰角度、旋转角度、地图级别、地图中心点等;通过地图操作模块用户可以进行诸如平移、旋转、缩放、俯仰等地图操作。
(3)渲染执行模块
渲染执行模块用以执行地图的渲染,在渲染执行模块完成顶点数据的组织与传输,显存中EBO数据的更新,地图符号化渲染等操作。渲染执行模块采用OpenGL 3.0接口,实现了对梯形格网线,面的纯色填充。首先,通过仿射矩阵实现了地理坐标到屏幕坐标的仿射变换,针对图层类设计相应图层渲染类,针对图层样式设计相应的着色器程序完成地图绘制。