CAD转GIS到主要方法有哪些

CAD转GIS到主要方法有哪些,第1张

CAD和GIS的使用是不同的,然而需要在不同的环境中共享和重用数据是重要的。CAD文件作为GIS数据集合中的一个重要来源,本文将就CAD到ESRI GIS软件的转换介绍一些相关的工具和方法。

CAD和GIS的使用是不同的,然而需要在不同的环境中共享和重用数据是重要的。CAD文件作为GIS数据集合中的一个重要来源,本文将就CAD到ESRI GIS软件的转换介绍一些相关的工具和方法。 定义

首先来看看相关的数据类型说明。 CAD文件

常见的CAD文件有AutoCAD的线画文件(dwg),MicroStation的设计文件(dgn),Autodesk的线画交换格式(DXF),对于一个MicroStation文件这个文件扩展名是可变的。

CAD文件是由诸如颜色、线型、线宽、符号等静态图形特征组织后的图层集合,其图层并没有象GIS中的图层那样组织严密,实体/元素都包含在一个单一的文件中,属性数据的主要描述依图层和注记。不同的CAD软件版本对不同版本的文件格式有各自的实现(例如AutoCAD 13v,14v,2000v的线画是彼此不同的),这意味着你在进行数据处理时需要注意相关的版本。

DXF文件通常是作为一个ASCII文件,,也可以存为一个二进制文件方式。CAD文件除了存储静态的图形数据,也可以通过编码对应属性的方式来存储属性数据。在AutoCAD和Microstation中提供了方法用来 *** 作CAD对象上的相关属性数据,这些方法中通常都有相关的标准,但有少量是用户自定义的模式,ESRI软件对这些自定义的属性模式的访问是有限制的。 Coverages

Coverages是一种矢量文件格式,几何和空间拓扑关系存储在二进制文件中,与之相关的属性数据则被存放在INFO表或RDBMS中(PC ArcInfo存储在DBF表中)

Coverages是对要素类组织后(feature class)的集合,每个要素类都是一些点,线(arcs),面或者annotation(文本)的集合,用于描述地理要素的Coverage要素类包括point,node,route system,section,polygon和region。一个或多个coverage要素被用于构造地理要素,例如arcs和node被用于构造街道中心线,tic,annotation,link,boundary要素类提供了对coverage数据管理和浏览的支持。 Shapefiles

Shapefile也是一种矢量文件格式,但和coverage不同的是shapefile文件不存储拓扑信息,因此相对其它数据格式要较少地占用存储空间,在显示和访问效率上要快许多。通常一个shapefile由一个主文件,索引文件和DBASE文件组成,在几何和属性基于记录号一对一对应,其数据格式ESRI已经公开。 ArcSDE简单要素层

ArcSDE将要素组织为要素类,一个要素类是一个/多个具有相同几何类型要素的集合,在SDE30时的提法称为“layer”。一个要素是一个空间对象(例如一条道路)的几何描述,定义为一系列的X,Y坐标序列和几何的属性,要素被存储在表中一行就是一个要素。ArcSDE通过一个或多个表实现一个要素类,这取决于DBMS存储集合的列类型。ArcSDE不改变已有的DBMS功能或影响当前的应用程序,,它只是简单地在表中增加了一个空间列并为客户端应用程序提供了工具(C/JAVA API),实际上,它使用和补充了基本的DBMS功能。在ArcSDE中每个几何类型都有一个严格的验证规则集,用来检测一个要素在存储前是否几何化正确,在ArcSDE开发帮助中有对每种几何类型验证规则的描述。 GEODATABASE

一个geodatabase是DBMS中的一个空间数据知识库,它包含了矢量数据,栅格数据,表以及其它GIS对象。Geodatabase简称为地理数据库,是建立在简单要素层模型基础之上的。Geodatabase模型支持对象-关系矢量数据模型,在这个模型中实体被描述为对象,除具有属性外,还具有对象行为和对象间的关系。geodatabase支持在系统中创建多种地理对象模型,对象类型包括简单对象,地理要素(有位置的对象),几何网络和平面拓扑(对象和其它要素的空间关系)。Geodatabase模型允许你在对象中定义关系,使用这些规则来保持数据的完整性和一致性,这也是和它简单要素层的一个重要区别。

最简单的geodatabase模型是一系列独立要素层集合,每个要素层简单地包含点,线,多边形或注记,这和SDE3的SDE layers和ArcView的shapefile如何实现很相似。一个geodatabase可以由一个或多个要素类组成,而一个要素类则是一个或多个具有相同几何类型的要素集合,扩展的规则和行为被储存在一个附加表中,并且也由ArcSDE来管理。 集成

