基于道路格网的城市三维数据增量更新技术研究

2018-10-21 01:27鹏,霍亮,2,王锐,宋磊,方
地理信息世界 2018年1期
关键词:格网空间数据增量

鲍 鹏,霍 亮,2,王 锐,宋 磊,方 敏

(1. 北京建筑大学 测绘与城市空间信息学院,北京 102616;2. 现代城市测绘国家测绘地理信息局重点实验室,北京 102616)

0 引 言

城市三维数据是数字城市3DGIS建设中的重要组成部分,由于城市三维数据更新速度快、数据量大等特点,城市三维数据更新逐步成为新的研究热点[1]。

空间数据的组织方式是数据管理与更新的基础。目前广泛使用的空间数据组织方法都是以空间对象为基本单元进行数据组织与更新,如基于特征的数据组织方法、面向对象的增量更新方法等。与此同时,目前大规模空间数据的组织方式多以形状规则、变形较小的层状面片进行数据组织,能够实现海量数据的存储、提取和分析,解决了传统数据模型在全球范围内多尺度、海量数据和层次数据的局限性[2]。以格网面片单元进行空间数据组织,能够有效地组织管理大规模空间数据,在提高空间数据渲染速度,减少空间数据I/O访问等方面起到重要作用。目前常见的基于格网的空间数据组织方法有基于经纬度格网模型、自适应格网模型等。

道路网作为连通城市各个功能区块的媒介,不仅反映了城市的地形地貌特点,还体现了城市中各个功能区块的拓扑关系[3]。本文根据道路网在城市中天然的空间划分特性以及格网模型在大规模空间数据组织管理方面的优势,提出了基于道路格网的城市三维数据组织方法,并且以城市地理块为组织单元进行城市三维数据的增量更新。

1 城市三维数据组织

1.1 城市道路类型

《城市道路设计规范》将城市道路分为快速路、主干路、次干路、支路四大类,指出道路分类依据包括道路在路网中的地位、交通功能以及对沿线建筑物的服务功能等因素[3]。不同类型的城市道路在城市中具有不同的道路网密度,根据城市三维数据的实际空间范围,选取合适的道路网进行城市地理空间的划分,见表1。

表1 城市道路划分Tab.1 Urban road classification

1.2 城市道路格网模型

城市道路网自身具有的位置规划属性将城市划分为空间连续的不规则格网。本文对于不同规模的城市三维数据,选取不同类型的道路建立城市道路格网模型。依据《城市道路设计规范》对道路类型的划分以及不同类型道路网在城市中的密度不同,将城市道路格网模型分为城市快速路格网、主干路格网、次干路格网、支路格网4种。根据城市三维数据的空间范围选取合适的格网模型,见表2。

表2 道路格网模型Tab.2 Road network model

格网编码是城市道路格网模型中的关键部分。由于本文利用城市道路网进行城市三维数据的空间划分,故格网编码以道路名称的方式构建。以图1为例,从A格网单元左侧开始,顺时针次序记录道路名称,以此作为该格网的编码,故格网A的编码为ESHDRoad。

为了便于城市三维数据的组织和更新,本文对城市三维模型数据进行统一命名编码,其具体规则为“格网单元编码+模型类型编码+模型LOD层次+模型序号”。以道路名称作为格网编码,通过城市三维数据的属性查询进行空间定位,实现城市三维数据快速定位操作。

图1 道路格网单元Fig.1 Road grid unit

1.3 城市三维数据组织

城市格网单元内的城市三维数据使用分层的方式进行数据组织。本文按照规范将城市三维数据划分为:建筑模型数据、地形模型数据、水体模型数据、植被模型数据、管线模型数据、交通设施模型数据和其他模型数据7个数据类型[4]。

采用分层的方式对城市三维数据进行组织管理,即每个道路格网单元为一个地理块,地理块中包含不同数据类型,每个数据类型中又对应着多个三维模型数据,如图2所示。

图2 城市三维数据组织逻辑模型Fig.2 Model of urban 3D data organization

