论文部分内容阅读
在二三维GIS一体化的全新技术理念下,研究如何在同一平台下使用同一绘制引擎展示二维和三维地图具有非常的意义。本文利用VTK作为绘制引擎,开发了一套二三维GIs的核心组件,以同时支持二维栅格地图、二维矢量地图和三维地形图。文中对二三维地理数据的预处理、数据的组织和存储、内存管理、地理数据的选择和实时绘制这一整套流程都做了详细描述。本文的研究重点是对二维栅格地图和三维地形图的实时绘制技术。实现大规模二维栅格地图实时绘制的步骤可概括为:第一步,针对不同规模的单张影像输入和多张影像输入分别执行不同的金字塔切割算法;第二步,建立金字塔的四叉树索引,并将需要绘制的瓦片节点进行内存缓冲管理;第三步,查找符合给定地理范围的瓦片节点,并以纹理的方式用VTK进行绘制。三维地形图实时绘制技术的研究与实现是本文的难点,主要体现在三个阶段:数据预处理阶段,提出将高度图、法向量图和纹理图经分层分块后以二进制文件流的形式存储在Final文件中;地形节点选择阶段,提出了基于可视范围的空间地形节点的LOD选择算法,综合考虑了视点高度和地形节点的空间范围;渲染阶段,在每层的可视范围中划分出一段过渡区域,并把地形接缝的处理粒度从地形块缩小到顶点,设计出了适合GPU计算的顶点平滑过渡算法。最后,本文在Goophy8.1平台下开发出了基于VTK的二三维GIS所有的核心组件,该系列组件可以被跨语言、跨平台使用,并经实验证明,对大规模二维栅格地图和三维地形的实时绘制表现出良好的效果和性能。