GIS基础软件技术体系发展及展望

宋关福,陈勇,罗强,武梦瑶

1. 北京超图软件股份有限公司,北京 100015; 2. 自然资源部地理信息系统技术创新中心,北京 100015; 3. 中国科学院地理科学与资源研究所,北京 100101;

论文来源:《地球信息科学学报》2021年1月第23卷第1期

摘要:地理信息系统作为IT系统的重要组成部分,其技术的每一次进步都与最新IT技术的兴起息息相关。随着云计算、大数据、人工智能等技术的发展与应用,如今GIS基础软件已经形成五大技术体系:大数据GIS技术体系,增加了对空间大数据的存储管理、分析处理以及可视化的能力,丰富了空间…

关键词: 大数据GIS;人工智能GIS;新一代三维GIS;分布式GIS;跨平台GIS

1 引言

随着地理信息系统(Geographical Information System,GIS)理论体系的丰富和完善,特别是融合了大量先进的IT技术之后,GIS软件得到快速发展,新技术、新概念层出不穷。鉴于此,本文梳理了GIS基础软件技术发展的脉络,以时间为线简要概述了各种GIS软件技术发展的历程,并着重厘清各种GIS软件技术之间的内在联系,提出了五大GIS技术体系,介绍了五大技术体系所包含的内容,及其相关发展进展。

2 中国GIS技术发展历程

二十一世纪以来,GIS软件技术在城市数字化转型等政府与企业信息化中扮演着愈来愈重要的角色[1],并成为IT领域不可或缺的重要组成部分。回顾中国三十余年GIS基础软件的发展历程,以十年为界,可归纳为以下4个阶段(图1)。

图1 中国GIS技术发展的4个阶段

Fig. 1 Four stages of GIS technology development in China

第一阶段(1987—1997年)。1987年,PURSIS(Peking University Remote Sensing Information System)诞生,是公认的中国GIS软件的起点[2],随后涌现出一大批GIS软件。在此期间,GIS软件形态从早期的命令行形态,逐渐演化为相对更易用的桌面GIS形态。

第二阶段(1997—2007年)。在这个阶段,组件式软件技术和互联网技术飞速发展,成为当时软件技术的新潮流。结合这两项技术,组件式GIS和WebGIS应运而生,这给整个GIS技术体系和应用模式带来巨大影响,并成为GIS软件技术的重要支撑[3-6]。随着地理空间数据越来越丰富,数据量越来越大,单机文件方式已经无法满足应用的需求,空间数据库技术由此诞生,在数据库中实现了空间数据的存储和管理。

第三阶段(2007—2017年)。IT的需求重心从客户端转向了服务端,移动互联网进一步拓展了移动端的需求,GIS的应用也从室外扩展到了室内,从宏观拓展到了微观[7],这些需求和变化,促进了跨平台GIS和新一代三维GIS的发展。同时这个阶段也是数据爆炸的阶段,这对GIS在多源异构数据管理及噪声数据处理等方面提出了诸多挑战[8]。云GIS、大数据GIS也在此背景下出现,改变了传统GIS应用的模式和方法,满足了海量空间数据的存储和分析等需求,从而达到提高GIS服务性能、节约计算资源的目的[9]。

第四阶段(2017年以来),中国GIS软件发展进入第4个10年,在数字化转型飞速发展的背景下,亟需提高GIS基础软件的数据处理效率和智能化水平[10]。利用边缘计算、云原生等技术,解决GIS的性能、稳定性等问题;将人工智能应用于地理信息领域,替代了传统建模中基于领域知识人为设计特征的方式,提升了地理信息提取和特征理解能力[11];并通过空间区块链技术的应用打造安全、可信的空间数据库[12]。

随着地理信息科学理论的发展和信息技术的不断创新,未来GIS软件技术还将持续进步。

3 GIS基础软件技术体系

在应用需求牵引下,在地理信息系统理论发展与新一代信息技术的推动下,GIS基础软件技术体系得到不断丰富和完善,作者在2018年提出GIS四大技术体系分别为:跨平台 GIS、云GIS、新一代三维GIS和大数据GIS[13]。

