【ArcGIS模型构建器】01:模型构建器Model Builder介绍

news2024/11/16 7:22:51

文章目录

  • 一、 空间建模概述
    • 1. 空间建模概述
    • 2. 空间建模步骤
  • 二、Model Builder建模
    • 1. Model Builder基础
    • 2. Model Builder操作
    • 3. Model Builder高级进阶操作


一、 空间建模概述

1. 空间建模概述

空间建模的目的是解决与地理有关的问题,通常涉及多种空间分析操作的组合。由于空间建模是建立在图层数据的基础上,又称为地图建模,建模的结果,可以是一个“地图模型”,也可以是对空间分析过程及其数据的一种图形或符号表示。目的是帮助分析人员组织和规划所要完成的分析过程,并逐步指定完成这一分析过程所需的数据。

2. 空间建模步骤

空间建模的一把步骤为:

在这里插入图片描述

二、Model Builder建模

1. Model Builder基础

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

在这里插入图片描述

模型构建器除了有助于构造和执行简单工作流外,还能通过创建模型并将其共享为工具来提供扩展 ArcGIS 功能的高级方法。模型构建器甚至还可用于将 ArcGIS 与其他应用程序进行集成。

在这里插入图片描述

模型构建器的优势:

  • 模型构建器是一个简单易用的应用程序,用于创建和运行包含一系列工具的工作流。
  • 您可以使用模型构建器创建自己的工具。使用模型构建器创建的工具可在 Python 脚本和其他模型中使用。
  • 结合使用模型构建器和脚本可将 ArcGIS 与其他应用程序进行集成。

在这里插入图片描述

模型元素的组成:

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

  • 工具:地理处理工具是模型工作流的基本组成部分。工具用于对地理数据或表格数据执行多种操作。工具被添加到模型中后,即成为模型元素。
  • 变量: 变量是模型中用于保存值或对磁盘数据进行引用的元素。有以下两种类型的变量:
    —数据:数据变量是包含磁盘数据的描述性信息的模型元素。数据变量中所描述的数据属性包括字段信息、空间参考和路径。
    —值:值变量是诸如字符串、数值、布尔(true/false值)、空间参考、线性单位或范围等的值。值变量包含了除对磁盘数据引用之外的所有信息。
  • 连接符: 连接符用于将数据和值连接到工具。连接符箭头显示了地理处理的执行方向。有以下四种类型的连接符:
    —数据: 数据连接符用于将数据变量和值变量连接到工具。
    —环境: 环境连接符用于将包含环境设置的变量(数据或值)连接到工具。工具在执行时将使用该环境设置。
    —前提条件: 前提条件连接符用于将变量连接到工具。只有在创建了前提条件变量的内容之后,工具才会执行。
    —反馈: 反馈连接符用于将某一工具的输出返回给同一工具作为输入。

2. Model Builder操作

(1)准备数据和地图文档

(2)创建新模型

(3)向模型添加数据和工具

(4)添加连接

(5)添加模型变量

(6)设置模型运行参数

(7)运行模型

(8)保存模型

3. Model Builder高级进阶操作

(1)管理中间数据

模型执行的每个过程都会输出数据。某些输出数据在模型运行后毫无用处,创建这些数据只是为了与创建新输出的另一个过程相连,此类数据称为中间数据。除最终输出或已变为模型参数的输出外,都将自动成为模型的中间数据。如下图所示,缓冲区工具的输出仅在作为裁剪工具的输人时才有用,而在这之后不再使用,因此【中间】选项为选中状态,可通过取消选中【中间】选项来保存中间数据。

在这里插入图片描述

(2)行内变量替换与列表变量

在模型构建器中,要使用某个变量的内容来替换另一个变量,需使用百分号“%”将替换变量括起来,这种变量替换方式称为行内变量替换。通常用于通过用户输入来代替模型中的某些文本或值。

行内变量可分为三类:

  • 模型变量
  • 环境设置变量
  • 系统变量

(3)仅模型工具

仅模型工具只支持模型构建器中的高级行为,这些工具不能通过工具对话框使用,也不能在编写Python脚本时使用。一些工具可用来控制处理流程,另一些则是简单的支持工具。仅模型工具共有7种,分别是:计算值、收集值、获取字段值、合并分支、解析路径、选择数据、停止。

