AutoCAD与GIS空间数据异构聚合研究与应用

2015-02-02 10:57:45    来源:中国地理信息产业协会

摘要:本文结合珠海市空间数据自适应动态更新系统的建设实践,提出AutoCAD与GIS空间数据异构聚合处理的技术路线。阐述了这一过程中数据标准建立、质量控制和数据转换等关键技术。

0 引言

  随着数字城市的快速发展,为适应社会对数字空间数据的需求,各测绘地理信息部门积极将现代信息技术与空间数据相结合,建立城市基础地理信息数据库[1]。目前,建立城市基础地理信息数据库主要存在以下两方面问题:1.我国大多数城市的地理信息数据以AutoCAD 的数据格式( * .dwg) 存储。2.部分已入库的GIS数据要素量大,现有GIS软件难以保证数据检查与编辑的高效性。针对上述,为充分利用已有的数据资源,并实现GIS数据的批量编辑,必须有一个切实可行的处理方法,将已有的AutoCAD数据转换为适用的GIS数据,并实现GIS数据的批量编辑,以便更高效地建立城市基础地理信息数据库[2]。本文研究如何将AutoCAD地形图数据转换为GIS空间数据以及利用非GIS软件辅助GIS数据的批量编辑,实现AutoCAD与GIS空间数据的异构聚合。


1 技术路线

  虽然现有的GIS软件提供了较强的图形编辑功能,但在大批量修改编辑方面,AutoCAD更胜一筹[3]。因此在AutoCAD 中对数据进行编辑修改等规范化处理比用GIS 软件提供的编辑功能更加高效,且处理精度高[4]。在实施过程中,应充分利用AutoCAD软件,开发相应插件,集成到AutoCAD软件中,达到对空间数据按照数据标准进行编码、规整、转换和质检的目的,提交符合标准的GIS数据。

  此项目原始数据包括竣工AutoCAD地形图数据、未入库GIS地形图数据、数据库中的GIS地形图数据,不同的原始数据,技术流程也有差异。此项目技术流程主要包括读取SDE数据、数据预处理、数据规整、数据转换等。

具体技术流程如图1所示。



图1 异构聚合技术流程

Fig.1 The flow chart of Heterogeneous data itegration


1.1 获取SDE数据

  获取SDE数据过程中,需要借助ArcGIS Engine二次开发,连接SDE数据库,读取数据库中的数据,在选择图幅范围和待导出的图层后,即可通过本程序将SDE中的数据直接转换为AutoCAD数据并显示在AutoCAD中。


1.2 数据预处理

  由于AutoCAD地形图数据存在很多问题,主要是提交成果资料有大量冗余信息、成果文件不规范等,这些问题必须经过预处理,并进行地形图分类,生成不同比例尺类别的项目包,然后按分配方案交给相关数据处理人员进行下一步处理,使数据整理能够有序进行,方便后期数据入库[2]。


1.3 数据规整

  为了提高地形图数据的转换效率与质量,需先对地形图数据进行规范整理,只有符合技术规程及相关作业标准的数据才能正确进行入库操作[6]。AutoCAD 地形图规整步骤主要包括地物编码、编码检查、图形检查、拓扑检查、拓扑修正、属性编辑等。


1.4 数据转换

  在完成AutoCAD 数据的规整之后,即要进行AutoCAD 数据与GIS 数据的转换。在剖析二者数据模型的基础上,本文采用直接转换[1]的方式,将AutoCAD 地形图数据转换为ArcGIS ( * .mdb格式) 的标准GIS 空间数据。


2 关键技术分析

2.1 基础地理数据标准规范的设计

  地形图数据编码是在GIS 中惟一标识某一地物的关键字。基础地理数据编码的设计是在GIS 中进行专题制图、空间分析等的需要, 是实现基础空间信息共享的基础。在进行基础地理数据编码设计时, 必须遵循如下原则[7]:

  (1)遵从国家和行业标准。

  (2)方便应用。用户可根据不同的需求, 分层和按专题要素提取基础地理要素信息, 随意定制专题显示及输出。

  (3)便于系统实现。在实际进行设计时, 可在国家基础地形要素编码的基础上加以扩充, 以满足系统的实际需要。

  地形图成图面向GIS 成图,实现信息化,必须有一套科学、权威的地形图要素编码体系。

  本文的基础地理数据编码标准规范依据《珠海市1:500 1:1000 1:2000基础地理信息要素分类代码与属性表》设计,该表参考《基础地理信息要素分类与代码GB/T》和《广东省1﹕500、1﹕1000、1﹕2000基础地理信息要素分类代码与属性表》,充分考虑了基础空间信息共享的要求。主要有块文件符号表、基础地理信息要素属性信息及编码对照表等。其中,基础地理信息要素属性信息及编码对照表是标准规范的核心,其内容主要包括GIS 编码、CAD 编码、CASS 编码、CAD 图层、GIS 图层、地物类型、几何类型、块名、线宽、线型、注记字高等相关信息,见表1。