经过两年的快速发展,人工智能GIS技术体系已初具形态[11];而云GIS发展到云原生GIS阶段,与边缘GIS、分布式空间数据分析与处理、分布式空间数据存储与管理以及空间区块链等技术构成了分布式GIS技术体系。由此形成了GIS基础软件五大技术体系,即:大数据GIS技术(Big Data GIS)、人工智能GIS技术(AI- GIS)、新一代三维GIS技术(New Three-D GIS)、分布式GIS技术(Distributed GIS)、跨平台GIS技术(Cross-platform GIS),合称“BitDC”。

GIS技术体系随着IT新技术的引入,以及智慧城市、数字孪生、新基建等需求的牵引,也在不断的发展和完善中,为实现地理可视化、地理决策、地理设计、地理控制等各个层次的地理智慧应用提供必要的技术支撑(图2),为数字化转型和信息化建设创造更多价值。同时GIS技术体系也将不断丰富和升级,向着更高效、更智能的方向发展。

下面将分别综述“BitDC”这五大技术体系的发展情况。

图2 地理智慧的五大支撑技术

Fig. 2 Five supporting technologies of geo-intelligence

3.1 大数据GIS技术体系

随着互联网、物联网和云计算等技术的快速发展与普及,21世纪以来,全球数据呈指数级增长,各式各样的数据如洪水般涌来,冲击着社会发展的方方面面,大数据时代也随之到来[14]。大数据从规模(Volume)、速度(Velocity)、种类(Variety)、真实(Veracity)和价值(Value)5个方面被归纳为具有“5V”特征的数据[15]。同时大数据在具备空间地理位置属性(Location)后就成为空间大数据,并可用“L+5V”来表示其特征[16]。

根据产生方式,常见的空间大数据可分为互联网大数据、移动互联网大数据、物联网大数据和新型测绘大数据。这些空间大数据普遍存在体量大、种类多、变化快、价值密度低等特点[8]。处理这些数据的技术和方法,已经超出了狭义GIS的范围,需要面向多源异构数据的广义GIS,以接纳地理空间大数据[17],进而形成了面向空间大数据的GIS技术体系(本文中简称为大数据GIS技术)。大数据GIS技术包括空间大数据存储管理、空间大数据分析处理、空间大数据可视化等核心技术(图3)。

图3 大数据GIS技术体系架构

Fig. 3 Architecture of big data GIS technologies

3.1.1 空间大数据存储管理

在空间大数据时代,传统关系型数据库已经不能满足空间大数据的存储和管理需求,需要对传统空间数据引擎进行升级与扩展。基于分布式文件系统、分布式数据库发展的分布式空间数据库,可以有效提升对空间大数据的存储和管理能力。代表性的分布式数据存储技术有Elasticsearch、HDFS、MongoDB、HBase等。其中,基于Elasticsearch的空间数据引擎可以实现对亿级以上的位置空间数据的存储支持;基于HDFS的空间数据引擎(分布式空间文件引擎,Distributed Spatial File,DSF)则适用于亿级记录的静态空间数据的存储与分析;基于MongoDB的空间数据引擎可以实现亿级记录地图瓦片存储;基于HBase的空间数据引擎可以用于亿级空间数据的存储、管理、分析、可视化等综合应用。

3.1.2 空间大数据分析处理

空间大数据分析是大数据GIS技术的核心功能,主要用于研究大数据的空间位置、空间分布、空间关系、空间行为、空间过程等[18]。丰富的算子和强大的算力是空间大数据分析的支撑。空间大数据分析算子包括流式计算、数据汇总、轨迹分析、模式分析、数据筛选等,以满足不同场景的需求。面对超大体量的空间大数据,采用Spark等分布式计算框架,可以有效提升空间大数据分析算子的数据挖掘能力。多样化的空间分析算子结合强劲的空间大数据分析性能可以帮助GIS用户多个维度认知大数据,挖掘更多有价值的信息。

流式计算(流式空间大数据处理),是空间大数据技术的重要组成部分。大量包含空间位置的数据流需要实现连续的数据接入、分析处理和结果的输出。典型的流数据处理算法有路况计算和地理围栏等。其中,地理围栏可以实时判断有哪些目标落入围栏,还可以标记目标在进入、保持和离开围栏时的状态。实时路况计算是另一种常用的流数据处理的算法,通过接入浮动车等位置流数据,自动计算路况,其响应时间在分钟级即可满足基本的应用要求。

