论文部分内容阅读
目前空间数据的规模不断增长,使得处理和分析空间数据技术的难度不断增加,同时GIS在各个行业的广泛应用,海量空间数据进行高效管理和处理的难度不断加大,多数领域也对空间数据的精度提出了越来越高的要求,迫切需要新的技术和方法来管理和处理海量的空间数据。目前的开源的分布式大数据处理平台利用分布式存储和并行计算的方法能为解决上述问题提供一种新的方法。本文基于Hadoop开源大数据处理平台,利用HBase在空间数据并发访问和数据处理方面的优势来高效、合理存储和管理空间数据,主要在空间数据的存储和查询两个方面作了比较深入的研究。首先,研究了空间数据存储与并行处理的国内外现状,分析对比了当前空间数据的几种存储方式,深入研究了MapReduce并行计算框架的整个原理和运行的机制以及HBase的存储模型,并设计了空间数据复合行键拼接加入分隔符的行键存储模式,取消了过滤列族的设计。接着使用GeoTools工具将Shapefile文件导入HBase表,通过GeoTools工具构建出空间数据对象,分析了GeoTools工具整合到MapReduce并行计算框架下空间数据处理的流程。最后,在此基础上,提出了空间数据的窗口查询、多边形区域查询的MapReduce并行化解决方案以及基于Geohash的空间数据的K近邻查询算法,并在Hadoop的分布式环境中进行了空间数据导入和多种空间查询和并行处理实验,验证了HBase存储和处理空间数据的优势以及查询算法有更高的效率和更好的准确性。主要取得了以下研究成果:(1)通过一种在HBase中新的空间数据的存储表模式设计,来获得HBase在海量空间数据分布式存储方面性能的优越性。(2)提出将GeoTools工具整合到MapReduce并行计算框架下空间数据处理的流程,通过这个方式来完成空间数据的导入导出。(3)采用MapReduce 2.0并行程序设计框架来完成空间数据的窗口查询、多边形区域查询,经实验证明,该并行化算法对比与传统查询算法有明显的优势。(4)提出了基于Geohash的空间数据的K近邻查询算法,利用地理散列的前缀匹配串作为行键存储的空间数据表模式,完成区域内的K近邻空间对象的检索。