ArcGIS工具提取CAD节点高程等属性标注——在排水建模中的应用

 

        在排水管网建模过程中,很多原始数据是以CAD形式提供的,需要将CAD转换成GIS数据,其中节点(如检查井)的高程等属性是以标注的形式标注在cad上的,为了将高程等属性信息加到POINT上,最原始的方式就是手动一个点一个点添加,这对于点不多的时候,也是可行的办法,对于有很多点的时候,将是一件很费时的工作。

       为了简化属性数据的录入,因此需要用ArcGIS的相关工具自动提取高程信息,在赋值到相应的节点上。对于有一定规律的CAD数据,如下图所示,需要将3中的高程赋值给节点1。

主要的思路如下:

  • 提取节点1,生成point图层1;
  • 提取连接线2,生成line图层2;
  • 提取高程标注3,转成point图层3;
  • 用near工具,找到标注图层3 最近的连接线图层2 ,再用near工具找到连接线图层2 最近的节点图层1, 用join连接图层1 ,图层2, 图层3 ,将图层3中的高程属性,赋值给节点图层1,即给节点图层1 添加上了高程属性数据。

用arcmap打开cad数据,具体的操作如下:

提取所需的节点和线

  • 用识别工具可以看出,节点layer的值为YSP;
  • 用属性选择器(Select by Attributes),提取节点,并导出,保存为YSP.shp。

同理,提取连接线,并导出,保存为YST.SHP

提取标注信息转为POINT

  • 右键点击cad图层中Annotation,使用Convert to Geodatabase Annotation工具,将cad标注转成gis标注
  • 使用Data Managemet下Features中Feature To Point工具,将gis标注转成point图层
  • 用属性选择器(Select by Attributes)提取需要的数据点(如”layer”=’YST’),得到最终的gaocheng.shp

两条相连接的连接线 合并生成一条

  • 从上图可以看到,连接线YST图层中,有连接线分成19和18两条,需要把这两条连接线生成一条,这里需要用使用Data Managemet下Features中unsplit Line工具将两条线生成一条,得到YST_UnsplitLine.shp。

邻近点分析

  • 使用Analysis下Proximity中Near工具,得到gaocheng.shp中点最邻近的YST_UnsplitLine
  • 同理,得到YST_UnsplitLine.shp中最邻近的节点YST
  • 打开属性表,可以看到gaocheng.shp属性表中,会有两个点有同样的NEAR_FID,因为在cad中,有井底高程,和地面高程两个值,可通过比较大小来识别哪个是地面高程,哪个是井底高程。

  • 可以导出NEAR_FID和高程值,生成gaocheng.csv文件,有三列数据,分别是NEAR_FID,井底高程,地面高程。

Join表

用join工具,将gaocheng.csv与YST_UnsplitLine.shp连接,将YST_UnsplitLine.shp与YSP.shp连接,同时在YSP.shp中新建两个字段,分别保存gaocheng.csv中井底高程和地面高程。

转载自:https://blog.csdn.net/ccvin/article/details/81585869

You may also like...