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. 重命名。所有的工具和参数都可以重命名,重命名后参数的名称将改变

Modelbuilder快速入门的更多相关文章

  1. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  2. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  3. 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)

    今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...

  4. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  5. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  6. Mybatis框架 的快速入门

    MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...

  7. grunt快速入门

    快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...

  8. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  9. 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. Spring--注入类型--setter

    setter注入: package com.bjsxt.service; import com.bjsxt.dao.UserDAO; import com.bjsxt.model.User; publ ...

  2. Linux下mysql数据库的命令

    连接数据库命令:mysql -u 用户名 -p 密码 要求你输入要连接数据库的用户名和密码.用户名默认root密码不方便输入时,可以只输入:mysql -u 用户名 -p 然后回车,此时提示你输入密码 ...

  3. RFID射频卡超市购物结算系统问题记录--写入卡片时,后台php无法操作数据库

    后台管理人员要给每件商品贴上RF卡作为唯一标识,所以要先给对应的RFID卡中写入响应的信息,我这里为了便于模拟演示只写入商品编号,价格,名称这几个字段,然后要把已经写入的商品上传后台,由后台写入数据库 ...

  4. 在IOS中使用DES算法对Sqlite数据库进行内容加密存储并读取解密

    在IOS中使用DES算法对Sqlite 数据库进行内容加密存储并读取解密 涉及知识点: 1.DES加密算法: 2.OC对Sqlite数据库的读写: 3.IOS APP文件存储的两种方式及读取方式. 以 ...

  5. [Machine-Learning] 一个线性回归的简单例子

    这篇博客中做一个使用最小二乘法实现线性回归的简单例子. 代码来自<图解机器学习> 图3-2,使用MATLAB实现. 代码link 用到的matlab函数 由于以前对MATLAB也不是非常熟 ...

  6. CentOS6.5编译安装Redis

    一.首先要检测是否安装gcc yum install gcc-c++ yum install -y tcl 进入redis目录 cd /usr/local/redis .编译安装 make make ...

  7. Win10 的虛擬桌面

    Win10 的虛擬桌面我覺得蠻多餘的,平常很少用,除非是像以前的 "切換老闆鍵" ,老闆來了,你不想讓他知道你在幹嘛,趕快切換另外一個桌面. 切換工作視窗:Alt + Tab 叫出 ...

  8. iOS 之 ARC 的内存泄露

    循环引用导致内存泄露,如block容易内存泄露

  9. Angular - - $templateCache 和 $templateRequest

    $templateCache 第一次使用模板,它被加载到模板缓存中,以便快速检索.你可以直接将模板标签加载到缓存中,或者通过$templateCache服务. 通过script标签: <scri ...

  10. js原生继承之——原型式继承实例

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...