大比例尺基础地形数据库更新工艺流程及关键技术研究

张伟伟 张华宁 柯善停 吴 罡

(宁波市自然资源和规划大数据中心, 浙江 宁波 315042)

摘 要:大比例尺基础地形数据是城市管理基础空间数据的重要载体,开展数据动态更新,保障现势性对促进地方经济和社会发展具有重要意义。以宁波市基础地形数据生产更新实践为基础,提出一套基于计算机辅助设计(CAD)图形更新地理信息系统(GIS)数据库的规范化工艺流程,主要包括CAD数据预处理、格式转换、质量检查与修正、数据合并、数据接边、正式库同步,并重点阐述了数据更新中的关键技术。该方法已在老城区及园区数据更新中实践应用,有效提升了基础地理信息数据库更新效率及数据质量。

0 引言

基础地理信息是国家空间数据基础设施的重要组成部分,是国家信息化的权威、统一的定位基准和空间载体,是国家经济建设、社会发展、国防建设中不可或缺的基础性和战略性信息资源[1]。随着数字城市建设的推进,基础地理信息数据在城市设计、应急管理、城市交通、土地管理、环境保护等领域的应用逐步深入[2-4],发挥了重要的数据支撑作用。近年来,随着城市更新速度的加快,对基础地理数据的现势性也提出了更高的要求[5]。大比例尺基础地形数据作为实施城市更新及城市精细化管理的重要空间载体,需要不断提升数据现势性,更好地满足国民经济建设与社会发展要求。

国内部分城市对大比例尺地形图的更新机制进行了实践探索[6],其更新主要是以修补测、竣工测量、动态巡查相结合方式[7-8]。宁波市主城区大比例尺基础地形数据已经实现全覆盖,数据更新主要采用竣工测量与动态巡查方式,外业采集的测绘成果以AutoCAD平台为主要载体,数据库应用上则是依托ArcGIS平台。随着数据更新频率的提高,原先的数据更新生产工艺流程及技术工具已不能满足动态更新要求,需要探索计算机辅助设计(computer aided design,CAD)数据到地理信息系统(geographic information system,GIS)数据更新的新方法与新技术。

1 工艺流程

由于单幅地形图上变化的地物要素分布不均匀,有些只是零星的地物要素发生变化,可以直接在ArcGIS平台叠加CAD数据进行更新。本文主要对动态巡查的地形图中区域地物要素变化较多及竣工项目更新情形,设计了按照区域范围进行批量式更新的工艺流程,如图1所示。

打开网易新闻 查看精彩图片

图1 数据更新工艺流程

1.1 数据预处理

首先,对测绘单位提交的CAD图形使用基础地形CAD质检工具进行质量检查,检查内容包括数据组织结构、图形质量等,不符合质量要求的,退回测绘单位。其次,把新测地形图与历史地形图进行叠加,比对变化要素后,绘制更新范围线。最后,依据更新范围线打散图中的圆弧、曲线等特殊线型,并删除更新范围线外的地形及图廓,保证图面整洁。

1.2 格式转换

使用格式转换软件将dwg图形格式转换为mdb格式。为实现基础地形数据的精细化管理,便于快速查询每批次更新的数据具体信息,对mdb数据按图层自动批量录入项目信息,包括项目编号、项目名称、更新时间等。

1.3 质量检查与修正

为保证mdb数据质量,使用自动检查与人工检查相结合方式对mdb数据进行质量检查。人工检查主要检查格式转换后数据成面是否正确、属性提取是否正确、要素在转换后是否有丢失等,如发现问题则直接修改编辑。自动检查使用基础地形GIS质检工具检查图形属性一致性、拓扑关系等。

1.4 数据合并

单批次动态巡查成果常出现多个大面积更新区域,也时常有多个竣工项目同时提交的情况,为保证数据现势性,一般是组织技术人员以区域或者项目为单位同时开展更新工作,会产生多个mdb数据,需要使用mdb数据合并工具进行批量合并。

1.5 数据接边

数据批量导入后需要沿着更新范围线对两侧线要素及面要素进行接边处理,保证道路、管线、水系等地物要素的空间关系正确、属性无误。如遇到无法接边的情况,将问题整理后反馈给测绘单位,并及时跟进以完成接边工作。

1.6 数据库同步

为了保证数据应用的稳定性,建立工作库与正式库分开管理的模式,其中工作库面向数据更新人员,可以实时进行数据更新操作,正式库则面向各业务系统,通过ArcSDE服务进行数据访问,先在工作库进行数据更新,更新完成后使用同步工具适时同步至正式库。