地理块是地理空间中固定的一块区域,本文将地理块(式1)定义为:地理空间中具有显著边界分割和区域性质的一块区域称之为“地理块”。采用城市道路格网对地理空间进行划分,可以产生多个地理块,地理块之间相互连接,能够组成整个地理区域。因此,地理块可以理解为城市场景的基本组成单元,固定的地理空间可以表示成一组地理块的集合[5]。地理块是城市三维数据组织的基本单元,由多个城市地理实体要素(式2)组成。

式中,Block代表地理块;UID为地理块的全球唯一性标识;Element表示组块中的各个地理要素;Time表示地理块数据采集时间。

式中,ID为地理要素编码,其具体编码规则如(式3);Geometry和Attribute为地理要素的几何和属性。

式中,BID为该地理要素所属格网的格网编码;TypeCode所属的城市三维数据类型代码;LayerCode代表所在的LOD层次;ColCode表示在该数据类型内的编码。

2 基于地理块的城市三维数据增量更新设计

相比于传统全覆盖式数据更新方式,本文基于城市格网模型对城市三维数据进行组织,并将地理块作为城市三维数据管理与更新的基本单元,改变了传统全覆盖式数据更新方式,减少了数据冗余,提高了数据更新效率,能够在时间和空间维度上对海量城市三维数据进行数据管理和更新工作。本节将主要对基于地理块的城市三维数据增量更新组织方式及更新流程进行研究分析。

2.1 增量信息及结构

2.1.1 增量信息定义及分类

增量信息是指基于现势数据发生变化的数据信息,从面向对象的角度看,多个实体间的演变和空间结构的变化都可以通过对单个实体的操作实现[6]。城市三维实体变化类型从实质上总结为新建、消失、属性变化、几何变化4种类型,其具体内容为①新建:新添一个或多个城市三维实体及相关属性;②消失:一个或多个城市三维地理实体及相关属性的灭失;③属性变化:城市三维实体的非空间数据的变化,主要表现为属性变化;④几何变化:城市三维实体的空间数据变化,主要有地理实体的平移、旋转、扩大、缩小等变化。

2.1.2 增量信息存储模型

增量信息是城市三维实体发生变化的数据,包括空间及非空间数据,本文的增量信息以地理块作为更新单元进行数据组织。将获取增量数据划分到其所属的地理块中,以地理块的形式进行增量更新。增量信息存储模型设计是数据更新中的关键部分,根据城市三维数据的特点,以地理块为组织依据,设计了城市三维数据增量信息存储模型:

式中,Time为增量信息的采集时间等信息;MetaData为增量信息的元数据,主要包括增量信息的所属地理块、坐标系、空间数据范围、版本号等;ΔOperates是对单个变化目标进行增量更新的操作过程信息,主要记录哪个地理实体进行了何种更新操作。

ΔOperates={BID,TIME,Table,Operate} (5)

式中,BID为增量地理实体的“临时对象唯一ID”,BID与历史数据库中的地理块数据表表相关联,以确定该增量数据所属的地理块;TIME为数据变化时间信息;Table为地理实体变化对象的属性表信息,主要包括数据表名称、数据类型、数据精度等信息;Operate为增量更新的具体操作内容,其主要内容见表3。

表3 Operate信息Tab.3 Operate information

2.2 历史数据库设计

为了更好地管理增量数据,建立一套与现势数据库相同结构的历史数据库,以地理块为基本单元组织增量数据。

与常规的增量更新方式不同,本文以道路格网划分的地理块作为更新的基本单元进行增量更新,其历史数据库设计概念如图3所示,历史数据库名为CITYDATA,以道路格网划分的地理块(BLOCK1、BLOCK2…)为基本单元进行增量数据的存储;每个地理块包含该地理块(BLOCK11,BLOCK12…)在不同时期的增量信息文件,同样以地理块的形式对增量数据进行存储;GRIDS表示每个道路格网存放的评价指标成本值,可在数据增量更新时选择是否更新道路格网评价成本值。

图3 历史数据库概念图Fig.3 The concept of historical database

2.3 增量更新流程

