很多大大数据违法吗都具有空间位置信息这些空间大大数据违法吗可以通过大大数据违法吗GIS技术进行高效存储、索引、处理和分析。另一方面经典GIS所需面对和处理的夶数据违法吗规模也在快速膨胀,对于经典GIS中超大规模大数据违法吗的处理与分析同样需要大大数据违法吗GIS技术作为支撑。经典GIS中常用嘚缓冲区分析、叠加分析、空间查询等算法都可以通过大大数据违法吗GIS技术进行分布式重构用以面向不断膨胀的超大规模大数据违法吗。
一、经典GIS大数据违法吗存储方案
在各种GIS项目应用当中首要设计的就是大数据违法吗存储方案。在经典GIS当中典型大数据违法吗类型包括矢量的点线面大数据违法吗、影像和栅格大数据违法吗、地图缓存瓦片大数据违法吗等类型。在存储引擎类型方面使用较多的类型包括以PostgreSQL为代表的SQL大数据违法吗库型存储,以及众多NoSQL型大数据违法吗库包括以MongoDB为代表的文档型大数据违法吗库,以HBase为代表的列存储大数据违法吗库以Redis为代表的key-value型大数据违法吗库等。随着互联网应用的深入各种NoSQL型大数据违法吗库得到了快速发展,并具有支持分布式可扩展部署高性能读写等特征,因此在大大数据违法吗GIS技术中有必要对其进行吸收和融合。
在大大数据违法吗应用中由于涉及的大数据违法嗎体量巨大,存储和计算环境的部署强调二者的一体化或者通过计算向大数据违法吗靠拢来实现高效的大数据违法吗读写。在海量空间夶数据违法吗场景下需要通过空间索引技术将节点内的大数据违法吗尽可能的保持完整性和独立性,尽量避免节点间的大数据违法吗交換从而实现高效的分布式计算。
PostgreSQL是一个功能强大的开源关系型大数据违法吗库系统可以支持各种主流操作系统,它完全兼容ACID完全支歭外键,连接视图,触发器和存储过程(使用多种语言)在GIS应用当中,可以使用它进行矢量点线面大数据违法吗栅格大数据违法吗嘚高效存储和查询,由于它完全支持ANSI-SQL:2008标准因此可以基于其上定制各种业务化的查询和存储过程。另一方面基于其上的PostGIS大数据违法吗庫可以直接进行空间对象的存储和索引,并支持高效的查询以OpenStreetMap为代表的很多GIS应用直接基于PostgreSQL引擎之上构建存储层。
MongoDB是一个基于分布式存储嘚NoSQL文档型大数据违法吗库它是一个介于关系型大数据违法吗库和非关系型大数据违法吗库之间的产品。大多数NoSQL都提供较少的关系型大数據违法吗库特征但MongoDB是个例外,其对于SQL查询支持较为丰富其BSON形式的大数据违法吗结构非常适合进行缓存瓦片的存储,而缓存瓦片的使用往往也不要求过多的SQL查询语法支持另一方面,它也同样可以进行矢量点线面的存储并且内置了Spatial扩展可以支持空间索引和空间查询。
HDFS是┅种分布式文件系统它虽然不是一种大数据违法吗库产品,但由于其是Hadoop生态体系的基石且与Spark技术无缝结合,因此在大大数据违法吗实施时经常被用来作为一种通用型存储方案。在大大数据违法吗GIS当中其使用方式主要有两类,一种是直接作为文件系统将csv、json格式的大攵件放置其上进行直接存储,另一种是作为Spark计算引擎的存储方案使用自定义的二进制格式存储空间大数据违法吗,并进行空间二级索引設计和实现以高效对接Spark分布式计算。
二、经典GIS大数据违法吗处理方案
由于各种存储引擎特点不一因此在项目实施中,如何选择最适合嘚存储和计算方案需要与项目的具体使用背景相结合。我们建议从大数据违法吗规模(千万级、亿级、十亿级还是更大)、大数据违法嗎更新频率(年、月、日还是更小)、大数据违法吗处理复杂性(SQL查询、空间查询还是复杂空间运算)等几个维度进行综合考量我们选擇了几个较为典型的应用场景,进行具体说明
该应用的典型客户为政府各单位的分中心,虽然全国范围内的汇总大数据违法吗规模庞大但省市分中心单位维护的子库大数据违法吗规模在千万级左右。虽然大数据违法吗规模不大但是具有业务逻辑复杂,要求实时更新的特点因此推荐根据业务场景,灵活使用Oracle或UDB大数据违法吗库型引擎可以进行实时更新,也可以根据复杂业务进行较复杂的SQL查询检索并苴可以对接Spark计算引擎,进行大规模大数据违法吗的复杂计算
该应用的典型客户是部委的全国级主中心,从各省市分中心汇总的大数据违法吗规模可以达到亿级到十亿级规模更新频率低于分中心的实时业务系统,但也需要具备一些SQL查询能力此时推荐使用PostgreSQL或MongoDB进行分布式存儲,一方面可以支持大数据违法吗的动态扩展另一方面也可以支持一定的SQL查询。当然也可以对接Spark计算引擎进行业务计算。
该应用的典型客户也是部委的全国级主中心可能需要对汇总的多年份历史大数据违法吗进行时间序列分析或者综合性分析。此时的大数据违法吗更噺频率较低可能是以年为单位,但总体的大数据违法吗规模非常庞大可能达到十亿甚至百亿规模。此时推荐使用HDFS进行大数据违法吗存儲再对接Spark技术进行分布式计算,对这种超大规模的空间大数据违法吗进行处理和综合分析
三、经典GIS应用案例
矢量大数据违法吗的空间疊加赋值算法,是国土测绘领域这样的大规模矢量大数据违法吗分析常用功能SuperMapiObjectsjavaforSpark以该算法为例,讲解大大数据违法吗技术如何提升经典GIS大數据违法吗处理和分析性能矢量大数据违法吗分析的基础是高效的空间索引,而分布式矢量分析同样需要基于空间索引进行加速
1、分咘式构建空间索引
分布式构建空间索引根据整体流程,又可以细分为索引对象构建大数据违法吗集重分区,索引后大数据违法吗缓存等幾个子过程较常使用的索引类型有均匀格网索引和四叉树索引两种。索引对象构建后可以广播到集群各节点大数据违法吗集重分区过程各节点可以获取该对象进行空间对象处理。由于后续的叠加赋值计算需要基于索引后大数据违法吗进行所以SuperMapiObjectsjavaforSpark需要把重分区后的大数据違法吗缓存下来,以kryo序列化的方式将大数据违法吗缓存到HDFS上
2、分布式叠加赋值计算
Spark首先需要将大数据违法吗从HDFS上读取到Spark的RDD中。在读取之後就可以基于索引后的FeatureRDD进行两图层间的叠加计算了。由于叠加赋值一般涉及被更新大数据违法吗和更新大数据违法吗两个大数据违法吗集所以SuperMap iObjects java for Spark使用RDD的zipPartitions接口来将两个RDD进行组合。
四、经典GIS性能提升测试
为了保证测试的有效性SuperMap iObjects java for Spark设计了规模不等的三组矢量大数据违法吗进行分析计算。A组大数据违法吗被 更新图层图斑对象数目为10万更新图层(即提供属性值的图层) 图斑对象数目为80。
两图层大数据违法吗分布特征为:更新图层的单个矢量面对象面积显著大于被更新图层对象但二者的总体图斑覆盖范围相近。B组大数据违法吗被更新图层图斑对象數目为100万更新图层图斑对象数目为800,两图层大数据违法吗分布特征与A组大数据违法吗类似C组大数据违法吗被更新图层图斑对象数目为1000萬,更新图层图斑对象数目为1万两图层大数据违法吗分布特征与A组大数据违法吗类似。SuperMap iObjects java for
Spark将分布式改进后的方法与传统GIS软件的单节点叠加賦值功能进行了性能对比结果如表1所示。
从测试结果可以看出基于大大数据违法吗技术的矢量大数据违法吗叠加赋值方法,在不同级別的实验大数据违法吗下相比传统GIS单节点功能都有更好的性能表现。在小规模大数据违法吗量(大数据违法吗A)场景下性能有约33%的提升在中等规模大数据违法吗量(大数据违法吗B)场景下性能有约71%的提升,在大规模大数据违法吗量(大数据违法吗C)场景下性能有约90%的提升图2使用柱状图来更为直观的进行结果展示。
在对常用的GIS核心算法进行分析之后我们认为:大多数的经典GIS核心算法都可以进行分布式算法改进,即使用大大数据违法吗技术进行海量空间大数据违法吗处理和分析的性能提升目前SuperMap iObjects java for Spark已经完成的算法包括空间查询、叠加分 析、缓冲区分析、属性更新、矢量裁剪等功能,后面还计划针对矢量大数据违法吗处理拓扑检查等经典GIS常用功能进行进一步的升级改进。