(4)迭代器的使用

迭代又称为循环,其目的在于自动重复任务以节省执行任务所需的时间和精力。模型构建器中进行迭代时,可以在每次迭代中使用不同的设置和数据来反复执行同一个过程。

迭代操作可以迭代整个模型,或只重复执行单个工具或过程。每个模型只可使用一个迭代器,添加一个迭代器后,则模型中的所有工具会对迭代器中的每个值进行迭代。如果不想对所有工具进行迭代,而只是对一个或者少数几个工具使用迭代器,则应将需要迭代的所有工具放置在一个具有模型迭代器的模型中,并将该模型用做子模型,作为模型工具添加到主模型中。

迭代器工具集中包含12种迭代器,仅用于模型构建器,不能在编写Python脚本时使用。这12种迭代器分别是:For、While、要素选择、行选择、字段值、多值、数据集、要素类、文件、栅格、表、工作空间。每种迭代器都有一组不同于其他迭代器的参数,但是所有迭代器工具的整体结构都非常相似。

在这里插入图片描述

(5)内存工作空间

ArcGIS提供了一个可写人输出要素类和表的内存工作空间可将输出写入内存工作空间中,作为将地理处理输出写人磁盘上的某个位置或网络位置的备选方案。通常,将数据写入内存工作空间要明显快于写入其他格式(如Shapefile 或地理数据库要素类)。但写入内存工作空间的数据是临时性的,将在关闭应用程序时被删除。要将数据写人内存工作空间,可使用路径in_memory。

在这里插入图片描述

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

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

相关文章

100097. 合法分组的最少组数

给你一个长度为 n 下标从 0 开始的整数数组 nums 。 我们想将下标进行分组,使得 [0, n - 1] 内所有下标 i 都 恰好 被分到其中一组。 如果以下条件成立,我们说这个分组方案是合法的: 对于每个组 g ,同一组内所有下标在 nums 中…

一天吃透Java面试题

给大家分享我整理的Java高频面试题,有小伙伴靠他拿到字节offer了。 Java基础面试题 Java的特点Java 与 C 的区别JDK/JRE/JVM三者的关系Java程序是编译执行还是解释执行?面向对象和面向过程的区别?面向对象有哪些特性?数组到底是…

代码最佳实践和指南(一)

创建代码是许多数据专业的重要组成部分。但是,创建可以运行的代码只是工作的一半。代码还需要清晰,易于传递,并且对干扰具有鲁棒性。通过在项目中遵循一些编码准则,您可以保存自己以后重新构造代码的时间,并使您的合作…

(完全解决)如何输入一个图的权重,然后使用sklearn进行谱聚类

