宋关福:大数据时代的GIS软件技术发展

2018-03-06 08:51:57    来源:《测绘地理信息》2018年2月

摘要:本文提出了大数据GIS技术体系,包括空间大数据技术、传统GIS 的分布式重构以及大数据GIS支撑技术。

  2 大数据GIS技术体系

  从DIKW 金字塔也可以看出,要实现空间大数据的价值,仅仅有空间大数据还不够,还需要有相应的GIS软件工具以及相应的分析模型。只有这三者结合起来,才能让大数据产生价值。基于此,本文提出了大数据时代的GIS技术体系,并研发了大数据GIS基础软件。

  大数据GIS 技术体系包括两个非常重要的方面:①空间大数据技术,专门针对空间大数据的处理和挖掘;② 传统GIS 的分布式重构,专门针对经典空间数据的管理和分析。同时,还包括大数据GIS支撑技术,即云GIS 技术和跨平台GIS 技术,用于提供弹性的资源和服务以及跨平台的访问和应用能力(见图3)。

  大数据GIS技术体系

  图3 大数据GIS技术体系

  2.1 大数据GIS支撑技术

  云计算作为计算资源层,可以支撑上层的大数据处理,没有云计算的大数据是空中楼阁。因此,云GIS[9,10]也就是大数据GIS的支撑技术。云GIS技术可以归纳为“4+2”,即4大服务器软件[11]和2大关键技术。4大服务器软件包括基于微服务架构的GIS应用服务器(如iSever)、云GIS 门户平台(如iPortal)、分布式加速的GIS 分发服务器(如iExpress)、云GIS服务管理器(如iManager);两大技术包括支持虚拟化,支持容器(Docker)技术和云端互联技术(无缝连接桌面、组件、移动、浏览器端)。

  跨平台GIS技术[10,12]是大数据GIS 的另一个支撑技术。IT 大数据相关的不少技术都原生于Linux,如Spark、HDFS 和MongoDB 等都产生于Linux社区,且Linux性能更高、稳定性更好。虽然Windows上也能部署一些大数据环境,但大多用于学习和研究,较少用于生产。因此,GIS基础软件最好能高性能运行于Linux操作系统。这就需要跨平台GIS技术的支撑。

  2.2 传统GIS的分布式重构

  传统GIS应用中,海量数据已经形成了很大的冲击和挑战。现在B/S 架构系统都用瓦片提升用户体验,但瓦片数量巨大,很难管理,复制分发很困难。在矢量数据管理中,当一个数据表记录数过亿时,访问性能会急剧下降。海量数据空间分析计算量非常大,若数据量增长一倍,处理时间可能要增加好几倍,耗时非线性增长。这也是传统GIS应用在数据量增长情况下面临的一个新的挑战。以空间叠加分析测试为例,当有1 亿个多边形对象参与运算时,传统算法耗时长达609min(约10h),这在很多应用场景中是难以接受的(见表1)。

  表1 不同计算方法的耗时比较/min

  同计算方法的耗时比较/min

  对传统GIS的分布式重构包括3个方面:空间分析分布式计算改造、空间数据处理分布式计算改造和海量空间数据分布式存储。改造这些技术所用到的分布式存储技术和分布式计算框架都是围绕大数据处理过程发展起来的。

  如图4所示,适用于经典空间信息的分布式存储技术,包括Postgres-XL、MongoDB 和HDFS等,越往上的查询能力越强,越往下的分布式计算能力更强,需要根据情况选择使用。分布式改造的空间分析和空间数据处理算法很多,如叠加分析、缓冲区分析、空间查询、创建索引、复制数据集、数据集裁剪和批量属性更新等。SuperMapGIS9D(2018)已经实现了这些改造算法。

  分布式重构效果仍以叠加分析为例(见表1),经典算法需要609 min,分布式改造后的算法只需要41min,性能提高了14倍。再如,对某省土地利用数据(2261×104 条记录,68.3GB)进行叠加分析试验,在32CPU、64GB 内存的单台计算机上采用传统算法,耗时42min;重构算法在每节点4 CPU和16GB内存、4节点情况下,耗时仅2.1 min。虽然后者采用的计算机配置不如前者,但空间分析的性能却提高了约20倍。

  适用于经典空间信息的分布式存储技术

  图4 适用于经典空间信息的分布式存储技术

  在不采用分布式技术改进空间分析算法时,性能提高百分之几十就已经是很大的进步,而分布式改造直接实现数量级的性能提升。

  2.3 空间大数据技术

  空间大数据技术包含4个方面。

  2.3.1 空间大数据的分布式存储技术

  以前有基于文件和关系数据库的经典空间数据引擎,还有Web数据引擎[13]。为管理空间大数据,需要新增大数据引擎。如SuperMapGIS9D(2018)新增了HDFS、MongoDB和Elasticsearch引擎。

  2.3.2 大数据的空间分析

  SuperMapGIS9D(2018)已经提供了一些大数据空间分析算法,包括3 种模式分析和5 种数据汇总,并将根据需求逐步增加。本文通过4 个例子来说明大数据的空间分析及其价值。

  起讫点(origindestination,OD)分析一般用于计算交通出行中各起点和讫点之间的通行量,可进一步用于职住分析等。图5是基于北京地铁刷卡记录的OD 分析。早上,天通苑居民都向周边区域流出,晚上则相反,证明天通苑是一个名副其实的“睡城”;国贸则是早上人群聚集,晚上流出,说明国贸是工作地。图5还可以反映出天通苑和国贸的人群都流向哪些区域。

  热点分析是通过对点要素进行统计学计算,寻找令人感兴趣的异常区域,即热点和冰点。图6 是基于航班轨迹的热点分析结果,反映出美国的东海岸、欧洲和中国是热点。这跟经济发展水平是对应的。

  基于北京地铁刷卡记录的OD分析

  图5 基于北京地铁刷卡记录的OD分析 图6 基于航班轨迹的热点分析

  密度分析用于计算要素的空间分布密度,不仅仅计算区域内的影响,还考虑周边的影响。图7(a)是对全球货轮航迹数据的密度分析,可以看到中国东部的密度甚至高于欧洲和美洲,从侧面反映出中国经济发展状况。图7(b)为这一分析结果的六边形矢量图的局部放大,每个多边形内都含有代表密度的数值,可以在一定程度上定量反映出不同地区的差异。

  基于全球船舶轨迹的密度分析

  图7 基于全球船舶轨迹的密度分析

  密度分析也可用于商业选址辅助决策。如可以基于电信上网数据进行大数据挖掘分析某城市女装潜在消费者的人群分布密度。这是女装商家非常感兴趣的信息,可以进行服装店选址或有针对性的广告投放等。

  聚合分析与要考虑周边影响的密度分析不同,不考虑边界外的影响,只考虑区域内的统计。这种差异反映在分析结果图上,在密度分析中,每个高值的周围都被次高值包围,类似于平滑效果(见图7(b)),而聚合分析则是每个单元内的值都跟周围的值无关,能更好地反映区域内部的状态。基于广西柳州时空信息云平台,图8(a)是通过手机信令数据分析出的人口分布情况,与图8(b)公安户籍人口分布对比,可以发现存在很大的差异。

  图9(a)是利用航班轨迹数据挖掘的动态聚合分析结果,每个单元格内的数值和颜色代表该区域内的飞机数量,用于改进机场运营、优化航线等。图9(b)是重庆出租车早高峰下车点数据的聚合分析结果,采用了三维表达,可以帮助政府部门分析人们的出行行为模式,判断交通顺畅程度,优化公共设施配置等。

  人口分析

  图8 人口分析

  动态聚合分析

  图9 动态聚合分析

  2.3.3 流数据分析

  大数据的一个显著特点是数据像流水一样,顺序、快速、大量、持续到达,要用可以快速持续计算的工具来处理[2]。SuperMap 基于Spark Streaming封装了对流式空间大数据持续处理的组件,一边数据持续流入,另一边持续输出分析结果。SuperMapGIS9D(2018)提供了地图匹配、路况计算和地理围栏三种常用的流式数据实时计算功能。其中,地理围栏可以实时判断哪些目标落入围栏,并支持进入、保持和退出围栏等细化的状态。图10 是全球航班的地理围栏动态图示,其中黄点代表进入机场附近的航班正在起飞或者降落,而蓝点则为在飞行途中的航班。实时路况计算是另一种常用的流数据实时处理的算法,这个功能也被集成到基础软件中,通过接入浮动车等的位置流数据,便可自动计算实时路况。

声明:中国勘测联合网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。