• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 数学学习 > 正文

    [AutoCAD数据转换为SHP文件的新方法] 文件出现数据转换错误

    时间:2019-04-13 04:22:34 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要 ArcGIS 作为一款对地理数据进行创建、管理、整合与分析的综合系统软件,目前已在我国各行业得到广泛应用,发挥了具大作用并产生很大影响,但该系统分析所依据的地图数据多来源于CAD类测图软件,因此如何更好的将 CAD数据格式转换成 GIS数据格式成为越来越被关注的问题。本文提出了一种cad数据转shp文件格式的新方法,并且在工程实践中得到成功应用。
      关键词 AutoCAD;ArcGIS;SHP;数据转换
      中图分类号TP31 文献标识码A 文章编号 1674-6708(2012)69-0195-03
      1 概述
      AutoCAD软件作为大比例尺地形图测绘的一个基础平台,有着非常广泛的应用,其图形要素的属性都以外挂数据库方式管理。为了使地形数据与GIS系统进行对接,对CAD数据进行GIS转换是非常必要的。由于CAD的实体(点、线或面)及符号(以块的形式组织)完全不同于GIS的数据组织格式,这些都要求找到一套较好的方案进行批量无缝的转换。
      对于上述情况,ArcGIS提供了CAD转换到Feature Class的几种实现方法,每种方法都有其适用的场合、优势。
      2 基于ArcGis的数据转换的缺点
      CAD文件是由诸如颜色、线型、线宽、符号等静态图形特征组织后的图层集合,其图层并没有象GIS中的图层那样组织严密,实体/元素都包含在一个单一的文件中,属性数据的主要描述图层和注记。
      ArcGIS在读取CAD文件的时候,没有按照CAD的数据组织方式分层,而是根据要素类型分层,将所有同一类型的要素放置到一个图层上来。图层信息存储在layer字段。
      在CAD转换为FeatureClass的时候要素在转换过程中,除了要素CAD的数据转化为FeatureClass,还要将属于同一图层的要素打散,按照Layer字段值再次分层。在ArcGIS下有多种方式实现CAD转featureClass。现有的功能包括:数据互操作扩展提供的export data功能,gp等。
      在ArcGIS下有多种方式实现CAD转featureclass。现有的功能包括:数据互操作扩展提供的export data功能,gp以及gp提供的示例。
      这种做法比较繁琐,分层导入每次都要去设置过滤属性,效率比较低下,全手工操作,对作业人员提出了很高的要求,不适合大规模生产。
      3 新作业流程
      本文提出了一种新的数据转换方式,其主导思想是:将CAD数据进行分层处理,按地形类型及实体类型分层,在AutoCAD下进行编辑和查错,将编辑好的数据生成文本文件,根据各层对数据的不同要求,将扩展属性放入文本文件中,利用ArcEngine+c#开发转换程序,将文本文件直接生成shp文件。
      下面是具体的作业流程:
      如果AutoCAD文件的层比较乱,或者各种地物混在一个层中,就需要采用人工或程序自动提取的办法,将数据分类分层。
      3.1 对数据格式的要求
      1)图面表示应满足相关规范或规定对1:500或1:1000地形图的要求,实体属性应满足1:500或1:1000基础地理信息数据的要求。全要素组织地形,相邻分幅的数据必须作接边处理,且分层必须统一;
      2)文字注记应保持其完整性,如“长安大街”,应为一个整体,可通过软件进行查询;
      3)对于图例符号,必须遵照相关国家标准制作和使用图例及线型,且图例和线型不能被打散;
      4)建筑物、绿地、水系、桥梁、接图表等面状数据必须封闭为一个整体,面状数据要有高程;
      5)因不同格式的数据表达方式不同,所有信息(包括扩展属性)必须可读、可提取,不能使用不能读取的外部参照或型文件。
      3.2 数据分层及要素库结构
      3.2.1 分层
      3.2.2 数据库结构
      3.3 建筑物层和注记层提取
      1)在地形图上绘制一定间隔的纵线和横线,将图形分为若干矩形区域,按区域逐线进行检查,检查CAD图形数据,确保每一建筑物注记存在且唯一(包含材质和楼层,其中楼层为1时不能省略);
      2)检查CAD图形网格线附近的建筑物确保建筑物形状正确且闭合(主要是由于分幅产生的建筑物分隔错误);
      3)使用程序单独提取“建筑物和注记”层,并另存为“建筑物和注记.dwg”文件;
      4)使用程序对建筑物进行拓扑检查,以下是具体命令及说明:
      (1)dpt:删除多段线中的重复点;
      (2)chk7:多段线重复连线检查(手动修改错误);
      (3)chkbh: 检查建筑物是否闭合;
      (4)expln:导出图形多段线坐标;
      (5)chk1:多段线自相交检查;
      (6)chk2:多段线与多段线交叉检查;
      (7)chk5:多段线(面)与多段线(面)的裂缝重叠检查;
      (8)chk6:查建筑物少节点;
      (9)djc:清除检查点中的重点;
      (10)djd:清除建筑物节点的重复点并排序;
      (11)jjd:给建筑物加节点;
      (12)dchkpt:绘制检查点。
      各命令运行顺序:
      (1)→(2)→(3)
      (4)
      (5)→(9)→(12)修改检查点处的错误
      (4)
      (6)→(9)→(12)修改检查点处的错误
      (4)
      (7)→(9)→(12)修改检查点处的错误
      (4)
      (8)→(10)→(12)→(13)自动加了节点无须改错
      注意:以上检查请多次重复使用直至没有错误。
      5)使用程序给建筑物添加扩展属性。
      3.4 绿地层提取
      1)新建“绿地”层,在地形图上绘制一定间隔的纵线和横线,将图形分为若干矩形区域,按区域逐线进行检查,查图使地形图绿地在“绿地”层下并且保证绿地都是闭合的;   2)单独提取“绿地”层,并另存为“绿地.dwg”文件;
      3)使用程序对绿地进行拓扑检查,以下是具体命令及说明:
      (1)dpt:删除多段线中的重复点,多段线变红色(新改进的命令,先检查正确性);
      (2)chk7:多段线重复连线检查(手动修改错误);
      (3)chkbh:检查绿地是否闭合;
      (4)expln:导出图形多段线坐标;
      (5)chk1:多段线自相交检查;
      (6)chk2:多段线与多段线交叉检查;
      (7)chk5:多段线(面)与多段线(面)的裂缝重叠检查;
      (8)chk6:查绿地少节点;
      (9)djc:清除检查点中的重点;
      (10)djd:清除绿地节点的重复点并排序;
      (11)jjd:给绿地加节点;
      (12)dchkpt:绘制检查点。
      运行顺序:
      (1)→(2)→(3)
      (4)
      (5)→(9)→(12)修改检查点处的错误
      (4)
      (6)→(9)→(12)修改检查点处的错误
      (4)
      (7)→(9)→(12) 修改检查点处的错误
      (4)
      (8)→(10)→(12)→(13)自动加了节点无须改错
      注意:以上检查请多次重复使用直至没有错误。
      3.5 独立地物层提取
      新建“独立地物”层,根据要素名称提取这三层要素,并另存为“独立地物.dwg”文件。
      3.6 水系层提取
      1)新建“水系”层,在地形图上绘制一定间隔的纵线和横线,将图形分为若干矩形区域,按区域逐线进行检查,查图使河流,湖泊等水系置于“水系”层下并且保证水系都是闭合的;
      2)单独提取“水系”层,并另存为“水系.dwg”文件;
      3)使用程序对水系进行拓扑检查,以下是具体命令及说明:
      (1)dpt:删除多段线中的重复点,多段线变红色;
      (2)chk7:多段线重复连线检查(手动修改错误);
      (3)chkbh: 检查水系是否闭合;
      (4)expln:导出图形多段线坐标;
      (5)chk1:多段线自相交检查;
      (6)chk2:多段线与多段线交叉检查;
      (7)chk5:多段线(面)与多段线(面)的裂缝重叠检查;
      (8)chk6:查水系少节点;
      (9)djc:清除检查点中的重点;
      (10)djd:清除水系节点的重复点并排序;
      (11)jjd:给水系加节点;
      (12)dchkpt:绘制检查点。
      运行顺序:
      (1)→(2)→(3)
      (4)
      (5)→(9)→(12) 修改检查点处的错误
      (4)
      (6)→(9)→(12) 修改检查点处的错误
      (4)
      (7)→(9)→(12)修改检查点处的错误
      (4)
      (8)→(10)→(12)→(13)自动加了节点无须改错
      注意:以上检查请多次重复使用直至没有错误。
      3.7 道路层提取
      1)新建“道路”层,在地形图上绘制一定间隔的纵线和横线,将图形分为若干矩形区域,按区域逐线进行检查,查图使道路置于“道路”层下并且保证道路都是闭合的;
      2)单独提取“道路”层,并另存为“道路.dwg”文件;
      3)使用程序对道路进行拓扑检查,以下是命令及说明:
      (1)dpt:删除多段线中的重复点,多段线变红色;
      (2)chk7:多段线重复连线检查(手动修改错误);
      (3)chkbh: 检查建筑物是否闭合;
      (4)expln:导出图形多段线坐标;
      (5)chk1:多段线自相交检查;
      (6)chk2:多段线与多段线交叉检查;
      (7)chk5:多段线(面)与多段线(面)的裂缝重叠检查;
      (8)chk6:查建筑物少节点;
      (9)djc:清除检查点中的重点;
      (10)djd:清除建筑物节点的重复点并排序;
      (11)jjd:给建筑物加节点;
      (12)dchkpt:绘制检查点。
      运行顺序:
      (1)→(2)→(3)
      (4)
      (5)→(9)→(12) 修改检查点处的错误
      (4)
      (6)→(9)→(12) 修改检查点处的错误
      (4)
      (7)→(9)→(12) 修改检查点处的错误
      (4)
      (8)→(10)→(12) →(13)自动加了节点无须改错
      注意:以上检查请多次重复使用直至没有错误。
      3.8 道路中心线提取
      1)新建“道路中心线”层,在地形图上绘制一定间隔的纵线和横线,将图形分为若干矩形区域,按区域逐线进行检查,查图使道路中心线置于“道路中心线”层,在十字路口、丁字路口处道路中心线断开;
      2)单独提取“道路中心线”层,并另存为“道路中心线.dwg”文件;
      3)对道路添加扩展属性(道路名称)。
      3.9 输出各层的txt文件,转为shp文件并入库
      在CAD下将各层数据分别输出txt文件,再转为.shp文件入库。
      4 结论
      利用该转换方式将CAD数据转换ArcGIS的数据,不仅保证数据的完整性和可使用性,且转换效率也有很大提高,能够进行大批量的自动处理。借助此方式我们可以实现CAD与GIS的数据交互,为GIS在工程设计领域进行双向集成提供了技术基础。
      参考文献
      [1]陈建飞,等.地理信息系统导论[M].北京:科学出版社,2010.
      [2]陈建飞,等.基于VBA的ArcObjects编程——面向任务的方法[M].北京:科学出版社,2010.
      [3]邱洪刚等.ArcGIS Engine开发从入门到精通[M].北京:人民邮电出版社,2010.
      [4]《1:500 1:1000 1:2000地形图图式》GB/T7929-1995[S].北京:中国标准出版社,1996.

    推荐访问:转换为 新方法 文件 数据

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章