目前主流的流数据处理框架有Apache项目的Storm、Flink、Spark Streaming 等。相比前二者 ,Spark Streaming 的显著优势是对流数据和存档数据采用统一的弹性分布式数据集(Resilient Distributed Dataset,RDD)处理模型。这使得面向批处理的大数据分析业务和面向流数据的处理系统可以在一个技术框架内完成,简化了流数据技术方案。流数据的处理架构可以参考图4,在流数据计算框架的基础上,封装对流数据的持续处理能力,一边持续流入数据,另一边持续输出分析结果[16]。

图4 流数据处理架构

Fig. 4 Architecture of streaming data processing

数据汇总是将空间大数据按指定的特征进行分组,并对各组中的数据进行统计或其它整合操作,得到每组数据的汇总结果。分组特征包括空间地理特征、属性特征、时间关系特征等维度。数据汇总是实现空间大数据快速可视化的重要手段。根据分组方式及整合操作的不同,数据汇总可以按照格网汇总、区域汇总、属性汇总和轨迹重建等分析方法来进行。

轨迹分析面向具有时间属性的点要素或面要素进行地图匹配(道路匹配)、预处理和轨迹重建等分析。比如轨迹重建,根据要素的唯一标识确定需要追踪的要素,再根据时间序列追踪要素,形成轨迹对象,重建轨迹线。被追踪的要素,其数据类型可以是点数据或面数据,结果数据类型可以是线数据或面数据。轨迹重建可以设置分割距离与分割时间,用于对轨迹进行逻辑分段。轨迹重建的应用场景有:航运轨迹、台风轨迹、海运轨迹等。

模式分析是从大量数据中分析出事物的运行规律或分布模式,用于辅助决策,包括用于分析交通流量的OD分析、分析事件聚集特征的密度分析与热点分析等。

数据筛选是根据空间数据的位置、时间、属性等信息,筛选出符合要求的数据,常用的方法包括要素连接、异常检测和相似位置筛选。

3.1.3 空间大数据可视化

空间大数据可视化也是空间大数据技术非常重要的内容,是将计算机可视化技术、二维 GIS可视化技术、三维GIS可视化技术等相结合,实现对多源、异构、海量、动态数据的可视化表达。空间大数据可视化形式包括热力图、矩形格网图(矢量、栅格)、六边形格网图(蜂巢图)、多边形格网图、连线图(直线OD图、弧线OD图)、轨迹图等(图5)。这些可视化形式既能以静态图的方式展现,也能以动态的方式展现,既可以在二维方式下展示,也可以在三维方式下展示,以满足对不同可视化形式要求。

图5 空间大数据可视化示意

Fig. 5 Sketch map of spatial big data visualization

大数据GIS技术实现了空间大数据的存储、分析和可视化,形成了一套完整的针对空间大数据应用的解决方案。大数据GIS技术除了需要IT大数据技术之外,还需要跨平台GIS和分布式GIS技术作为支撑,跨平台GIS技术让大数据GIS技术能够运行于Linux、UNIX 操作系统,使得大数据GIS的性能得以充分发挥。分布式GIS技术为大数据GIS技术提供了弹性可扩展的计算和存储资源,支持高效能的流数据处理、实时分析、价值发现等任务。未来大数据GIS技术将不断突破系统硬件资源的限制,结合人工智能GIS等技术,进一步提高空间大数据存储、管理和分析能力,同时融合更丰富的可视化技术,形成一套高效的空间大数据,实现其从采集、治理、整合到存储、分析、发布等一体化的全流程管理与应用。

3.2 人工智能GIS技术体系

随着计算能力的提升,机器学习、深度学习等算法得到了进一步发展和应用,人工智能(Artificial Intelligence,AI)也日渐成为新一轮科技革命和产业变革的核心驱动力,基于人工智能的GIS技术体系(本文中简称为人工智能GIS技术)成为新一代GIS技术的重要发展方向[18]。数据量、计算能力、算法模型和应用场景是人工智能的主要驱动力,对于人工智能GIS技术体系,可相应自下而上划分为数据层、领域库、框架层和功能层四大部分[11],如图6所示。最底层为数据层,既包括遥感影像这样的文件型数据,也包括关系型数据以及大数据场景下使用较多的NoSQL数据。数据层之上为领域库,是指聚焦于地理空间信息领域,面向AI技术中较为基础和重要的样本和模型2个方面开展建设,不断丰富各类地理空间数据样本和模型。举例来说,面向基于深度学习的遥感影像分析任务,可以细分为场景分类、目标检测、分割等几类功能,针对不同功能开展相关样本收集积累和模型训练,不断迭代更新完善。在框架层中,需要通过合理的抽象和封装兼容多种AI框架,既可以避免重复性研发工作,又可以高效地与最新算法和模型研究成果进行融合。最上面的功能层即具体提供出来的人工智能GIS技术能力,是人工智能GIS技术体系的主体,包括三大核心内容:GeoAI(人工智能GIS算子)、AI赋能GIS(AI for GIS)和GIS赋能AI(GIS for AI)。