表1 基础地理信息要素属性信息及编码对照表( 部分地物)

Tab.1 Attribute information of basic geographic information elements and coding table (Part of the terrain)



2.2 质量控制

  质量控制是保证精度的关键技术。数据质量是指点、线、面数据几何和属性逻辑一致性的可靠程度[1]。本文的质量控制分为三个方面:编码检查、图形检查、拓扑检查。只有完成这三种检查且无误之后才能进行后面的数据转换操作。


2.2.1 编码检查

  编码检查的基本原理是检查AutoCAD图形扩展属性中是否含有编码字段以及将获取到的编码值与数据标准中的编码表是否匹配。编码检查的内容包括: ①实体是否缺失编码;②实体编码是否符合标准;③编码对应的几何类型与实体类型是否一致,如某个Polyline类型的实体被赋予了面类型的编码则会产生冲突;④实体块名称和编码是否一致。


2.2.2 图形检查

  图形码检查的基本原理是根据AutoCAD图形扩展属性中的编码值与数据标准中的编码表进行匹配,查询对应编码实体的几何类型。图形检查的内容包括:①面要素是否闭合,如果某个被赋予了面类型编码的实体未闭合,则需进行构面编辑;②图形类型是否支持转换,根据编码将图形类型与数据标准中的图形类型进行对照,符合标准的图形才能进行数据转换,对于不符合标准类型的实体需要修改。


2.2.3 拓扑检查与修正

  由于AutoCAD软件较GIS软件具有更强大的编辑功能,因此本文的拓扑检查是基于AutoCAD 环境进行的。首先借助ArcGIS Engine对图形建立拓扑规则,然后将检测出含有拓扑错误(面重叠、线重叠、线相交、线自相交)的图形在AutoCAD 中高亮显示,最后利用AutoCAD 的编辑功能直接进行拓扑修正。


2.3 图层分层

  在进行AutoCAD数据与GIS 数据的转换前,需要根据数据标准规范中的分层规范,对AutoCAD数据进行GIS分层,建立各个专题的点、线、面、注记图层。如图2所示。


图2 图层分层

Fig.2Layer hierarchical


2.4 数据转换

  本文数据转换分两种情况,一种为AutoCAD转GIS空间数据,另一种为GIS转AutoCAD空间数据。空间数据由几何图形数据和属性数据两部分组成,进行数据转换时,需要对图形数据和属性数据分别转换。


2.4.1 AutoCAD转GIS

2.4.1.1 图形转换

  点转换较为简单,对于Block Reference、DBPoint类型的实体,通过读取坐标信息,在GIS 中基于X、Y 坐标信息进行构点。

  线转换涉及的图形类型较多,其基本原理是读取图形的各个节点信息,然后以点构线。对于简单( 如Line) ,通过读取起点和终点坐标即可直接构线;对于复杂类型( 如Arc) ,需要通过读取起点和终点坐标、Arc 的起始角度及总角度、弧长等信息构弧上的点,然后进行构线。

  面转换主要涉及Polyline、Polyline2d、Circle3 种类型的实体,其基本原理是通过读取图形的节点等相关信息,进行构线及构面。如对于Circle 类型,通过读取圆心的坐标及半径信息,在GIS 中通过圆进行构面[5]。

  注记转换主要涉及DBtext类型实体,其基本原理是通过读取文字的坐标及内容,在GIS 的Annotation 图层中进行绘制。


2.4.1.2属性转换

  在属性编辑中,实体的属性信息已写入其扩展属性,在进行数据转换时,先通过AutoCAD读取存储在实体中的属性信息,然后与GIS 中Feature的属性字段进行匹配,最后将属性值写入到GIS 中Feature对象的对应属性中。


2.4.2 GIS转AutoCAD

  GIS转换为AutoCAD数据,首先需要创建标准AutoCAD图层,图层含有标准字段的扩展属性。执行转换按图形转换和属性转换分别进行。


