数字孪生的概念最初由NASA科学家在2012年提出,用于镜像太空飞行器的生命周期,后来成功应用于制造业,以提高制造流程的性能。之后,数字孪生技术在多个方向上发展——其中之一是智能和可持续城市/区域。开发智慧和可持续城市至关重要,因为世界一半以上的人口居住在城市,城市造成了70%的温室气体排放。因此,建模城市环境和发展,优化运营效率,增强决策是发展可持续城市的关键。为了实现上述目标,数字孪生围绕地理空间上下文发展,产生了一种新型的数字孪生——本文中称为空间数字孪生。
1.空间数字孪生
空间数字孪生(SDT)本质上是现实世界地理空间对象(例如,建筑物、道路)和系统(例如,环境或交通监控)的镜像表示。地理空间协会正式定义SDT为具有精确位置和维度属性的虚拟表示,其中虚拟模型以同步频率更新。
在高层次上,SDT和传统的数字孪生(DTs)有许多相似之处,两者都维护现实世界对象的虚拟表示,以协助监控、规划和具有预测能力的决策制定。SDT与DTs的关键区别在于SDT纳入了空间上下文,以捕获和提供地理空间对象和过程的位置和相对维度表示。
2.应用
虽然SDTs常被错误地与用于城市规划和发展的3D建模和可视化技术混淆,但SDTs的能力远远超出了这些应用,涵盖了具有许多潜在用途的广泛功能。我们列出了一些重要的应用领域,如下所示。
3.空间数字孪生的不同组件
空间数字孪生的组件
1.数据获取与处理
开发SDT的第一阶段是获取和处理有关物理环境的数据。这包括遥感技术(例如LiDAR、无人机、卫星图像等)、定位技术(例如GPS)、物联网(IoT)传感器(例如空气质量传感器、交通传感器、GPS、摄像头等)、软件系统(例如CAD)。从各种数据获取技术捕获的数据必须被处理,以创建物理环境的数字表示。
2.数据建模、存储和管理
为了处理大型空间数据类型和操作,传统的关系数据库管理系统(RDBMS)已经扩展了它们的范围,以支持空间数据。例如,OracleSpatial、MicrosoftSQLServer和PostgreSQL/PostGIS已经提供了对许多重要空间数据类型和一些关键空间操作的支持。PostgreSQL还包含了对空间栅格数据(例如图像)的支持。据最近的研究报道,PostgreSQL在空间数据类型、查询和可扩展性方面具有最佳的的空间支持。它支持包括2D和3D几何类型在内的不同几何类型,如点和多边形,以及各种查询,如连接和k最近邻(kNNs)。其他流行的空间RDBMS(例如OracleSpatial和SQLServer)也在持续适应新特性,以使这些系统适合于大空间数据时代。最近的研究还讨论了如何使用这些空间RDBMS管理和存储3D城市模型。
非结构化数据,如文本、文档和图形,在许多应用中增加了空间数据。NoSQL(Not-Only-SQL)数据库系统由于其无模式和可扩展性,已经成为处理各种类型的大量非结构化数据的流行选择。许多这样的NoSQL数据库系统最近已经扩展到处理空间数据类型和操作。例如,MongoDB,一个用于管理文档的数据库,提供了对基本GeoJSON对象的支持(例如,点、线串和多边形)。同样,OracleNoSQL,一个键值存储数据库,也支持常见的几何对象和一组空间操作符(例如,相交、内部、附近等)来处理空间数据。Neo4j,一个流行的图形数据库管理系统,有一个名为Neo4jSpatial的空间扩展,可以存储、索引和处理空间数据。
3.大数据分析系统
移动定位应用、GPS汽车、自动驾驶车辆、无人机、IoT设备、卫星图像等的快速和广泛使用,导致了时空数据的空前增长。例如,每天大约有10亿条推文被创建,其中30-40%包含地理位置信息。一辆处于自动驾驶低端的车辆每小时产生约1.4TB数据。为了在SDT中托管这些大量时空数据,并支持各种分析和查询操作,最近的研究方向集中在大数据分析系统的时空扩展,如Hadoop、Spark和NoSQL。这些大数据分析系统可以通过分布式处理使SDT系统具有可扩展性。
Hadoop使用MapReduce框架对大数据进行分布式处理。由于Hadoop中没有支持时空数据,因此开发了一些扩展,如Hadoop-GIS和SpatialHadoop,以处理空间数据类型,如点、轨迹等。由于Hadoop是基于磁盘的系统,当有大量的I/O操作时,性能可能会下降。为了解决这个问题,开发了一些基于主存的大数据分析系统,如SpatialSpark、GeoSpark等。另一组大空间数据处理系统已经使用NoSQL范式出现,例如MD-HBase、TrajMesa等。
由于时空数据的增长速度前所未有,SDTs需要托管不同类型的数据以发现洞察并帮助做出预测性决策,因此我们需要这些大空间数据处理系统来构建SDT。然而,与数据库管理系统不同,后者有数十年的研究和广泛的测试,这些大空间数据处理系统仍处于成长期,还没有使用各种空间数据类型和数据流对这些系统的性能进行基准研究。
4.地图和GIS中间件
在本节中,我们讨论了用于在地图上可视化空间(或地理)数据和轻松执行各种空间操作的软件和工具。我们将这些工具和软件分为三组:GIS软件;基础地图;以及API和库。这些系统对于智能、快速和高效开发SDT至关重要。接下来,我们将详细介绍。
4.1GIS软件
一个集成的地理信息系统(GIS)提供了一个环境,将地图集成以可视化和与空间数据交互,并提供工具对这些数据执行各种操作。它们还提供平台,以在地图上发现有趣的模式和洞察。一些广泛使用的GIS软件是ArcGIS(来自ESRI)和QGIS(开源)。这些GIS软件支持所有基本的空间数据操作和分析设施,并在地图上可视化。这些软件也可以与数据库管理系统和其他底层空间数据分析平台集成。此外,这些软件还支持不同编程语言的编程,如Python、R等。波士顿数字孪生使用ArcGIS技术构建他们的SDTs。
作为一个SDT的主要特点是可视化和与城市环境交互,开发了一个开源的3D地球平台Cesium。Cesium使开发人员能够围绕3D地图构建地理空间应用程序,Cesium特别优化了大型数据集的可视化,例如地形、建筑物和实时传感器数据,并为创建沉浸式地理空间体验而设计。CesiumJS是一个开源的JavaScript库,用于创建世界级的3D地球仪和地图,具有最佳的性能、精度、视觉质量和易用性。新南威尔士数字孪生使用Cesium构建他们的空间数字孪生。
4.2地图服务
从广义上讲,我们可以将现有的地图服务(如OpenStreetMap、BingMaps或GoogleMaps)视为空间数字孪生。这些平台创建并使用物理道路网络、河流、兴趣点等的数字表示来解决各种查询,例如定位兴趣点或找到到达目的地的路线。这些地图服务中还有许多不同的地图层,包括卫星地图、交通地图、地形地图、3D地图等。除了这些基本层外,SDT还需要许多其他地图层,如公用事业地图层、室内地图层,或任何其他基于公用事业的层,如温室气体排放或能源使用。因此,地图层在开发SDT中起着至关重要的作用。因此,可以使用这些广泛使用的地图服务作为构建自己的SDT的基础。
4.3工具、API和库
5.关键功能性组件
我们将SDT的功能广泛地分为五个不同的类别:探索和可视化;查询;挖掘;模拟;和预测分析。接下来,我们详细讨论这些内容。
5.1探索和可视化
5.2查询
尽管对空间数据库和空间查询进行了广泛的研究,但目前只有少数商业数据库系统,如OracleSpatial和PostgreSQL,提供对底层空间数据库的空间查询支持。然而,这些系统并不支持新兴的数据类型,如3D数据和轨迹,也未解决如从查询点识别可见的3D对象或查找相似轨迹等专业查询。最重要的是,用户发现编写空间SQL查询并从这些数据库系统中检索所需信息并不方便。用户通常发现使用文本形式制定空间查询更方便,例如在GoogleMaps和BingMaps等地图平台上搜索兴趣点(POI)。这种将文本查询与底层空间技术集成的方法,特别是在SDT中,可以被证明是一种高效的用户访问他们所需空间数据的方法。最近的NLP研究集中在将用户文本描述转换为SQL(即,文本到SQL)并从关系数据库中检索所需信息。这些技术的扩展可以空间化,帮助用户查询空间数据。
5.3挖掘
数据挖掘技术对于分析SDT生成的数据和识别模式、关系和趋势至关重要,这些模式、关系和趋势可以提供有关物理世界运作方式的有价值洞察。例如,挖掘技术可以用来识别城市中温室气体排放量高的区域,或检测某些区域空气质量的异常。设计能够自动从数据中识别出有趣洞察的技术至关重要,这些技术需要很少或不需要人为干预。这些技术对于SDT的有效使用至关重要,因为它们允许我们将原始数据转化为可以用于优化物理系统性能和改进决策的可操作洞察。
5.4模拟
模拟在空间数字孪生中至关重要,因为它们提供了一种非破坏性的测试和分析系统性能和行为的方法。技术的进步,如云计算、机器学习和物联网(IoT),已经彻底改变了SDT中的模拟功能。空间数字孪生模拟操作可以应用于许多场景。例如,可以在交通中模拟交通流量,并优化交通路线以减少拥堵并提高安全性。可以模拟建筑物或社区的能耗,并识别节能机会。可以模拟生产过程以提高效率并最小化浪费。可以模拟紧急情况,如自然灾害或恐怖袭击,以规划和培训响应工作。在医疗保健领域,可以模拟患者流动和医院运营,以优化资源分配并改善患者护理。
5.5预测
几个组织已经在SDTs中实施了AI/ML和实时数据。例如,圣地亚哥使用实时数据预测并预防野火,通过分析天气条件和其他环境因素。迪拜电力和水务局使用AI/ML预测能源消耗并优化建筑中的能源使用,利用实时数据响应能源需求的波动。鹿特丹港使用实时数据预测船舶运动并优化港口资源,实现更有效和有效的港口运营。
最近的人工智能和机器学习技术进步,以及在区块链和云计算方面的突破,显著提高了我们在各个领域有效解决广泛问题的能力。接下来,我们将讨论这些技术如何影响SDT的开发和运营。
1.AI和机器学习
AI/ML技术在DT和SDT的开发和运营中扮演着重要角色。SDT是复杂的系统,需要先进的技术来优化它们的性能和效率。AI/ML技术是这方面的关键组成部分,因为它们使数字孪生能够从数据中学习,预测未来的结果,并提供改进的建议。这方面的贡献有三个主要方面:
2.区块链
虽然区块链的功能和属性可以提供一个可靠的支持系统,以确保可信度,但重要的是评估哪种区块链适合SDTs。一些探索领域可以是区块链的类型适用性,例如私有/公共,共识协议的性质,例如工作量证明(PoW)或权威证明(PoA),以及实证理解存储和操作区块链的区块链网络的特征。例如,性能、资源消耗和可用性是关键属性,需要研究,因为这些不是区块链网络的固定特性,而是基于区块链网络的设计而变化,网络设计知识变得非常重要。有越来越多的科学和商业文献以及现成的产品,可以帮助进行任何类型的可行性研究和/或实验,系统地评估使用DLTs支持SDTs的机制和潜在好处。
3.云计算
SDT预计将由大规模的技术基础设施支持,用于计算、存储和网络。支持基础设施还预计将满足诸如可扩展性、延迟、安全性和可用性等质量属性要求。随着虚拟化基础设施技术的成熟和广泛采用,如云/雾计算、容器和网络功能虚拟化(NFV),SDT可以有效地利用基于云计算的技术。考虑到公共云服务提供商(如AmazonWebServices和MSAzure)提供的大量云服务,以及私有云基础设施,全面理解各种技术和商业模式对于获取和利用虚拟化基础设施服务以支持SDTs变得至关重要。
例如,技术模型包括基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。云技术主要提供三种数据存储、处理和网络的主要部署模型:私有、公共和混合。所有这些技术和商业模式都有其优点和缺点。例如,公共云可能比私有云更昂贵,后者被认为更安全。然而,选择私有云的组织需要拥有设计、实施和运营私有云的知识和专业技能,以满足SDTs的功能和非功能要求;使用商业云基础设施则不需要这些知识和专业技能的要求。
挑战和未来的工作
1.多模态和多分辨率数据获取
2.空间查询的自然语言处理(NLP)
当前SDTs上的查询处理技术仅限于在关系型或NoSQL数据库系统上运行SQL查询,或在地图服务上运行文本查询(例如,在GoogleMaps上查找兴趣点)。最近的NLP突破使研究人员能够设计出文本到SQL的技术,这些技术有助于自动将自然语言文本转换为SQL,并运行查询以从数据库表中检索答案。尽管这种方法的准确性还不足以商业使用,但最近的非常大的对话生成语言模型,如GPT-3/4和LaMDA,在基于自然语言的数据库查询处理方面显示出巨大的希望。我们预见到,在SDTs中利用这些非常大的语言模型进行基于自然语言的查询处理,将有很大的研究范围。由于空间数据及其关系和其他描述空间实体的关联数据使整个数据交互用例变得复杂,有趣的是,我们如何可以结合使用不同的空间(例如,相邻/附近)和结构(例如,道路网络)属性以及表格数据来回答SDTs上的用户查询。
3.为SDTs基准数据库和大数据平台
4.多模态分析
5.构建模拟环境
6.可视化复杂和多样化的交互
总结
在本文中,我们提出了一个全面且系统的关于构成空间数字孪生(SDTs)基础组件的空间技术集合。SDTs的构建块被归类为四个层次,我们为每个层次提供了关键空间技术的全面概述,涵盖了数据获取、处理、存储和可视化等方面。我们还展示了AI和ML、区块链以及云计算等现代技术如何促进更有效和高效的SDTs的发展。
重要的是要注意,目前还没有现有的研究专注于识别这些对于SDTs开发至关重要的关键技术。因此,在这个多学科领域的研究人员和从业者,特别是那些对地理空间进步了解有限的人,可能会在采用这些技术进行SDTs开发时遇到困难。因此,这项跨学科工作在弥合地理空间、城市和交通工程以及城市规划等领域的研究人员和从业者之间的差距方面具有巨大的潜力。