arcgis pro模型构建器

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

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文件
    在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1171738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Trajectory-guided Control Prediction for End-to-end Autonomous Driving论文学习

1. 解决了什么问题? 端到端自动驾驶方法直接将原始传感器数据映射为规划轨迹或控制信号,范式非常简洁,从理论上避免了多模块设计的错误叠加问题和繁琐的人为规则设计。当前的端到端自动驾驶方法主要有两条独立的研究路线,要么基于…

学习经验分享【NO.18】YOLOv5可视化特征图教程(持续更新)

YOLOv5项目的6.0以上版本中的detect.pt中集成了可视化相关模块,直接调用即可。 一、可视化特征提取网络中所有模块的可视化图 添加形参如下所示,加载相应的权值文件后,选择相应的图片。 运行detect.py文件后得到如下所示: 以stag…

visual basic 6.0软件安装包(永久),适用于Windows各系统附安装教程

软件说明 visual basic 6.0中文版是一种由微软公司开发的包含协助开发环境的事件驱动编程语言,它源自于BASIC编程语言,拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、…

JavaScript处理字符串

字符串(String)是不可变的、有限数量的字符序列,字符包括可见字符、不可见字符和转义字符。在程序设计中,经常需要处理字符串,如复制、替换、连接、比较、查找、截取、分割等。在JavaScript中,字符串是一类简单值,直接…

基于51单片机的烟雾和温湿度检测控制系统仿真(智能防火系统,火灾报警灭火系统)

wx供重浩:创享日记 对话框发送:单片机防火 获取完整源码源文件仿真源文件论文报告说明文档等 基于51单片机的光照及温湿度检测报警控制系统 由STC89C52单片机LCD1602液晶显示屏ADC0832模块蜂鸣器DHT11温湿度传感器 烟雾传感器LED按键构成 具体功能&…

【LeetCode刷题-队列】--933.最近的请求次数

