zoukankan      html  css  js  c++  java
  • 利用ArcToolBox ModelBuider进行数据处理

    有一批CAD图,包括了道路中心线和规划地块数据。道路中心线需要有文本标注,且每条道路必须标注一个道路名称文本。规划地块也需要包含标注,且一个规划地块有一个标注。

    数据如下图:

    需要检查数据是否满足标准,而且数据的标准有可能不一致,如:A图的道路中心线在ZX层,B图的在ZXX层。按照以往的做法,打开VS,建立工程,引入Esri的dll,然后是痛苦的Coding+调试过程。

    下面我来讲一下如何使用ArcToolBox来完成这个任务。首先分析,我们需要完成以下几步:

    1. 打开CAD文件
    2. 将识别道路中心线
    3. 道路中心线缓冲
    4. 识别文本注记
    5. 利用道路缓冲区判断落入缓冲区的注记
    6. 生成结果表

    具体操作:

    1. 添加变量,设置数据类型为Cad Drawing DataSet
    2. 识别道路中心线:
      1)添加Select Data工具,设置Child Data Element等于"POLYLINE"。设置为模型参数
      2)添加Make Layer工具,设置InputFeatures等于之前从CAD文件中选择出来的的Polyline数据
      3)由于道路中心线所在图层不确定,需要实时修改,添加变量,类型为String,名字修改为“道路中心线图层名”,设置为模型参数。Make Layer工具的Express选择该变量
    3. 道路中心线缓冲
      1)添加Buffer工具,设置Input features等于识别出来的道路中心线
      2)设置输出路径
      3)设置缓冲参数:右键点击buffer工具,Make Variable——From Parameters——Distance。设置为模型参数
    4. 识别文本注记
      操作类似识别道路中心线
    5. 空间关系判断
      1)添加Sptial Join工具,设置Taget Features为道路中心线缓冲后的结果数据;
      2)设置Join Feautres为标注图层数据
      3)Join Operation选择 One-To-One
      4)设置结果字段
    6. 生成结果表
      1)添加Table Select工具
      2)设置Expression为Join_Count <> 1(结果表中仅保存不符合标准的数据)

    制作完毕的模型如下图:

    双击运行界面如下图:

    检查结果:

    检查结果

    1. 从图中可以看到,蓝色为符合标准的数据,其它颜色不符合标准。
      1)存在把一条路的路名按照多个文本标准的情况
      2)存在没有标注路名的情况。
    2. 检查结果表中仅记录了不符合标准的要素的CAD实体handle,可以把检查结果表提供给数据处理人员,方便修改数据。
  • 相关阅读:
    解决在macOS下安装了python却没有pip命令的问题【经验总结】
    Mac OS下安装MongoDB以及配置方法总结【笔记】
    web上常见的攻击方式及简单的防御方法
    Destoon二开必看执行流程
    网站入侵注入的几种方法总结【笔记】
    命令检测站点是否使用CDN加速
    织梦xss通杀所有版本漏洞【学习笔记】
    让你知晓内容安全的边界:盘点2017、2018这两年的内容监管
    知物由学 | AI网络安全实战:生成对抗网络
    人工智能热门图书(深度学习、TensorFlow)免费送!
  • 原文地址:https://www.cnblogs.com/ITGIS/p/1877718.html
Copyright © 2011-2022 走看看