开篇:润墨网以专业的文秘视角,为您筛选了一篇利用AutoCAD Map 3D\ArcEngine实现图斑快速入库范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:本文论述了采用AutoCAD Map 3D、ArcEngine实现图斑入库的方法,介绍了相应的功能和实现过程及代码。
关键词:图斑;GIS;AutoCAD Map 3D;ArcEngine;Shape
引 言
图斑是土地管理的基础,是土地划分的最小单元。它是以某一特定比例尺地形图为工作底图,将地貌、土地利用类型基本相同,水土流失类型基本一致的土地单元(地块)分为一类,以其为基础调查单元,然后将单元勾绘到地形图上成为图斑。
一般的图斑绘制是在autocad下将图斑区域绘制成闭合的多段线(或二维多段线),之后利用专业软件如南方CASS,广州SCS等将图斑地类代码、权利人等属性录入到CAD的扩展属性中,之后转换为ArcGIS Shape格式的数据,最终导入到ArcGIS空间数据库中。这种方法操作复杂 ,出错率高。
本文利用AutoCAD map 3d的图形清理、拓扑等功能,对基础AutoCAD图斑划分图进行整理,对图斑重叠、交叉等错误进行快速、有效的修改。使用ESRI公司的arcengine组件,开发程序,实现数据快速录入、转换,极大的简化了工作方法,提高了工作效率。
AutoCAD Map 3D及ArcEngine简介
AutoCAD Map 3D是AutoDesk公司开发的专业软件,它是以AutoCAD作为图形环境的地图制作和 GIS软件。 其具有强大的地理数据采集、 编辑、 数据库管理及专题图制作和空间分析功能, 是服务于地图制作、GIS分析和应用领域的不可缺少的工具。
ArcEngine是ESRI公司开发的开发组件包。它具有一组完备的并且打包的嵌入式GIS 组件库和工具库,开发人员可用来创建新的或扩展已有的桌面应用程序。ArcEngine 由两个产品组成:构建软件所用的开发工具包以及使已完成的应用程序能够运行的可再的Runtime(运行时环境)。ArcEngine 开发工具包是一个基于组件的软件开发产品,可用于构建自定义GIS 和制图应用软件。它并不是一个终端用户产品,而是软件开发人员的工具包,适于为Windows、UNIX 或Linux 用户构建基础制图和综合动态GIS 应用软件。ArcGIS Engine Runtime 是一个使终端用户软件能够运行的核心ArcObjects 组件产品,并且将被安装在每一台运行ArcEngine 应用程序的计算机上。
图形整理思路与流程
所谓“图斑勾绘”,是指在地形图(或影像)比对下,将地貌、土地利用类型基本相同的地块,用线封闭起来,并在封闭区域内部标注地类编码。这个过程一般是在AutoCAD平台下完成的。本文对于“图斑勾绘”过程不进行深入讨论。图斑勾绘完成后AutoCAD图形中的图元及说明请详见表1。刚刚勾绘完成后的图斑可能存在这样那样的问题,如图斑线重合、交叉、裂缝等,这些问题需要在AutoCAD中进行修改后,才能将图斑转换为ArcGIS Shape格式的入库数据。
表 1
3.1 图斑线检查的一般方法
由于AutoCAD并非专业的GIS软件,所以它并不具备GIS软件的关系运算、拓扑运算等功能。在一般情况下用AutoCAD勾绘好图斑后,一些专业软件都会提供一些检查图斑错误的功能,或者可以对AutoCAD进行二次开发来对图斑线进行检查。但由于AutoCAD图形处理方式和运算方法的限制,这些功能或二次开发的软件并不能完全检查出图斑线的所有问题。逐渐的,ArcGIS等专业的软件被运用于图斑线的检查工作中来。如使用ArcGIS对图斑检查时,首先将图斑线在ArcGIS中导入为Shape格式的线,然后进行拓扑进行错误标记,最后回到AutoCAD中依照标记的错误,对图斑线进行修改。这种方法虽然大大提高了图斑错误的检查率,但由于反复的数据转换给操作带来了极大的麻烦。
3.2 利用AutoCAD Map 3D实现图斑错误自动修改
本文所用到的AutoCAD Map 3D版本为Autodesk最新的AutoCAD Map 3D 2010。图斑处理可分为以下5步。
1、将DLTB层中所有图元复制到一个新建的AutoCAD文件中,并将其分解(AutoCAD命令为Explode)。检查其中是否有圆或圆弧存在,如果存在则需要将其加密绘制成多段线或直线。这里不允许图斑存在圆或圆弧的原因是,圆或圆弧转换成ArcGIS Shape格式数据后,ArcGIS会自动将其加密成多段线。因此,转换后会造成图斑面积的变化和出现拓扑错误。
2、在AutoCAD Map 3D中使用图形清理功能(命令为MapClean),在弹出的图形清理对话框中(图 2)依次进行如图1所示流程操作。这里要说明两点:一、公差=0.01是根据数据要求来设定的,即根据不同的拓扑容限要求设置不同的公差。二、选项可以选择“自动”或“交互式”,这里选择“自动”是为了更快的完成拓扑错误的修改。但是,自动修改有可能带来图斑线细微移动等问题,这些问题在这里不进行深入的讨论。当然,除了“自动”也可以选择“交互式”,“交互式”可以根据拓扑错误,在AutoCAD图形当中用不同形状的快来表示不同的错误。
图 1
图 2
3、图形清理后,在AutoCAD的命令行中,会出现如图3所示的提示。重复第二部工作直到提示“创建的对象”与“删除的对象”都为0时为止。因为只有“创建的对象”与“删除的对象”都为0时,才能说明图中没有对象改动,即图形中不存在错误。
图3
4、在AutoCAD Map 3D中使用创建拓扑功能(命令为MapTopoCreate),在弹出的对话框中直接选择“多边形”点击完成即可。如果此时,图形中仍有错误,AutoCAD Map 3D会在图形中提示错误,如图4。将错误修改再创建拓扑,直到AutoCAD Map 3D提示拓扑创建成功,如图5。
图 4
图 5
5、将DLBM层、QLR层文字拷贝到图斑处理后的图形中,将文字对齐方式改为“左对齐”(非“左对齐”情况,ArcGIS进行空间查询时有可能出错)。粗查文字插入点是否在所对应的图斑范围内。
图形转换的实现
本文所用到的ArcGIS版本为ArcGIS 9.2版本。软件开发环境为Microsoft Visual Studio 2005,开发语言为C#。
4.1一般的数据转换方法
ArcGIS的ArcToolbox软件,提供用户强大的地理信息处理功能,为不同类型的任务提供解决的途径。主要工具有: 数据管理工具、分析工具、 转换工具和定制工具(MyTools)。在ArcToolBox中,先将DWG转为Geodatabase数据格式。选择“Conversion Tools(转换工具)->Import from CAD”;再把Geodatabase转换为Shapefile格式,“Conversion Tools(转换工具)-> Feature Class To Shapefile (multiple)”。这种转换只是单纯的把AutoCAD DWG格式文件转换为:点、线、面,不能实现分类、分层提取的目的,不能满足数据库要求。
4.2利用ArcEngine编写快速录入、转换程序
4.2.1 程序流程
首先,先通过交互选择需要转换的AutoCAD DWG文件。然后,用DWG图形中多段线进行构造面(Polygon)。接下来,用DWG图形中文字进行空间查询,查询包含它的面。最后,把文字写入面的对应字段。如图 6。
图 6
结 论
AutoCAD Map 3D是专业的GIS软件,它不仅涵盖AutoCAD所有的功能,而且还具备专业GIS软件关系查询、拓扑查询等功能。它为AutoCAD在土木工程、测绘工程等领域的运用,作出很好的补充。利用AutoCAD Map 3D我们可以轻松的做出清晰、整洁的图形。结合ArcEngine强大的GIS扩展、开发能力,本文轻松的实现了从基础AutoCAD图形到ArcGIS数据库的转换。
参考文献
1 AutoDesk,AutoCAD Map 3D 3D 2010 用户手册[Z].2009
2 贾文涛,海,浅谈AutoCAD Map 3D的拓扑分析功能及其在土地利用规划中的应用[M],中国地理信息系统协会第五届年会论文集.1998.8
3 Zeiler, Michael,Exploring ArcObjects[M].ESRI Press.2001.7
4 蒋波涛,插件式GIS应用框架的设计与实现[M].电子工业出版社.2008.10
5 天津市国土资源和房屋管理局,天津市城镇地籍调查区县核查工作细则.2009.11
注:文章内所有公式及图表请以PDF形式查看。