加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

利用ArcToolBox ModelBuider进行数据处理

发布时间:2020-12-14 03:27:03 所属栏目:大数据 来源:网络整理
导读:有一批CAD图,包括了道路中心线和规划地块数据。道路中心线需要有文本标注,且每条道路必须标注一个道路名称文本。规划地块也需要包含标注,且一个规划地块有一个标注。 数据如下图: 需要检查数据是否满足标准,而且数据的标准有可能不一致,如:A图的道路

有一批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,可以把检查结果表提供给数据处理人员,方便修改数据。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读