CAD转换shipfile.docx
- 文档编号:12188492
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:14
- 大小:22.74KB
CAD转换shipfile.docx
《CAD转换shipfile.docx》由会员分享,可在线阅读,更多相关《CAD转换shipfile.docx(14页珍藏版)》请在冰豆网上搜索。
CAD转换shipfile
CAD转换成shipfile
CAD和GIS的使用是不同的,然而需要在不同的环境中共享和重用数据是重要的。
CAD文件作为GIS数据集合中的一个重要来源,本文将就CAD到ESRIGIS软件的转换介绍一些相关的工具和方法。
定义
首先来看看相关的数据类型说明。
CAD文件
常见的CAD文件有AutoCAD?
的线画文件(.dwg),MicroStation?
的设计文件(.dgn),Autodesk的线画交换格式(DXF),对于一个MicroStation文件这个文件扩展名是可变的。
CAD文件是由诸如颜色、线型、线宽、符号等静态图形特征组织后的图层集合,其图层并没有象GIS中的图层那样组织严密,实体/元素都包含在一个单一的文件中,属性数据的主要描述依靠图层和注记。
不同的CAD软件版本对不同版本的文件格式有各自的实现(例如AutoCAD13,14,2000的线画是彼此不同的),这意味着你在进行数据处理时需要注意相关的版本。
DXF文件通常是作为一个ASCII文件,,也可以存为一个二进制文件方式。
CAD文件除了存储静态的图形数据,也可以通过编码对应属性的方式来存储属性数据。
在AutoCAD和Microstation中提供了方法用来操作CAD对象上的相关属性数据,这些方法中通常都有相关的标准,但有少量是用户自定义的模式,ESRI软件对这些自定义的属性模式的访问是有限制的。
Coerages
Coerages是一种矢量文件格式,几何和空间拓扑关系存储在二进制文件中,与之相关的属性数据则被存放在INFO表或RDBMS中(PCArcInfo存储在DBF表中)。
Coerages是对要素类组织后(featureclass)的集合,每个要素类都是一些点,线(arcs),面或者annotation(文本)的集合,用于描述地理要素的Coerage要素类包括point,node,routesystem,section,polygon和region。
一个或多个coerage要素被用于构造地理要素,例如arcs和node被用于构造街道中心线,tic,annotation,link,boundary要素类提供了对coerage数据管理和浏览的支持。
Shapefiles
Shapefile也是一种矢量文件格式,但和coerage不同的是shapefile文件不存储拓扑信息,因此相对其它数据格式要较少地占用存储空间,在显示和访问效率上要快许多。
通常一个shapefile由一个主文件,索引文件和DBASE文件组成,在几何和属性基于记录号一对一对应,其数据格式ESRI已经公开。
ArcSDE简单要素层
ArcSDE将要素组织为要素类,一个要素类是一个/多个具有相同几何类型要素的集合,在SDE?
3.0时的提法称为“layer”。
一个要素是一个空间对象(例如一条道路)的几何描述,定义为一系列的X,Y坐标序列和几何的属性,要素被存储在表中一行就是一个要素。
ArcSDE通过一个或多个表实现一个要素类,这取决于DBMS存储集合的列类型。
ArcSDE不改变已有的DBMS功能或影响当前的应用程序,,它只是简单地在表中增加了一个空间列并为客户端应用程序提供了工具(C/JAAAPI),实际上,它使用和补充了基本的DBMS功能。
在ArcSDE中每个几何类型都有一个严格的验证规则集,用来检测一个要素在存储前是否几何化正确,在ArcSDE开发帮助中有对每种几何类型验证规则的描述。
GEODATABASE
一个geodatabase是DBMS中的一个空间数据知识库,它包含了矢量数据,栅格数据,表以及其它GIS对象。
Geodatabase简称为地理数据库,是建立在简单要素层模型基础之上的。
Geodatabase模型支持对象-关系矢量数据模型,在这个模型中实体被描述为对象,除具有属性外,还具有对象行为和对象间的关系。
geodatabase支持在系统中创建多种地理对象模型,对象类型包括简单对象,地理要素(有位置的对象),几何网络和平面拓扑(对象和其它要素的空间关系)。
Geodatabase模型允许你在对象中定义关系,使用这些规则来保持数据的完整性和一致性,这也是和它简单要素层的一个重要区别。
最简单的geodatabase模型是一系列独立要素层集合,每个要素层简单地包含点,线,多边形或注记,这和SDE3的SDElayers和Arciew的shapefile如何实现很相似。
一个geodatabase可以由一个或多个要素类组成,而一个要素类则是一个或多个具有相同几何类型的要素集合,扩展的规则和行为被储存在一个附加表中,并且也由ArcSDE来管理。
集成
对于使用和共享CAD数据ESRI提供了不同的策略,CAD/GIS集成的一种方式是将CAD数据作为GIS数据集,直接从本地文件读取CAD线画并作为一个有效的GIS数据源。
ArciewGIS3.X(CADReaderExtension)
ArciewGIS有工具来读取CAD文件作为有效的GIS数据源,这些工具直接读一个CAD文件到磁盘。
当显示数据时,一个CAD文件被看作Arciew3环境中的shapefileGIS数据源。
这个CAD读扩展支持以下的CAD图形特征和扩展的CAD属性:
颜色,线型,级别/图层,块名/cell名,文本值,文件位置/handle,MSLINK,cell或块属性,线宽,高程和实体类型等。
一个独立的线画在Arciew中被作为一个或多个主题,因为ArciewGIS只能工作在相同的几何类型主题中,它需要从CAD文件中提取四个有效几何类型(点,线,多边行,注记)来在Arciew中作为一个主题显示,每个CAD线画可以象其它主题一样在Arciew中被多次打开,这样就可以对CAD文件中的不同对象进行显示控制(如对一个线画文件中的道路,水管,水阀等根据需要进行符号化显示),类似的方法可以对AutoCAD或Microstation图层的可见性进行控制。
AutoCAD的块和Microstation的cell可被作为点,线或多边形几何的一个组成,当被作为点几何或它们的组成几何显示时,块属性和cell标记值将自动地包含在一个虚拟表中。
ArcGIS(CAD要素类和CAD线画层)
ArcMap也可以直接浏览CAD文件。
ArcGIS有两种方法来对待此信息,第一种途径是CAD要素数据对象,这和Arciew3.x中的CADReaderExtension很相似。
另外一种是作为一个单独的层显示CAD线画,用ArcGIS线画层你可以控制图层显示和查询对象。
AutoCAD块和Microstationcell可被作为点或者点,线,多边形几何的组成来显示,块属性和cell标记值将自动包含在一个虚拟表中(当你在ArcMap中查找一个CAD对象时可以观察到)。
在ArcGIS中将CAD线画作为一个CAD线画层打开时,实体CAD线画被作为一个映射层,因此它的符号是静态的不能被修改,只能用于ArcGIS分析或查找。
当CAD线画被作为要素数据对象时,ArcMap创建了一个CAD要素类,可以对该要素类进行查询和分析,使用ArcGIS中标准的符号编辑器来编辑要素符号。
在ArcMap中,地理属性被作为一个图层来表达,当从CAD线画创建图层时,可以选择要表达的线画层。
例如,你可能只想在地图上看到街道,街道名称。
在ArcGIS中可以直接访问多种CAD格式,包括AutoCAD的dwg(到2000版本),所有ASCII、二进制形式的DXF,dgn文件(到版本7)。
此外,包含三维坐标信息的话也可以象在ArcMap中一样在ArcScene环境中显示。
ArcSDECADClient
ArcSDECAD客户端是ArcSDE的空间数据客户端,允许用户依靠ArcSDE在AutoCAD或Microstation环境中存放或取出数据并进行编辑。
CAD客户端能够通过多个ArcSDE服务同时访问不同DBMS中的数据,例如在同一时间访问一个ArcSDEforcoerage管理的ArcInfocoerage数据,一个ArcSDEforOracle管理的空间数据库,一个ArcSDEforSQLSerer数据库,也能从ArcGISGeodatabase中的简单要素层中访问数据。
相反地,当CAD数据被存储进一个DBMS时,GIS用户可以使用ArcSDE客户端(如MO,ArcGIS等)访问CAD数据的几何而不需要任何转换,每个CAD对象有一个翻译后的几何并作为一个有效的ArcSDE几何要素被存储。
一些复杂的CAD几何,如椭圆,圆,块/cell等被翻译成一些ArcSDE客户端应用程序可以访问的几何。
CAD客户端存储CAD对象的一个二进制副本,它包括CAD对象的一切,象图形特征、块定义、块属性、标记、cell、x-data和其它自定义数据。
一个CAD客户端用户可以访问所有ArcSDE管理的数据源,不管它在什么地方存放;同样,GIS用户也可以直接访问CAD客户端用户存储的CAD数据的几何,包括ArcIMS?
软件。
ArcSDECAD客户端访问ArcSDEforCoerages和Geodatabase只提供了读许可。
数据转换
CAD数据经常需要经过组织和处理后才能在GIS应用程序中可用,ESRI提供了不同的转换工具来帮助用户在GIS和CAD间更好地使用数据。
ArciewGIS3.x-保存为shapefile
ArciewGIS3.X(CADReaderExtension)有一个内嵌的集成工具,根据属性/空间选择标准从一个CAD文件中选择一组空间要素,选中的对象集可以导出为shapefile。
使用这个功能,Arciew3.x能够转换CAD文件的CAD对象到ArciewGISshapefile格式中。
ArcGISArcCatalog-SimpleDataLoader
在ArcCatalog中选中一个要素类并右击鼠标选择选项时就打开了SimpleDataLoader向导工具,该工具提供了增加数据到已有要素类的方法。
按照向导提示,你可以选择一个要导入的CAD数据源,然后向导将允许你映射CAD图形属性值到已有的数据库字段。
另外该工具还提供了查询功能用来对导入源实体进行过滤,然后选中的信息导被增加到要素类中。
在运用该工具前,地理数据库的要素类必须事先存在。
ArcGIS:
ArcMap-ExportData
从ArcMap中使用ExportData工具,一个选中的CAD要素集可以被导出为shapefile或导出进一个空的geodatabase要素类中。
在ArcMap中选择要导出的CAD要素层,点击鼠标右键选择Export菜单,缺省的保存方式为shapefile类型。
在ArcMap中CAD文本的转换在操作上有些不同,因为ArcMap中的CAD线画文本被作为一个混合的coerageannotation类型显示,因此必须使用转换coerageannotation功能来取得CAD文本,导入作为geodatabaseannotation。
这个工具没有在ArcMap标准工具条显示,需要你在从Label菜单选择加入到你定义的界面上。
ArcGIS:
ArcMap-裁剪和粘贴
加载数据到geodatabase要素类的另外一条途径是在ArcMap编辑会话期间使用裁剪和粘贴功能,然后就可以将选中的数据一个具有同样几何类型的geodatabase要素类中。
该方法和ArcCatalog-SimpleDataLoader都允许你往一个已有的要素类中增加数据。
ArcGIS:
ArcToolbox-CAD到Geodatabase转换工具
ArcGIS提供了一个CAD到Geodatabase转换工具来转换CAD数据到新的geodatabase要素类中,该工具在ArcToolbox和ArcCatalog中都是可用的。
ArcToolbox转换工具允许你定义一个查询来选择CAD对象,然后转换并保存查询结果集到一个新的geodatabase要素类中。
不象ArcMap中使用的方法保存数据是到一个已有的geodatabase要素类中,ArcToolbox的转换工具将创建一个新的要素类作为转换过程的一部分,这样一个包含多种图形特征的CAD文件全部导出时会创建多个要素类。
如果需要将多个线画转出到一个geodatabase的要素类中,你需要在ArcMap中使用GeoprocessingWizard来对要素类进行合并。
使用CADtoGeodatabaseTranslator功能,CAD文本将被转换到一个点要素类中。
在CAD要素上的变化曲线信息在转换进geodatabase被保留,CAD几何特征和块/cell属性也在转换过程中被保留。
ArcSDECADClient
CAD客户端也可以用于数据转换,在CAD数据到ArcSDE管理的DBMS存储过程中,CAD客户端工具将翻译没个CAD对象的几何并产生相应的ArcSDE要素,而其它ArcSDE客户端可以直接浏览这些ArcSDE要素不需要转换。
移植CAD到ArcGIS
关于从CAD移植到ArcGIS,通常包括两方面的内容:
一是CAD到ArcGIS数据的转换,二是CAD到ArcGIS应用的转换。
从CAD数据到ArcGI的转换,前面已经做了介绍。
因为ArcGISGeodatabase模型是建立在简单要素层基础之上的,所以CAD到Geodatabase数据的转换通常是先转为简单要素层,之后在按照Geodatabase模型的定义进行要素类组织合并,定义域,子类型,关系,几何网络等规则。
从CAD到ArcGIS应用的转换目前主要集中在数据的原始表现上,因为要用到ArcGIS强大的功能必然要对CAD数据进行转换,但也因此以前在CAD环境下的看到数据在ArcGIS环境下“变了样子”,这主要由于各自系统对数据表现方式和相关符号库的不同,数据本身并没有丢失。
此问题的解决目前主要集中在两个方法,一种是程序实现不同系统符号库的自动转换,在数据转换时完成相应符号库的转入。
另一种是对数据进行前期处理,个人觉得这种方法更具有现实性和易操作性一些。
这就是先对CAD数据进行编码处理工作,使CAD符号能够根据编码进行区分,然后利用ArcGIS强大的符号编辑器重新制作CAD相关的符号,之后在ArcGIS应用中书写程序根据编码规则匹配相关的ArcGIS符号文件进行显示和编辑等。
arcgis里如何导入cad数据的
如何将CAD文字标注变为ArcGIS属性
一、效果展示
1、未转换的CAD展示(图1):
图1
其中红色的文字就是我们想要转换成的属性
2、转化成果展示(图2):
图2
可以看到,之前的CAD线框被转换成了ArcGIS的面,而且用识别工具点一下任意一个面可以识别出他的属性,其中的“编号”一行就是CAD中的红色文字(说明一下:
这里看到的和之前的红色文字不一样,是因为在转换的时候对文字进行了修改,后面会说到,如果不修改就是一样的)
同时,如果我们打开图层的属性表,可以看到属性表中有一行“编号”字段,存储的就是CAD中的红色文字(图3)。
图3
总的来讲,就是将CAD中的标注变成了ArcGIS中的一个字段使之成为属性,接下来就是具体的操作步骤。
二、材料准备
ArcGIS10.2 AutoCADMap3D2014
三、转换步骤
1、将CAD文件转换为mif文件(将多段线和文字单独导出)
直接打开需要转换的CAD文件,效果如图4
图4
点击左上角的软件图标 ,弹出一个下拉菜单,在下拉菜单中选择“导出”→“其他GIS格式”(图5),弹出“导出位置”对话框,选择好导出的mif文件存放的文件夹和mif文件名称(图6),这里先导出多段线围成的面,所以名称命名为“面”。
图5
图6
单击“确定”,进入设置界面(图7),这里是导出的关键步骤。
点击“选择”,进入“选择”分页在“选择要导出的对象”一栏选择“手动选择”(图8),点击过滤符号 进入“快速选择”界面,在“应用到”一栏选择“整个图形”,“对象类型”选择“多段线”,“特性”不动,“运算符”选择“全部选择”,其余默认(图9)
图7
图8
图9
点击“确定”回到设置页面,再点击“确定”,开始将CAD文件输出成mif格式。
同样的步骤,我们再将文字导出成mif格式的文件,将文件命名为“文字”。
这里和导出多段线有点区别,首先是在图9那里,“对象类型”要选择“文字”;设置界面处,我们需要点击“数据”分页,点击“选择属性”(图10),在弹出的“选择属性”对话框中双击“特性”勾选上“字符串”(图11),点击“确定”回到“数据”分页,再次点击“确定”开始输出文字的mif文件。
图10
图11
2、处理mif文件
打开输出mif文件的文件夹,我们可以看到里面有四个文件,分别是“面.mif”、“面.mid”、“文字.mif”和“文字.mid”(图12),这里的*.mif是主体文件,*.mid是属性文件。
现在我们将“面.mid”和“文字.mif”文件删除,将“文字.mid”文件重命名为“面.mid”(图13)
图12
图13
3、对编号进行修改
以记事本的方式打开刚刚修改后的“面.mid”文件,可以看到里面是编号(图14),新建一个excel文件,将所有的编号剪切到新建的excel内,Ctrl+F,利用查找和替换功能对编号进行修改。
修改规则:
将“FJ13_33”替换为1;将FJ13_34替换为2;将“_”替换为空白(即去掉),将替换修改后的编号复制到“面.mid”文件内并保存,替换后的“面.mid”如图15,这样就完成了对编号的修改。
图14
图15
4、导出成ArcGIS使用的*.shp文件
在AutoCADMap3D2014中新增加一个空白图层,在菜单栏点击“插入”,再点击“地图导出”(图16)弹出“导入位置”对话框,点击选择要导入的mif文件(图17),单击“确定”弹出导入设置对话框,在“为导入的每个图层导入特性”一栏找到“数据”一列,点击下面“<无>”旁边的按钮(图18),弹出“属性数据”对话框,选择“创建对象数据”,在“要使用的对象数据表”一栏选择“面”(图19)(如果没有此步骤,导出的shp文件将会没有属性),其余默认,点击“确定”回到导入设置界面,再次点击“确定”,开始导入生成的mif文件。
图16
图17
图18
图19
导入完成后可以看到如图20所示的图形,现在正式开始导出shp文件。
利用框选的方式将所有的图形框选上,单击右键,选择“特性”,在“特性”对话框内找到“其他”一项,再找到“闭合”一项,将其修改为“是”(图21)(若没有此步骤将不能将多段线围成的图形导出成面),回车确定。
图20
图21
点击软件左上角的图标,同导出mif一样,在下拉菜单中选择“导出”→“其他GIS格式”,在“导出位置”对话框将文件类型修改为shp,这里将导出的文件命名为“CS”,点击“确定”,进入导出设置的对话框。
点击“选择”分页,在“对象类型”一栏选择“多边形”(图22);点击“数据”分页,点击“选择属性”按钮,在弹出的“选择属性”对话框中双击“对象属性”,将“面”勾选上(图23)(如果没有此步骤导出的shp文件也会没有属性),单击“确定”回到导出设置界面,在“输出字段”处将其字段名修改为“编号”(图24),这个字段名即为我们之前在ArcGIS内看到的那个字段名;点击“选项”分页,在“其他”一栏勾选上“将封闭多段线视为多边形”(图25)(若没有此步骤将无法将封闭的多边形导出成面),点击“确定”开始导出成shp文件。
图22
图23
图24
图25
将生成的shp文件用ArcGIS打开,可以看到多段线已经导出成面了,使用识别工具可以看到属性也已经加上(图26)。
同样打开属性表也能看到有“编号”这一字段(图27)。
图26
图27
总结!
!
此方法主要步骤为“导出mif→修改编号→导出shp”,主要需要注意的是在导出文字的mif文件的时候需要在“数据”分页勾选上“字符串”;在导入生成的mif文件的时候要数据的属性导入(即在数据处点击进入创建对象数据);需要将多段线围成的框的特性选择为封闭;在导出成shp的设置界面;在“数据”一项勾选上“面”并修改字段名称;在“选项”一项将“将封闭多段线视为多边形”一项勾选上。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CAD 转换 shipfile