AutoCAD数据到GIS空间数据转换技术和方法的研究
曹国云1,张伟2 (1.西南大学资源与环境科学学院,重庆400715;2.总参工程兵第四设计研究院,北京100036)
摘要 介绍了CAD数据到ESRIGIS软件所支持数据转换的相关工具和方法。关键词 AutoCAD;GIS;数据转换中图分类号 S126 文献标识码 A 文章编号 0517-6611(2006)22-6035-02
StudyontheConversionTechniqueandMethodsfromCADDatatoGISSpatialData
CAOGuo2yunetal (CollegeofResourcesandEnvironmentalScience,South2WestUniversity,Chongqing400715)Abstract ThisarticleintroducedsomerelatedtoolsandmethodsfordataconversionfromCADdatatoESRIGISsoftwaresupportingdata.Keywords AutoCAD;GIS;Dataconversion
在CAD的数据模型中,点、线、面等几何要素以二进制形式保存于文件中,相关的注记、颜色、线形等属性也与几何数据放在一起。该模型具有强大的绘图功能和矢量图形处理的能力,广泛应用于工业设计、机械设计、建筑设计、城市规划之中。早期的地图制图系统多以AutoCAD作为软件的开发平台,因此目前很大一部分地理信息数据仍以AutoCAD的数据格式(3.dwg)存储。但随着计算机的迅速发展,从空间地理信息系统的角度来看,AutoCAD缺乏较强的空间数据信息的描述和分析功能。而地理信息系统(GIS)却在空间信息分析方面发挥着巨大的作用,能对已存的空间数据进行建模、分析和管理。因此已有的AutoCAD数字地形图只能作为数据库建立的数字形式的基础数据源,而不能是GIS概念中的空间信息数据库。所以,为充分利用已有的数据资源,就必须用切实可行的处理方法将已有的AutoCAD数字地形图数据转化为适用的GIS数据。
1 相关数据类型说明
1.1 CAD文件数据的特点 常见的CAD文件有AutoCAD
几何和空间拓扑关系存储在二进制文件中,与之相关的属性数据被存放在INFO表或RDBMS中(PCArcInfo存储在DBF表中)。Coverages是对要素类组织后(featureclass)的集合,每个要素类都是一些点、线、面或者文本的集合,用于描述地理要素的Coverage要素类包括point、node、route、system、section、
polygon和region。一个或多个coverage要素被用于构造地理
要素,如arcs和node被用于构造街道中心线,tic、annotation、
link、boundary要素类提供了对coverage数据管理和浏览的
支持。
1.2.2 Shapefiles文件格式。Shapefile也是一种矢量文件格
式,与coverage不同的是shapefile文件不存储拓扑信息,因此相对其他数据格式占用存储空间较少,显示和访问效率较高。通常1个shapefile由1个主文件、索引文件和DBASE文件组成,几何和属性基于记录号一一对应。
1.2.3 ArcSDE简单要素层。ArcSDE将要素组织为要素类。
一个要素类是一个或多个具有相同几何类型要素的集合,在
SDE3.0时的提法称为“layer”。一个要素是一个空间对象的
的线画文件(.dwg),MicroStation的设计文件(.dgn)。Autodesk的线画交换格式(DXF),MicroStation文件的这个文件扩展名是可变的。
CAD文件是由诸如颜色、线型、线宽、符号等静态图形特
几何描述,定义为一系列的X、Y坐标序列和几何属性,表中一行就是一个要素。ArcSDE通过一个或多个表实现一个要素类,这取决于DBMS存储集合的列类型。ArcSDE不改变已有的DBMS功能或影响当前的应用程序,它只是简单地在表中增加了一个空间列并为客户端应用程序提供了工具(C/
JAVAAPI),实际上,ArcSDE使用和补充了基本的DBMS功
征组织后的图层集合,其图层并不像GIS中的图层那样组织严密,实体或元素都包含在单一的文件中,属性数据的主要描述依据图层和注记。不同的CAD软件版本对不同版本文件格式的实现是不同的(如AutoCAD13v、14v、2000v的线画是彼此不同的),即在进行数据处理时需要注意相关的版本。
DXF文件通常是作为一个ASCII文件,也可以存为一个
能。在ArcSDE中每个几何类型都有一个严格的验证规则集,用来检测一个要素在存储前是否正确几何化。
1.2.4 GEODATABASE库文件。一个geodatabase是DBMS中
二进制文件方式。CAD文件除可存储静态的图形数据外,也可以通过编码对应属性的方式来存储属性数据。AutoCAD和Microstation中提供的方法用来操作CAD对象上的相关属性数据,这些方法通常都有相关的标准,但也有少量是用户自定义模式,ESRI软件对这些自定义的属性模式的访问是有限制的。
1.2 ArcGIS空间数据文件格式的特点
1.2.1 Coverages文件格式。Coverages是一种矢量文件格式,
作者简介 曹国云(1979-),女,山东潍坊人,硕士研究生,研究方向:资
源与环境信息系统。
收稿日期 2006207218
的一个空间数据知识库,它包含了矢量数据、栅格数据、表及其他GIS对象。Geodatabase简称为地理数据库,是建立在简单要素层模型基础之上的。Geodatabase模型支持对象—关系矢量数据模型,该模型中实体被描述为对象,除具有属性外,还具有对象行为和对象间的关系。Geodatabase支持在系统中创建多种地理对象模型,对象类型包括简单对象、地理要素、几何网络和平面拓扑。Geodatabase模型允许在对象中定义关系,并利用这些规则来保持数据的完整性和一致性。
最简单的geodatabase模型是一系列独立要素层集合,每个要素层简单地包含点、线、多边形或注记,这和SDE3的
SDElayers和ArcView的shapefile实现相似。一个geodatabase
可以由一个或多个要素类组成,而一个要素类则是一个或多
6036 安徽农业科学 2006年
个具有相同几何类型的要素集合,扩展的规则和行为被储存在一个附加表中,并且也由ArcSDE来管理。
2 AutoCAD数据到GIS空间数据的集成
要任何转换就可以使用ArcSDE客户端访问CAD数据的几何,每个CAD对象有一个翻译后的几何并作为一个有效的
ArcSDE几何要素被存储。一些复杂的CAD几何,如椭圆、
对使用和共享CAD数据ESRI提供了不同的策略,CAD/
GIS集成的一种方式是将CAD数据作为GIS数据集,直接从
圆、块/cell等被翻译成一些ArcSDE客户端应用程序可以访问的几何。
CAD客户端存储CAD对象的一个二进制副本,它包括CAD对象的一切,如图形特征、块定义、块属性、标记、cell、x-data和其他自定义数据。一个CAD客户端用户可以访问所
本地文件读取CAD线并作为一个有效的GIS数据源。
2.1 ArcViewGIS3.X(CADReaderExtension) ArcViewGIS
提供工具读取CAD文件作为有效的GIS数据源,这些工具直接读一个CAD文件到磁盘。当显示数据时,一个CAD文件被看作ArcView3环境中的shapefileGIS数据源。这个CAD可以读取扩展支持以下的CAD图形特征和扩展的CAD属性:颜色、线型、级别/图层、块名/cell名、文本值、文件位置/han2dle、MSLINK、cell或块属性、线宽、高程和实体类型等。一个有ArcSDE管理的数据源,同样,GIS用户也可以直接访问CAD客户端用户存储的CAD数据几何。3 从AutoCAD数据到GIS空间数据转换的几种方法CAD数据经常需要经过组织和处理后才能在GIS应用
程序中使用,ESRI提供了不同的转换工具可以在GIS和CAD间更好地使用数据。
3.1 ArcViewGIS3.X2保存为shapefile ArcViewGIS3.X(CADReaderExtension)有一个内嵌的集成工具,根据属性/空
独立的线画在ArcView中可以被作为一个或多个主题,但Ar2
cViewGIS只能工作在相同的几何类型主题中,它需要从CAD
文件中提取4个有效几何类型来在ArcView中作为一个主题显示,每个CAD线画可以象其他主题一样在ArcView中被多次打开,这样就可以对CAD文件中的不同对象进行显示控制,类似的方法还可以对AutoCAD或Microstation图层的可见性进行控制。
AutoCAD的块和Microstation的cell可被作为点、线或多
间选择标准从一个CAD文件中选择一组空间要素,选中的对象集可导出为shapefile。使用这个功能,ArcView3.X能转换CAD文件的CAD对象到ArcViewGISshapefile格式中。
3.2 ArcGIS:ArcCatalog2SimpleDataLoader 在ArcCatalog
中选中一个要素使用SimpleDataLoader向导工具,该工具提供了增加数据到已有要素类的方法。按照向导提示,可以选择一个要导入的CAD数据源,然后向导将允许映射CAD图形属性值到已有的数据库字段。另外,该工具还提供了查询功能用来对导入源实体进行过滤,然后选中的信息被增加到要素类中。在运用该工具前,地理数据库的要素类必须事先存在。
3.3 ArcGIS:ArcMap2ExportData 从ArcMap中使用ExportData工具,一个选中的CAD要素集可以被导出为shapefile或
边形几何的一个组成,当被作为点几何或它们的组合显示时,块属性和cell标记值将自动地包含在一个虚拟表中。
2.2 ArcGIS(CAD要素类和CAD线画层) ArcMap可以直
接浏览CAD文件。ArcGIS有2种方法对待信息:①CAD要素数据对象,这和ArcView3.X中的CADReaderExtension很相似;②作为一个单独的层显示CAD线画,用ArcGIS线画层可以控制图层显示和查询对象。AutoCAD块和Microstationcell可被作为点或者点、线、多边形几何的组合来显示,块属性和
cell标记值将自动包含在一个虚拟表中。在ArcGIS中将CAD线画作为一个CAD线画层打开时,实体CAD线画被作
导出到一个空的geodatabase要素类中。在ArcMap中CAD文本的转换在操作上有些不同,因为ArcMap中的CAD线画文本被作为一个混合的coverageannotation类型显示,因此必须使用转换coverageannotation功能来取得CAD文本,导入作为
geodatabaseannotation。
3.4 ArcGIS:ArcToolbox2CAD到Geodatabase转换 ArcGIS
为一个映射层,因此它的符号是静态不能被修改的,只能用于ArcGIS分析或查找。
当CAD线画被作为要素数据对象时,ArcMap创建了一个CAD要素类,可以对该要素类进行查询和分析,使用Ar2
cGIS中标准的符号编辑器来编辑要素符号。在ArcMap中,
提供了一个转换工具来实现转换CAD数据到新的geo2
database要素类中,该工具在ArcToolbox和ArcCatalog中都是
地理属性被作为一个图层来表达,当从CAD线画创建图层时,可以选择要表达的线画层。在ArcGIS中可以直接访问多种CAD格式,包括AutoCAD的dwg和所有ASCII、二进制形式的DXF.dgn文件。此外,包含三维坐标信息的话也可以在
ArcScene环境中显示。
2.3 ArcSDECADClient ArcSDECAD客户端是ArcSDE的
可用的。ArcToolbox转换工具允许定义一个查询来选择CAD对象,然后转换并保存查询结果集到一个新的geodatabase要素类中,这与ArcMap中使用的方法不同。ArcToolbox的转换工具将创建一个新的要素类作为转换过程的一部分,这样一个包含多种图形特征的CAD文件全部导出时会创建多个要素类。如果需要将多个线画转出到一个geodatabase的要素类中,需要在ArcMap中使用GeoprocessingWizard来对要素类进行合并。
使用CADtoGeodatabaseTranslator功能,CAD文本将被转换到一个点要素类中。在CAD要素上的变化曲线信息在转换进geodatabase时被保留,CAD几何特征和块/cell属性也在转换过程中被保留。
(下转第6064页)
空间数据客户端,允许用户依据ArcSDE在AutoCAD或Micro2
station环境中存放或取出数据并进行编辑。CAD客户端能够
通过多个ArcSDE服务同时访问不同DBMS中的数据,例如在同一时间访问1个ArcSDEforcoverage管理的ArcInfocoverage数据、1个ArcSDEforOracle管理的空间数据库和1个ArcSDE
forSQLServer数据库,也能从ArcGISGeodatabase中的简单要
素层中访问数据。
相反,当CAD数据被存储进一个DBMS时,GIS用户不需
6064 安徽农业科学 2006年
其输出波形见图4。一类消息是由上位机直接处理,这类消息包括转速设置,定时中断等。定时中断消息是上位机处理的主要消息。在初始化函数OnInitial(Updata)里使用函数SatTimer(1,1000,
NOLL)设置了定时器,定时时间为1s,每秒产生一次定时中
断消息,由定时中断函数Ontimer(uintnidevent)处理定时中断消息。定时中断函数的工件流程:①接收下位机发送的数
图4 开关型霍尔传感器的输出波形
据,包括有转速、计数值、温度值、供油提前角;②计算转速、显示转速;③每3s根据实际转速与设定转速的差值对转速进行调整;④更新显示温度和计数值;⑤计算并显示供油提前角。2 系统具有的功能及主要参数测量转速时,在非磁性的转盘上粘上一块磁钢,把霍尔传感器的感应面对准磁钢的磁极,并将其固定在机架上。机器轴旋转时,固定在转盘上的磁钢随之旋转,当磁钢转到传感器的位置时,霍尔传感器便输出一个脉冲信号,转轴每转一圈霍尔传感器输出一个脉冲信号,相邻2个脉冲之间的时间间隔为转轴转1圈的时间,由此可计算出转轴的转速。测量转速的关键是快速、准确地测量转轴每旋转1圈的时间。霍尔传感器输出的信号经施密特触发器74LS14整形后,送到IC1的外部中断INT0引脚,设置IC1外部中断0为边沿触发方式,在脉冲信号的下降沿向CPU发出中断请求。同时,利用单片机的定时器T0进行定时,测量2次中断之间的时间。为了较精确的测量转轴转1圈的时间,设置定时器
T0工作在方式2,允许中断,计数初值为0,当计数溢出时自
设计具有“单片机显示控制系统”和“联合控制系统”2个系统的切换;自动打印,并有储存数据库,可查询国内各种喷油泵技术参数;微机显示器用彩色显示器,可在线设置和修改参数及状态;具有光标指示、鼠标控制主轴启动、停止和正反转、转速档位的预置,视窗显示动态转速,档位共7档,每档测速范围0~3000r/min,分辨率1r;转速信号拾取方式为电磁式,转速信号输入幅度(有效值)20mV;具有光标指示、鼠标控制集油次数的启动、停止,集油次数设定范围100~
1000次,每100次为1档,共7档,视窗显示动态集油次数和
动装入计数初值,以减小在其他工作方式下,由程序装入计数初值引起的测量误差。因方式2定时器的计数器仅为8位计数器,另设置一个16位的计数器i,每次定时器计数溢出时将其加1。单片机的时钟频率为6MHz,一个机器周期T
的时间为2μS,该测量装置的最大计时时间为224×T≈33.55
s,测量的最低转速为2r/min。测量误差小于0.5%的情况
集油次数的设定,动态显示次数增加到设定次数时,停止集油;具有光标指示、鼠标控制油箱温度数值,视窗显示油箱温度数值和设定值。设定范围0~40℃,每2℃为1档,共20档,开机后油箱具有恒定温度。
3 结语
该文设计的喷油泵试验台微机控制系统已经投入市场,完全能满足用户需求。该系统操作界面友好,性能稳定,操作简单,维护方便,系统自动化,智能化程度高。它采用了传感器技术,提高检测精度;在检测电机的转速时采用霍尔传感器;在检测油温时采用铂电阻,采用先进的变频调试技术对电机的转速进行控制;采用了先进的计算机编程技术。所以,系统具有经济性、先进性。参考文献
[1]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,
2004.
[2]周航慈.单片机程序设计基础[M].北京:北京航空航天大学出版社,
2003.
[3]王福瑞.单片机微机测控系统设计大全[M].北京:北京航空航天大学
出版社,1999.
下,测量的最高转速可达每分钟15万r(计数值为200,计时误差为1个机器周期)。增大时钟频率,可以提高测量的最大转速和测量精度。
1.2.2 IC3单片机程序。IC3是联合控制部分的下位机,主
要完成温度、提前角的显示和上位机的通讯任务。其程序由主程序和中断程序2个部分组成。主程序接收主机发送的各种命令,并执行各种命令所规定的操作;中断程序用于进行测量转速,其方法与IC1的相同。
1.2.3 上位机程序。上位机程序使用VC++6.0面向对象
程序设计语言。上位机对所接收消息的处理分2类。一类消息是由下位机执行的指令,由上位机发送给下位机,这类消息包括启动、停止、正转、反转、开始计数、停止计数等;另
(上接第6036页)4 结论
参考文献
[1]王卉.一种解决GIS多源数据无缝集成的方法[J].测绘工程,2003,12
(2):11-13.
[2]张雪松,张友安,邓敏.AutoCAD环境中组织GIS数据的方法[J].测绘
通报,2003(11):45-48.[3]施一军.数字地形图向GIS数据转换处理方法的探讨[J].江苏测绘,
2000,23(4):44-46.
[4]闾国年.地理信息系统集成原理与方法[M].北京:科学出版社,2003.[5]党安荣,贾海峰,易善桢,等.ArcGIS8Desktop地理信息系统应用指南
[M].北京:清华大学出版社,2003.
由于CAD与GIS在数据与功能上的互操作性与集成的应用越来越重要,所以应该用各种技术来实现将CAD数据无缝转换成符合GIS数据要求的格式,并同步地进行数据转换质量的控制,从而保证高质量的地理空间数据,提高
GIS的整体开发效率,降低成本。
因篇幅问题不能全部显示,请点此查看更多更全内容