陈习森,杨猛,杨志敏
(1.深圳市地籍测绘大队,广东深圳 518000;2.武汉市测绘研究院,湖北武汉 430000)
地形图数据库更新方法主要有版本式更新和增量式更新两种。版本式更新是指利用新测或修测的地形图数据全部替换旧地形图数据,而增量式更新仅对发生变化(包括增删改)要素进行相应更新。
增量式更新相对传统版本式更新而言,在数据存储量、数据冗余度、历史数据恢复、数据更新方式等方面更具优势[1]。目前国内主流商业软件如CASS、清华山维等都能提供整套的增量更新建库解决方案,包括数据加工平台、数据质检、GIS数据管理等模块。
深圳市从1994年开始进行 1∶1000地形图测绘工作并且建库进行管理,多年以来,深圳各测量单位围绕《深圳市 1∶1000数字化地形图动态修补测实施细则》(以下简称实施细则)形成了不同的数据加工平台[2],难以通过采用统一购买商业软件的方式来实现建库方式的升级,为提升地形图建库效率,本文将以数据标准为中心,在不对现有加工软件做大调整的前提下,将深圳市地形图建库方法从传统的版本式更新升级为增量式更新。
地物更新的基本类型可分为新增、删除和修改三种,各对应多种基本更新动作,具体分解如表1所示。这三种基本类型的操作则可以写出三类记录:新增地物记录、删除地物记录、更新地物记录。再进一步分解,更新操作也可利用删除地物和新增地物两步动作来组合实现,这样实际所有的地物更新动作可分解为删除地物和新增地物两步来实现(纯粹的新增地物和删除地物可单列)。通过提取新增地物记录和删除地物记录即可完整记录地物更新的痕迹。
各种更新类型的分解 表1
地物变化信息的识别主要有新增地物的识别、删除地物的识别和更新地物的识别。新增地物包括新测地物和在修测过程中编辑过的现状地物,可设置一个独立图层(新增地物图层)来存储新增图形。删除地物包括直接删除的地物和在修测过程中删除的历史地物,可设置一图层(删除地物图层)来存储删除的图形。对地物进行修改(包括图形修改和属性修改)也可通过删除地物和新增地物两步动作来组合实现。先将待修改的地物删除到删除地物图层,然后将修改完成后的现状地物作为新增地物添加到新增地物图层。
以CAD为例,完整收集删除记录和新增记录只需先设置两个独立的图层:一个图层用来存放删除记录(删除图层),一个图层用来存放新增记录(新增图层)。在数据修改过程中,对任何地物的修改,只需保证修改动作是先删除地物图斑到删除图层,然后将修改后的地物图斑视为新增图斑存储到新增图层。
借助CAD文件中删除图层中存储的数据,与数据库中的数据进行图形比对即可提取待变更图斑;再利用新增图层中存储的数据添加到数据库中各对应专题图层,最后进行数据接边,数据库的记录即可完成更新。
借助这个思路再进行拓展,我们就可以利用CAD文件直接对数据库中存储的数据进行更新,实现基于CAD数据的增量式地形图图形数据更新模型。
(1)模型图层组织
模型图层设计基本沿用深圳市实施细则的规定,增加建筑物面(BP)和道路水系植面层(LP),用来存储面状要素的图形,不借助格式转换提前进行构面[3]。地物要素编码全部沿用实施细则的具体规定,与现有数据无缝对接。
模型图层组织设计 表2
(2)模型标准更新动作
在增量式更新模型的定义中,地物更新所进行的任何操作需严格执行前面提到的更新动作分解,包括:
①新增的地物存储在新增地物图层;
②删除的地物存储在删除地物图层;
③对任何地物要素的修改,先删除历史地物到删除地物图层,然后将修改后的地物要素视为新增地物添加到新增地物图层。
增量式地形图图形数据更新模型的标准更新动作可总结如图1所示。
图1 增量式更新模型动作分解
(1)CAD数据增量信息提取
依据增量更新模型的设计,在CAD环境下进行标准化作业并完成数据接边和质检后,即可得到两类信息:①发生变化的历史图斑;主要对应的是各专题图层*D(删除地物图层)中存储的数据;②更新变化后的现状图斑。主要对应的各专题图层*A(新增地物图层)中存储的数据,这两类信息可作为增量文件,用来完成数据库数据增量更新。
(2)数据库中的图层设置
数据库中的图层设置和CAD环境下的图层设置类似,每个专题图层又分别对应一个历史图层,各专题图层存储最新的数据信息,而发生变化的历史图斑则全部被筛选删除到历史图层。
在数据库中,删除图层可不单列,需删除的地物图斑可与现势图形一同存储在专题图层中,在数据使用时,只需利用时间属性进行简单筛选即可。
(3)图层属性字段设计
为实现对历史版本数据的回溯,各个要素图形都需要有一个有效时段的概念。为此模型对各个专题图层分别添加了3个属性字段,分别是产生时间、变更时间和元数据,其中产生时间和变更时间对应要素的有效时段,即要素在哪个时间段它是存在并且有效的。元数据属性主要是作为索引字段存储一些附属信息,如数据生产单位、数据提交时间、数据变更时间等。
为验证模型的可行性,本文从现有GIS库中导出4幅 1∶1000的CAD地形图数据作为实验原始数据,具体实验步骤如下:①按模式设计设置图层,标准化工作环境;②严格执行模型标准更新动作,结合删除图层和新图层完整记录修改轨迹;③需要构面的图层如B层、L层需提前在CAD中构成封闭面,在GIS建库时可自动形成面状要素;④数据编辑完成后,进行数据接边和数据质检;⑤利用研发的数据入库软件,自动提取删除图层上的记录,通过图形比对功能自动提取GIS库中待变更的图斑并删除到历史图层,同时变更时间属性自动更新[4];⑥自动提取新增图层上的记录,添加更新到各GIS库中各对应图层,同时产生时间属性自动更新;⑦完成GIS库中数据接边[5]。
图2和图3是实验数据局部更新的前后对比图,展示的是某处建筑物图斑发生变化,通过在CAD环境下利用删除图层和新增图层完整记录图斑变更轨迹,借助入库软件自动实现GIS地形图数据库中相应图斑的增量更新。纯粹新增地物和删除地物逻辑比较简单,不再复述。通过试验证明基于CAD数据实现图形数据增量更新技术是可行的,模型设计合理并且与现有标准无缝对接,更能实现诸如历史地形数据回溯等功能。
图2 CAD环境编辑后成果
图3 GIS数据增量更新成果
基于CAD数据的增量式地形图图形数据更新模型的设计实现了对地形图图形数据的增量更新建库,节省了数据入库的时间,提高了数据更新的效率。模型仍然沿用了现有的工作模式,不需对现有的工作模式和生产软件做大的调整,实际应用过程中也更易推进。基于增量信息更可方便地进行历史数据的回溯,也可方便地统计每年的修补测工作量。接下来需做的配套工作是对现有的数据加工软件进行调整[6],通过功能研发自动实现标准更新动作,不影响日常数据编辑习惯,也不增加无谓的工作量。
[1]张保钢,石强.地形图数据库的增量更新[J].北京测绘,2007(1):1~4.
[2]罗和平,叶乘鸾,温振兴.竣工测量成果应用于地形图更新的分析探讨[J].城市勘测,2010(5):131~134.
[3]王健洁,赵丽娟,王晓帆等.基于ObjectARX的自定义面域研究[J].城市勘测,2013(1):139~141.
[4]老大中,赵占强.AutoCAD 2000 ARX二次开发实例精粹[M].北京:国防工业出版社,2001.
[5]余承飞,方勇.AutoCAD 2000二次开发技术(ObjectARX)[M].北京:人民邮电出版社,1999.
[6]宋延杭,王川,李永宣.Object ARX实用指南[M].北京:人民邮电出版社,1999.