2 关键技术 2.1 CAD与GIS格式转换

ArcGIS平台的原生功能并不能将CAD中图形与属性信息进行完整的转换与关联,需要基于AutoCAD和ArcGIS平台提供的组件开发接口,通过二次开发实现两者之间的无损转换。AutoCAD.NET API组件有助于开发者利用更多不同的编程语言和环境访问CAD格式数据,通过调用其封装好的对象属性和方法,便捷地获取用户所需信息,大大降低了程序开发难度[9]。基于Visual Studio平台集成AutoCAD.NET API组件和ArcGIS ArcEngine组件实现CAD与GIS数据格式转换。

格式转换的关键是坐标信息提取、组合,以及属性的赋值,在格式转换过程中,由于CAD实体图形种类繁多,需要针对常见的各类实体特性构建不同的转换算法,避免出现几何或属性信息的丢失。属性赋值主要是保证地物编码、文字内容等正确无误,通过识别实体的线型编码及特征调用IField接口存入对应要素类的相应字段。坐标信息提取和组合较为复杂,按照实体要素编码和特征识别其类型,主要分为以下三种情况:①点和块参照实体,提取其位置坐标使用IPoint接口记录到对应要素类;②线实体分为多种情况处理,直线实体提取其起点和终点的位置坐标,多段线实体根据分段类型逐段获取坐标信息使用IPolyline或IPolygon接口记录至对应的要素类;③文字实体通过读取文字位置信息和旋转角度,通过ITextElement接口生成注记要素。

2.2 空间数据质量检查

空间数据质量作为数据的生命线,直接影响数据分析应用的正确性和可靠性[10]。传统的空间数据质量检查主要是通过人工检查方式,并辅以专业软件原生功能完成,这种检查方式耗时较长,容易出现漏检或者检查错误,因此有必要开发一套具备通用性、高效性的空间数据质量检查软件,提升作业效率和数据质量。为管控CAD和GIS空间数据质量,分别研发了CAD端及GIS端的空间数据质检工具。

CAD端质检工具基于AutoCAD平台的ObjectARX应用程序开发,嵌入AutoCAD界面使用,主要检查内容包括基础检查、空间检查两类,并提供错误报告及定位。基础检查是检查文件图名、坐标系、图框信息、要素编码等是否符合制图规范;空间检查则是检查点、线、注记等实体是否有重复、碎线、弧段、线交叉、自相交、悬挂等问题。

GIS端质检工具基于ArcGIS平台的Arc-Engine组件开发,充分利用ArcGIS在空间数据存储、读写效率及空间分析上的特长。面向基础地形数据配置的规则包括图层完整性、图属一致性、多部件检测、要素编码检测、属性字段唯一性、属性字段必填、拓扑质检等20余个基础规则,配置质量检查模板时可根据实际情况对基础规则进行灵活组合。

2.3 基于python的空间数据批处理

基础地理信息数据更新速度不断加快,重复性地开展区域数据的裁剪、合并等操作是最频繁的空间数据处理工作,因此空间数据的批量化自动处理已成为数据快速加工不可或缺的手段[11]。ArcGIS平台具有较为丰富的空间数据处理功能,支持使用python调用地理处理工具,使得用户可以通过编程方式开发地理数据批量处理实用程序,极大提高空间数据处理效率[12]。通过python创建Geoprocessing对象解决多个相同数据结构的mdb数据批量裁剪和合并难题,并通过ArcToolbox创建自定义工具箱,以可视化界面方式提高交互性,如图2、图3所示。

打开网易新闻 查看精彩图片

图2 批量合并功能

打开网易新闻 查看精彩图片

图3 批量裁剪功能

批量合并工具的关键是根据目录遍历所有mdb文件,再遍历每个mdb中的要素类,点、线、面要素类使用append_management合并,注记要素使用AppendAnnotation_management进行合并。批量裁剪工具的关键是根据范围要素类遍历所有的更新范围面,点、线、面要素类使用Erase_analysis功能对范围线内要素进行删除,注记要素先使用SelectLayerByLocation功能过滤在范围线内及与其相交的所有注记要素,再使用DeleteFeatures删除选中的要素。

2.4 空间数据同步技术

基础地形工作库和正式库数据分别部署在不同的服务器,皆采用Oracle+ArcSDE模式进行空间数据存储和访问。为最大限度保证两库之间的数据一致性,在不影响应用的前提下,每天晚上定时进行数据同步操作,为此需要研发空间数据自动同步工具。