图6 人工智能GIS技术体系架构

Fig. 6 Architecture of AI GIS technologies

3.2.1 GeoAI

GeoAI算子以数据准备、模型训练和模型应用的完整流程工具为基础实现。当前AI技术已经完成了从统计学向机器学习的进化,并不断向深度学习推进。因此GeoAI算子主要包含空间机器学习和空间深度学习2个部分。空间机器学习包含聚类、分类和回归等多种分析,形成了包括空间热点、空间密度聚类、决策树分类、决策树回归、基于森林的回归等一系列空间机器学习算子(图7),在城市治理,土地利用和生态恢复等场景中得到了广泛应用。

图7 部分空间机器学习算子

Fig. 7 Some operators of geospatial machine learning

空间深度学习则以卷积神经网络(Convolutional Neural Network,CNN)和图神经网络(Graph Neural Network,GNN)为代表,对GIS中图片数据、影像数据、时空数据和三维数据等进行处理,实现了包括建筑物底面提取、地物分类、二元分类、场景分类,目标检测,对象提取、图时空回归等空间深度学习算子(图8),广泛应用于遥感影像分析、道路和建筑物提取、气象建模、交通流预测等场景[20-24]。随着语义分割,实例分割等新技术的持续融入,空间深度学习的效率和准确性正不断被提高。

图8 部分空间深度学习算子

Fig. 8 Some operators of geospatial deep learning

3.2.2 AI赋能GIS

AI赋能GIS即基于AI技术,增强和优化GIS软件功能和用户体验,体现在融合AI的增强现实(Augmented Reality,AR)、属性采集、测图、配图、交互等方面。通过AI智能识别和AR可视化,能达到信息实时虚拟化的展示效果;利用目标检测和分类技术可以减少GIS数据采集耗时;基于SLAM框架和IMU融合技术的视觉惯性系统 (Visual- InertialSystem,VINS)[25],可以在没有卫星定位信号的室内环境中实现定位(图9),进而实现基于AI+AR的室内导航,并可进行非专业测绘要求的室内测图(图10),其直接测图精度在小范围最高可达厘米级,通过控制点等辅助方式可实现大范围厘米级精度测图,对测图硬件设备要求也较低(一部支持AR技术的手机即可),可应用于商城、地铁、停车场、办公楼、地下空间等环境的快速室内测图,降低室内测图成本;使用机器学习聚类算法可实现自动化配图;基于AI语音识别和手势识别技术可简化GIS软件交互流程。这些都是AI赋能GIS的体现,有效地提升了GIS软件的智能化水平。

图9 基于AI+AR的室内定位

Fig. 9 Indoor positioning based on AI and AR


图10 基于AI+AR的室内测图

Fig. 10 Indoor cartograph based on AI and AR

3.2.3 GIS赋能AI

GIS赋能AI即基于GIS技术,将AI分析结果进行空间可视化和进一步空间分析,让AI技术发挥更大的作用。GIS能够提供热力图、聚合图等多种可视化的地图展示效果来对AI分析结果进行表达,协助用户掌握整体空间信息。基于GIS的空间分析功能,则可以利用空间实体间存在的多种空间联系,建立视频空间和真实地理空间的映射,进一步挖掘视频数据的深层隐含信息,被广泛应用于行人和机动车违章检测、目标车辆追踪等场景。

随着人工智能技术的飞速发展,GIS与人工智能从数据、模型到应用等多个方面进行了融合:人工智能为GIS注入智能化基因,提高了效率,降低了成本;GIS则为人工智能提供了可视化窗口和空间分析能力。二者相互赋能,在自然资源、智慧城市、农林、水利、交通、环保等方面已经得到了应用。在人工智能技术不断深入和完善过程中,人工智能GIS技术也将为GIS产业创造更大价值。

