基于ArcGIS的CAD数据向GIS数据转换方法

1 CAD数据与ArcGIS数据介绍
 地图数据来源多种多样,大多数使用的是计算机辅助设计软件(CAD)制作的数据,CAD软件制图自动化程度高,操作简单,容易编辑,出图美观,且易于进行二次开发,因此CAD格式地图数据转换为其他GIS软件能支持的格式是在工作中经常用到的操作。ArcGIS作为GIS领域内常用软件,具有强大的数据分析、数据管理等功能,且能建立功能强大的本地数据库。本文以CAD数据到GIS数据转换为出发点,介绍由CAD数据到ArcGIS软件支持读取和编辑的矢量数据格式的转换方式。

2数据转换前的准备工作

CAD与ArcGIS在数据结构上存在较大的差异,CAD数据类型较为丰富,支持简单点、线、面、多义线、椭圆、块、文字等多种数据类型,而转换到ArcGIS中,只转换为点、线、面、注记等类型,这使得CAD图形数据不能很好的满足ArcGIS的要求,如:CAD中的Text数据类型,直接转换后只转换为ArcGIS中的Point,因此在做数据转换前,需要对源数据进行预处理。

(1)重命名CAD文件,如果转换前后数据命名规则有差异,最好重命名数据,保证在做完数据格式转换后,仍能清晰区分图层内容。

(2)筛选转换内容。如果只需将CAD文件的部分图层或只对图层中的一部分内容感兴趣,只要选择需要转换格式的图层,将它们复制到一个新的CAD文件中,留作转换备用。

(3)删除多余要素。采用擦除工具将所有多余要素删除,如:标题、边界、图例等,只留下需要进行转换的几何要素即可。

(4)CAD图层内容提取。数据转换前,确保所有要素都只存在于一个属于它们的图层中,擦除所有不属于本层的要素,或者将其复制到一个新的图层中。

(5)检查CAD数据坐标系统。大多数CAD数据的坐标系都采用GIS系统中能够识别的坐标系统,确定CAD的坐标系统有利于GIS坐标系统的确定级转换后坐标系统的处理。

为减少数据格式转换后大量的后续数据处理工作,数据转换前的工作非常必要,能够使转换后的问题尽量减少,不会出现重大错误,又能保证数据转换的精度。

3 CAD 到GIS数据转换方法

ArcGIS软件的ArcToolbox工具箱中有2个数据格式转换工具,分别是Conversion Tools 和Data Interoperability tools,其中,Conversion Tools有直接转换为 Geodatabase格式的工具(Feature class to featureclass),采用该工具进行格式转换时,原始数据只能是要素类(Feature class),

也可以在要素类上直接单击右键,选择Export 转换,这种方法比较简单,能够直接调用工具箱中的Feature class to feature class 工具,只需要注意当转换出的数据为Geodatabase格式时,数据的输出目标位置为数据库;当转出的数据位shapefile格式时,数据输出的目标位置为文件夹。

以上方法在地图图形元素不多时,可以采用。但是当DWG文件内元素个数过多时,如果无法再ArcGIS中显示,不能直接做转换,建议采用Data interoperability tools中的Quick Import工具先将CAD数据转换成Geodatabase格式,再经过处理后转换为需要的shapefile格式。

4 转换后处理

(1)拓扑重建

CAD数据转换为GIS数据后,经常会出现要素变形或数据冗余问题,为确保数据正确性,必须保证地物点的正确性、线要素连接完整、面要素封闭等拓扑规则。

点图层经常会出现重复点、悬挂点或伪节点等,如果有重复点,可在开启编辑的状态下采用“删除”操作。并为点要素设置合适的符号化样式。

线图层出现比较多的是连通性问题,可对同一图层的同一条线采用select操作查询到,在开启编辑的状态下调用(merge)方法实现线的融合。

多边形要素主要检查公共边是否重复及多边形的封闭性,可对面图层构建拓扑,利用数据库的拓扑规则进行检查并修改。

在将多个图层(点、线、面)合并为一个图层时,可采用ArcToolbox工具箱中的Append工具进行操作。另外,可调用Data management tools——Features——Feature to polygon做线转面操作,利用Features工具集下的工具做其他几何类型间的转换。

(2)赋属性值

CAD数据没有属性信息,而ArcGIS数据的属性表是其数据的重要组成部分,为了完善数据,数据格式转换后,可手动为Geodatabase数据或shapefile数据添加新字段,赋予属性值,但数据量比较大时,输入属性值耗费大量的人力,可调用工具箱中的Spatial Join工具将一个要素类图层的属性按照空间位置关系自动关联到与其相关的另一个图层上,实现属性值的自动批量追加,极大的提高了工作效率。

来自:www.higis.cn/Tech/tech/tId/34

 

