APP下载

城市矢量空间数据增量更新管理模式研究

2022-08-01林江伟滕德贵

北京测绘 2022年5期
关键词:建库数据表空间数据

林江伟 滕德贵

(重庆市勘测院, 重庆 401121)

0 引言

随着城市建设的快速发展,支撑城市建设的城市矢量空间数据类型不断增多,除大比例尺地形图数据外,还包含城市地下管线、地下空间、市政部件等数据,这些矢量空间数据有着地物要素变化迅速,更新频率高的特点,长期以来,这些海量的数据基于标准分幅或非标准格网分区的模式进行管理,数据生产与数据应用采用分开管理、定期更新的模式,随着信息化时代的到来,传统管理模式无法建立高效的数据应用体系,数据的时效性滞后于城市变化发展的矛盾日益突出,远远满足不了城市规划、管理工作的需要,严重制约着城市建设发展的步伐[1-2]。因此,建立一套数据生产与数据应用的一体化作业体系成为亟待解决问题。

1 传统管理模式缺点

1.1 更新颗粒度粗糙

矢量空间数据更新方法有基于范围的更新方法和基于要素的更新方法[3-4],传统管理模式中采用按范围整体替换的更新方法,更新对象面向范围而不是面向要素,更新颗粒度粗糙,没有体现数据的增量信息,不能准确反映要素的新增、变化与消亡,只能将某个时刻的数据作为历史版本单独存储,不仅数据冗余量大,而且无法实现数据的多时态特性,在后期很难实现任意历史时刻的数据重建、时空变化追踪等。

1.2 协同作业难

传统管理模式一般采用按图幅或分区整体调出的数据调取方法,数据调出后,若有其他项目需要使用相同的图幅或分区时,只能排队进行数据更新,不能进行协同作业,用图冲突的常用处理方法是以文件流转的方式临时拆借,对归还数据的版本正确性较难进行判断。

1.3 更新周期长

为对矢量空间数据进行挖掘利用,大都建立了城市矢量空间数据库,而数据更新是维护矢量空间数据库现势性的主要手段[5],建库后必须对其进行动态的维护和更新,才能满足各行业的运用需求,然而生产与应用数据往往被视为两套数据[6-7],从生产数据到应用数据需要进行大量加工、接边处理,因此同步周期长,耗费工作量大[8],最终导致了数据生产与数据应用脱节的局面。

2 增量更新管理模式思路

本文对城市矢量空间数据库增量更新管理模式进行了探索,建立了一套数据生产与数据应用的一体化作业体系。首先,建立城市矢量多专题空间数据库,数据库划分为3个层级:基于更新区的缓存库、面向管理分区地从库、面向应用的主库,三级数据库结构相同,可在短时间内实现快速同步或更新,有效解决了数据生产与数据应用的时效性问题;其次,数据更新基于实际作业的范围,通过建立矢量空间数据库更新冲突处理机制,实现多人连库协同更新,有效控制了数据版本;第三,建立了要素级的增量检测策略,获取了空间要素的变化信息,实现了数据多时态特性,有效降低数据冗余,如图1所示。

图1 增量更新管理模式思路

3 关键技术和方法

3.1 多专题空间数据建库

随着空间数据专题类型的增多,多专题数据的互相参考校核、多源数据混合采集等需求日益增长,因此数据建库时进行矢量数据和栅格数据的同步建库,在统一的地理空间框架下,各种矢量和栅格数据实现叠加显示,使得信息表达更加丰富而形象生动,提高了数据的综合利用率。

矢量数据建库以图层为基本单位,如图2所示,图层下根据地物的类型,划分为点、线、面、注记四类,每个类别分别建立地物空间数据表和扩展属性表,通过唯一的身份标识号(identity document,ID)标识,实现属性与地物的关联,地物按照类型分类建表可以极大地降低数据表冗余。专题则是一个逻辑单元,由若干个图层组成。以图层为基本单位的组织方式易于扩充,当需扩充数据专题时,在保证图层唯一性的前提下,按图层新建数据表即可。

图2 数据库组织结构

栅格数据建库前需使用图像金字塔模型进行预处理[9-10],构造一组L1~L8的栅格序列,按序列构建数据表,加载栅格数据时,将根据屏幕缩放的比例尺,动态确定并调用适合的栅格序列,实现了栅格数据由全貌到细节、由整体到局部,无缝的进行影像漫游、浏览和应用[11]。

3.3 多层级数据库同步

数据更新往往涉及多个部门,部门又有多个作业人员参与,由于部门管理与作业人员水平的差异,如果都直接对唯一的数据总库进行更新操作,势必不能有效地进行数据质量管理,因此建立“缓存库(基于更新区)+从库(面向管理分区)+主库(数据应用)”的三级数据库模式,缓存库面向作业人员,由从库按照更新区域缓存形成,通过更新缓存库提取相应的增量信息,并呈现更新从库后的复刻版本,经过质检合格后,根据提取的增量信息,缓存库自动更新到从库,从库则依据某段时间的增量信息自动向主库进行单向同步。多级数据库的建立,使不同角色面对不同层级的数据库,采用的金字塔式逐级同步的方式在有效保证数据质量的前提下可实现数据生产和数据应用在时效性上的快速统一,如图3所示。

图3 多级数据库同步

