论文部分内容阅读
三维激光扫描技术(激光雷达技术)作为一种新型测量手段,以其非接触、快速、连续获得目标物信息的特性,迅速成为了现今获取三维空间信息的重要方法,被广泛应用于文物保护、大型复杂精密建筑物施工质量与变形监测和灾害评估调查等方面。近十年来,三维激光扫描技术,不论是硬件水平,还是数据处理软件都呈现井喷式的发展,但随着扫描数据越来越精细,成果数据越来越多,这些三维空间数据的存储管理逐渐成为摆在面前的难题。作者从工程实践中了解到仅仅是原始数据(点云数据和数码影像)数目就不少,以故宫保和殿为例,点云数据几百个测站,数码影像一千多张,总数据量占据存储空间多达几十个GB,而这些仅是一个宫殿,如果是整个故宫建筑物群,数据估测会多达几十TB。面对如此庞大的数据群,传统的文件式管理已经无法满足需求。因此,本文从当前数据管理混乱的背景出发,对如何利用对象关系数据库结合大数据处理方法对原始数据以及后期处理过程中的各种数据进行合理的存储管理的方法进行了相关研究。本文首先研究了大数据的存储方法,对PostgreSQL数据库进行了相关的介绍,从数据存储和取出效率上考虑,介绍了几种数据库访问方式并进行了比较,选用了PostgreSQL数据库提供的C/C++接口Libpq,然后详细介绍了PostgreSQL数据库的大数据管理机制—大对象和大二进制,提出对于点云数据进行分块使用二进制方法存储的方法,随后,对文本数据的读取进行了研究,选用了内存映射来加快文本数据读取速度。在介绍完大数据存储机制相关方法后,又详细介绍了原始点云数据、成果点云、特征几何体、深度影像、数码影像和三角网模型这几种数据的结构,分析了相关的格式,结合数据的其他属性信息,在数据库里设计了对应的表格结构进行存储管理,并设计了相关查询方式,如根据ID、SID等信息来查询,影像数据通过框选影像范围方式快速查询影像。最后介绍了点云数据的调度方法,为满足后期绘制点云数据的需求,需要减少实时绘制的点云数目,从数据来源来看,利用八叉树网格思想对点云数据进行组织,并根据不同的尺度对数据进行采样,得到不同分辨率的点云数据,结合计算机图形学视景体裁剪技术(利用视景体和点云最小外包框相交判断)和基于视点距离的LOD思想,选择合适分辨率的点云数据用于绘制。本文选用Visual Studio2010开发平台,基于CLR(公共语言时)环境,利用C++开发语言,结合PostgreSQL数据库,在实验室TLiDAR_DPS系统中开发了数据库管理模块,完成了原始点云数据、成果点云、特征几何体、深度影像、数码影像和三角网模型这几种数据的快速存储、查询和取出等功能。在软件系统中设计了简单方便的交互操作,通过树形结构可以简洁明了完成的显示、查询和删除数据,而针对影像数据,设计出框选大图显示出对应区域的详细图的查询方式。最后,通过工程中的完整数据,验证了本实验系统对数据管理的有效性,也验证了本文所做研究内容的可行性。