APP下载

基于AutoCAD平台的shapefile数据生产

2015-03-12唐红鹰

铁道勘察 2015年1期
关键词:配置文件图层实体

唐红鹰

(中铁二院工程集团有限责任公司,四川成都 610031)

Design and Implementation of Data Conversion System From CAD to Shape File

TANG Hong-ying

基于AutoCAD平台的shapefile数据生产

唐红鹰

(中铁二院工程集团有限责任公司,四川成都610031)

Design and Implementation of Data Conversion System From CAD to Shape File

TANG Hong-ying

摘要设计并实现一个基于AutoCAD平台的shapefile数据生产软件。首先设计一个配置文件,用于存储实体的属性字段;然后利用AutoCAD提供的二次开发接口进行批量和交互式属性录入,并提供几何和属性错误的检查、定位、修改功能;最后结合开源GDAL库,实现shapefile数据的生成。该软件直接基于AutoCAD平台,数据生产过程中无信息损失,可降低数据制作成本,提高工作效率。软件可以根据作业流程定制,具有较高的灵活性。

关键词AutoCADshapefile转换开源库GDAL

目前,测绘领域数字化制图后期一般采用AutoCAD软件或基于其二次开发的软件对成果进行编辑、处理,制图成果多以AutoCAD软件的格式存储,然后通过数据二次加工制作GIS数据。主要有两种方法[1]:一是将制图数据重新数字化,二是利用特定的软件将制图数据成果转化成GIS数据成果。一般采用第二种方法,即:使用商业软件[2-4],或者利用商业软件定制开发功能[5,6]对AutoCAD平台制作的制图数据进行几何信息转换、编辑,然后再进行属性录入。这种方法充分利用了AutoCAD平台几何信息编辑能力强、商业软件属性信息编辑能力强的特点。但是,着这种方法会增加软件购买投入。同时,由于商业软件并不完全符合各单位对于GIS数据生产的工艺流程,制作完成的GIS数据如果出现错误,需要重新编辑、转换,会造成使用不顺畅等问题。

shapefile数据是GIS领域中一种重要的数据格式,包含几何信息和属性信息,由于其数据结构公开,能被多种GIS软件读取,在空间分析、数据入库等各方面都被广泛应用。设计并实现了一个shapefile数据生产软件,该软件以AutoCAD为平台,利用该平台提供的开发接口,实现实体的属性录入、拓扑检查,并结合开源GDAL库(Geospatial Data Abstraction Library),将实体的几何信息和属性信息写入到shapefile文件中。该软件全程都在AutoCAD平台中完成,功能可按照工艺定制,转换无信息损失,能降低数据制作成本,提高工作效率,具有较强的灵活性。

1AutoCAD与shapefile数据分析

1.1 AutoCAD数据

AutoCAD软件具有强大的图形绘制、修改、编辑、打印、输出等功能,数字化制图软件一般以其为基础平台,其数据包含多种图形元素,包括:点、线、注记、填充等基本元素,以及由基本元素构成的块、组合等复杂的实体。同类元素又具有多种类型,如线元素在AutoCAD的数据结构中具有:Polyline、LWPolyline、Polyline2d、Polyline3d、SPline、Line,MLine、Circle、Arc等[7,8]。

AutoCAD的图形元素具有如下特点:

①一般都是矢量形式,具有几何信息,即一组或者多组X,Y,Z坐标确定空间位置以及边界、形状等。

②包含如颜色、线宽、字高、内容等属性。

③包含如拓展字段(XData)等隐性属性。

④包含图层,每个图层可以存储一类或者多类图形元素。

1.2 shapefile数据

shapefile数据是ESRI公司公布的一种基于文件方式存储的GIS数据,其数据结构完全公开,能被多种GIS软件读取,可以作为不同GIS数据转换的中间格式,在空间分析、数据入库等各方面都被广泛应用。

Shapefile具有如下特点:

①一般由.shp,.dbf和.shx三个文件共同组成,能够存储地理实体的几何信息和属性信息;

②其图形元素一般只有点、线、面三种。同类图形元素亦具有多种类型,如线元素具有Polyline、Polyline ZM等类型;

③图形元素存储于图层上,且每个图层只能存储一种类型的图形元素。

1.3 AutoCAD与shapefile数据相关关系

要实现基于AutoCAD平台生产shapefile数据,需要将两种数据结构对应的几何及属性信息进行关联,两种数据结构对应的图形元素和属性如表1所示。

表1 AutoCAD数据与shapefile数据关联

由表1分析可知:

①AutoCAD数据中没有“面”元素,shapefile数据中的面元素在AutoCAD数据中以闭合的线元素表示。

②shapefile数据中没有“文字”和“块”元素,都以“点”元素表示。

③两种类型的数据都有“图层”; AutoCAD数据每个图层中能存放多种类型的元素,shapefile数据图层中只能存放一种类型的元素。

2属性字段配置文件设计

为了实现基于AutoCAD平台的shapefile数据生产,首要需要解决的问题是基于AutoCAD平台地理实体的几何、属性信息一体化存储。针对该问题,可以使用XData在AutoCAD中存储用户定制的属性信息,并与几何实体关联的方法。

为了使软件具有通用性,设计了一个属性字段配置文件,该配置文件定义了地理实体的属性字段名称、类型、字段长度和默认值等信息,并以拓展标记文本格式存储[9,10]。

文件数据结构如下:

<属性字段配置>

<实体 index=”1”>

<字段 index="1">

<字段 index="2">

为官一任,造福一方。反之,为官一任,遗祸一方。不同的作为,不同的结局。造福一方者,英名远扬。遗祸一方者,臭名昭著。清廉者,人生完美。贪腐者,身败名裂。当政者应当引以为戒!