3.4 更新冲突处理

从库与缓存库的更新面向多个用户,假设多个用户更新的区域不重合,也没有对相同的要素进行更新,那么数据更新可各自独立进行,但实际生产中,多个用户的更新区域存在重合的情况,还有可能更新区域不重合但却对同一要素进行更新,这样就产生了更新冲突。更新冲突会造成前者的更新信息丢失,地物要素版本的错误,因此必须采用适当的冲突控制方法,如图4所示。由于城市建设项目在某个时间点上一般都分散存在,所以先采用乐观并发控制思想进行控制,假设对同一要素更新的冲突并不频繁,在缓存库先进性修改,在缓存库提交时,再检查相关的要素是否被修改过,如果没有则提交,如果有则给出被更新后的数据版本进行确认。

图4 更新冲突处理

但还需考虑另外一个问题,空间数据库更新并非只是修改数据表,而是还需重建空间索引,如果修改表记录后,索引还未重建,其他用户同步进行了更新或下载,会由于空间索引与地物要素不匹配得到错误的结果,因此在数据提交时加入数据库锁避免这种极端情况,在数据更新提交数据库前,先申请锁定相应专题的数据表,当其他用户申请锁定专题数据表时,则进行警告并进行排队等候。

3.4 增量检测

增量检测的目的是为了发现变化的要素信息[12-13],从矢量数据中获取出新增、修改与删除等变化信息,根据变化信息对矢量空间数据库进行修改,由于修改只针对变化的地物,会显著减少矢量空间数据库冗余。增量检测主要有基于空间特征的方法和基于ID标识的方法,使用缓存的离线数据进行更新时,使用基于空间特征的方法,对数据库进行在线更新时,则使用更为简单的基于ID标识的方法。

3.4.1基于空间特征的增量检测

通过匹配空间要素空间特征实现增量检测,匹配到空间特征一致的要素,判定为同一空间要素,然后进行属性比对,属性有差异的则判定为修改;空间特征未匹配成功的孤立要素,属于更新数据要素的则判定为新增,属于库数据要素的则判定为删除。

3.4.2基于ID标识的增量检测

首先为离线数据与数据库数据划分ID标识范围,数据建库时库数据ID从10n(n由单个离线文件承载量决定)开始计算,每个离线数据文件ID则从1开始计算。增量检测时,更新数据要素ID标识小于10n的,则判定为新增,库数据要素ID在更新数据中查找不到的,则判定为删除,有ID标识对应,则进行空间特征与属性的比对,存在差异的则判定为修改。

3.5 增量更新及接边策略

得到增量检测结果后便可进行增量更新,对于新增要素,直接对地物进行入库,并标记创建和更新时间;对于修改要素,克隆原记录后更新要素的图形和属性信息,标记更新时间,同时将原有纪录标记删除时间;对于删除的要素,并不是对记录真的擦除,而是标记上删除的时间。通过基态修正模型[14],记录要素创建、更新、删除时间,构建了矢量空间数据库的时间维度T,时间维度密集程度取决于地物要素更新的频率,当进行数据浏览、下载时,若给定任意的时刻T(m)进行历史重演,则首先过滤T(m) 前已被删除或修改的要素,其次过滤T(m)时刻后新增和修改的要素,显示T(m)后删除和修改的要素。

在进行增量更新时,还要考虑要素的接边问题,对象化的数据存在较多长带状要素,但作业人员往往只关注要素在更新区域内的空间特征变化,这会导致区域外的空间特征很可能存在误删、误改而不被发现的情况,同时还有上述冲突处理中提到的,要素可能已被其他用户修改更新,因此对要素按更新区域进行接边,而非整体替换,如图5所示,使用右侧数据按相应更新区域进行更新,对于与更新区域相交的要素,首先提取库数据中更新区外的部分,其次提取更新数据区域内的部分,然后进行拼接,这样使得空间特征质量影响限定在更新区域内,同时也大大降低了冲突处理的复杂程度[15]。

图5 数据接边策略

进行图形接边处理后,还涉及属性的匹配与融合,如果有重要的属性值不匹配,也不能进行自动接边,例如,左侧道路名为“L1路”,修测后属性值变为了“L2路”,这个时候就不能自动属性进行取舍与融合,需要进行人工确认处理。

4 结束语

通过建立数据生产与数据应用一体化的多层级矢量空间数据库,采用多人协同更新数据库与多级数据库同步的方法,提高了数据流转效率,控制了数据版本,方式更为灵活,更新周期更短,使得城市矢量空间数据变化信息可以快速地反映到生产与应用数据库,采用的要素级增量检测与更新方法,使城市空间的变更信息得以保留,构建了矢量空间数据的时间维度,可进行任何历史时刻数据重演,有利于进一步提高矢量空间数据的精细化管理,更能满足今后数据库更新的发展方向。

猜你喜欢

建库数据表空间数据
湖北省新冠肺炎疫情数据表(2.26-3.25)
湖北省新冠肺炎疫情数据表
湖北省新冠肺炎疫情数据表
GIS空间数据与地图制图融合技术
“数字温县”建设项目通过验收
交通规划数据库道路红线规划建库规则
高校图书馆回溯建库探微
图书馆回溯建库工作中的思考
QH165点焊机器人数据库开发技术
网格化存储的几项关键技术分析