ModelBuilder参数化建模


文章目录

  • ModelBuilder参数化建模
  • 前言
  • 一、ModelBuilder应用基础
    • 1.1 模型构建器定义
    • 1.2 模型构建器快速浏览
    • 1.3 模型画布
    • 1.4 模型元素
      • 1.4.1 工具
      • 1.4.2 变量
      • 1.4.3 连接符
    • 1.5 模型流程&保存路径
    • 1.6 流程状态
    • 1.7 ModelBuilder重做案例
      • 1.7.1 租房选址分析
      • 1.7.2 用地变更分析
      • 1.7.3 多网点城市设施布局评估
  • 二、ModelBuilder进阶技术:迭代器/行内变量替换
    • 2.1 迭代要素选择
    • 2.2 迭代要素类
  • 三、创建模型工具
    • 3.1 模型参数
    • 3.2 创建初始模型
    • 3.3 创建模型参数
    • 3.4 案例
  • 总结

前言

本文基于立方数据院学习平台的学习,介绍ModelBuilder的理论与实践知识。

设想一下这些场景:
①你在做一项复杂研究,使用到ArcGIS中的多个工具和步骤,包括缓冲区分析、空间连接、字段计算器、裁剪、相交等,如果一步步调用工具,输入数据,输出结果非常耗时,有没有更快速的方法?
②领导给了你全国道路数据和全国城市边界数据,让你把每个城市的道路裁剪出来保存成单独的文件,全国有近300个地级市,这个时候你怎么办?
③现在你参与了一个县的村庄规划,需要对200多个村庄分别进行用地适宜性评价,这个时候你怎么办?

上面这些需求都涉及到复杂的工作流程或者大量的重复性工作,如果不使用一些先进的工具,纯靠手工处理的话,那简直处理到让人头秃。
ModelBuilder就是ArcGIS中数据批量处理的神器。掌握ModelBuilder,可以大大提升工作效率。


一、ModelBuilder应用基础

1.1 模型构建器定义

  • 模型构建器是一个用来创建、编辑和管理模型的应用程序
  • 模型是将一系列地理处理工具串联在一起的工作流,它将其中一个工具的输出作为另一个工具的输入。也可以将模型构建器看成是用于构建工作流的可视化编程语言。
  • ArcGIS的开发手段之一!

1.2 模型构建器快速浏览

模型构建器的界面结构简单,其中包含下拉菜单工具条工具快捷菜单选项。通过右键单击可以使用整个模型或任何单个模型元素(变量、连接器或工具)的快捷菜单。在模型中用于拖动工具并将其连接到变量的空白区域称为画布,而显示相互连接的工具和变量的外观及布局称为模型图

1.3 模型画布

模型画布是模型中的白色空白区域。

1.4 模型元素

模型元素主要有三种类型:工具、变量和连接符

1.4.1 工具

工具:地理处理工具是模型工作流的基本组成部分。工具用于对地理数据或表格数据执行多种操作。ArcToolBox中的每个工具都可以在模型构建器中充当模型元素

工具按类型可以分为3种 :内置工具、脚本工具、模型工具
①内置工具: 系统工具,即ArGIS的工具。分为“迭代器”和“仅模型工具”
②脚本工具: 如Python脚本文件创建的工具
③模型工具:将多个工具连接在一起以共同表示一个工作流即构成模型。

1.4.2 变量

变量变量是模型中用于保存值或对磁盘数据进行引用的元素,包括“数据”和“值”两种变量

数据: 包括要素类文件、要素文件等等
值:值变量是诸如字符串、数值、布尔( true/false值)、空间参考、线性单位或范围等的值考、线性单位或范围等的值

1.4.3 连接符

连接符 : 连接符用于将数据和值连接到工具。连接符箭头显示了地理处理的执行方向。有四种连接符:
①数据 :数据连接符用于将数据变量和值变量连接到工具。
②环境: 环境连接符用于将包含环境设置的变量(数据或值 )连接到工具。工具在执行时将使用该环境设置
③前提条件 : 前提条件连接符用于将变量连接到工具。只有在创建了前提条件变量的内容之后,工具才会执行
④反馈:反馈连接符用于将某一工具的输出返回给同一工具作为输入。

1.5 模型流程&保存路径

模型流程由一个工具和连接到此工具的所有变量组成。连接线用于表示处理的顺序。可将多个流程连接到一起以创建一个更复杂的流程。

模型保存在“工具箱”中!

1.6 流程状态

模型流程由一个工具和连接到此工具的所有变量组成。连接线用于表示处理顺序。

四种状态: 尚未准备运行、准备运行、正在运行或已运行

1.7 ModelBuilder重做案例

1.7.1 租房选址分析

回顾“租房选址分析”的分析场景和步骤。案例以某个城市某一租客的租房选址需求为例。
分析步骤为:
第一步:将CAD数据导入GIS,包括主干道、次干道、医院、高中数据的导入;
第二步:利用缓冲区工具得到距离医院500米内的区域、距离高中700米内或者1000米内的区域;再利用相交工具得到既满足距离医院500米内,又满足距离高中700米内或者1000米内的区域,我们简称A区域;
第三步:利用缓冲区工具得到距离主干道100米,距离次干道50米和距离支路20米的区域,我们简称B区域;
第四步:利用擦除工具得到位于A区域,但是不位于B区域的地方。

