三维可视化技术是现在新兴的一种技术,在很多工作中都会用到这项技术。本文主要对基于LOD与GPU的海量空间数据三维可视化关键技术进行了一些研究,文章是一篇哈尔滨工业大学学报投稿的论文范文,有需要发表文章的作者可以联系本站在线编辑快速投稿。
【摘 要】大数据量场景的显示效率一直是三维GIS领域的热点研究问题,三维中涉及到的地形、影像、纹理等数据,其数据量都是十分庞大的。在目前的软硬件环境下,实现大数据量的实时可视化是十分困难的。本文设计实现了一个3DGIS平台,研究了LOD金字塔模型与GPU并行计算等问题,取得了良好的大数据量场景实时可视化效果。
【关键词】大数据,三维场景,快速可视化,LOD,GPU
1 引言
地理信息系统(Geographic Information System,GIS )是一种采集、存储、管理、分析、显示与应用地理信息的计算机系统,是分析和处理海量地理数据的通用技术。随着人们对GIS行业越来越深入的了解,伴随着计算机软、硬件技术和通信技术高速迅猛的发展,GIS已然渗透进入国民生产的各个行业和国民生活的各个方面。然而传统的GIS技术仍然存在着明显的缺陷,主要表现为它以处理二维信息为主,把连续分布的三维现实世界抽象成二维的数字信息,不能给人以自然界三维空间真实物体身临其境的感受。三维GIS是GIS技术发展的重要领域,是进行全方位、多层次、多要素时空分析的基础,开发结构简单、功能完善的真三维GIS软件是当前GIS研究人员的重要目标。由于空间数据具有的数据量庞大、内容丰富等特点,使得三维GIS中要处理的空间数据量远远超出了当前计算机硬件所能处理的能力,该特点已经成为了三维GIS可视化的制约性因素。
层次细节(Level Of Detail, LOD)思想提供了一个解决庞大数据量与快速可视化问题�A方向LOD技术主要是根据人眼的视觉原理,一个物体距离人眼越远,人眼看到该物体的细节也就越少,因此系统就可以将距离观察点较远的物体用较粗粒度的模型来代替,从而在不降低视觉效果的前提下大幅度降低了计算机需要处理的数据量,解决了系统的实时动态显示效果。在同样大小的显示范围内,采用LOD技术可以使数据处理量基本保持不变,这一特性对海量空间数据的实时三维可视化是非常重要的。
近年来,随着计算机图形处理器(Graphic Processing Unit, GPU)的计算能力的提升,极大的提高了计算机图形处理的速度和图形生成的质量。GPU技术的极速发展一方面提高了图形处理的计算速度,另一方面还促使了一些与图形处理相关的硬件技术的进步,比如:具有可编程性功能的像素处理模块和具有顶点处理功能的图形硬件�@染管道。在3DGIS可视化方面,LOD模型正朝着与GPU集成的方向发展,建模的方法已经不再是逐个选择某个多边形进行绘制,而是在大量的多边形组中选择一组进行批量绘制,建立适合于现代GPU处理的LOD框架,不再追求尽可能的减少多边形的绘制,只要能达到硬件的绘制要求即可。
本文基于对LOD与GPU技术的研究,设计并实现了一个3DGIS平台,并利用该平台解决了海量空间数据实时三维可视化问题。
2 LOD金字塔构建
本文使用的LOD金字塔模型是基于四叉树结构,以分层分块的方式构建的。利用这种方式组织的金字塔模型具有以下特点:
(1)对于树中任意相邻的层,从上到下,分辨率呈双倍递增关系,这样可以很方便的使用四叉树索引技术进行快速定位。
(2)树中每个节点对应一块区域,这样可以直接提供不同分辨率的数据而无需实时重采样。
在构建金字塔时,首先把原始栅格数据作为金字塔的底层,并对其进行分块,形成底层瓦片矩阵。在底层的基础上,从左下角开始,从左至右、从下到上按每2×2个像素合成一个像素的方法生成像素矩阵,并进行分块,形成上一层瓦片矩阵。
分层分块后的文件命名要能反映出数据所在层数和数据的坐标信息,本文采用如下命名规则:Dataset NameLevel of LODFileX FileX_FileY.abc,其中,Level of LOD为数据所在金字塔模型的层号,FileX为块的行号,FileY为块的列号。利用该规则可以实现文件名与文件坐标之间的换算。
3 GPU高速并行计算
图形处理器(Graphic Processing Unit,GPU)是一个专门用于图形渲染的微处理器,它可以快速的操作和改变内存以加快输出帧缓存中的图像。
在GPU处理器出现以前,显卡只负责图形渲染的操作,大部分的运算处理都由CPU来实现。在GPU出现以后,主流计算机中的处理器大都包含CPU和GPU,由CPU和GPU协同结合来完成大数据量运算和图形�@染的工作。CPU和GPU协调工作,CPU负责处理逻辑性强的事务处理和串行计算,GPU则专注于执行高度线程化的并行处理任务。与CPU相比,GPU在运算能力和存储器带宽上具有明显的优势,它可以通过增加并行处理单元和存储器控制单元的方式来提高计算机的并行处理能力和存储器带宽。与CPU相比,GPU具有很多优势:
(1)高度并行性:GPU具备多个�@染管道,能并行处理多个顶点和像素数据,具有很高的并行性;
(2)GPU具有向量运算架构,使得其在处理大规模向量运算时性能更佳;
(3)只读高速缓存:GPU中的缓存是只读的,其主要功能是用于过滤对存储器的请求,减少对显存的访问,这使得它比CPU更适合于流处理计算,处理逻辑分支简单的大规模数据并行任务。
4 3DGIS平台设计与实现
本文结合LOD与GPU技术,通过C++语言,使用Microsoft Visual Studio 2012开发工具开发了一套3DGIS软件平台,其功能设计如图1所示。
如上图所示,配置文件中存储一些系统相关参数,如默认图层等,系统初始化时通过配置文件模块读取配置文件内容并创建默认对象;场景控制模块负责事件监听,并保存事件触发后相关场景参数的修改;数据调度模块使用基于四叉树的瓦片检索算法检索当前场景的可见瓦片,并负责在缓存或服务器中获取数据;渲染模块通过构建地形网格和纹理贴图产生三维场景。测试结果显示,当三维窗口大小为800×600时,平均帧频为24.8帧/秒。
5 结束语
本文利用LOD金字塔与GPU的高度并行计算能力和可编程性解决了3DGIS中大数据量场景的快速可视化的问题,并取得了良好的实验效果。本文的主要创新点是将LOD与GPU两项技术相结合,并成功应用到3DGIS软件的开发中。
系统在实现时,为了明确系统目标,降低编码工作量和数据整理搜集的工作量,仅从局部角度考虑三维GIS的快速可视化,没有像Google地球和NASA的WorldWind那些从全球的角度来实现系统的三维可视化,这也是本文下一步考虑解决问题。
参考文献
[1]陈述彭,鲁学军,周成虎.地理信息系统导论[M].北京:科学出版社,2001.
[2]李青元,林宗坚,李成明.真三�MGIS技术研究的现状与发展[J].测绘科学,2000.25(2):47-51.
[3]肖乐斌,钟耳顺,刘纪远,等.三维GIS的基本问题探讨.中国图象图形学报,2001(9).
[4]James HClark,HierarchicalGeometric Models for Visible Surface Algorithms[J].Communieation of ACM, 1976(10).
[5]Nvidia 发布 GeForce2 Go 移动 GPU[J].计算机网络.2000(12).
电子科技论文发表期刊推荐《中国仪器仪表》杂志(CHINAINSTRUMENTATION)创刊于1981年,是当时国家仪器仪表总局的“官方刊物”,由国家新闻出版署批准注册、面向国内外正式出版发行的综合类技术期刊。现由中国机械工业联合会主管,机械工业仪器仪表综合技术经济研究所、中国仪器仪表行业协会主办。