3.3 新一代三维GIS技术体系

自2004年Google Earth发布以来,三维GIS得到业界广泛关注[26]。随后,业界出现了大量基于开源三维渲染引擎的三维GIS软件,但随着该技术的推广,潜在弊端也逐渐显现,即该类型产品侧重于三维可视化,无法满足GIS行业的深度应用。2009年,北京超图软件股份有限公司(SuperMap Software Co.,Ltd.,简称超图软件)推出了国内外首款二三维一体化GIS平台软件,将二维和三维在数据模型、数据存储与管理、可视化与空间分析、软件形态等层面实现了一体化,以解决三维GIS系统不实用的问题[27]。自2009起,经过十余年发展,新一代三维GIS技术推出了更丰富的三维数据模型,并结合先进IT技术不断丰富其内涵,产生了由二三维一体化数据模型、二三维一体化GIS技术、多源三维数据融合技术、三维空间数据标准和三维交互与输出技术组成的新一代三维GIS技术体系,如图11所示。

图11 新一代三维GIS技术体系架构

Fig. 11 Architecture of new 3D GIS technologies

3.3.1 二三维一体化数据模型

二三维一体化数据模型有效解决了三维空间表达和分析的难题,完成了从二维点、线、面到三维体;从二维网络到三维网络;从不规则三角网(Triangulated Irregular Network,TIN)到不规则四面体网格(Tetrahedralized Irregular Mesh,TIM)(图 12);从栅格(Grid)到体元栅格(Voxel Grid)的升级与拓展(图13)。2018年超图软件率先在SuperMap GIS基础软件中提出并实现了TIM和体元栅格,最终完成了空间数据模型从二维到三维全面升维[28]。形成了涵盖离散对象、连续空间、链接网络的完整的空间数据模型体系,使得新一代三维GIS技术具有对现实世界全空间表达的能力。

图12 TIN升级到TIM

Fig. 12 From TIN to TIM


图13 Grid升级到Voxel Grid

Fig. 13 From Grid to Voxel Grid


3.3.2 二三维一体化GIS技术

二三维一体化GIS技术主要是指数据存储一体化、分析功能一体化和软件形态一体化等关键技术。其中一体化的空间数据存储与管理,解决了二维数据、三维数据分别存储的问题,实现一份数据既可供二维使用,也可供三维使用。分析功能一体化不仅让二维分析的结果在三维场景中展示成为可能,还支持三维空间运算、三维空间关系判断、三维空间分析、降维计算、三维网络分析和三维量算等三维场景的分析功能。软件形态一体化则指从GIS服务器到桌面端、浏览器端、移动端的跨平台三维支持。通过二三维一体化技术,实现了一份数据在一套软件中,可以根据需要进行二维、三维的分析和可视化等能力。

3.3.3 多源三维数据融合技术

随着数据采集技术的迅速发展,不同来源、不同类型的空间三维数据的高效融合成为一大挑战。对新兴的倾斜摄影模型、BIM、激光点云、三维场等三维数据与传统的影像、矢量、地形、精模、地下管线等多源数据的无缝融合是新一代三维GIS技术的关键技术之一,如融合倾斜摄影和激光点云,大幅提升了三维GIS数据采集与生产效率,增强并提高了三维场景的真实感与精度;融合BIM实现了室内外一体化的无缝衔接等。多源数据的融合匹配可以有效降低GIS应用系统的建设成本、提高空间数据的使用效率。

3.3.4 三维空间数据标准

随着三维GIS的广泛应用,提供统一的三维数据标准及规范,对三维数据共享和互操作的支持成为广大三维GIS用户日益迫切的需求。目前,新一代三维GIS技术在国家《地理空间数据库访问接口标准》(Open Geospatial Database Connectivity,OGDC)[29]的基础上已经实现了三维数据读写访问接口的扩展,为多源异构三维数据提供了统一的入口;同时,随着《空间三维模型数据格式》(Spatial 3D Model,S3M) [30]以及《空间三维模型数据服务接口》[31]等团体标准的发布,将更进一步推动倾斜摄影模型、激光点云、BIM、三维场等多源异构的三维数据融合以及多种软硬件环境的兼容,打通数据隔阂,实现三维地理空间数据的共享和深入应用[32]。

