论文部分内容阅读
大规模三维地形可视化面临的首要问题是海量地形数据的存储管理。海量地形数据大都含有文档,影像,高程数据,矢量数据,二进制文件等非结构化信息,在地形数据获取,存储,分析和应用中,非结构化和半结构化存储格式逐渐成为一种主流。传统的关系型数据库在应对海量非结构化空间数据存储管理时暴露出各种问题,主要体现在读写速度慢,水平扩展困难,部署成本高以及具有有限的支撑容量。 针对上述问题,新型的NoSQL应运而生,NoSQL比较松散的数据结构以及良好的水平扩展架构为海量地形数据存储处理提供了一条全新的道路。MongoDB采用自由灵活的文档模型,具有简单易用、可扩展和对企业应用友好等特点,此外,MongoDB松散的BSon数据结构很方便存储管理纹理,矢量等非结构化地形数据。 本文针对海量地形数据的特点,采用NoSQL的典型代表MongoDB来存储管理海量地形数据。针对地形纹理数据量大,分层组织的特点,本文采用波段-金字塔层-分块三级分层分块的方式处理大幅纹理数据,并利用Z型折线进行编码生成纹理瓦片存储在MongoDB中,针对地形矢量数据量大,非结构化特点采用LOD简化策略,将矢量数据组织成Shapefile格式,最终以GeoJson格式存储到MongoDB中。本文在实现对地形栅格与矢量存储处理的基础上搭建了MongoDB分布式集群来存储处理海量地形数据,并借助相关平台实现了基于地面站的地形可视化系统。 最后,本文通过进行插入与查询实验来对比MongoDB与MySQL读写性能,实验结果表明MongoDB无论是在处理结构化数据还是地形数据读写性能方面优势都十分明显,此外本文还测试了MongoDB分布式集群功能,结果表明MongoDB分布式集群具有高可靠,高可用的优点,并且能实现对空间地形数据存储处理。