• arcgis pro模型构建器


    如果你不想部署代码包环境来写arcpy代码,还想实现批量或便携封装的操作工具,那么使用模型构建器是最好的选择。
    
    • 1

    1.简介模型构建器

    1.1双击打开模型构建器

    在这里插入图片描述

    1.2简单模型构建步骤

    • 先梳理整个操作流程,在纸上绘制
    • 在工具箱中找到所需工具拖进来
    • 把数据拖进来
    • 根据逻辑关系用箭头串联起来

    1.3简单使用

    • 拖动:按住鼠标左键框选后拖动
    • 箭头:按住鼠标左键在一个框拖向另一个框
    • 线折点:点击线后生成折点,可以拖动折点
    • 也可以点击“自动布局”
    • 点击“逻辑示意图”更改样式
    • arcgis可以切换成自定义图片,pro没找到
    • 在模型上右键可以创建标注

    1.4模型四要素

    工具、数据变量(原始数据、中间数据、结果数据)、值变量(除去数据变量)、连接器

    1.5特殊操作

    • P:设置为P参数则双击模型会显示让你填入内容
    • 添加至显示:运行完成后会直接加载到地图上。

    2.制作模型构建器工具

    2.1名词概念

    • 变量
      右键即可,可将工具中某个参数拿到外部来输入
      在这里插入图片描述
    • 工作空间
      使用:在空白处右键创建变量中选择工作空间。不需要连接线。
      概念:管理模型中需要存放的文件,使其在别人电脑也可以直接运行。

    2.2变量替换

    在迭代时候为防止同名文件被覆盖,使用行内变量,如%NAME%
    在这里插入图片描述

    2.3工作空间替换

    这样在别人电脑也可以直接运行。
    工作空间重命名为workspace,结果数据存放路径以及输入数据路径可以改为%workspace%\New%NAME%

    2.4删除中间数据

    2.4.1在模型编辑界面运行

    会自动存储中间数据,需要手动删除
    在这里插入图片描述

    2.4.2封装成工具后运行

    在地理处理窗格会自动删除中间数据

    2.5设置模型参数

    2.5.1如何设置

    在这里插入图片描述

    2.5.2显示效果

    • 编辑界面模型变量上方会有个P
    • 双击最后封装的工具会有输入框

    2.5.3调整最后工具中参数的显示顺序

    在这里插入图片描述

    2.6创建工具帮助及密码

    2.6.1添加工具帮助

    在这里插入图片描述

    2.6.2添加密码

    右键模型,点击属性
    在这里插入图片描述

    3.使用模型构建器的高级功能

    3.1收集值工具

    在这里插入图片描述

    3.1.1用法

    • 用于从迭代器收集输出值或将一组值转换为具有多个值的单个输入。
    • 当使用迭代器时,需要将迭代器生成的所有数据一起传到某个工具作为输入值。这时候就要用到收集值。

    3.1.2示例

    在这里插入图片描述

    3.2获取字段值工具

    3.2.1用法

    • 需要获取某个表中的字段值。
    • 计算字段中使用%value%
      在这里插入图片描述

    3.2.2示例

    在这里插入图片描述

    3.3解析路径工具

    3.3.1用法

    • 用于将输入解析成相应的文件名、扩展名、路径和最后一个工作空间名称。输出可用作其他工具的输出名称中的行内变量。
      在这里插入图片描述

    • 当前后输入输出后缀名格式不一样时,比如输入栅格数据而输出矢量数据。

    3.3.2示例

    在这里插入图片描述

    3.4选择数据工具

    3.4.1用法

    • 选择数据工具在父数据元素(如文件夹、地理数据库、要素数据集或 coverage)中选择数据。
    • 该工具允许访问存储在父容器(如地理数据库中的要素类或表)中的数据。

    3.4.2示例

    在这里插入图片描述

    3.5for迭代器

    3.5.1用法

    • 此工具会迭代起始值,直到达到指定的最大值限制为止。例如,如果起始值参数为 0,终止值为 10,且按值间距 3 为增量进行递增,则迭代会一直递增到值 9。

    3.5.2示例

    在这里插入图片描述

    3.6计算值和停止

    3.6.1用法

    • 超过一定数值就停止运算。
    • 类似于while循环
    • 在循环中使用“复制要素”,使其原数据作为中间数据可以被占用。
      在这里插入图片描述

    3.6.2示例

    在这里插入图片描述

    3.7模型工具与地图文档交互

    3.7.1用法

    • 使用按位置选择等功能实现。
    • 实现自己绘制图形达到某些要求。
    • 新建一个变量(要素集)

    3.7.2示例

    在这里插入图片描述

    4.使用模型构建器的迭代器

    迭代时候可以直接复制要素工具,防止空间分析结果被占用,导致报错。
    在这里插入图片描述

    4.1迭代要素选择

    • 使用要素:包含要迭代的要素的输入要素类或图层。
    • 迭代的是要素类中的要素。
      在这里插入图片描述

    4.2迭代行选择

    • 主要面向表格
      可以是要素类的属性表、栅格图形的属性表、没有图形信息的属性表。
      在这里插入图片描述

    4.3迭代字段值

    • 用法:迭代表格中的字段值。可以是csv。
    • 输出:每次迭代返回的字段值。
      在这里插入图片描述
    • 结果对不同字段值都进行一次缓冲区分析。

    4.4迭代多值

    • 用于迭代不同文件夹或数据源的数据,来做统一的操作。
    • 需要用到解析路径来解析名称来使用行内变量。
    • 还需要用到前提条件来保证名称和图形对应。
      在这里插入图片描述

    4.5迭代数据集

    • 用法:对文件夹或数据库中的特定格式或要求的数据进行处理。
    • 输入:存储要迭代的数据集的工作空间或要素数据集。
    • 通配符:* 与有助于限制结果的字符的组合。 星号相当于指定全部。 如果未指定通配符,将返回所有输入。 例如,可将其用于将输入名称迭代限制为从某一字符或词语开始(例如,A*、Ari* 或 Land* 等)。
    • 数据集类型:
      计算机辅助设计 (CAD)—输出将为 CAD 数据集。
      要素—输出将为要素数据集。
      几何网络—输出将为几何网络数据集。
      镶嵌—输出将为镶嵌数据集。
      网络—输出将为网络数据集。
      ArcMap 的宗地结构—输出将为 ArcMap 宗地结构数据集。
      宗地结构—输出将为宗地结构数据集。
      栅格—输出将为栅格数据集。
      地形—输出将为 terrain 数据集。
      不规则三角网 (TIN)—输出将为 TIN 数据集。
      拓扑—输出将为拓扑数据集。
    • 递归:将递归文件夹中所有子文件夹。
      在这里插入图片描述

    4.6迭代要素类

    与上面迭代数据集不同的是“类型”,这个主要是矢量数据

    • 输入:要迭代的要素类所在的工作空间或要素数据集。如果将地理数据库定义为输入工作空间,将只迭代直接位于地理数据库下的要素类(独立要素类)。要迭代输入地理数据库中的数据集内的所有要素类,请选中递归选项。
    • 通配符:* 与有助于限制结果的字符的组合。 星号相当于指定全部。 如果未指定通配符,将返回所有输入。 例如,可将其用于将输入名称迭代限制为从某一字符或词语开始(例如,A*、Ari* 或 Land* 等)。
    • 要素类型:要用作过滤器的要素类型。仅输出指定类型的要素。如果不指定要素类型,将输出所有要素。
      注记—仅输出注记要素类。
      维度—仅输出尺寸注记要素类。
      边—仅输出边要素类。
      交汇点—仅输出交汇点要素类。
      线— 仅输出线要素类。
      点—仅输出点要素类。
      面—仅输出面要素类。
      多面体—仅输出多面体要素类。
    • 递归:将递归文件夹中所有子文件夹。
      在这里插入图片描述

    4.7迭代文件

    • 用法:最长用于处理文本文件或压缩文件等。如ASCII转栅格。
    • 如果该文件在目录窗格中显示为数据集,则迭代文件将跳过该文件。最常见的示例是 shape 文件、.dbf 文件、栅格文件(.jpg、.tif、.img、.png 和 .bmp)、CAD 文件(.dxf 和 .dwg)以及地图文件(.mxd、.aprx)。
      在这里插入图片描述

    4.8While循环

    • 输入:要评估的输入值,用于确定是否继续迭代。
    • 继续,如果输入为:指定是否要迭代直至输入值均为 true 或均为 false。
      True—该工具将迭代直至所有输入值均为 true。这是默认设置。
      False— 该工具将迭代直至所有输入值均为 false。
    • 继续:指示是否继续的布尔值。
    • 放个官方示例
      https://pro.arcgis.com/zh-cn/pro-app/3.0/tool-reference/modelbuilder-toolbox/examples-of-using-iterators-in-modelbuilder.htm#ESRI_SECTION1_C2AF63CD760845B1ACB2FFC8A938B4B3

    在这里插入图片描述
    Row Count计算的行数为0即为false,就停止。

    4.9迭代表

    该工具识别的第一个表将用作输出表参数的模板。 该工具将从此表中读取信息,包括字段和表的完整路径。 由此可在最初设置模型工作流时,选择后续工具的参数中的字段。 当模型首次运行时,该工具将使用第一个表中的信息,在后续运行中,将单独读取每个表并将信息发送到下一个工具。

    • 输入:包含要迭代的表的工作空间。
    • 通配符:* 与有助于限制结果的字符的组合。 星号相当于指定全部。 如果未指定通配符,将返回所有输入。 例如,可将其用于将输入名称迭代限制为从某一字符或词语开始(例如,A*、Ari* 或 Land* 等)。
    • 表类型:为文件夹工作空间(shapefile 和 coverage)指定表类型。
      dBASE (shapefile)—表类型将为 dBASE 表 (shapefile)。
      INFO (coverage)—表类型将为 INFO 表 (coverage)。
    • 递归:将递归迭代主文件夹中的所有子文件夹。
      在这里插入图片描述
    • 常用工具是:汇总统计数据。
    • 要求:使用的字段在迭代的表中都要有才行。

    4.10迭代工作空间

    • 目的:迭代大文件夹下的子文件夹或数据库。
    • 输入:存储要迭代的工作空间的文件夹。
    • 通配符:与有助于限制结果的字符的组合。 星号相当于指定全部。 如果未指定通配符,将返回所有输入。 例如,可将其用于将输入名称迭代限制为从某一字符或词语开始(例如,A*、Ari* 或 Land* 等)。
    • 工作空间类型:指定要查找的工作空间类型。
      文件地理数据库—将仅输出文件地理数据库。
      文件夹—将仅输出文件夹。
      企业级地理数据库—将仅输出企业级地理数据库。
      BIM—仅输出 BIM 工作空间。
    • 递归:将迭代所有子文件夹。

    4.11利用迭代工作空间实现模型嵌套(也可以迭代嵌套)

    • 用法:新建一个模型,拉入迭代工作空间和其他已经建好的模型。
      在这里插入图片描述

    • 迭代表中修改的部分

      • 里面的输入工作空间作为一个模型参数
      • 里面的中间数据和结果数据都变成行内变量的形式(这种嵌套形式可能不会释放中间变量)
        在这里插入图片描述

    5.模型工具分享

    5.1修改的地方

    • 设置相关参数暴露出来
    • 在模型上右键设置项目描述,即帮助文档的书写
      在这里插入图片描述

    5.2如何分享?

    • 新建一个工具箱
    • 将模型复制粘贴到工具箱
    • 复制工具箱给别人

    5.3模型导出python

    • 右键打开模型编辑界面
    • 点击导出为python文件
      在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    Matlab:奇异值
    51单片机外设篇:DS18B20
    Apache Doris 数据建模之 Aggregate Key 模型
    想持续“遥遥领先”,中国需要自己的光刻胶
    python 多线程
    Node中的CSRF攻击和防御
    Hive 常用存储、压缩格式
    以太坊合并后 展望质押经济前景与 DeFi 新机遇
    Texlive安装
    Spring Boot 实现接口幂等性的 4 种方案
  • 原文地址:https://blog.csdn.net/qq_52231465/article/details/134145446