3.3.5 三维交互与输出新技术

新一代三维GIS技术集成了WebGL、VR、AR、AI、3D打印等IT新技术[33],为用户带来更便捷、更真实的三维体验。其中,游戏引擎与GIS的跨界融合,一方面可以赋能游戏开发者,可使用真实的地理空间数据开发游戏,另一方面可在数字孪生城市等三维GIS应用场景中,采用GIS软件提供后台数据与空间分析服务,游戏引擎在前端提供可视化与交互能力,大幅提升三维GIS应用的可视化效果。

新一代三维GIS技术实现了数据模型、场景构建、空间分析和软件形态的二三维一体化,更全面地融合倾斜摄影模型、激光点云、BIM、三维场等多源异构数据,基于分布式的处理工具实现实景三维数据的高效全流程管理,并集成IT新技术带来更友好、更便捷的三维体验。在新型智慧城市、数字孪生建设等需求的推动下,新一代三维GIS技术将在标准化建设、海量数据加载、处理以及可视化等方面取得长足的发展。

3.4 分布式GIS技术体系

当前,随着地理空间数据的数据量爆炸式增长,GIS软件技术及应用面临数据密集、计算密集、并发密集和时空密集四大挑战[34],传统GIS软件已很难应对这些挑战,迫切需要通过分布式技术来突破超大规模时空数据和服务管理,以满足各类用户对超大规模时空数据高效管理和高性能计算的实际应用需求。分布式GIS技术是指利用多机分布式协同技术和计算资源的横向扩展能力,集群完成大量并发任务,或分解完成单一复杂任务的GIS技术。分布式GIS技术是GIS技术重要的发展方向和信息技术升级换代的必然要求。分布式GIS技术体系如图14所示。

图14 分布式GIS技术体系架构

Fig. 14 Architecture of distributed GIS technologies

3.4.1 分布式空间数据存储与管理

数据库管理系统起初都是单机形式,随着在线业务的蓬勃发展,很多系统都面临处理高并发、大数据量、超高峰值等挑战,数据库开始了分布式之旅。分布式空间数据库主要解决海量时空数据的存储、查询和分析等的需求,重点应对扩展性、高可用等挑战[35]。

利用分布式存储技术建立统一的数据管理引擎,包括分布式空间文件管理系统(HDFS等)、分布式SQL数据库(Oracle、Postgres-XL等)和分布式NoSQL数据库(HBase、MongoDB、Elasticsearch等),并提供统一的管理接口,从而支持对TB级和PB级规模空间数据的存储和管理。通过分布式空间数据引擎,不同存储格式下的空间数据分别通过不同的数据引擎被快速访问和查询,并通过统一的一体化模型进行使用,同时分布式空间数据引擎突破了存储容量的限制,解决了海量数据的存储、管理问题。

3.4.2 空间区块链技术

区块链是一种分布式的数据存储方式,由一串使用密码学方法产生的数据存储结构组成,每一个区块都包含上一个区块的哈希值,从创世区块开始连接到当前区块,形成区块链,每一个区块都确保按照时间顺序在上一个区块之后产生,否则无法得到前一个区块的哈希值[36],如果要篡改某一个区块的数据,就需要修改这个区块后续所有区块的数据(图15),同时由于区块链在多个分布式节点上重复存储多份,还需要修改其他节点所有相关的数据,才能完成数据的篡改,这使得区块链上的恶意篡改变得非常困难。

图15 篡改区块链数据过程示意

Fig. 15 Process diagram of tampering with blockchain data

为了实现安全、可追溯、高可信等特点,区块链存储会导致性能降低,以及空间膨胀。因此,一般仅仅把需要保护的关键数据上链管理即可,尽可能避免把所有空间数据上链管理。

空间区块链采用“链内存储和IPFS链外扩展”并行的方式,设定数据量阈值,低于阈值采用直接上链存储,高于阈值时,将使用星际文件系统(InterPlanetary File System,IPFS)进行链外存储,将数据写入IPFS网络,并将返回的哈希值存储到区块链中。其中,IFPS主要用来存储大规模的空间数据和非结构化文件数据,与区块链技术类似,也是一种去中心化的存储方式,通过文件内容生成独立哈希值来表示文件,然后上链存储,这样既节约了存储空间,又降低了存储成本,还能够提高空间数据的访问性能。

