Modelbuilder快速入门
Modelbuilder快速入门
by 李远祥
什么是modelbuilder
模型构建器是一个用来创建、编辑和管理模型的应用程序。模型是将一系列地理处理工具串联在一起的工作流,它将其中一个工具的输出作为另一个工具的输入。也可以将模型构建器看成是用于构建工作流的可视化编程语言。
模型构建器除了有助于构造和执行简单工作流外,还能通过创建模型并将其共享为工具来提供扩展 ArcGIS 功能的高级方法。模型构建器甚至还可用于将 ArcGIS 与其他应用程序进行集成。
Modelbuilder的优势
- 模型构建器是一个简单易用的应用程序,用于创建和运行包含一系列工具的工作流。
- 可以使用模型构建器创建自己的工具。使用模型构建器创建的工具可在 Python 脚本和其他模型中使用。
- 结合使用模型构建器和脚本可将 ArcGIS 与其他应用程序进行集成。
Modelbuilder的主要界面如下,非常的简洁。
模型构建器的几个重要词汇
- 模型元素
模型元素主要有三种类型:工具、变量和连接符。
- 工具:地理处理工具是模型工作流的基本组成部分。工具用于对地理数据或表格数据执行多种操作。工具被添加到模型中后,即成为模型元素。
- 变量: 变量是模型中用于保存值或对磁盘数据进行引用的元素。有以下两种类型的变量:
- 数据:数据变量是包含磁盘数据的描述性信息的模型元素。数据变量中所描述的数据属性包括字段信息、空间参考和路径。
- 值:值变量是诸如字符串、数值、布尔(true/false值)、空间参考、线性单位或范围等的值。值变量包含了除对磁盘数据引用之外的所有信息。
- 连接符: 连接符用于将数据和值连接到工具。连接符箭头显示了地理处理的执行方向。有以下四种类型的连接符:
- 数据: 数据连接符用于将数据变量和值变量连接到工具。
- 环境: 环境连接符用于将包含环境设置的变量(数据或值)连接到工具。工具在执行时将使用该环境设置。
- 前提条件: 前提条件连接符用于将变量连接到工具。只有在创建了前提条件变量的内容之后,工具才会执行。
- 反馈: 反馈连接符用于将某一工具的输出返回给同一工具作为输入。
- 流程模型
模型流程由一个工具和连接到此工具的所有变量组成。连接线用于表示处理的顺序。可将多个流程连接到一起以创建一个更复杂的流程。
- 中间数据
运行模型时,模型中的各个流程都会创建输出数据。其中的某些输出数据只是作为中间步骤创建,而后连接到其他流程,以协助完成最终输出的创建。由这些中间步骤生成的数据称为中间数据,通常(但并不总是)在模型运行结束后就没有任何用处了。您可以将中间数据看作是一种应在模型运行结束后即删除的临时数据。但是,当您运行一个通过模型构建器窗口构建的模型时,中间数据并不会自动删除 - 是否将其删除是由您决定的。
- 模型参数
模型参数是模型工具对话框中显示的参数。模型中的任何变量都可以转换为模型参数。
- 工作空间环境
可在模型构建器中使用以下四种工作空间环境以简化模型数据管理:
当前工作空间:
支持"当前工作空间"环境设置的工具将指定的工作空间用作地理处理工具输入和输出的默认位置。
临时工作空间:
支持"临时工作空间"环境设置的工具可将指定的位置用作输出数据集的默认工作空间。"临时工作空间"专门用于存放不愿保留的输出数据。
临时文件夹
临时文件夹是一个文件夹位置,可用来写入基于文件的数据(如 shapefile、文本文件和图层文件)。它是一个由 ArcGIS 管理的只读环境。
临时 GDB
临时 GDB 是可以用来写入临时数据的文件地理数据库的位置。
此外,存在内存工作空间,可以将地理数据库要素类和表写入系统内存,而非磁盘。
- 细说模型元素
蓝色椭圆表示输入数据,绿色椭圆表示输出数据,黄色矩形代表处理工具
可以根据自身喜好更改图形布局
流程状态
尚未准备好运行:最初将工具拖动到模型构建器窗口中时,流程将处于"尚未准备好运行"状态(工具显示为白色),因为尚未指定所需的参数值。
准备运行:为工具指定了全部所需参数值后,流程将处于"准备运行"状态。
正在运行:如果模型工具显示为红色并且在结果 窗口中创建包含消息的结果,则流程处于"正在运行"状态。
已运行:如果在模型构建器中运行模型,所显示的工具和派生数据元素将带有下移阴影,表示已运行此流程并且已生成派生数据。
保留中间数据
可通过以下三种方式保留中间数据:
- 在模型构建器中运行模型,因为通过"模型构建器"窗口运行模型不会自动删除中间数据。如果通过模型对话框或 Python 窗口执行模型,则会自动删除中间数据,在"模型构建器"窗口中运行则不会。
- 将中间数据变量设置为模型参数。由于模型参数显示在模型工具对话框中,因此此类数据应予保留。模型参数不可以被标记为中间数据,也不会被自动删除。
- 右键单击数据变量并确保取消选中中间控件来移除中间标记。
显示模型数据
可使用添加至显示选项在执行模型后将模型输入和输出自动添加到 ArcMap 内容列表中
右键单击任一数据变量,然后单击添加至显示,如下所示
使用不完整的派生数据
模型构建器中使用工具,一般会对工具调用的数据进行预读,例如字段列表、坐标信息等,但有些工具调用的数据和参数是无法预读的,例如添加字段、计算字段等,允许预先定义数据的结构、数据更改过程等,而这些工具产生的数据就是不完整的派生数据。
- 使用模型构建器构建工具的步骤
- 新建模型。在【地理处理】菜单栏中点击【模型构建器】新建模型
- 加入工具。在工具箱中找到需要使用的工具,直接拖拽到模型构建器中。
- 设置工具的参数。双击工具,将参数进行设置。在模型构建器双击工具和在ArcToolbox打开,是完全一样的设置。如果当前的模型是在某个已知地图上打开(即已经有现成的MXD),工具可以自动下拉选择数据,如果是空白的地图文档,则可以浏览数据源。
- 串联多个工具。使用模型构建器的连接工具,可以直接将多个工具串联成流程。
- 区别上一步传入的参数和工具选择的数据参数。传入的参数是一个蓝色的圆角三角图形,选择的已存在的数据为黄色图层符号。
- 调整工具的位置,以方便查看。用黑色箭头【选择】工具,选中模型中的工具(圆角矩形),可以直接拖动位置,可以设置各个流程的显示位置。
- 使用自动布局可以很好的显示流程
- 保存模型,模型的保存必须是保存在工具箱内,因此,保存前先要创建工具箱。
- 运行模型。双击工具可以运行模型
- 使用参数。选中输入参数,右键—模型参数。参数设置后,会在图标上出现P字样。工具的其他参数,可以从 点击工具的右键,获取变量,例如缓冲区的距离。
- 一般情况下不保存中间数据,除非设置为中间数据;
添加到显示,则可以在运行过程中加入到ArcMap面板
- 重命名。所有的工具和参数都可以重命名,重命名后参数的名称将改变
Modelbuilder快速入门相关推荐
- ASP.NET MVC3 快速入门
第一节 概述 (2011-02-23 20:57:18) 转载 标签: web应用程序 分类: ASP.NETMVC3 1.1 本教程的学习内容 在本教程中,你将学会如下内容: • ...
- Shiro第一个程序:官方快速入门程序Qucickstart详解教程
目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...
- 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧
异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...
- Spring Boot 2 快速教程:WebFlux 快速入门(二)
2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...
- Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)
2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...
- 《iOS9开发快速入门》——导读
本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...
- BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序
BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...
- python scrapy菜鸟教程_scrapy学习笔记(一)快速入门
安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...
- OpenStack快速入门
OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装.我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解.我 ...
最新文章
- Linux进程状态解析之R、S、D、T、Z、X
- 官网快速搭建spring boot 项目
- 阿里面试回来,想和 Java 程序员谈一谈
- 计算机等级考试试题在线测试,计算机等级考试上机练习题.pdf
- java特性,健壮性,程序设计风格及文档
- thread类_Python线程:thread对象
- Atitit.request http乱码的设计防止 检测与解决最近实践p825 attilax总结.doc
- 【优化分配】基于matlab鱼群算法求解无线电功率分配优化问题【含Matlab源码 1523期】
- Octave获取使用imnoise函数
- springboot系列(二十五):如何实现单word模板分多页导出?这你得会|超级详细,建议收藏
- c++ vector随机排序
- Bad client credentials
- 技术人如何自我成长?
- ubuntu cron 定时任务
- XPS如何在线转Word格式
- 如何在unity使用数据库
- html c3效果,使用c3动画实现摇铃铛效果
- 恋情四阶段:共存,反依赖,独立,共生
- Android_Mms源代码接受短信流程
- Cadence Allegro PCB 切换上次视图的方法图文教程及视频演示
热门文章
- 正则除了几个汉字的其它汉字_理解汉字的几个层次
- 洛谷——P1014 [NOIP1999 普及组] Cantor 表
- THREEJS - 模型的任意视角展示
- python正则表达式怎么用_python正则表达式的使用
- transform 二维转变
- python字典用法大全
- @wraps 修饰器:让你的 Python 代码更加简短可爱 | 从简单实例来认识它
- Biztalk 2013 R2 开发环境安装
- 保险公司在线签名 html5,html5手写签名
- java sctp_[编织消息框架][传输协议]sctp简单开发