……

<实体 index=”2”>

……

……

其中,属性字段配置文件中实体名称与AutoCAD数据中的图层名称对应,可以在属性字段配置文件中增加、删除、修改相应的实体以及实体的属性信息。使用AutoCAD进行shapefile数据生产时,可以利用该配置文件中定义的有关属性字段信息,将用户录入的属性信息存入XData中,实现几何、属性一体化存储;在AutoCAD数据转换成shapefile数据时,亦需要利用该配置文件生成shapefile数据中的属性字段。

为了方便进行属性字段增、删、改、查,开发了一个属性字段编辑器,如图1所示。

图1 属性字段编辑器

3软件的设计与实现

AutoCAD软件提供了强大的二次开发接口,便于用户快速访问其数据。开发的软件将以功能插件的形式在AutoCAD平台中运行[7,8]。利用该软件,可以实现从制图数据到GIS数据流程化作业,并充分利用其强大的数据编辑、修改能力。

首先利用检查功能检查图形的拓扑错误,并进行改正;然后利用编辑完成的属性字段配置文件,对AutoCAD平台中实体进行属性录入,录入的属性信息以XData的方式与几何实体关联,并提供属性完整性检查的功能,能实现定位并高亮显示检查结果;按图层配置AutoCAD数据输出为shapefile数据。通过AutoCAD的接口,分图层遍历数据中每一个实体对象,获得其几何和XData数据,利用开源GDAL库,结合属性字段配置文件信息,生成shapefile数据。整个流程如图2所示。

图2 数据处理流程

GDAL库是一个开源的空间数据转换库,支持包括shapefile、mid/mif、TAB等格式数据的读写;ArcGIS、Global Mapper等商业GIS软件对shapefile的读写也是基于GDAL核心封装。利用GDAL库基于AutoCAD平台制作shapefile数据,不仅满足开发需求,也可以节省商业软件采购成本。

首先利用属性字段配置文件导入实体默认属性,如图3所示。

图3 导入默认属性

导入默认属性完成后,可以通过交互式的方式对实体进行属性录入,录入完成后,属性信息被写入到实体的XData中,如图4所示。

图4 交互式属性录入

属性录入后,可以利用属性录入完整性检查功能进行检查,可以将未录入的实体列表显示,并能定位、高亮显示,同时将其属性信息列表,以便于用户输入,如图5所示。

图5 属性录入完整性检查

属性录入完成无误后,可以通过输出设置,利用开源GDAL库的相关功能将AutoCAD数据输出成shapefile数据,设置对话框(如图6所示)。

图6 AutoCAD数据输出shapefile设置

4实验及分析

利用本软件处理四川某县地理国情监测基础空间地理数据,图7为转换前后的数据。

图7 转换前后的数据

将本软件生产的数据与商业软件生产的成果进行对比,可知:几何和属性信息转换正确、无信息丢失,且shapefile数据制作与制图软件无缝集成,效率高,避免了商业软件购买成本高、不能随需求定制的弊端。

5结束语

采用外部配置文件的形式定制实体属性字段,并利用AutoCAD二次开发技术,在该平台中录入实体属性信息,并关联实体,实现相关几何和属性检查功能,进行错误定位、修改,然后直接读取其数据中实体的几何、属性信息,结合GDAL开源库,实现了基于AutoCAD平台的shapefile数据生产。该方法实现数据转换快捷、无损,大幅提高了转换准确度和效率,开发成本低,能与本单位生产工艺紧密结合,在测绘数据处理与GIS 建库等相关项目中具有广泛的应用前途与推广价值。

参考文献

[1]Bennett D A. A framework for the integration of geographical information systems and modelbase management[J]. International Journal of Geographical Information Science, 1997,11(4):337-357

[2]樊伊君.CASS软件中DWG文件转成SHP文件的方法[J].中国水运,2010,10(9)

[3]时绿艳,冯国庆.基于FME实现AutoCAD dwg数据向GIS shape数据转换的研究[J].2011(5)

[4]高宏兵,李凤斌,王进,等.基于VBA的SCS数据分类转换为Shape文件[J].现代测绘,2007,30(4):37-39

[5]李勇平.DWG到SHP数据的一种实用转换方法[J].国土资源信息化,2010(3):29-32

[6]任学申,张月香.基于ArcEngine的CAD数据与ArcGIS数据互换[J].铁道勘察,2014(5):8-11

[7]宋威,王正琼,赵永亮,等.使用C#语言进行AutoCAD 开发学习初探[J].测绘与空间地理信息,2010,33(4):225-227

[8]李世国.AutoCAD高级开发技术:ARX编程及应用[M].北京:机械工业出版社,1999

[9]林春峰,黄华平,闵世平.基于AutoCAD平台的线路横断面线提取系统的设计与实现[J].铁道勘察,2013(4):6-9

[10]杨锋,程昂,林春峰.基于ObjectArx的地形图数据标准统一软件的设计与实现[J].铁道勘察,2014(5):5-7

中图分类号:P209; P231.5

文献标识码:B

文章编号:1672-7479(2015)01-0032-04

作者简介:唐红鹰(1965—),女,1987年毕业于西南交通大学铁道航空勘测专业,工程师。

收稿日期:2014-12-29

猜你喜欢

配置文件图层实体
从Windows 10中删除所有网络配置文件
用软件处理Windows沙盒配置文件
互不干涉混用Chromium Edge
前海自贸区:金融服务实体
基于Zookeeper的配置管理中心设计与实现
解密照片合成利器图层混合模式
实体的可感部分与实体——兼论亚里士多德分析实体的两种模式
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
跟我学添加真实的光照效果