文章目录 背景输入点直接输入邻接矩阵 背景 网上倒是有一些关于使用sklearn进行谱聚类的教程,但是这些教程的输入都是一些点的集合,然后根据谱聚类的原理,其会每两个点计算一次亲密度(可以认为两个点距离越大,亲密度越…

知识分享|分段函数线性化及matlab测试

目录 1 使用0-1变量将分段函数转换为线性约束 2 连续函数采用分段线性化示例 3 matlab程序测试 4 matlab测试结果说明 5 分段线性化应用 1 使用0-1变量将分段函数转换为线性约束 2 连续函数采用分段线性化示例 3 matlab程序测试 clc;clear all; gn10;tn1; x_pfsdpvar(1, t…

为什么短信验证码要设置有效期?

安全性:验证码的主要目的是为了验证用户的身份,防止恶意或未经授权的访问。如果验证码没有有效期,恶意用户或攻击者可以获取验证码后无限期地尝试使用它。通过设置有效期,可以限制验证码的生命周期,提高系统的安全性。…

Selenium的find_element()与find_elements()和By的几种方法

打印索引元素的文本属性 def print_list(coordinate_list):print(当前项目地块数:, len(coordinate_list))for i in range(0, len(coordinate_list)):print(i)print(coordinate_list[i].text)看一下By支持的方法 class By:"""Set of supported loc…

02-HotSpot 虚拟机对象探秘

HotSpot 虚拟机对象探秘 对象的内存布局 在 HotSpot 虚拟机中,对象的内存布局分为以下 3 块区域: 对象头(Header)实例数据(Instance Data)对齐填充(Padding) 对象头 对象头记录…

基于ResNet34的花朵分类

一.数据集准备 新建一个项目文件夹ResNet,并在里面建立data_set文件夹用来保存数据集,在data_set文件夹下创建新文件夹"flower_data",点击链接下载花分类数据集https://storage.googleapis.com/download.tensorflow.org/example_i…

localforage-本地存储的优化方案

前言 前端本地化存储算是一个老生常谈的话题了,我们对于 cookies、Web Storage(sessionStorage、localStorage)的使用已经非常熟悉,在面试与实际操作之中也会经常遇到相关的问题,但这些本地化存储的方式还存在一些缺陷…

【CSS】BFC 块级格式化上下文

1. 块级格式化上下文(BFC) 它是一块独立的渲染区域,规定该区域内,常规流块盒的布局。 先来说一下常规流块盒: 常规流块盒在水平方向上,必须盛满包含块常规流块盒在包含块的垂直方向上依次摆放常规流块盒…

「我的AIGC咒语库:分享和AI对话交流的秘诀——如何利用Prompt和AI进行高效交流?」

文章目录 每日一句正能量前言基础介绍什么是Prompt?什么是 Prompt Engineering?为什么需要 Prompt Engineering?如何进行 Prompt Engineering?Prompt的基本原则Prompt的编写模式AI 可以帮助程序员做什么?技术知识总结拆解任务阅读…

2022年全国部分省市跨境电商交易规模汇总

近年来,跨境电商发展迅速,国家陆续出台了相关支持政策,跨境电商优势和潜力有望进一步释放。海关总署数据,根据初步测算,2022年我国跨境电商进出口2.11万亿元,增长9.8%。其中,出口1.55万亿元&…

ATX Power Supply

Pinout 20 PIN MOLEX 39-29-9202 at the motherboard 20 PIN MOLEX 39-01-2200 at the cable PinNameColorDescription13.3VOrange+3.3 VDC23.3VOrange+3.3 VDC3COMBlackGround45VRed+5 VDC

哈夫曼树、哈夫曼编码/解码

哈夫曼树 哈夫曼树的基本介绍 哈夫曼树构建步骤图解 创建哈夫曼树代码实现 """ 创建哈夫曼树 """ class EleNode:""" 节点类 """def __init__(self, value: int):self.value valueself.left None # 指向左子…

新加坡攻略

文章目录 基础信息入境行李App电信交通餐饮购物法规旅游牛车水(Chinatown)克拉码头(Clarke Quay)东海岸(East Coast)丹戎巴葛(Tanjong Pagar)滨海湾(Marina Bay&#xff…

Android学习之路(21) 进程间通信-AIDL与Servce基本使用

Service 与 Thread 和 进程 之间的关系 进程:应用程序在内存中分配的空间。(正在运行中的程序)线程:负责程序执行的单元,也称为执行路径。(需要线程来执行代码)。一个进程至少包含一条线程&…

ip报头和ip报文切片组装问题

在tcp层将数据打包封装向下传递后,网络层将其整个看为一个数据,然后对其数据加网络报头操作,在网络层最具有代表的协议就是ip协议。在这里我们探究ipv4的报头。 ip报头 4位版本:指定ip的版本号,对于ipv4来说就是4。 …

粤嵌实训医疗项目day02(Vue + SpringBoot)

目录 一、创建vue项目并运行 二、vue-cli中的路由使用 三、element-ui框架、实现页面布局以及vue-路由 四、前端登录页面 五、user登录后端接口完善【后端】 六、user登录前端-请求工具-请求发起【前端】 七、请求的跨域-访问策略 八、完善项目的页面布局、导航菜单以及…

反射的作用(可以使用反射保存所有对象的具体信息)

1、绕过 编译阶段 为集合添加数据 反射是作用在运行时的技术,此时集合的泛型将不能产生约束了,此时是可以 为集合存入其他任意类型的元素的 。泛型只是在编译阶段可以约束集合只能操作某种数据类型,在 编译成Class文件进入 运行阶段 的时候&a…