电子信息核心期刊论文-ArcGIS中导入AutoCad数据
发布时间:2013-07-02
摘要:本文介绍了将AutoCad格式数据转换成ArcMap数据格式的一种方法,以实例讲述了转换的具体步骤以及注意事项。
关键词:电子信息论文,核心期刊论文,对象装载器,空间参考信息,数据格式,转换
一、引言
我们现在的测绘数据生产往往是多种软件综合运用,所以往往涉及到数据格式的转换。ArcMap 软件支持对AutoCad格式数据的读取,但是我们通常需要将数据进行图形以及属性的编辑,并且最终做入库处理,所以必须将它转换成ArcMap 所能编辑的数据格式(shapefile、coverage、Geodatabase)。由于AutoCad 格式只是对数据进行逻辑分层,在物理存储上与这几种数据的要素类结构不同,所以要在转换时将AutoCad 的各层元素独立地识别和存储[1]。
常用的格式转换工具,我们都可以在ArcToolBox 中找到:AutoCad to Geodatabase、DLG to Coverage、DXF to Coverage。另外,ArcMap 还提供了一个对象装载器(Simple Data Loader),支持向Geodatabase中加载AutoCad 数据。
二、两种格式软件介绍
1、AutoCAD(Auto Computer Aided Design)是美国Autodesk公司首次于1982年生产的自动计算机辅助设计软件,用于二维绘图、详细绘制、设计文档和基本三维设计。现已经成为国际上广为流行的绘图工具。AutoCAD具有良好的用户界面,通过交互菜单或命令行方式便可以进行各种操作。它的多文档设计环境,让非计算机专业人员也能很快地学会使用。在不断实践的过程中更好地掌握它的各种应用和开发技巧,从而不断提高工作效率。AutoCAD具有广泛的适应性,它可以在各种操作系统支持的微型计算机和工作站上运行[2]。
2、ArcMap是ArcGIS Desktop三个用户桌面组件之一。ArcGIS是美国环境系统研究所(Environment System Research Institute,ESRI)于1978年开发的GIS系统。ArcGIS Desktop由三个用户桌面组件组成,即:ArcMap、ArcCatalog、ArcToolbox。ArcMap是一个可用于数据输入、编辑、查询、分析等等功能的应用程序,具有基于地图的所有功能,实现如地图制图、地图编辑、地图分析等功能。ArcMap包含一个复杂的专业制图和编辑系统,它既是一个面向对象的编辑器,又是一个数据表生成器。 ArcMap提供两种类型的地图视图:数据视图和布局视图。在数据视图中,用户可以对地理图层进行符号化显示、分析和编辑GIS数据集。数据视图时任何一个数据集在选定的一个区域内的显示窗口。在布局视图中,用户可以处理地图的页面,包括地理数据视图和其他数据元素,比如图例、比例尺、指北针等。
三、转换中涉及的几个方面
无论是哪个工具或向导,在转换过程中所涉及的问题都不外乎这几个方面:
1、输入AutoCad数据:ArcMap软件能将AutoCad数据识别成点、线、面的要素类,在转换时要选择正确的几何类型[3]。
2、输出数据:格式只能是Coverage或Geodatabase,可以根据需要用数据集将它们组织起来。
3、空间参考信息:规定了当前环境的椭球以及投影信息。使用对象装载器(Simple Data Loader)向导时,它会自动采用目标数据的空间参考信息。
4、字段:AutoCad 数据存储的Item 里包含的内容并非地理数据的属性,在转换时可以将它们删除,但必须保留缺省的字段。
5、查询:AutoCad 数据的逻辑分层是通过Layer 字段体现出来的,转换时要将数据物理地分层,通过对Layer 字段进行查询。
四、对象装载器(Simple Data Loader)的使用
对象装载器(Simple Data Loader)可以分别在ArcCatalog 和ArcMap 中使用,它们的名称略有不同,都是通过自定义(Customize)窗口来加载。
在ArcCatalog 中,可以将加载对象(Load Data)命令拖到任意的工具条上,但最好是将它放在要素类的环境菜单(Feature class context menu)中,这样更方便使用。
我们用一个基础测绘数据实例来说明如何在ArcMap中使用对象装载器(Data Loader),下面是将AutoCad中71011层的首曲线转换到ArcMap数据文件K50G049042.mdb(是一个Geodatabase文件,并且已经建立好数据集、类以及相关的字段)首曲线类的一个过程。
u 打开数据文档:
1.将AutoCad数据整理好,按照规定要求分层,保存文件。
2.打开ArcMap,在标准工具条上点击添加数据按钮。在数据目录下找到K50G049042.mdb数据文件(该文件只包含图廓要素),点击打开该地图文档。
使用加载对象向导(Load Objects Wizard)直接从AutoCad要素类中加载点、线、面要素。首先需要在ArcMap工具条中增加加载对象向导(Load Objects Wizard)工具按钮。具体实现方法如下:
1. 在工具(Tools) 菜单下点击自定义(Customize)。点击命令(Commands) 标签。
2.从“类别” 列表中找到数据转换器(Data Converters),将“命令”列表中加载对象(Load Objects)命令拖拉到编辑器(Editor)菜单中。关闭自定义对话框。
3.选择编辑器(Editor)菜单,点击开始编辑(Start Editing)。将目标图层设置为首曲线图层。
u 加载AutoCad要素
AutoCad要素类中每一个要素都包括了一个Layer字段。我们可以通过它将AutoCad各个图层的要素来区分开来,与K50G049042.mdb相关要素类对应。
在这个过程中,将71011图层中的要素加载到Geodatabase要素类中。实现方法如下:
1. 在编辑器(Editor)工具条下,点击加载对象(Load Objects)向导。
2. 点击打开按钮。在数据目录下找到K50G049042.dwg文件。
3. 双击K50G049042.dwg要素集,选择Polyline要素类,点击打开按钮。
4. 点击添加按钮,将AutoCad要素类增加到数据源列表中。
5. 点击下一步。
u 匹配输入和目标图层
建立输入要素(AutoCad)字段和目标图层(ArcMap)字段之间的联系。就是说,我们想把等高线的高程完整的转入到ArcMap中,就必须建立Elevation字段(AutoCad)和高程字段(ArcMap)的联系,让程序知道属性数据的来龙去脉。
因为AutoCad图层被放置在同一个要素类中,不象Geodatabase格式把数据划分的很详细并且容易区分。AutoCad使用Layer属性值进行标示,我们需要定义一个属性查询将需要提取的图层(例:图层名称为71011的要素)加载到目标图层中。
1. 点击选中只加载满足查询条件的要素(Load only features that satisfy the query)。
2. 点击查询构造器(Query Builder)定义查询。
3. 双击字段(Fields)列中的Layer,它将在查询语句中增加该字符串。
4. 点击”=”。
5. 点击获取唯一值按钮显示Layer字段中所有的属性值。双击71011,完成查询语句。
在结束上面的步骤后,查询语句为”Layer”=’71011’。如果熟悉SQL语句,可以直接在对话框中输入查询语句。
6.点击校验(Verify),检查创建的SQL语句是否有效。
7.在确认创建的查询语句是正确有效之后,点击OK。
u 捕捉和有效性验证
下面,对象装载器Object Loader将会询问是否在加载过程中使用设置的捕捉环境进行捕捉,以及是否对要素的有效性进行验证。
如果关心输入的要素间的连通性,可以应用捕捉。然而,应该了解这种操作将在当前的捕捉容限范围内移动。如果AutoCad数据是通过坐标值构建的,使用任何捕捉将降低原始数据的准确性。
点击下一步(不要使用捕捉),结束向导以及加载要素。最后的对话框显示了在向导过程中的各种选项,我们可以检查是否正确。如果有任何问题,可以使用后退按钮后退。点击完成按钮,状态栏中将显示进度。
结束加载要素,需要刷新地图显示区就可以看见数据导入结果了。
五、结束语
通过以上介绍的方法,我们可以控制字段、图层和数据的一些规则来实现AutoCad数据到ArcMap数据格式的转化,这个过程不需要设置空间参考信息。
参考文献:
[1] 刘永强. autocad与arcgis数据转换方法研究[J].测绘科学,2009,34:168-170
[2] 蔡希林. AutoCad 2004中文版实用教程[M].北京:清华大学出版社,2004
[3] 李银萍. CAD与ArcMap的数据关联[J].城市勘测,2009.
[4] 艾建,江鹰.AutoCad与ArcGis数据转换研究[J].有线电视技术,2008,(1):68-70
作者简介:王翠欣(1974-),女,汉族,高级工程师,从事摄影测量与遥感研究。
核心期刊论文发表网期待您的到来,您的核心论文发表、论文发表、写作指导,职称论文发表之路从我们这里开始!