3.4.3 分布式空间数据分析与处理

Spark是目前使用最广泛的分布式计算架构,但其本身不具备空间分析计算能力,为了实现对海量空间数据的分析与处理能力,需要将GIS基础内核与Spark架构进行融合,构建空间大数据分析引擎。首先通过拓展Spark的基础数据模型(RDD/DataFrame),实现其对点、线、面等多源空间数据的支持;并扩展Spark对空间索引的支持,提高性能优化能力;同时重构GIS软件已有的分析处理算法使其具有分布式计算的能力,构建分布式的空间数据分析与处理模型,包括经典的矢量和栅格数据分析、空间大数据分析(热点分析、聚合分析等)、GeoAI分析算法(空间聚类分析、回归分析等)以及三维数据分析(挖洞分析、镶嵌分析等),拓展GIS软件对多源异构数据的分析能力,实现从时间、空间、属性多个维度进行数据挖掘;另外,提供多类别GIS空间分析算子编排协同的地理处理(Geoprocessing,GP)工具,将GIS空间分析任务的拆分、执行与Spark的任务调度模型实现深度融合,进一步提升GIS软件的计算和应用能力。通过分布式改造,传统的空间分析效率,相比单机的空间分析,都有数量级的提升,部分测试对比结果如表1所示。其中,单机分析计算环境为4核16GB内存;分布式分析计算环境为6节点,每个节点与单机分析计算环境相同。

3.4.4 云原生GIS技术

云原生是原生面向云设计软件的一种思想理念,是充分发挥云效能的最佳实践路径,有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用[37]。云原生GIS则是原生为云设计的GIS软件技术,包括GIS微服务、GIS容器化部署、GIS自动编排等内容。

其中GIS微服务就是把传统复杂的单体WebGIS软件拆分为可独立运行的若干个服务模块,每个服务模块专注单一的功能,如数据目录服务、地图服务等,并可以实现独立编排和部署。GIS容器化部署是指GIS的部署方式从虚拟机变为容器,利用容器化技术将拆分的GIS微服务制作成Docker镜像存入镜像仓库,部署时直接拉取镜像形成容器,通过容器运行的方式提供服务。GIS自动编排是指在部署过程中,利用Kubernetes作为微服务的管理工具,提供GIS容器的自动化编排,可以快速地部署多节点GIS环境,并且根据访问压力实现基于微服务的资源弹性伸缩能力和故障恢复能力。

通过云原生GIS技术,降低了资源的消耗,提高了资源的利用率,并实现了故障隔离,从而大幅提高系统稳定性,还可以实现服务的自动化管理与运维。

3.4.5 边缘GIS技术

GIS应用需要消耗大量的带宽和计算资源,当出现大量并发应用时,就会出现带宽不足、计算延迟等问题,在借鉴边缘计算和互联网CDN(ContentDelivery Network)的思想后[38],SuperMap GIS提出了边缘 GIS 技术。在靠近GIS云中心的网络边缘侧,就近提供低延时的服务(图16),同时利用边缘计算能力,提供更快的计算响应,满足行业数字化在敏捷联接、实时业务、数据优化、应用智能、安全与隐私保护等方面的关键需求[39]。除了在数据处理上的高效率,在服务聚合、空间数据分发方面,边缘GIS技术都能很好地提升系统工作效率,缓解带宽压力和云中心的计算压力,降低时间与资源消耗,提升系统整体性能。

图16 边缘节点与云中心分布式协同

Fig. 16 Distributed collaboration between edge node and cloud center

分布式GIS技术突破了传统GIS软件在数据管理处理、数据安全和性能方面的瓶颈,实现了GIS在高可用、高并发、高弹性、高性能、大容量、高可信(简称“五高一大”)等方面的重大突破,构建起GIS云边端一体化的分布式协同应用新模式。

3.5 跨平台GIS技术体系

随着WebGIS的兴起,GIS功能重心从客户端转移到服务器侧,鉴于服务器操作系统中除Windows外,Linux也有大量份额,因此GIS软件跨操作系统成为一种新的趋势,2001年超图软件启动了跨平台GIS软件技术的研究与开发。

