基于SpatialHadoop云平台下空间数据存储研究

2017-11-20 19:57王延仓庄连英赵子辉杨秀峰曹欢孙世奎
电脑知识与技术 2017年25期
关键词:剖分格网空间数据

王延仓+庄连英+赵子辉+杨秀峰+曹欢+孙世奎

摘要:随着遥感数据空间、时间以及光谱分辨率的不断提高为地理信息系统提供丰富的数据的来源,数据量增加的同时也给地理信息系统数据的存储与组织带来了挑战,Spatial Hadoop技术的出现在一定程度上解决了空间数据的存储与组织的问题,对spatial Hadoop云平台下空间数据的存储方式进行了研究,对spatial Hadoop云平台的应用和推广具有十分现实的意义。

关键词:Spatial Hadoop;存储;地理信息系统;矢量数据;栅格数据

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)25-0012-02

1 概述

随着我国地理信息技术的不断发展,各种数据的来源不断增加随之而来的是空间数据的种类以及空间数据量上的大量的增加。以栅格数据的代表遥感数据的数据了近些年更是呈現出快速增长的趋势。大量的空间数据所带来的一个显著的问题就是空间数据的存储问题以及空间数据的分析与处理,而空间数据的存储是空间数据处理的基础。当前以Hadoop空间数据库为主的数据存储的形式存在很多的问题与弊端,在数据存储量日益增大的情况越来越难以对当前的空间数据进行有效的存储以及处理,Spatial Hadoop空间数据库的出现有效地解决了这一问题。

Spatial Hadoop是一个开源的MapReduce扩展来源于Hadoop,专门用于处理Apache Hadoop上空间数据的巨大数据集。 Spatial Hadoop具有内置的空间高级语言,空间数据类型,空间索引和高效的空间操作。并且Spatial Hadoop的安装配置以及操作十分的方面支持多种较为常用的高级语言,通过内置的高级语言以及高效的数据组织形式能够实现对空间数据十分高效的存储,GIS与Spatial Hadoop的结合将有力地推进地理信息系统对数据的存储管理能力为空间数据的处理提供基础。

2 基于Hadoop的空间数据存储关键技术问题

在Hadoop 空间数据库下,矢量数据存储的方式一般可以分为分布式文件存储方式以及分布式数据库矢量数据存储方式。其中分布式文件存储的方式能够保证矢量数据的完整性,实现对空间地理数据的并行处理加快其处理速度。但是这种分布式的文件存储的方式也存在一定的局限性,其对地理空间数据的修改以及删除操作实现起来较为复杂,所以效率较为低下。而采用分式数据库的矢量数据的存储方式则不具备分布式文件矢量数据存储方式所具有的优点,但是其能够较好的对地理空间数据进行修改或者是删除操作,当前采用Hadoop来存储和处理地理空间数据主要存在以下几个方面的主要问题。

2.1 地图投影

地理空间数据的一致化处理需要考虑到空间参考坐标系、大地以及地心坐标系等各种坐标系之间的转换,虽然在地理信息系统中有所涉及但不是研究重点。如何选取空间参考系统以及投影,各种空间参考以及投影之间的转换关系和多源多尺度的空间数据之间的转换以及一致化处理或者是空间拼接以及叠加等是地理信息系统中的主要研究问题,如果要解决空间数据的存储必须合理的处理好空间数据的地图投影问题。

2.2 空间索引

建立针对海量空间数据的高效的检索和查询的空间索引是空间数据库的关键技术之一,是空间数据实现高效的存储与检索的关键所在。虽然当前的空间索引技术以及面向可视化的LOD空间索引技术已经相对较为成熟,然而在Hadoop环境中还存在着不足。

2.3 矢量要素标识

在矢量数据组织的过程中矢量要素的标识是关键,是矢量数据实现有效的组织存储与检索能功能实现的关键。常用的FID编码技术包括命名与分配两种方法。其中第一种方法可以在较小的范围内保证其FID的唯一性,并且加入了人为的因素,难以反映空间实体的位置以及空间实体的相互关系。分配方式是通过计算机随机为实体分配编码,这种方式虽然也能够保证其命名唯一性却也难以表现空间实体的位置特征与相互关系。因而上述方式均难以解决命名的唯一性与反应空间实体的位置与相互关系的问题,很多时候为了适应HBase 的 Row Key,在矢量要素标识设置的过程中还需要考虑其长度以及顺序等。

2.4 属性查询

