Modelbuilder快速入门

Modelbuilder快速入门

by 李远祥

什么是modelbuilder

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

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

?

?

Modelbuilder的优势

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

Modelbuilder的主要界面如下,非常的简洁。

模型构建器的几个重要词汇

  1. 模型元素

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

  • 工具:地理处理工具是模型工作流的基本组成部分。工具用于对地理数据或表格数据执行多种操作。工具被添加到模型中后,即成为模型元素。
  • 变量: 变量是模型中用于保存值或对磁盘数据进行引用的元素。有以下两种类型的变量:

    • 数据:数据变量是包含磁盘数据的描述性信息的模型元素。数据变量中所描述的数据属性包括字段信息、空间参考和路径。
    • 值:值变量是诸如字符串、数值、布尔(true/false值)、空间参考、线性单位或范围等的值。值变量包含了除对磁盘数据引用之外的所有信息。
  • 连接符: 连接符用于将数据和值连接到工具。连接符箭头显示了地理处理的执行方向。有以下四种类型的连接符:

    • 数据: 数据连接符用于将数据变量和值变量连接到工具。
    • 环境: 环境连接符用于将包含环境设置的变量(数据或值)连接到工具。工具在执行时将使用该环境设置。
    • 前提条件: 前提条件连接符用于将变量连接到工具。只有在创建了前提条件变量的内容之后,工具才会执行。
    • 反馈: 反馈连接符用于将某一工具的输出返回给同一工具作为输入。
  1. 流程模型

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

  2. 中间数据

    运行模型时,模型中的各个流程都会创建输出数据。其中的某些输出数据只是作为中间步骤创建,而后连接到其他流程,以协助完成最终输出的创建。由这些中间步骤生成的数据称为中间数据,通常(但并不总是)在模型运行结束后就没有任何用处了。您可以将中间数据看作是一种应在模型运行结束后即删除的临时数据。但是,当您运行一个通过模型构建器窗口构建的模型时,中间数据并不会自动删除 - 是否将其删除是由您决定的。

    ?

  3. 模型参数

    模型参数是模型工具对话框中显示的参数。模型中的任何变量都可以转换为模型参数。

  4. 工作空间环境

可在模型构建器中使用以下四种工作空间环境以简化模型数据管理:

当前工作空间:

支持"当前工作空间"环境设置的工具将指定的工作空间用作地理处理工具输入和输出的默认位置。

临时工作空间:

支持"临时工作空间"环境设置的工具可将指定的位置用作输出数据集的默认工作空间。"临时工作空间"专门用于存放不愿保留的输出数据。

临时文件夹

临时文件夹是一个文件夹位置,可用来写入基于文件的数据(如 shapefile、文本文件和图层文件)。它是一个由 ArcGIS 管理的只读环境。

临时 GDB

临时 GDB 是可以用来写入临时数据的文件地理数据库的位置。

此外,存在内存工作空间,可以将地理数据库要素类和表写入系统内存,而非磁盘。

?

  1. 细说模型元素

蓝色椭圆表示输入数据,绿色椭圆表示输出数据,黄色矩形代表处理工具

可以根据自身喜好更改图形布局

流程状态

尚未准备好运行:最初将工具拖动到模型构建器窗口中时,流程将处于"尚未准备好运行"状态(工具显示为白色),因为尚未指定所需的参数值。

准备运行:为工具指定了全部所需参数值后,流程将处于"准备运行"状态。

正在运行:如果模型工具显示为红色并且在结果 窗口中创建包含消息的结果,则流程处于"正在运行"状态。

已运行:如果在模型构建器中运行模型,所显示的工具和派生数据元素将带有下移阴影,表示已运行此流程并且已生成派生数据。

保留中间数据

可通过以下三种方式保留中间数据:

  • 在模型构建器中运行模型,因为通过"模型构建器"窗口运行模型不会自动删除中间数据。如果通过模型对话框或 Python 窗口执行模型,则会自动删除中间数据,在"模型构建器"窗口中运行则不会。
  • 将中间数据变量设置为模型参数。由于模型参数显示在模型工具对话框中,因此此类数据应予保留。模型参数不可以被标记为中间数据,也不会被自动删除。
  • 右键单击数据变量并确保取消选中中间控件来移除中间标记。

    ?

显示模型数据

可使用添加至显示选项在执行模型后将模型输入和输出自动添加到 ArcMap 内容列表中

右键单击任一数据变量,然后单击添加至显示,如下所示

使用不完整的派生数据