对于使用和共享CAD数据ESRI提供了不同的策略,CAD/GIS集成的一种方式是将CAD数据作为GIS数据集,直接从本地文件读取CAD线画并作为一个有效的GIS数据源。

ArcView GIS 3X(CAD Reader Extension)

ArcView GIS有工具来读取CAD文件作为有效的GIS数据源,这些工具直接读一个CAD文件到磁盘。当显示数据时,一个CAD文件被看作ArcView3环境中的shapefile GIS数据源。这个CAD读扩展支持以下的CAD图形特征和扩展的CAD

属性:颜色,线型,级别/图层,块名/cell名,文本值,文件位置/handle,MSLINK,cell或块属性,线宽,高程和实体类型等。一个独立的线画在ArcView中被作为一个或多个主题,因为ArcView GIS只能工作在相同的几何类型主题中,它需要从CAD文件中提取四个有效几何类型(点,线,多边行,注记)来在ArcView中作为一个主题显示,每个CAD线画可以象其它主题一样在ArcView中被多次打开,这样就可以对CAD文件中的不同对象进行显示控制(如对一个线画文件中的道路,水管,水阀等根据需要进行符号化显示),类似的方法可以对AutoCAD或Microstation图层的可见性进行控制。

AutoCAD的块和Microstation的cell可被作为点,线或多边形几何的一个组成,当被作为点几何或它们的组成几何显示时,块属性和cell标记值将自动地包含在一个虚拟表中。

ArcGIS(CAD要素类和CAD线画层)

ArcMap也可以直接浏览CAD文件。ArcGIS有两种方法来对待此信息,第一种途径是CAD要素数据对象,这和ArcView 3x中的CAD Reader Extension很相似。另外一种是作为一个单独的层显示CAD线画,用ArcGIS线画层你可以控制图层显示和查询对象。AutoCAD块和Microstation cell可被作为点或者点,线,多边形几何的组成来显示,块属性和cell标记值将自动包含在一个虚拟表中(当你在ArcMap中查找一个CAD对象时可以观察到)。在ArcGIS中将CAD线画作为一个CAD线画层打开时,实体CAD线画被作为一个映射层,因此它的符号是静态的不能被修改,只能用于ArcGIS分析或查找。

当CAD线画被作为要素数据对象时,ArcMap创建了一个CAD要素类,可以对该要素类进行查询和分析,使用ArcGIS中标准的符号编辑器来编辑要素符号。在ArcMap中,地理属性被作为一个图层来表达,当从CAD线画创建图层时,可以选择要表达的线画层。例如,你可能只想在地图上看到街道,街道名称。 在ArcGIS中可以直接访问多种CAD格式,包括Auto CAD的dwg(到2000版本),所有ASCII、二进制形式的DXF,dgn文件(到版本7)。此外,包含三维坐标信息的话也可以象在ArcMap中一样在ArcScene环境中显示。 ArcSDE CAD Client ArcSDE CAD客户端是ArcSDE的空间数据客户端,允许用户依ArcSDE在AutoCAD或Microstation环境中存放或取出数据并进行编辑。CAD客户端能够通过多个ArcSDE服务同时访问不同DBMS中的数据,例如在同一时间访问一个ArcSDE for coverage管理的ArcInfo coverage数据,一个ArcSDE for Oracle管理的空间数据库,一个ArcSDE for SQLServer数据库,也能从ArcGIS Geodatabase中的简单要素层中访问数据。

相 反地,当CAD数据被存储进一个DBMS时,GIS用户可以使用ArcSDE客户端(如MO,ArcGIS等)访问CAD数据的几何而不需要任何转换,每个CAD对象有一个翻译后的几何并作为一个有效的ArcSDE几何要素被存储。一些复杂的CAD几何,如椭圆,圆,块/cell等被翻译成一些ArcSDE客户端应用程序可以访问的几何。 CAD客户端存储CAD对象的一个二进制副本,它包括CAD对象的一切,象图形特征、块定义、块属性、标记、cell、x-data和其它自定义数据。一个CAD客户端用户可以访问所有ArcSDE管理的数据源,不管它在什么地方存放;同样,GIS用户也可以直接访问CAD客户端用户存储的CAD数据的几何,包括ArcIMS软件。 ArcSDE CAD客户端访问ArcSDE for Coverages和Geodatabase只提供了读许可。