HBase主要用于大表的存储,可以对大表中的属性进行查询,但是属性查询需要借助Hive、Pig等对全表进行Map Reduce 计算,这种方式会严重浪费计算机的资源,并且所具有的高延时也使得后续的数据处理与分析应用效率低下。因而需要通过一种方法,来高效的对表格数据进行属性查询,这是空间数据库必须要解决的一个很现实的问题。

3 基于spatial Hadoop云平台下的数据存储方式

3.1 基于Mercator投影的层次剖分空间索引

为了对多尺度以及多分辨率的多维度的数据进行统一化的处理,需要确定统一的空间基准。合理的利用空间数据的分层以及分块的技术可以在高效的对地理空间数据进行组织和管理。因而在spatial Hadoop中用到了Mercator 金字塔四叉树来对地理空间数据进行分层和分块处理。

Mercator投影金字塔四叉树剖分方法是一种采用空间格网对数据进行剖分的方法。实施过程非常的简单且可靠,在spatial Hadoop空间数据库中的Mercator投影金字塔四叉树层次剖分是空间数据组织和存储的基础。虽然这种数据的存储和组织方法在两极投影变换等方面存在缺陷,但是其优势在于海量数据处理过程中的空间数据的索引机制,目前很多种我们较为熟悉的地图软件如Google Maps、Google Earth等都是采取的这种数据组织和存储的方式,尤其在遥感数据的组织和可视化方面具有优势,能够较好的解决空间数据的可视化对真实世界的表示。采用该种方式对数据进行存储和组织能够有效的对各种空间数据实现统一化的管理能够实现不同分辨率下的索引以及对数据的浏览。可以根据浏览的要求来选择特定分辨率以及特定的区域的图像进行显示,能够有效地降低空间数据量大所带来的负担,同时也有助于地理空间数据的存储、组织、查询与显示。

3.2 基于MPPQT的矢量数据的分布式存储

目前矢量数据结构包括拓扑矢量数据结构与无拓扑结构的矢量数据。拓扑空间矢量数据结构主要是通过点线面等空间实体来描述空间对象。而无空间拓扑关系的矢量数据则没有上述关系,而是每个空间对象都用一个表来表示,表中含有对空间对象描述的坐标序列。拓扑数据结构较为复杂,但是非常有利于后续的空间分析且存储空间相对于非拓扑数据结构较小,能够显著的降低存储的数据量。但是对于拓扑数据的管理以及维护的成本较大,显示过程中所消耗的时间较长。因而在Spatial Hadoop云平台下注重了矢量数据的分布式存储且在这个过程中注重了负载的均衡,并且需要注意矢量数据的相关运算。在Spatial Hadoop中采用了非拓扑结构的数据模型来对矢量数据进行存储。对于不同图层以及比例尺的图像,按 MPPQT的方法来对矢量数据进行剖分存储和组织,矢量数据中包含矢量数据的元数据以及多个图层。每个图层都包括多个点线面的结构。在每个图层中都包括了定性与定量等属性数据,矢量要素跨越相应层次格网然后根据比例尺对其进行格网划分。每一级的格网都包括很多的格网单元,每一个格网单元分割后都存在相应的矢量分割片段。采用MPPQT层次进行剖分后的格网单元的编码来对数据的比例尺进行区分,在相同的格网单元中采用矢量要素的标识来区别不同的矢量要素。

4 结束语

通过对Spatial Hadoop云平台下空间数据存储方式的研究,其对栅格数据的存储采用的是Mercator投影金字塔四叉树的空间数据的剖分方法来对栅格数据进行存储和组织,对矢量数据采用的是无拓扑结构的MPPQT方法对矢量空间数据进行存储和组织,相对于存储方式具有相对较高的数据存储、组织和管理的效率,能够有效解决当前海量数据的存储、组织与管理的问题。

参考文献:

[1] 彭成. 基于Hadoop的GIS空间分析平台关键技术研究[D].江西理工大学,2014.

[2] 范建永,龙明,熊伟. 基于Hadoop的云GIS体系结构研究[J]. 测绘通报,2013(11):93-97.endprint

猜你喜欢
剖分格网空间数据
实时电离层格网数据精度评估
基于重心剖分的间断有限体积元方法
二元样条函数空间的维数研究进展
元数据驱动的多中心空间数据同步方法研究
一种实时的三角剖分算法
复杂地电模型的非结构多重网格剖分算法
基于空间信息格网与BP神经网络的灾损快速评估系统
平均Helmert空间重力异常格网构制方法
基于文件系统的分布式海量空间数据高效存储与组织研究
基于位置服务的地理格网编码设计