考虑到GIS属于计算密集型应用,跨平台GIS技术内核采用了性能最高但也最复杂的 C++技术路线,利用C++语言一次编写、多平台编译的特点,实现了支持多种CPU、操作系统和数据库的高性能、原生的跨平台GIS技术。支持x86、ARM、MIPS、OpenPower、SW-64等多种CPU架构;支持Windows、Linux、UNIX等PC和服务器操作系统以及Android、iOS等移动操作系统;并基于Oracle、PostgreSQL、HBase、华为GaussDB、阿里PolarDB等多种商用或开源数据库实现了统一接口的空间数据引擎。

跨平台GIS技术从开始研发到产品全面成熟并面向市场经历了十几年的时间,这其中最主要的原因就是跨平台技术存在很多技术难点。比如需要解决因异构硬件平台(如不同架构CPU,字节序处理方式不同等)带来的问题;为了满足上层应用对不同开发环境的需求,要针对不同的开发语言进行相应的封装,对Java进行支撑时,需要通过JNI技术对C++内核进行封装,实现Java语言对C++功能的调用;基于Java Swing图形界面技术构建标准工具条,需实现界面布局,屏蔽不同操作系统间的可视化差异[40];利用同样的技术思路,实现对Python、.NET等其他语言环境等支持。

基于跨平台GIS技术,在政府和企业的信息化建设需要多种基础运行环境时,GIS软件可快速实现对各类CPU(如华为鲲鹏、龙芯、飞腾等)和操作系统(如中标麒麟、银河麒麟、统信UOS等)的适配(图17),实现跨终端、跨系统、跨环境的高性能GIS应用,为信息化建设的安全提供保障。

图17 跨平台GIS支持的部分软硬件环境

Fig. 17 Software and hardware environments supported by cross-platform GIS

跨平台GIS技术作为基础支撑技术,与分布式GIS技术、大数据GIS技术、人工智能GIS技术和新一代三维GIS技术等新技术进行深度融合,比如在跨平台GIS技术的支撑下,新一代三维GIS技术可以在Windows、Linux、Android、iOS等多种操作系统下实现三维场景的高性能渲染,完成场景的调度、裁剪控制、资源管理、绘制等,同时结合WebGL技术,实现无插件、跨平台、跨终端、跨浏览器的Web三维应用。跨平台GIS技术也会根据技术发展和应用需求的变化,不断实现对新的软硬件环境的支撑和应用。

4 结论与展望

结合未来发展趋势,本文将GIS技术分为五大体系。大数据GIS技术是底层支撑,深度挖掘空间大数据价值。人工智能GIS技术赋能地理智慧,为GIS带来了智能化的产业变革。新一代三维GIS技术提供了全空间表达、真三维分析计算,以及结合游戏引擎实现的生动视觉体验。分布式GIS技术将为GIS技术带来更高效、更弹性、更稳定等方面的能力。跨平台GIS技术则使得GIS基础软件技术安全性、扩展性、创新性得以保障。这五大技术体系对前沿技术与GIS行业进行了深度融合,使得GIS技术与时俱进,能够切实满足用户多样化的空间信息需求。

根据技术所处不同应用阶段,绘制了GIS软件技术成熟度曲线(光环曲线)(图18),五大技术体系分别处于不同的位置。

图18 GIS软件技术成熟度(光环曲线)

Fig. 18 GIS software technology maturity (Hype Cycle)

(1)跨平台GIS技术已入成熟期,目前已广泛支持多种操作系统和CPU,正在得到广泛应用;

(2)新一代三维GIS技术正在从复苏期向成熟期转移,未来将在三维空间分析和三维可视化效果等方面继续完善,并将在实景三维中国、自然资源三维立体一张图、CIM等领域得到广泛和深入应用;

(3)分布式GIS技术已度过低谷期,处于复苏期,技术和产品正在逐步成熟和完善,正在有越来越多领域得到应用,未来将成为大型系统的基础支撑技术;

(4)大数据GIS技术正在从低谷期转入复苏期,随着技术的成熟和完善,应用将会逐步推广;

(5)人工智能GIS技术正从过热期滑向低谷期,经过最近两三年的宣传,应用单位的期望高于技术成熟度,能否尽快度过低谷期,取决于未来技术发展的速度,进入成熟应用还有待时日。

GIS技术体系由四大技术体系发展到五大技术体系,也只是GIS发展应用过程中的一个阶段性成果,在应用需求的牵引和IT技术的推动下,未来GIS技术体系还将会不断的演化和进步,出现更多GIS技术的创新。