基于ArcGIS的CAD数据向GIS数据转换方法(转)的更多相关文章

  1. (转) 基于Arcgis for Js的web GIS数据在线采集简介

    http://blog.csdn.net/gisshixisheng/article/details/44310765 在前一篇博文“Arcgis for js之WKT和geometry转换”中实现了 ...

  2. ArcGIS中的坐标系统定义与投影转换方法

    坐标系统是GIS数据重要的数学基础,用于表示地理要素.图像和观测结果的参照系统,坐标系统的定义能够保证地理数据在软件中正确的显示其位置.方向和距离,缺少坐标系统的GIS数据是不完善的,因此在ArcGI ...

  3. ArcGIS 10——地理数据库管理GIS数据

    写本文的最初意向是当前正在进行的项目中有实现ESRI版本化数据管理的功能模块,碰到一些棘手的问题,几经周折还是决定系统学习ArcGIS10的帮助文档.(文章摘抄的比较多) 地理数据库是用于保存数据集集 ...

  4. 采集的GPS数据如何正确显示在arcgis和cad中

    利用GPS定位卫星,在全球范围内实时进行定位.导航的系统,称为全球卫星定位系统,简称GPS.GPS是由美国国防部研制建立的一种具有全方位.全天候.全时段.高精度的卫星导航系统,能为全球用户提供低成本. ...

  5. ArcGIS 网络分析[2] 利用自定义基础数据创建网络数据集

    前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何"使用自己的数据"创建"网络数据集"的文章. 有介绍几何网络的,有介绍如何用官方SanFrancis ...

  6. 聊聊GIS数据的四个分层与GIS服务

    本篇不讨论矢量栅格数据的结构,也不讨论矢量与栅格的区别(即设定读者有这方面的基础). 版权声明:原创.博客园/B站/小专栏/知乎/CSDN @秋意正寒 转载请标注原地址并声明转载: https://w ...

  7. 通过SQL直接插入、修改ArcGIS SDE空间表中的数据

    基于Arcgis Server 10.1 +Oracle 11g环境测试 ArcGIS SDE ? 1 2 INSERT INTO CAMERA_INFO(OBJECTID,ID,SHAPE)     ...

  8. 基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(二)

    我们上一篇<基于 WebSocket 实现 WebGL 3D 拓扑图实时数据通讯同步(一)>主要讲解了如何搭建一个实时数据通讯服务器,客户端与服务端是如何通讯的,相信通过上一篇的讲解,再配 ...

  9. Mybatis框架基于注解的方式,实对数据现增删改查

    编写Mybatis代码,与spring不一样,不需要导入插件,只需导入架包即可: 在lib下 导入mybatis架包:mybatis-3.1.1.jarmysql驱动架包:mysql-connecto ...

随机推荐

  1. undefined reference to symbol ‘_ZN2cv6String10deallocateEv

    使用qt编译Caffe时出现如下错误: undefined reference to symbol '_ZN2cv6String10deallocateEv' error adding symbols ...

  2. AngularJs解决表达式闪烁的问题(ng-cloak)

    举例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  3. MAC office2016 安装及激活(试了一下,靠谱, 非常感谢原作者)

    转载地址:https://blog.csdn.net/jxq0816/article/details/77248462 非常感谢原作者. 一.安装包下载地址 http://officecdn.micr ...

  4. HTML 5 桌面提醒

    <script> function showNotice(title,msg){ var Notification = window.Notification || window.mozN ...

  5. oracle执行update语句卡住不动

    一.问题探究 开发的时候debug到一条update的sql语句时程序就不动了,然后我就在plsql上试了一下,发现plsql一直在显示正在执行,等了好久也不出结果.但是奇怪的是执行其他的select ...

  6. shell 脚本学习之内部变量

    一,$BASH Bash的二进制程序文件的路径 二,$BASH_ENV 这个环境变量会指向一个Bash的启动文件, 当一个脚本被调用的时候, 这个启动文件将会被读取. 三,$BASH_SUBSHELL ...

  7. TabLayout实现底部导航栏(2)

    TabLayout是android.support.design里的一个控件,使用它可以很方便的做出顶部导航和底部导航.类似于这样的,能设置选中时字体的颜色和选中时的图片. 效果如图: 首先我们在 b ...

  8. myeclipse更改后台代码不用重启tomcat的方法

    myeclipse更改后台代码不用重启tomcat的方法   方法1:在WebRoot下的META-INF文件夹中新建一个名为context.xml文件,里面添加如下内容(要区分大小写): <C ...

  9. Proguard breaking audio file in assets or raw

    http://stackoverflow.com/questions/21440572/proguard-breaking-audio-file-in-assets-or-raw Issue: I h ...

  10. ckeditor和ckfinder

    ckeditor是一个所见即所得的富文本编辑器,用来代替drupal自带的编辑器. 但是从drupal.com下载的ckeditor模块本身没有实现功能,它指向了由cdn.ckeditor.com所提 ...