问
分布式GIS太深奥?可视化地理建模感受一波超图集团昨天本文刊登于2020年11月
分布式GIS太深奥?可视化地理建模感受一波超图集团昨天本文刊登于2020年11月第70期《超图通讯》大数据时代来临,需要处理的地理空间数据逐渐增多、计算量成倍增加,人们对于地理大数据处理的自动化与性能需求也越来越迫切,仅支持单机运行的地理数据处理逐渐无法满足大数据量、逻辑复杂的业务需求,越来越多的GIS行业应用人员希望借助分布式技术来为地理大数据的存储、分析提供更高效的技术支撑。
然而,现有的分布式GIS技术多以开源代码的形式提供使用,需要具备一定的开发经验,需要掌握的分布式技术背景知识,使用门槛较高,对多数地理分析人员来说,理解和运用起来很是困难。
为此,我们迫切需要简单易用的地理处理算法的使用方式,能够支持分布式存储与计算,实现对地理大数据处理与分析的分布式运行,达到既使用简单又性能高效的目的。
01零代码分布式地理处理建模SuperMap的地理处理建模以一种可视化界面的形式呈现,界面包含算子列表、搭建画布、参数面板几个板块,我们可以从工具列表中选择需要的地理处理工具,在画布中搭建地理处理模型,使用一个工具的输出用作另一个工具的输入,由一系列地理处理工具连接在一起构成我们想要的业务处理流程,实现零代码完成业务开发。
可视化界面实现分布式地理处理建模SuperMap地理处理建模不仅支持单机运行的地理处理工具,还支持分布式地理处理工具。
对于搭建好的分布式地理处理模型,我们可以通过设置环境参数来控制模型的执行方式,选择单机多线程或分布式集群执行,同时可通过Spark参数来控制分布式集群的使用资源数量,实现分布式执行地理处理模型的目的。
设置Spark参数运行地理处理模型02分布式运行提升性能分布式地理处理集合了分布式计算与内存缓存的共同优势,大大提升了地理处理业务模型的运行性能。
在分布式地理处理模型执行时,我们能够选择调用分布式计算集群来完成计算,使用集群的多个且可扩展的Worker节点分布式执行分析任务,相比单机运行模式,使用的资源更多,空间处理算法的运行性能得到显着提升。
除此之外,基于Spark的计算流程还采用了内存缓存机制,不需要保存中间结果到磁盘中,避免了冗余数据的产生,省去了中间数据的磁盘读写过程,进一步提升了地理处理流程的运行效率,为大规模空间数据的流程化分析提供了性能保障。
例如,在全球耕地面积统计业务当中,需要根据国家/地区边界,对全球474幅耕地分类栅格数据进行统计,传统单机的计算能力有限,只能按国家/地区拆分后进行分别统计,单统计一个较大面积的中国区域就需要耗费10小时以上,而使用分布式6节点集群进行分布式地理处理,可以对全球国家/地区进行全量计算,总耗时仅0.73小时,性能提升50多倍。
全球耕地面积统计03丰富的分布式地理处理工具分布式地理处理工具是零代码可视化建模的基础,为建模过程提供分布式算法支撑。
SuperMap地理处理产品模块中共提供了600多个预定义的地理处理工具,其中有200多个工具支持分布式地理处理。
功能上支持矢量、栅格数据在分布式存储中的导入导出,如HDFS、Hbase、PostGIS、OracleSpatial等;支持多种基于Spark的分布式空间分析算法,包括密度分析、叠加计算、空间汇总、SparkSQL查询、栅格统计、驻留分析等;支持三维数据的分布式处理功能,包括三维缓存生成、倾斜数据处理等,为我们轻松搭建复杂的业务流程模型提供了强有力的算法支持。
车辆轨迹点驻留分析在预定义工具之外,不同行业的用户可能需要根据行业特点进行自定义算子的开发实现,并希望能够将自定义算子与已有空间分析算子结合使用,减少代码的开发量。
SuperMap的分布式地理处理建模基于JVM环境进行开发,因此支持JVM环境下的开发语言进行工具扩展,如Java/Scala,并针对Python语言实现了RPC远程调用支持,用户可以使用多种开发语言(Java/Scala/Python)进行自定义工具的实现。
自定义实现的工具可以通过jar包添加至分布式地理处理的工具列表中,与已有工具进行关联组合,达到灵活串接,搭建多样的作业流程的效果。
例如,在贵州省土地利用大数据分析平台中,我们可以借助分布式地理处理建模来搭建耕地质量分析模型。
其中,需要用到的分布式地理处理功能有叠加分析、要素连接等,而对于特定数据的组装、三调面积扣除等特殊处理,则需要进行自定义工具的扩展开发,最终组合完成整个耕地质量分析模型的处理流程。
耕地质量分析模型耕地质量分析模型运行结果04灵活搭建业务流程小技巧在实际的数据处理过程中,我们经常遇到同样的工作流程需要重复执行的场景,例如在进行基础地理数据库建库时,需要对每个不同要素类别的数据分别进行投影转换和数据导入等操作,人工操作工作效率低下且容易出现差错,因此,需要具有循环迭代功能的流程化方法,来实现自动化的数据导入。
SuperMap的地理处理建模提供了集合迭代和过滤的功能,实现对文件的循环遍历和过滤的自动化执行,帮助我们轻松完成重复循环的处理流程。
例如,当我们需要将分幅的1:25万DLG数据导入到数据库中时,需要对600多个shp文件分别进行导入处理,此时便可搭建具有集合迭代与过滤功能的数据导入模型来完成批处理过程。
导入1:25万DLG数据示意图使用集合迭代与过滤功能的数据导入批处理模型除此之外,对于已搭建好的模型,我们可以将其注册为新的地理处理工具,后续还需要使用时,直接在工具箱中双击即可,无需再次搭建流程。
我们还可以将模型以文件形式保存到本地,方便多终端转移和重复使用。
注册为地理处理工具的数据导入批处理模型看到这样简单便捷的分布式GIS技术的使用方法,你是不是心动了呢?SuperMap GIS 10i(2020)系列产品中为大家提供了分布式地理处理建模的功能模块,我们可以通过SuperMap iServer 10i(2020)中的地理处理服务,或者SuperMap iDesktopX 10i(2020)中的可视化建模工具箱两种方式,分别体验在Web端和客户端使用分布式地理处理建模的功能,快来试试吧!文/大数据与AI研发中心 徐韵