2.4.2.1 图形转换

  点转换分两种情况,对于非块实体,直接读取坐标信息,在AutoCAD中基于X、Y 坐标信息进行构点即可;对于块实体,在读取坐标信息的基础上,还需要根据编码信息获取角度、块编码,在AutoCAD中基于X、Y 坐标信息进行构点,并依据编码信息匹配块符号,再根据角度确定块符号的显示角度。

  线转换分为圆弧线和非圆弧线,对于非圆弧线,通过读取起点和终点坐标即可直接构线;对于圆弧线,需要通过读取起点和终点坐标、Arc 的起始角度及总角度、弧长等信息构弧上的点,然后进行构线。

  面转换分为实心面和空心面,对于实心面,其基本原理是通过获取图形的外环线,再依据外环线进行构面。对于空心面,首先获取图形的外环线进行构面,再遍历内环,对内环线进行构面,最后外环面中挖掉内环面所剩部分即为转换的空心面。

  注记转换其基本原理是通过读取注记的内容、坐标、字高等信息,在AutoCAD图层中进行重绘。


2.4.2.2属性转换

  在转换过程中,先通过程序读取存储在GIS 中Feature的属性字段,然后与AutoCAD图层中扩展属性进行匹配,最后将属性值写入到AutoCAD图层中对应的扩展属性中。


3 应用实例

  作为本文的应用实例,珠海市空间数据自适应动态更新系统是在Windows7环境下,以Microsoft Visual Studio 2010为开发工具,基于C#和AutoCAD 2008、ArcGIS Engine10.1平台所开发。本文以1∶2000 地形图实测数据和已入库待检查1∶2000 地形图GIS数据进行测试,首先对珠海市香洲区1:2000 CAD格式的地形图进行预处理、地物编码等操作,使其图形数据能满足GIS 格式的要求,然后应用本程序将CAD数据格式转换为GIS 的数据格式。同时, 对转换过程中的数据进行质量控制。图3为由CAD 数据转成的GIS 数据格式。然后,读取SDE中的待检查珠海市香洲区1∶2000 地形图GIS数据,应用本程序将GIS数据格式转换为CAD的数据格式,在AutoCAD中进行预处理、地物编码等操作, 使其图形数据能满足数据标准的要求。图4为由GIS数据转成的CAD数据格式。



图3 CAD数据转成的GIS数据

Fig.3 CAD data to GIS data



图4 GIS数据转成的CAD数据

Fig.4 GIS data to CAD data


4 结束语

  本文结合珠海市空间数据自适应动态更新系统的建设实践,提出了基于AutoCAD与ArcGIS Engine二次开发的AutoCAD与GIS空间数据异构聚合的技术路线,设计了一套完整的AutoCAD与GIS空间数据异构聚合的技术流程。阐述了这一过程中数据标准建立、质量控制和数据转换等关键技术。在此基础上,编程实现AutoCAD与GIS空间数据的相互转换以及空间数据库中GIS数据与AutoCAD数据的直接转换。试验结果显示,AutoCAD空间数据在编码、规整、转换和质检等处理后,可生成符合标准的GIS数据,实现不同格式数据间的聚合处理。

  虽然本文提出的AutoCAD与GIS空间数据异构聚合技术路线具有较好的应用效果,但是由于AutoCAD 数据图形复杂,地形图数据错误种类多样,在转换工程中,需要多次执行数据检查、修正操作,且对于系统检查出的拓扑错误,部分还需进行人工筛选,鉴于上述,一些新的质量控制方法的研究将是下一步的工作任务。


参考文献

  [1] 陈能,施蓓琦。AutoCAD 地形图数据转换为GIS 空间数据的技术研究与应用[J].测绘通报,2005(8):11-14,34.

  [2] 黄锐。基于AutoCAD 的历史规划成果数据入库规整关键技术探讨[J].城市勘测,2012(1):68-70.

  [3] 王蔚,陈明锐。 AutoCAD 数据向GIS 空间数据转换机制的研究[J].热带农业科学,2010,30( 11): 48-52.

  [4] 陈年松。基于FME 的CAD 与GIS 数据共享研究[D]. 南京:南京师范大学,2008.108-112.

  [5] 袁源林,张新长,等。AutoCAD地形图数据规整入库的研究与应用[J].测绘通报,2013( 5): 44-48.

  [6] 刘志辉,肖海威,梁子震。浅析城市信息化地形图的入库数据质量检查[J].城市勘探,2012( 5) : 53-56.

  [7] 胡胜华, 何宗宜,陶利佳。AutoCAD 与GIS 数据转换的研究[J].测绘通报,2007(12):44-55.


作者简介:陈家鸿(1992 - ),男,陕西汉中人,研究生,主要研究方向为城市地理信息系统。

 

声明:中国勘测联合网登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。