933.最近的请求次数 class RecentCounter {Queue<Integer> queue new LinkedList<>();public RecentCounter() {}public int ping(int t) {queue.offer(t);while(t - queue.peek() > 3000){queue.poll();}return queue.size();} }/*** Your RecentCounter obje…

汽车标定技术(三)--XCP协议如何支持测量功能

目录 1. 概述 2. 测量方式 -- Poll 3. 测量方式 -- DAQ 3.1 ODT概念模型 3.2 DAQ List概念 3.3 ODT 绝对编号和相对编号 3.4 静态DAQ和动态DAQ模式 &#xff08;1&#xff09;静态DAQ &#xff08;2&#xff09;动态DAQ 4.小结 1. 概述 在该系列的首篇文章汽车标定技…

如何导入HTTParty库

HTTParty是一个Ruby的HTTP客户端库&#xff0c;用于发送HTTP请求。以下是在Ruby代码中导入HTTParty库的步骤&#xff1a; 在Gemfile文件中添加HTTParty库的依赖。打开Gemfile文件&#xff0c;并在其中添加以下行&#xff1a; gem ‘httparty’ 在终端中运行bundle install命令…

FreeRTOS_事件标志组

目录 1. 事件标志组简介 2. 创建事件标志组 2.1 函数 xEventGroupCreate() 2.2 函数 xEventGroupCreateStatic() 3. 设置事件位 3.1 函数 xEventGroupClearBits() 3.2 函数 xEventGroupClearBitsFromISR() 3.3 函数 xEventGroupSetBits() 3.4 函数 xEventGroupSetB…

Linux下input子系统

文章目录 input子系统简单介绍相关的函数input_dev注册过程上报输入事件按键的input子系统实验 input子系统简单介绍 input子系统是管理输入的子系统&#xff0c;和pinctrl和gpio子系统一样&#xff0c;都是Linux内核针对某一类设备而创建的框架。比如按键输入、键盘、鼠标、触…

任务1 部署ChatGLM3-6B大模型并进行对话测试

部署ChatGLM3-6B大模型并进行对话测试 0 介绍&#xff1a;1 趋动云项目创建与环境配置1.1 创建项目&#xff1a;1.2 配置环境1.2.1 进入终端1.2.2 设置镜像源1.2.3 克隆项目,并安装依赖 2 修改代码&#xff0c;改路径以及启动代码3 运行代码3.1 运行gradio界面&#xff1a;3.2 …

JAVA毕业设计109—基于Java+Springboot+Vue的宿舍管理系统(源码+数据库)

基于JavaSpringbootVue的宿舍管理系统(源码数据库)109 一、系统介绍 本系统前后端分离 本系统分为学生、宿管、超级管理员三种角色 1、用户&#xff1a; 登录、我的宿舍、申请调宿、报修申请、水电费管理、卫生检查、个人信息修改。 2、宿管&#xff1a; 登录、用户管理…

python实现从字符串中识别出省市区信息

从字符串中识别出省市区的信息分别存储,是我们经常会碰到的问题。如果用分词的方法去匹配获取比较麻烦,cpca包提供了便捷的调用函数transform。只要把含省市区的信息放进去,即可返回标准的含省市区的数据框。    本文详细阐述如何安装cpca包、transform函数参数定义,以及…

迷宫问题的对比实验研究

对不同的迷宫进行算法问题&#xff0c;分别采用栈、队列、基于红黑树的A*算法、以及图论中的最短路径来解决迷宫问题。 基本要求&#xff1a; &#xff08;1&#xff09; 从文件读入9*9的迷宫&#xff0c;设置入口和出口&#xff0c;分别采用以上方法&#xff0c;输出从入口到出…

CMake引用OSG

从CMake执行find_package(OpenSceneGraph REQUIRED COMPONENTS osgDB osgUtil)这句;情况如下; 当前OSG已经安装好;环境变量添加了OSG_ROOT(其值是OSG安装的根目录),并且 %OSG_ROOT%\bin 添加到了path; 有一个警告,已经done了; Found osgDB: optimized;D:/OSGEarth/l…

网络基础扫盲-多路转发

博客内容&#xff1a;多路转发的常见方式select&#xff0c;poll&#xff0c;epoll 文章目录 一、五种IO模型二、多路转发的常见接口1.select2、poll3、epoll 总结 前言 Linux下一切皆文件&#xff0c;是文件就会存在IO的情况&#xff0c;IO的方式决定了效率的高低。 一、五种…

【Solidity】Remix在线环境及钱包申请

好久没有学习区块链方面的知识了&#xff0c;目前通过自学大致掌握了Fabric联盟链的搭建&#xff0c;链码编写、部署&#xff0c;api调用&#xff0c;可以独立开发出一些基于fabric的应用&#xff0c;感觉开发出去中心化的应用还是很有意思的&#xff0c;因为他与之前开发的ssm…

Git 案例(企业如何使用git开发项目)

一、企业中我们是如何开发 1) 入职第一天,管理人员分配/git账号密码 2) 开发人员下载代码即文档/ 根据文档将环境搭建成功 3) 团队一般会给你讲讲项目相关的支持 4) 你接到第一个需求(或者某个功能,一般要经过沟通,分析,设计...等过程) 5) 创建feature分支(一般一个需求对应…

【计算机网络实验/wireshark】tcp建立和释放

wireshark开始捕获后&#xff0c;浏览器打开xg.swjtu.edu.cn&#xff0c;网页传输完成后&#xff0c;关闭浏览器&#xff0c;然后停止报文捕获。 若捕获不到dns报文&#xff0c;先运行ipconfig/flushdns命令清空dns缓存 DNS报文 设置了筛选条件&#xff1a;dns 查询报文目的…

【Java对象】一文读懂 Java 对象庐山真面目及指针压缩

文章目录 版本及工具介绍Java 对象结构对象头mark word 标记字mark word 标记字解析Lock Record class point 类元数据指针 实例数据对齐填充为什么需要对齐填充 常见 Java 数据类型对象分析ArrayListLongStringByteBoolean 其它指针压缩前置知识&#xff1a;32位操作系统为什么…