数据转换 CAD数据经常需要经过组织和处理后才能在GIS应用程序中可用,ESRI提供了不同的转换工具来帮助用户在GIS和CAD间更好地使用数据。 ArcView GIS 3x-保存为shapefile ArcView GIS 3X(CAD Reader Extension)有一个内嵌的集成工具,根据属性/空间选择标准从一个CAD文件中选择一组空间要素,选中的对象集可以导出为shapefile。使用这个功能,ArcView 3x能够转换CAD文件的CAD对象到ArcView GIS shapefile格式中。

ArcGIS ArcCatalog-Simple Data Loader 在ArcCatalog中选中一个要素类并右击鼠标选择<Load Data>选项时就打开了Simple Data Loader向导工具,该工具提供了增加数据到已有要素类的方法。按照向导提示,你可以选择一个要导入的CAD数据源,然后向导将允许你映射CAD图形属性值到已有的数据库字段。另外该工具还提供了查询功能用来对导入源实体进行过滤,然后选中的信息导被增加到要素类中。在运用该工具前,地理数据库的要素类必须事先存在。 ArcGIS:ArcMap-Export Data

从ArcMap中使用Export Data工具,一个选中的CAD要素集可以被导出为shapefile或导出进一个空的geodatabase要素类中。在ArcMap中选择要导出的CAD要素层,点击鼠标右键选择Export菜单,缺省的保存方式为shapefile类型。在ArcMap中CAD文本的转换在 *** 作上有些不同,因为ArcMap中的CAD线画文本被作为一个混合的coverage annotation类型显示,因此必须使用转换coverage annotation功能来取得CAD文本,导入作为geodatabase annotation。

这个工具没有在ArcMap标准工具条显示,需要你在从Label菜单选择加入到你定义的界面上。

ArcGIS:ArcMap-裁剪和粘贴

加载数据到geodatabase要素类的另外一条途径是在ArcMap编辑会话期间使用裁剪和粘贴功能,然后就可以将选中的数据一个具有同样几何类型的

geodatabase要素类中。该方法和ArcCatalog-Simple Data Loader都允许你往一个已有的要素类中增加数据。

ArcGIS:ArcToolbox-CAD到Geodatabase转换工具

ArcGIS提供了一个CAD到Geodatabase转换工具来转换CAD数据到新的geodatabase要素类中,该工具在ArcToolbox和ArcCatalog中都是可用的。ArcToolbox转换工具允许你定义一个查询来选择CAD对象,然后转换并保存查询结果集到一个新的geodatabase要素类中。不象ArcMap中使用的方法保存数据是到一个已有的geodatabase要素类中,ArcToolbox的转换工具将创建一个新的要素类作为转换过程的一部分,这样一个包含多种图形特征的CAD文件全部导出时会创建多个要素类。如果需要将多个线画转出到一个geodatabase的要素类中,你需要在ArcMap中使用Geoprocessing Wizard来对要素类进行合并。 使用CAD to Geodatabase Translator功能,CAD文本将被转换到一个点要素类中。在CAD要素上的变化曲线信息在转换进geodatabase被保留,CAD几何特征和块/cell属性也在转换过程中被保留。 ArcSDE CAD Client

CAD客户端也可以用于数据转换,在CAD数据到ArcSDE管理的DBMS存储过程中,CAD客户端工具将翻译没个CAD对象的几何并产生相应的ArcSDE要素,而其它

ArcSDE客户端可以直接浏览这些ArcSDE要素不需要转换。

移植CAD到ArcGIS

