基于AutoCAD的地下管网图形属性一体化方案
2014-06-24周春波吴欢魏伟吴淑丹
周春波,吴欢,魏伟,吴淑丹
(1.江西省水土保持科学研究院,江西南昌 330029; 2.江西环境工程职业学院,江西赣州 341000)
基于AutoCAD的地下管网图形属性一体化方案
周春波1∗,吴欢2,魏伟1,吴淑丹1
(1.江西省水土保持科学研究院,江西南昌 330029; 2.江西环境工程职业学院,江西赣州 341000)
描述了AutoCAD的数据库模型,在详细阐述DWG/DXF制图规范(MSD)和AutoCAD属性数据存储方式的基础上,提出了通过严格按照MSD所定义的数据结构,对地下管网数据进行有效地存储与组织,来实现图形与属性的一体化。在此基础上开发了基于AutoCAD的地下管网系统,实现了数据编辑、数据查询、数据统计、辅助分析和数据质量检查等基本功能,同时,该系统所生产的地下管线数据可以轻松地实现面向ArcGIS的数据转换。
AutoCAD二次开发;属性数据;图形属性一体化;GIS;数据转换
1 引 言
地下管网信息是一种重要的城市基础空间信息数据,城市地下空间规划、地下管网运行建设和维护管理、城市应急管理、解决城市马路拉链等问题都需要现势、准确和完整的地下管网信息[1]。当前,随着人们对地下管网信息重要性的认识不断提高,国内地下管网信息化建设正如火如荼,全国各地纷纷组织开展了城市地下管网普查工作,积极推进城市地下管网信息化建设[2],建立健全城市的地下管网数据库。
AutoCAD软件具有编辑功能强大、操作简单以及可二次开发等优点,近年来已被广泛地应用于地下管网普查和系统建设中,其主要被用于数据处理与数据建库。也有人尝试利用其构建中小城市的地下管网系统,这些系统有的将地下管网属性数据以扩展数据形式存储[3];有的通过创建具有特定属性和方法的自定义实体,以实现地下管网图形与属性数据融合与同步联动的效果[4];有的利用外部数据库(Access、SQLServer等)存储地下管网属性数据[5]。这些系统虽然大都实现了数据处理与智能成图等基本功能,能够满足城市地下管网数据采集、更新与管理的一般需求,但在数据互操作以及海量数据的管理等方面仍存在不足。
因此,本文在探讨AutoCAD环境下属性数据的存储方式的基础上,提出一种行之有效的图形属性一体化方案,实现地下管网图形与属性的一体化。
2 AutoCAD数据库概述
DWG是AutoCAD的数据文件格式,其实质是一个小型的数据库。每个AutoCAD图形文件都对应着一个数据库(Database)对象,这个数据库对象包含了AutoCAD中的所有图形对象和非图形对象,数据库中的每一个对象都用唯一的句柄(Handle)进行标识[6]。DWG数据库包含图形对象和非图形对象。
图形对象是指具有图形表达的对象,如直线、多段线、圆、文本和图块等实体,均为AutoCAD自带的实体类型。此外,还可以创建自定义实体对象,即从基类(AcD-bObject和AcDbEntity)中派生出具有特定意义和表现的实体对象,但这只能在ObjectARX开发环境下实现。
非图形对象是指对象字典和符号表等不具有图形表达的对象。符号表和对象字典是用于存储数据库对象的容器,符号表的类型是固定的,不能添加和修改符号表对象;对象字典是用于存储非图形对象的一般的容器对象,符号表只能存取固定符号表记录对象,而对象字典可以存储多种由数据库对象基类(DbObject)派生的对象,字典中也可以存放字典对象,常保存于对象字典中的对象有数据表和扩展记录。字典又分为命名对象字典(Named Object Dictionary,NOD)和对象扩展字典(Extension Dictionary)两种,命名对象字典用于保存整个图形文件的相关信息,对象扩展字典则保存对象的信息数据。
3 地下管网图形属性一体化方案
3.1 DWG/DXF制图规范(MSD)
DWG/DXF制图规范(Mapping Specification for DWG/DXF,MSD)是Esri公司在2008年制定的用于对DWG或DXF文件的信息进行编码,使其具备非图形属性的GIS要素类和ArcGIS软件中所定义的地理空间坐标系统的一项数据规范。该规范利用标准的DWG/DXF数据结构来定义模式、存储数据,并定义一个地理空间坐标系统。DWG要素类与ArcGIS要素类的映射关系如图1所示,通过该图可以了解MSD要素类在DWG数据库中的组织方法和各关键部位之间的相互关系。
图1 MSD要素类映射关系(引自MSD技术白皮书)
MSD定义的要素类型包括MSD要素类结构、要素类型、要素查询、字段名及其默认值4种类型。MSD可定义的对象类型包括坐标系统、要素类集合、要素类、要素类型、要素属性值、字段和实体属性值等。依据MSD制图规范定义的MSD要素类可被ArcGIS识别为GIS要素类。
3.2 AutoCAD属性数据的存储方式
AutoCAD本身提供了一些存储非图形数据的方法,如块属性数据和实体扩展数据等。此外,还可以通过链接外部关系型数据库的方式来存储实体的属性数据。下面简要介绍几种常见的方法。
(1)直接应用特性存储
AutoCAD中的每个图元都有相应的操作方法和特性。直接应用特性存储属性数据,就是有效地利用图元的空置特性存放用户自定义属性数据。例如,块参照的“Z比例”特性和二维多段线的“厚度”特性等,这些特性在二维绘图系统中几乎不会被使用,因此,可以利用这两个特性来存储属性数据,如可将要素实体编码存放在块参照的“Z比例”特性中,系统便可以通过该特性数据来识别该图块的要素类型。这种方式巧妙地使用了AutoCAD的特性,其缺点是可存储的属性数据少,不适宜较多属性数据项的存储。
(2)块属性数据
块属性数据是在插入块时输入的属性数据。为了能在插入块时输入该块的属性数据,用户必须在定义块时定义属性的样式。但是,块属性数据只有块图元才可定义,其他图元则不能使用,块属性的使用范围有较大的局限性。虽然也可以为其他图元单独定义一个属性块,以存储其属性数据内容,然则这种方式并未将图元对象与属性块关联,极容易因误操作导致属性数据丢失。
(3)链接外部数据库
AutoCAD可以将其图形对象与外部数据库表中的数据相链接[7,8]。其原理是,通过使用ODBC(开放式数据库连接)和OLE DB来访问外部数据库,如Microsoft Access、Excel、SQL Server和Oracle等,将数据库的表记录链接到图形对象,以实现图形对象与数据库对象之间的通信,即可以获取图形对象存储在数据库中的属性信息。通过将句柄与其他属性数据组成的关系表同时存入数据库,实现数据库与DWG图形的双向通信,既可从图形对象查找其属性数据,亦可根据数据库表记录查找对应的图形实体。
(4)自定义实体对象
自定义实体是ObjectARX开发中的一种特有的数据类型,通过继承AcDbObject和AcDbEntity类,可以派生具有特定的属性与操作方法的实体对象。自定义实体类型具有较好的封装性,并具有较高的保密性,其存储的属性数据内容难以在程序之外被查看。
(5)扩展数据
AutoCAD的扩展数据包括实体扩展数据和对象扩展字典。实体扩展数据能够存储的数据量有限,每个实体附加的实体扩展数据不能超过16K,它可以存储多种数据类型的信息,包括字符串、点、实数、整数和实体句柄等。而对象扩展字典则没有数据大小的限制,并且可以定义比扩展数据更多的属性数据结构。实体扩展数据使用颇为广泛,例如,CASS测图软件使用了实体扩展数据存储地形要素的属性数据,AutoCAD软件本身的开发亦使用了实体扩展数据。
表1列出了上述5种属性存储方式的可存储数据类型、数据大小、数据安全性以及使用范围等5个方面的对比。
AutoCAD属性数据存储方式对比 表1
上述5种方法中,使用最多的当属扩展数据和链接外部数据库方式,这两种存储方式各有优缺点。
数据库方式的优点是可支持存储的数据类型丰富,数据查询检索快,并且支持“SQL”查询;其缺点是图形与属性的关联过程比较复杂,在执行删除等操作时,容易产生图形与属性之间的不一致性,另外,当外部属性数据库内存放的数据量过大时,图形与属性数据的联动效率便会降低,影响使用的效果,导致的结果是用户往往并不太愿意去使用这个数据库。
扩展数据的优点是与图形与属性结合紧密,无须对其进行关联,有利于图形属性的一体化操作,维护数据的逻辑一致性,并且这种方式与MSD制图规范内对属性数据的定义规则相符合,许多测图软件采用了这种方式来组织GIS数据;扩展数据的缺点是对储存在DWG文件中的属性数据进行查找、编辑、统计、分类时,其效率较低[40]。
3.3 地下管网图形属性一体化
所谓图形属性一体化,就是建立图形数据与属性数据之间的强联系,一旦其中任何一方发生改变,另一方也会随之变化。在AutoCAD中实现地下管网图形属性一体化,可通过将属性数据附着于图形实体的方式实现,使用实体扩展数据或对象扩展字典,将管网要素的属性数据依附于管网图形实体上,使图形与属性之间形成一种紧耦合关系。这对于图形与属性的一体化操作十分有益,例如在图形数据的裁剪输出时,若图形和属性数据分开存放,不仅要知道图形数据的范围,还需要明确属性数据的范围,而图形属性一体化存储则省去了这个麻烦,所见即所得。本文所采取的方案是通过严格按照DWG/DXF制图规范(MSD)所定义的数据结构,对地下管网数据进行有效地存储与组织,来实现图形与属性的一体化。
在数据的存储方面,将地下管网系统中的通用属性数据如要素实体编码、要素连接关系等存储在实体扩展数据中,而地下管网特有属性数据内容,如管线类型、材质、尺寸等,则存放在实体的扩展字典中。
在数据的组织方面,为每一类管网要素赋予一个唯一的要素实体编码,这样就生成了一个唯一的标识,通过建立要素实体编码与要素类的对照关系,便可以将地下管网DWG图形实体组织为类似于GIS要素类的要素实体。
具体方案如图2所示。
图2 图形属性一体化方案
3.4 基于AutoCAD的地下管网系统
本文开发的地下管网系统采用AutoCAD 2012为基础开发平台,在数据层面,依据行业技术规范与数据标准,建立地下管网数据存储结构,将地下管网的图形和属性数据以DWG图形进行管理,实现了图幅管理和文件目录管理功能;在应用层面,结合多方面的需求,以实际生产应用为目标,实现了数据编辑、数据查询、数据统计、辅助分析、数据质量检查等多种功能。
图3 基于AutoCAD的地下管网系统主界面
3.5 面向GIS的数据转换
单个的DWG文件难以高效地管理城市的地下管网数据,采用空间数据库管理海量管网数据是行之有效的解决办法,因此,地下管网数据面向GIS的数据转换(入库)功能显得尤为重要。一般常用的DWG数据入库方法有:基于中间文件的读取转换、直接转换法和基于FME的语义转换法[10~12]。
本文按照MSD标准制定的数据结构,具有面向ArcGIS的特性,能自动被ArcGIS识别为只读要素类。使用ArcGIS提供的数据转换工具,可以很方便地将DWG中的管网要素类转换至地理空间数据库。Arc-GIS提供了3种工具来实现CAD要素类向地理数据的转换,分别是“CAD至地理数据库(Geodatabase)”工具、“要素类至要素类”工具和“数据合并”工具。
以本系统创建的某城市地下管网DWG数据为例,利用“CAD至地理数据库(Geodatabase)”工具,将CAD数据集中的12个自定义管网要素类转换成文件地理数据库(gdb格式),转换前后的要素类如图4所示。检查转换后GIS要素类的要素数量,与DWG图形中数量完全一致,要素类属性数据结构齐全,说明DWG图形中的管网要素已全部成功转换至地理数据库中,转换过程无数据损失。将数据库中的管网要素类加载到ArcMap中(如图5所示),可以查看每个要素实体的属性数据,还可以进行符号化、数据查询统计等其他操作,整个转换过程轻松、简便,无需人工干预。
图4 转换前后数据内容
图5 在ArcMap中加载数据库中的管网数据
当然,该转换方法具有一定的局限性,由于其基于Esri的MSD规范实现,所以只能完成DWG管网数据向ArcGIS空间数据库的快速转换,但仍然为地下管网数据的快速入库提供了一种简单易行的方法。
4 结 语
基于AutoCAD平台开发地下管网系统,具有开发成本低,数据使用率高等优点。本文提出的地下管网系统图形属性一体化方案具有较好的操作性,能够解决地下管网信息化建设过程中存在的一些问题,具有一定的应用价值。
[1] 江贻芳,顾旭东,孙维志.城市地下管线信息管理系统建设若干问题探讨[J].工程勘察,2006(9):58~61.
[2] 李学军.城市地下管线探测与管理技术的发展及应用[J].城市勘测,2010(4):6~11.
[3] 杨小兵.利用ObjectARX开发小型地下管线信息管理系统[J].城市勘测,2010(4):74~76.
[4] 王乾,李刚,赵海民.ObjectARX自定义实体的地下管线前端采集系统开发[J].测绘学,2010(5):214~216.
[5] 王哲.基于CAD二次开发技术的晋城巿供水管网管理系统的硏究[D].太原:太原理工大学,2012.
[6] 李长勋.AutoCAD ObjectARX程序开发技术[M].北京:国防工业出版社,2005.
[7] 马荣华,黄杏元.GIS认知与数据组织研究初步[J].武汉大学学报·信息科学版,2005(6):539~540.
[8] 张保钢.海量城市空间数据的文件管理方法及应用[J].测绘通报,2002(9):48~50.
[9] 杨永崇等.基于空间信息网格的数字地图分幅(块)方法[J].测绘科学,2010(2):201~203.
[10] 张保钢,罗晓燕.超特大城市地形图数据建库分区设计[J].测绘通报,2007(8):8~9.
[11] 刘德儿,王亮.基于地理要素编码的数字地形图入库方法及应用[J].测绘标准化,2009(2):8~12.
[12] GB/T 13923-2006.基础地理信息要素分类与代码[S].
Graphic Attributes Integration Scheme of Underground Pipe Network Based on AutoCAD
Zhou Chunbo1,Wu Huan2,Wei Wei1,Wu Shudan1
(1.Jiangxi Provincial Institute of Soil and Water conservation,Nanchang 330029,China; 2.Jiangxi Environmental Engineering Vocational College,Ganzhou 341000,China)
This paper describes the AutoCAD database model,based on elaborate Mapping Specification for DWG/ DXF(MSD)and AutoCAD attribute data stored on the proposed MSD through strict accordance with the defined data structures,underground pipe network data effective storage and organization,to achieve the integration of graphics and attributes.On this basis,the development of the underground pipe network system based on AutoCAD,to achieve a data editing,data query,statistics,assisted analysis and data quality checks and other basic functions,while the system is produced by underground pipeline data can be easily achieved for ArcGIS data conversion.
secondary development of AutoCAD;attribute data;integration of graphic and attribute;GIS;data conversion
1672-8262(2014)06-87-05
P208.2
B
2014—05—20
周春波(1989—),男,助理工程师,主要从事水土保持监测工作。
江西省水利科技项目(KT201109)