重点:
如何添加变量 ?①直接拖进模型画布;②在拖进画布的“工具”中,双击点开设置输入要素
如何建立连接 ?
模型构建后,需要输入的参数有哪些 ? 需要作为保存输出的参数有哪些 ?

步骤:
先导入医院、高中、道路要素。
打开模型构建器,导入医院元素以及缓冲区工具,连接线从医院至缓冲区工具(令医院为输入要素),此时结果保存在默认路径下的文件夹,双击即可修改保存位置。

在输入要素时,出现两个医院,前面有蓝色循环符号的医院指的是已导入模型的要素。
双击缓冲区工具设置参数。
点击播放,完成工作流。点击验证后方可开始下一次工作流运行。

导入高中元素以及多环缓冲区工具,连接线从高中至多环缓冲区工具(令高中为输入要素)

双击多环缓冲区工具设置参数。

拖进相交工具,两个buffer作为输入要素连接至相交工具。

拖入道路要素和缓冲区工具,道路作为输入要素连接至缓冲区工具,缓冲工具缓冲距离设置相应字段。再将上述相交结果作为输入要素,道路缓冲结果作为擦除要素连接至擦除工具

可新建工具箱,并把此模型保存。

1.7.2 用地变更分析

主要步骤
①导入数据至要素数据集
②根据“layer”字段融合
③添加标注字段并给字段赋值:
④联合
⑤添加字段并计算,得到最后结果

步骤:
拖入要素,添加字段并使用字段计算器

拖入联合工具,将上述两个结果连接至联合工具。

上述结果添加字段,并使用字段计算器,N3=N1+N2

拖入筛选工具(按属性选择+导出),选择表达式N3=-1

1.7.3 多网点城市设施布局评估

①上海图书馆,建立缓冲区、泰森多边形
②相交+裁剪一覆盖范围
③和学校进行空间连接,添加 /计算 学校统计字段
④和餐饮店进行空间连接,添加 /计算 学餐饮统计字段

二、ModelBuilder进阶技术:迭代器/行内变量替换

迭代器可以基于多个输入自动重复执行同一个工作流,也就是实现数据的批量化处理,使用迭代器可以极大节约重复工作时间。

使用迭代器有几个注意点:
在使用迭代器的过程中有一个设置非常重要,那就是“行内变量替换”。这个是迭代器成功的关键。
①一个模型中只能存在一个迭代器,不能实现迭代器的嵌套;
②在使用迭代器的时候,输出的数据最好保存在GDB中,这样不容易出错。

ModelBuilder中支持12种迭代方式

2.1 迭代要素选择

场景:每个图书馆建立缓冲区并保存为单独的文件。

模型中右键 - 迭代器 - 要素选择

按名称字段进行迭代。

拖入缓冲区工具并连接。

双击结果保存路径,设置行内变量替换(%值%)

迭代循环尽量新建文件地理数据库,行内变量尽量放在文件名后面。

2.2 迭代要素类

迭代要素类即读取一个文件夹,对文件夹中的每一个元素都进行迭代操作。

扩展其他十种迭代器作用
点此跳转

三、创建模型工具

如何把ModelBuilder中的工作流转换成ArcGIS中可以使用的工具?
将如下工作流:

转换为ArcGIS工具:

为什么要创建工具?
在学会如何用模型构建器创建模型之后,我们可以了解到,ArcGIS是能够实现“流程分析”的,但同样的分析思路,如何避免每次都建立流程模型?
我们都希望以不同的输入数据来运行模型,使得其从一个“单一性”的流程变成一个“普适性”的工具!

3.1 模型参数

双击打开之前创建的文件,可以看到显示“没有参数”

打开【缓冲区】工具,所有显示的都是“工具”

掌握了如何设置参数,就掌握了如何设置工具。

3.2 创建初始模型

①所有参数通过“调用”提取出来②区分“从参数”和“从环境”的区别

添加字段时,右键 - 获取变量 - 从参数 - 字段名

字段类型操作同上

计算字段提取“表达式”

3.3 创建模型参数

任何模型变量都可以转换为模型参数。将变量转换为模型参数后,可以在模型工具对话框中指定此参数的值。
保存模型,并双击打开

