概述
在排水管网建模过程中,很多原始数据是以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中井底高程和地面高程。
最后
以上就是忧虑汉堡为你收集整理的ArcGIS工具提取CAD节点高程等属性标注——在排水建模中的应用的全部内容,希望文章能够帮你解决ArcGIS工具提取CAD节点高程等属性标注——在排水建模中的应用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复