通过C#调用ArcObjects接口实现基础地形数据的拷贝、删除等功能,调用DOS命令断开数据库连接。主要实现思路:①创建Geoprocessor对象,调用CopyFeatures方法实现正式库基础地形数据的备份,最大限度地保障数据安全,同时保留历史版本数据;②创建Process类的实例[13],设置实例方法Start的相关属性,如当前工作目录、命令行参数等,调用该方法执行sdemon-okill-tall-psde-iesri_sde命令,确保断开所有用户连接;③调用CopyFeatures方法将工作库32个要素类拷贝至正式库用户下,并更改要素类名称;④调用IFeatureClass接口比较同步至正式库的要素类与工作库中要素类的数量,以及每个要素类中的要素数量,确保数据同步的完整性与正确性;⑤调用IFeatureWorkSpace接口删除正式库中原要素类,并将同步后的数据按标准名称进行修改。

3 应用实践

传统方式是直接在ArcGIS软件基础上叠加CAD图形进行更新,数据更新效率较低。为验证数据更新效率,以单个竣工项目为对象,使用传统方式及新作业方式进行作业效率比较,以完成数据接边为结束标志,传统方式耗时大约是95 min,使用本文提出的工艺流程及相应工具耗时约35 min,数据更新效率大幅提升。当面对多个更新区域或多个竣工项目同时更新时,效率优势更加凸显。此外,在数据质量方面,由于研发了CAD及GIS空间数据质量检查工具,在数据预处理及格式转换后分别进行了数据质量检查工作,最大程度的保障了数据质量。目前,笔者提出的工艺流程及研发的配套工具,已经普遍应用于主城区与园区基础地形数据更新实践,作业效率及数据质量较之传统方式都有较大提升,取得了良好的效果,有力保障了基础地形数据的现势性和权威性。

4 结束语

本文以宁波市大比例尺基础地形数据库更新现状为基础,提出了一套完整的数据库更新工艺流程,并配套研发专业性工具,能够有效解决日常更新中存在的难题,提升了整体作业效率及数据质量,同时促进基础地理信息数据的规范化管理与信息化水平提高。

当前工艺流程中的图形接边主要以手动方式进行,工作枯燥且效率较低,后续将研发自动接边工具进一步提升作业效率。此外,需要积极探索基础地形与电子地图联动更新技术体系及机制,实现一次测绘、多类更新。

参考文献

[1] 王东华,刘建军.国家基础地理信息数据库动态更新总体技术[J].测绘学报,2015,44(7):822-825.

[2] 陈品祥,罗晓燕,刘红霞,等.基础地理信息在北京城市总体规划修编中的应用[J].测绘通报,2005(3):48-51.

[3] 刘峰,刘海青,靳奉祥,等.基于交通基础地理信息的网络发布研究与实现[J].测绘科学,2007,32(2):97-99.

[4] 徐锋,黄蕾,聂小波.“数字湖北”在应急管理中的应用[J].地理空间信息,2013,11(S1):56-58.

[5] 蒋捷,陈军.基础地理信息数据库更新的若干思考[J].测绘通报,2000(5):1-3.

[6] 赵琦.北京市城市基本比例尺地形图的更新模式[J].北京测绘,2011(1):32-35.

[7] 谢士杰.南京市大比例尺地形图的动态更新和维护研究[J].测绘通报,2008(1):46-49.

[8] 曹华生.大比例尺数字地形图更新中巡视方法的探讨[J].北京测绘,2015(2):145-147.

[9] 杨娜娜,张新长,黄健锋,等.CAD规划成果数据GIS建库的技术与研究[J].测绘通报,2015(6):44-48.

[10] 王帆飞.空间数据库数据质量评测与质量控制体系研究[D].成都:四川大学,2005.

[11] 屈鹏.基于python的地理空间数据批量处理方法研究[J].矿山测量,2018,46(1):86-88.

[12] 刘翔宇,朱大明.Arcgis中基于Python的地理数据库批量合并方法研究[J].软件,2018,39(7):161-165.

[13] 鄢家奇.在C#中执行DOS命令探讨[J].电脑编程技巧与维护,2013(3):87-88.

引文格式:张伟伟,张华宁,柯善停,等.大比例尺基础地形数据库更新工艺流程及关键技术研究[J].北京测绘,2023,37(4):471-474.

作者简介:张伟伟(1985—),男,安徽蚌埠人,硕士,工程师,从事测绘地理信息数据管理与应用、自然资源和规划信息化研究工作。

E-mail:417830815@qq.com

来源:测绘学术资讯