模型构建器中使用工具,一般会对工具调用的数据进行预读,例如字段列表、坐标信息等,但有些工具调用的数据和参数是无法预读的,例如添加字段、计算字段等,允许预先定义数据的结构、数据更改过程等,而这些工具产生的数据就是不完整的派生数据。

  1. 使用模型构建器构建工具的步骤

    1. 新建模型。在【地理处理】菜单栏中点击【模型构建器】新建模型

    1. 加入工具。在工具箱中找到需要使用的工具,直接拖拽到模型构建器中。

    1. 设置工具的参数。双击工具,将参数进行设置。在模型构建器双击工具和在ArcToolbox打开,是完全一样的设置。如果当前的模型是在某个已知地图上打开(即已经有现成的MXD),工具可以自动下拉选择数据,如果是空白的地图文档,则可以浏览数据源。

    1. 串联多个工具。使用模型构建器的连接工具,可以直接将多个工具串联成流程。

    1. 区别上一步传入的参数和工具选择的数据参数。传入的参数是一个蓝色的圆角三角图形,选择的已存在的数据为黄色图层符号。

    1. 调整工具的位置,以方便查看。用黑色箭头【选择】工具,选中模型中的工具(圆角矩形),可以直接拖动位置,可以设置各个流程的显示位置。

    1. 使用自动布局可以很好的显示流程

    1. 保存模型,模型的保存必须是保存在工具箱内,因此,保存前先要创建工具箱。

    1. 运行模型。双击工具可以运行模型

    ?

    1. 使用参数。选中输入参数,右键—模型参数。参数设置后,会在图标上出现P字样。工具的其他参数,可以从 点击工具的右键,获取变量,例如缓冲区的距离。

    ?

    ?

    ?

    ?

    ?

    ?

    1. 一般情况下不保存中间数据,除非设置为中间数据;
      添加到显示,则可以在运行过程中加入到ArcMap面板

    ?

    ?

    1. 重命名。所有的工具和参数都可以重命名,重命名后参数的名称将改变

    ?

    ?

时间: 2024-10-01 01:28:33

Modelbuilder快速入门的相关文章

笔记:Spring Cloud Zuul 快速入门

Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了所有其他微服务的实例信息,这样的设计非常巧妙的将服务治理体系中维护的实例信息利用起来,使得维护服务实例的工作交给了服务治理框架自动完成,而对路由规则的维护,默认会将通过以服务名作为 ContextPath 的方式来创建路由映射,也可以做一些特别的配置,对于签名校验.登录校验等在微服务架构中的冗余问题

javaweb-html快速入门

本文主要是进行HTML简单介绍(详细的属性查帮助文档就行了,这里主要为快速入门,赶时间,在最短的时间中看明白一个html文件的代码(如果能称之为代码的话)详细的样式表,布局啥的有时间再研究吧) HTML 1.html的简介 1.1,html的全称:HyperText Mark-up Language ,超文本标记型语言,是网页的语言. 超文本:比文本更加强大(后面还会讲到XML,可扩展标记性语言) 标记:就是标签,html所有操作都是通过标签直接或间接的操作(把需要操作的数据通过标签封装起来)

crosswalk 快速入门,利用WebRTC(html)开始开发视频通话

crosswalk 快速入门,利用WebRTC(html)开始开发视频通话 安装Python 从http://www.python.org/downloads/ 下载安装程序 安装完后,再添加到环境变量. 安装Oracle JDK 下载页面: http://www.oracle.com/technetwork/java/javase/downloads/ 选择要下载的Java版本(推荐Java 7). 选择一个JDK下载并接受许可协议. 一旦下载,运行安装程序. 安装Ant Ant:下载http

bash编程快速入门

首先,我们简单的介绍一下bash,bash是GNU计划编写的Unixshell,它是许多Linux平台上的内定shell,它提供了用户与系统的很好的交互,对于系统运维人员,bash的地位是举足轻重的,bash编程能很快处理日常的任务 bash入门,一个最简单的bash例子 #vim hello.sh #!/bin/bash #This is the first example of the bash #echo "Hello world" 下面,我们就这个简单的bash 脚本来介绍一下

定时器(Quartz)快速入门

Quartz概述 Quartz中的触发器 Quartz中提供了两种触发器,分别是CronTrigger和SimpleTrigger. SimpleTrigger 每 隔若干毫秒来触发纳入进度的任务.因此,对于夏令时来说,根本不需要做任何特殊的处理来"保持进度".它只是简单地保持每隔若干毫秒来触发一次,无论你的 SimpleTrigger每隔10秒触发一次还是每隔15分钟触发一次,还是每隔24小时触发一次. CronTrigger 在特定"格林日历"时刻触发纳入进程的

vue.js--60分钟快速入门

Vue.js--60分钟快速入门 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理解的API,使得我们能够快速地上手并使用Vue.js. 本文摘自:http://www.cnblogs.com/keepfool/p/5619070.html 如果你之前已经习惯了用jQuery操作DOM,学习Vue.js时请先抛开手动操作DOM的思维,因为Vue.js是数据驱动的,你无需手动操作DOM

Netty5快速入门及实例视频教程(整合Spring)

Netty5快速入门及实例视频教程+源码(整合Spring) https://pan.baidu.com/s/1pL8qF0J 01.传统的Socket分析02.NIO的代码分析03.对于NIO的一些疑惑04.Netty服务端HelloWorld入门05.Netty服务端入门补充06.Netty客户端入门07.如何构建一个多线程NIO系统08.Netty源码分析一09.Netty源码分析二10.Netty5服务端入门案例11.Netty5客户端入门案例12.单客户端多连接程序13.Netty学习

一起学Google Daydream VR开发,快速入门开发基础教程一:Android端开发环境配置一

原文因涉及翻墙信息,被强制删除,此文为补发! 准备工作 进入Google Daydream开发者官网,开启准备工作,官网地址:https://vr.google.com/daydream/developers/ -------------------------------------------------------------------------------------------------------------------- Google Daydream开发者网址: https

程序员带你十天快速入门Python,玩转电脑软件开发(二)

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 上节课主要讲解了以下内容: 为什么学习Pyth