右键要素 - 模型参数 (线段上出现P

尝试更改模型参数,重新执行命令( 和系统工具操作一样)

先删除已输入的要素,模型颜色变白
右键元素 - 重命名

更改参数顺序:右键目录区工具 - 属性 - 参数一栏修改

3.4 案例

先创建工作流

创建泰森多边形的输出字段改为“ALL”

缓冲区获取变量,调出距离
相交

泰森多边形 从环境 设置处理范围

缓冲区添加“融合类型”参数

最后的输出变为模型参数。

去除原始输入要素,并重命名


总结

ArcGIS学习12:ModelBuilder参数化建模相关推荐

  1. 深度学习R语言 mlr3 建模,训练,预测,评估(随机森林,Logistic Regression)

    深度学习R语言 mlr3 建模,训练,预测,评估(随机森林,Logistic Regression) 本文主要通过使用mlr3包来训练German credit数据集,实现不同的深度学习模型. 1. ...

  2. ug电子产品计算机建模,第52讲 NX10 入门图文教程——参数化建模

    第52讲NX10入门图文教程--参数化建模 image001.png (182.83 KB, 下载次数: 143) 2015-9-25 18:23 上传 图形分析:改图的重点是参数化建模,也就是前后建 ...

  3. Lesson 12.3 线性回归建模实验

    Lesson 12.3 线性回归建模实验 一.深度学习建模流程   数据准备就绪,接下来就是建模实验环节,在实际深度学习建模过程中,无论是手动实现还是调库实现,我们都需要遵循深度学习建模一般流程.在此 ...

  4. ArcGIS学习教程免费版在线观看

    摘要:Arcgis学习视频教程根据书籍章节逐步讲解较为详细,无需下载直接在网上观看,有土豆和优酷视频,任你选择.<精通ArcGIS地理信息系统>本书从gis软件应用与开发的角度,全面.系统 ...

  5. 机器人参数化建模与仿真,软体机器人

    专题一:机器人参数化建模与仿真分析.优化设计专题课程大纲 机器人建模基础 机器人运动学基础 几何运动学闭环解解析法建模 运动学MATLAB脚本文件编写(封闭解.构型绘制).工具箱 机器人工作空间(离散 ...

  6. 数字化制造系统参数化建模及仿真

    获取更多资讯,赶快关注公众号(名称:智能制造与智能调度,公众号:deeprlscheduler)吧! 文章目录 数字化制造系统参数化建模及仿真 引言 1 面向对象的着色Petri网建模 1.1系统对象 ...

  7. 刚柔软机器人参数化建模仿真分析--多种案例操作步骤--案例代码分享

    专题一:机器人参数化建模与仿真优化设计  2022年10月15日--10月16日  直播 2022年10月22日--10月23日  直播 专题二:软体机器人结构设计与仿真分析    2022年10月2 ...

  8. bimbase python参数化建模

    (第一篇技术博客) Q1:参数化建模相对于传统建模究竟有没有优势? A:有优势,但不明显,如果在BIM起始阶段引入参数化建模将能够顺利发展,现有条件下,参数化建模面临翻模软件的挑战,翻模软件可以无缝对 ...

  9. patran参数化建模语言_我们需要新的语言来讨论参数化量子电路

    patran参数化建模语言 By Hannah Sim, Graduate Student in Chemical Physics at Harvard 哈佛大学化学物理学研究生Hannah Sim ...

最新文章

  1. windows nodejs mysql_windows server 安装 mysql + nondejs连接mysql
  2. 青龙羊毛——飞鸽花转省毛毛(搬运)
  3. 分支定界法上下界_分支定界(Branch-and-Cut)方法的逻辑
  4. docker之手动构建新的镜像
  5. 《从零开始学ASP.NET CORE MVC》课程介绍
  6. 从概念到案例,机器学习应该掌握的20个知识点
  7. 想多赚点钱,一个最简单的办法,找到适合自身的坑
  8. 万字长文详解二叉树算法,再也不怕面试了!| 技术头条
  9. BIND9源码分析奠基
  10. 通过 EWF 创建一个XP Embedded
  11. 算法第四版 练习答案 1.4.1
  12. 【数字孪生】UE4虚幻引擎与前端Web页面的结合
  13. Java学习指南(15) 链表
  14. 红米note3android版本,小米-红米note3-LOS-安卓9.0.0-稳定版Stable3.0-来去电归属-农历等-本地化增强适配...
  15. 功率电感的两个额定电流 Isat 与 Irms
  16. 笔记本win10宽带共享wifi热点教程
  17. Linux7 修改网卡名eth0
  18. IT行业男性出轨率最高!
  19. 如果我们现在要做一个库存盘点的系统,你怎么设计表结构,设计哪些表
  20. 美国贝勒大学计算机科学专业怎么样,美国贝勒大学怎么样

热门文章

  1. 公安三维电子沙盘 警用数字沙盘系统
  2. 计算机科学 浙江大学 机器学习,浙江大学计算机科学技术学院博士研究生导师简介:蔡登...
  3. MT WOFF FONT解密
  4. 开放式测试搜索不到应用怎么办
  5. 利用C语言设计扫雷游戏
  6. Charles打开后,Pc电脑端浏览器展示空白页面,无法正常使用or浏览网页
  7. 史上最全系列 | 大数据框架知识点汇总(资源分享、还不快拿去)
  8. k8s中GPU虚拟化工具gpu-manager的安装
  9. “易写易库(EXEK)”项目启动,用易语言开发易语言支持库
  10. bootstrap 实现商城布局