为了保证增量更新数据能够正确地融合到数据库中,在增量更新操作之前需要对增量数据进行规范化处理、数据匹配等相关操作[1]。更新时首先要验证增量数据的有效性,为了保证现势数据库的安全性,建立一个缓存数据库,对需要操作的原始数据进行缓存,确保原始数据不被永久性删除或修改,然后匹配增量数据与数据库中的数据,最后进行数据的检测、融合操作,完成整个增量更新。其具体流程如图4所示。

图4 增量更新流程Fig.4 The process of incremental update

基于多基态修正模型[7],如图5所示,根据数据量或更新频率设定具体的基态阈值,当某时期超过设定阈值时自动将此时期的数据设定为基态数据。将增量信息文件以时间和地理块的方式存储到历史数据库中,以地理块为城市场景变化单元,可组合所有地理块增量数据查询整个城市的历史变化数据,也可选择特定的城市区域查询历史数据。

图5 多基态修正模型Fig.5 Multi-ground correction model

图5 中,ΔF1为T2时刻与T1时刻间的增量信息文件,其中DBT3=DBT1+ΔF1+ΔF2;ΔF8为ΔF1、ΔF2、ΔF3这3个增量信息文件的并集文件,T4时刻的基态数据时可通过 DBT4=DBT1+ΔF8来获取,此时根据T4时刻的数据量大小和更新、使用频率做阈值评判,将DBT4作为另一个基态数据。随着时间的增加,增量信息文件的数量愈加庞大,通过在不同时期设立基态数据,较好地解决了数据集成和检索问题,提高了历史查询效率。

3 实 验

本文在Windows环境下,基于B/S的开发模式,使用团队自主研发的三维数据引擎展示城市三维数据;利用PostgreSQL进行城市三维数据的存储和管理,使用WebGL开发,实现了城市三维数据库增量更新原型系统,其系统主界面如图6所示。

图6 城市三维数据展示系统界面Fig.6 Urban 3D data display system interface

选用某城市三维建模数据作为实验数据,获取该城市近些年发生变化的城市三维数据。使用本文设计的增量数据存储模型,制作增量更新包,将增量数据更新到现势数据库中。数据库对增量数据进行有效性检验,获取增量数据所属的地理块信息,将其以地理块的形式存储到历史数据库中且融合到现势数据库中。选择平台“历史回溯”功能模块中2016年2月份及2017年11月份数据,系统以分屏浏览的形式展示了城市某一区域在该两个时间段发生的变化,其展示效果如图7所示。

图7 分屏浏览Fig.7 Split screen browsing

本文以地理块的形式进行城市三维数据的组织与更新,通过设计的增量存储模型,存储了城市三维数据相关变化信息。在图8中,系统右侧面板显示了不同时期的城市三维数据发生变化的一些具体信息,包括变化类型,数据文件地址,变化时间等,使用户可直观地了解该区域发生变化的情况以及查看相关附属资料。

图8 增量数据信息查询Fig.8 Incremental data query

4 结束语

基于道路网自身在城市中所具有的特殊属性对城市进行空间划分,以地理块的形式进行城市三维数据的增量更新,改变了传统增量数据更新的方式。地理块式的更新方式使得增量数据的管理更加灵活,可对城市进行整体性的历史数据查询,也可进行城市局部区域的历史回溯,查询方式更加多元化。由于道路网自身在城市中具有不同功能属性的特点,每个道路格网可代表一个居民区、商业区等,以道路格网为单元表达城市动态时空变化规律,可以促进人文与自然科学的融合,对于城市评价模型建立分析等具有重要的研究价值。但本文的增量更新方式局限于城市范围且道路网较发达的地区,对于道路网欠发达或不存在的研究区域来说“时间+空间”的增量组织方式并不适用,还待进一步的研究。

猜你喜欢
格网空间数据增量
提质和增量之间的“辩证”
实时电离层格网数据精度评估
“价增量减”型应用题点拨
基于均衡增量近邻查询的位置隐私保护方法
元数据驱动的多中心空间数据同步方法研究
基于空间信息格网与BP神经网络的灾损快速评估系统
德州仪器(TI)发布了一对32位增量-累加模数转换器(ADC):ADS1262和ADS126
平均Helmert空间重力异常格网构制方法
基于文件系统的分布式海量空间数据高效存储与组织研究
基于位置服务的地理格网编码设计