关于从CAD移植到ArcGIS,通常包括两方面的内容:一是CAD到ArcGIS数据的转换,二是CAD到ArcGIS应用的转换。从CAD数据到ArcGI的转换,前面已经做了介绍。因为ArcGIS Geodatabase模型是建立在简单要素层基础之上的,所以CAD到Geodatabase数据的转换通常是先转为简单要素层,之后在按照Geodatabase模型的定义进行要素类组织合并,定义域,子类型,关系,几何网络等规则。从CAD到ArcGIS应用的转换目前主要集中在数据的原始表现上,因为要用到ArcGIS强大的功能必然要对CAD数据进行转换,但也因此以前在CAD环境下的看到数据在ArcGIS环境下“变了样子”,这主要由于各自系统对数据表现方式和相关符号库的不同,数据本身并没有丢失。此问题的解决目前主要集中在两个方法,一种是程序实现不同系统符号库的自动转换,在数据转换时完成相应符号库的转入。另一种是对数据进行前期处理,个人觉得这种方法更具有现实性和易 *** 作性一些。这就是先对CAD数据进行编码处理工作,使CAD符号能够根据编码进行区分,然后利用ArcGIS强大的符号编辑器重新制作CAD相关的符号,之后在ArcGIS应用中书写程序根据编码规则匹配相关的ArcGIS符号文件进行显示和编辑等。

  在过去20年中,矢量数据模型是GIS中变化最大的方面,例如,ESRI公司所开发每种新软件包都对应一种新的矢量数据模型,Arc/Info对应Coverage,ArcView对应Shapefile,ArcGIS对应Geodatabase。Coverage和Shapefile是地理关系数据模型,它利用分离的系统来存储空间数据和属性数据,而Geodatabase是基于对象数据模型,它把空间数据和属性数据存储在唯一的系统中。  Coverage是拓扑的,Shapefile是非拓扑的。  Coverage支持三种基本拓扑关系:连接性、面定义、邻接性。  Shapefile多边形对于共享边界实际上有重复弧段且可彼此重叠,不同于Coverage所用的多个文件,它用几何学性质存储两个基本文件:以shp为扩展名的文件存储要素几何学特征;以shx为扩展名的文件保留要素几何特征的空间索引。  Shapefile:一种基于文件方式存储GIS数据的文件格式。至少由shp,dbf,shx三个文件作成,分别存储空间,属性和前两者的关系。是GIS中比较通用的一种数据格式。  Coverage:一种拓扑数据结构,一般的GIS原理书中都有它的原理论述。数据结构复杂,属性缺省存储在Info表中。目前ArcGIS中仍然有一些分析 *** 作只能基于这种数据格式进行 *** 作。  Geodatabase:ArcInfo发展到ArcGIS时候推出的一种数据格式,一种基于RDBMS存储的数据格式,其有两大类:1PersonalGeodatabse用来存储小数据量数据,存储在Access的mdb格式中。2ArcSDEGeodatabse存储大型数据,存储在大型数据库中Oracle,SqlServer,DB2等。可以实现并发 *** 作,不过需要单独的用户许可。  Coverage数据模型  Coverage是一个集合,它可以包含一个或多个要素类。在第一个商业化GIS软件Arc/INFO之前,计算计划的图形表示源自通用的CAD软件,属性信息和几何要素放在一起,不利于空间信息的描述和分析。  Coverage的优势:  (1)空间数据与属性数据关联。空间数据存储于建立了索引的二进制文件中,属性数据存放在DBMS表中,二者以公共的标识编码关联。  (2)矢量数据间的拓扑关系得以保存。  Shapefile数据模型  Shapefile是ArcViewGIS3x的原生数据格式,属于简单要素类,用点、线、多边形存储要素的形状,却不能存储拓扑关系,具有简单、快速显示的优点。一个shapefile是由若干个文件组成的,空间信息和属性信息分离存储,所以称之为“基于文件”。每个shapefile,都至少由三个文件组成,其中:shp存储的是几何要素的的空间信息,也就是XY坐标。shx存储的是有关shp存储的索引信息,它记录了在shp中,空间数据是如何存储的,XY坐标的输入点在哪里,有多少XY坐标对等信息。dbf存储地理数据的属性信息的dBase表。这三个文件是一个shapefile的基本文件,shapefile还可以有其他一些文件,但所有这些文件都与该shapefile同名,并且存储在同一路径下。下面简要介绍一下其他一些较为常见文件:prj如果shapefile定义了坐标系统,那么它的空间参考信息将会存储在prj文件中;shpxml这是对shapefile进行元数据浏览后生成的xml元数据文件;sbn和sbx这两个存储的是shapefile的空间索引,它能加速空间数据的读取,这两个文件是在对数据进行 *** 作、浏览或连接后才产生的,也可以通过ArcToolbox>DataManagementTools>Indexes>AddspatialIndex工具生成。  几种常见的shapefile文件:当使用ArcCatalog对shapefile进行创建、移动、删除或重命名等 *** 作,或使用ArcMap对shapefile进行编辑时,ArcCatalog将自动维护数据的完整性,将所有文件同步改变。所以需要使用ArcCatalog管理shapefile。虽然Shapefile无法存储拓扑关系,但它并不是普通用于显示的图形文件,作为地理数据,它自身有拓扑的。比如一个多边形要素类,shapefile会按顺时针方向为它的所有顶点排序,然后按顶点顺序两两连接成的边线向量,在向量右侧的为多边形的内部,在向量左侧的是多边形的外部。由于1990年代地理信息的迅速发展以及ArcViewGIS3x软件在世界范围内的推广,shapefile格式的数据使用非常广泛,数据来源也较多。很多软件都提供了向shapefile转换的接口(eg:MapInfo、MapGIS等)。ArcGIS支持对shapefile的编辑 *** 作,也支持shapefile向第三代数据模型geodatabase的转换。  Geodatabase数据模型  Geodatabase作为ArcGIS的原生数据格式,体现了很多第三代地理数据模型的优势。随着IT技术的发展,普通的事务型数据的管理模式,早已从传统的基于文件的管理转向利用基于工业标准建立的关系型数据库进行管理,这种基于数据库的管理方式的优点是不言而喻的。那么带有空间信息的地理数据是否也可以利用这种非常成熟的数据库技术进行管理呢?于是ESRI推出了geodatabase数据模型,利用数据库技术高效安全地管理我们的地理数据。  Geodatabase可以分为两种,一种是基于MicrosoftAccess的personalgeodatabase,另一种是基于oracle、SQLServer、Informix或者DB2的enterprisegeodatabase,由于它需要中间件ArcSDE进行连接,所以nterprisegeodatabase又称为ArcSDEgeodatabase。由于MicrosoftAccess自身容量的限制,personalgeodatabase的容量上限为2GB,这显然不能满足企业级的海量地理数据的存储需求。于是可以将geodatabase扩展为ArcSDEgeodatabase,底层数据库可以使用oracle这样的大型关系数据库,能够存储近乎“无限”的海量数据(仅受硬盘大小的限制)。虽然底层使用的数据库各不相同,但是geodatabase给用户提供的是一个一致的 *** 作环境。在geodatabase中,不仅可以存储类似shapefile的简单要素类还可以存储类似coverage的要素集并且支持一系列的行为规则对其空间信息和属性信息进行验证表格、关联类、栅格、注记和尺寸都可以作为eodatabase对象存储。这些在perasonalgeodatabase和ArcSDEgeodatabase中都是一样的(栅格的存储有点小差异,但对用户来说都是一样的)。  Geodatabase的模型结构:  (1)对象类(Objectclass)  对象类是一种特殊的类,没有空间特征。其实例是可关联某特定行为的表记录。如,某地块的主人,在“地块”“主人”间可建立某种关系。  (2)要素类(Featureclass)  要素类是同类空间要素的集合。如,河流、道路、植被、电缆等。要素类可以独立存在,也可以具有某种联系。当不同的要素类之间存在关系时,就将其组织到一个要素数据集(Featuredataset)中。  (3)要素数据集(Featuredataset)  要素数据集由一组具有相同空间参考(Spatialreference)的要素类组成。将不同要素类放入要素数据集的原因:  a专题归类表示——当不同的要素类属于同一范畴。比如,全国范围内某种比例尺的水系数据,其点线面类型的要素类可组织成同一个要素数据集。  b创建几何网络——在同一几何网络中充当连接点和边的各种要素类,须组织到同一要素数据集中。比如,配电网络中,有各种开关、变压器、电缆等,它们分别对应点或线类型的要素类,在配电网络建模时,我们要将其全部考虑到配电网络对应的几何网络模型中。此时这些要素类就要放在统一要素数据集下。  c考虑平面拓扑——共享公共几何特征的要素类。比如,用地、水系、行政区界等。当移动其中一个要素时,其公共部分也要一起移动,并保持这种公共的几何关系不变。  (4)关系类(Relationshipclass)  定义不同要素类或对象类之间的关联关系。如我们可以定义房子和主人之间的关系、房子和地块之间的关系等。  (5)几何网络  在若干要素类的基础上建立起的新类。定义几何网络时,我们指定哪些要素类加入其中,同时指定其在几何网络中扮演什么角色。比如,定义一个供水网络,我们指定同属一个要素数据集的“阀门”、“泵站”、“接头”对应的要素类加入其中,并扮演“连接”的角色;同时,我们要指定同属一个要素数据集的“供水干管”、“供水支管”、“入户管”等对应的要素类加入供水网络,由其扮演“边”的角色。  (6)Domains  定义属性的有效范围,可是连续的,也可是离散数值。(7)Validationrules对要素类的行为和取值加以约束的规则。如不同管径的水管连接必须通过合适的接头,规定一个地块可拥有一到三个主人等。  (8)Rasterdatasets  用于存放栅格数据。支持海量栅格数据,支持影像镶嵌,可通过建立“金字塔”形索引,在使用时指定可视范围提高检索和显示效率。  (9)TINDatasets  ARC/INFO的经典数据模型,用不规则分布的采样点的采样值构成不规则的三角集合。用于表达地形或其他类型的空间连续分布特征。  (10)Locators  定位参考和定位方法的组合。对于不同的参考,用不同的定位方法进行定位 *** 作。所谓定位参考,不同的定位信息有不同的表达方法。在Geodatabase中,有四种定位信息:地址编码、<X,Y>、地名及邮编、路径定位。定位参考数据放在数据库表中,定位器根据该定位参考数据在地图上生成空间定位点。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/12154184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存