Modelbuilder快速入门
by 李远祥
什么是modelbuilder
模型构建器是一个用来创建、编辑和管理模型的应用程序。模型是将一系列地理处理工具串联在一起的工作流,它将其中一个工具的输出作为另一个工具的输入。也可以将模型构建器看成是用于构建工作流的可视化编程语言。
模型构建器除了有助于构造和执行简单工作流外,还能通过创建模型并将其共享为工具来提供扩展 ArcGIS 功能的高级方法。模型构建器甚至还可用于将 ArcGIS 与其他应用程序进行集成。
?
?
Modelbuilder的优势
- 模型构建器是一个简单易用的应用程序,用于创建和运行包含一系列工具的工作流。
- 可以使用模型构建器创建自己的工具。使用模型构建器创建的工具可在 Python 脚本和其他模型中使用。
- 结合使用模型构建器和脚本可将 ArcGIS 与其他应用程序进行集成。
Modelbuilder的主要界面如下,非常的简洁。
模型构建器的几个重要词汇
- 模型元素
模型元素主要有三种类型:工具、变量和连接符。
- 工具:地理处理工具是模型工作流的基本组成部分。工具用于对地理数据或表格数据执行多种操作。工具被添加到模型中后,即成为模型元素。
- 变量: 变量是模型中用于保存值或对磁盘数据进行引用的元素。有以下两种类型的变量:
- 数据:数据变量是包含磁盘数据的描述性信息的模型元素。数据变量中所描述的数据属性包括字段信息、空间参考和路径。
- 值:值变量是诸如字符串、数值、布尔(true/false值)、空间参考、线性单位或范围等的值。值变量包含了除对磁盘数据引用之外的所有信息。
- 连接符: 连接符用于将数据和值连接到工具。连接符箭头显示了地理处理的执行方向。有以下四种类型的连接符:
- 数据: 数据连接符用于将数据变量和值变量连接到工具。
- 环境: 环境连接符用于将包含环境设置的变量(数据或值)连接到工具。工具在执行时将使用该环境设置。
- 前提条件: 前提条件连接符用于将变量连接到工具。只有在创建了前提条件变量的内容之后,工具才会执行。
- 反馈: 反馈连接符用于将某一工具的输出返回给同一工具作为输入。
- 流程模型
模型流程由一个工具和连接到此工具的所有变量组成。连接线用于表示处理的顺序。可将多个流程连接到一起以创建一个更复杂的流程。
- 中间数据
运行模型时,模型中的各个流程都会创建输出数据。其中的某些输出数据只是作为中间步骤创建,而后连接到其他流程,以协助完成最终输出的创建。由这些中间步骤生成的数据称为中间数据,通常(但并不总是)在模型运行结束后就没有任何用处了。您可以将中间数据看作是一种应在模型运行结束后即删除的临时数据。但是,当您运行一个通过模型构建器窗口构建的模型时,中间数据并不会自动删除 - 是否将其删除是由您决定的。
?
- 模型参数
模型参数是模型工具对话框中显示的参数。模型中的任何变量都可以转换为模型参数。
- 工作空间环境
可在模型构建器中使用以下四种工作空间环境以简化模型数据管理:
当前工作空间:
支持"当前工作空间"环境设置的工具将指定的工作空间用作地理处理工具输入和输出的默认位置。
临时工作空间:
支持"临时工作空间"环境设置的工具可将指定的位置用作输出数据集的默认工作空间。"临时工作空间"专门用于存放不愿保留的输出数据。
临时文件夹
临时文件夹是一个文件夹位置,可用来写入基于文件的数据(如 shapefile、文本文件和图层文件)。它是一个由 ArcGIS 管理的只读环境。
临时 GDB
临时 GDB 是可以用来写入临时数据的文件地理数据库的位置。
此外,存在内存工作空间,可以将地理数据库要素类和表写入系统内存,而非磁盘。
?
- 细说模型元素
蓝色椭圆表示输入数据,绿色椭圆表示输出数据,黄色矩形代表处理工具
可以根据自身喜好更改图形布局
流程状态
尚未准备好运行:最初将工具拖动到模型构建器窗口中时,流程将处于"尚未准备好运行"状态(工具显示为白色),因为尚未指定所需的参数值。
准备运行:为工具指定了全部所需参数值后,流程将处于"准备运行"状态。
正在运行:如果模型工具显示为红色并且在结果 窗口中创建包含消息的结果,则流程处于"正在运行"状态。
已运行:如果在模型构建器中运行模型,所显示的工具和派生数据元素将带有下移阴影,表示已运行此流程并且已生成派生数据。
保留中间数据
可通过以下三种方式保留中间数据:
- 在模型构建器中运行模型,因为通过"模型构建器"窗口运行模型不会自动删除中间数据。如果通过模型对话框或 Python 窗口执行模型,则会自动删除中间数据,在"模型构建器"窗口中运行则不会。
- 将中间数据变量设置为模型参数。由于模型参数显示在模型工具对话框中,因此此类数据应予保留。模型参数不可以被标记为中间数据,也不会被自动删除。
- 右键单击数据变量并确保取消选中中间控件来移除中间标记。
?
显示模型数据
可使用添加至显示选项在执行模型后将模型输入和输出自动添加到 ArcMap 内容列表中
右键单击任一数据变量,然后单击添加至显示,如下所示
使用不完整的派生数据
模型构建器中使用工具,一般会对工具调用的数据进行预读,例如字段列表、坐标信息等,但有些工具调用的数据和参数是无法预读的,例如添加字段、计算字段等,允许预先定义数据的结构、数据更改过程等,而这些工具产生的数据就是不完整的派生数据。
- 使用模型构建器构建工具的步骤
- 新建模型。在【地理处理】菜单栏中点击【模型构建器】新建模型
- 加入工具。在工具箱中找到需要使用的工具,直接拖拽到模型构建器中。
- 设置工具的参数。双击工具,将参数进行设置。在模型构建器双击工具和在ArcToolbox打开,是完全一样的设置。如果当前的模型是在某个已知地图上打开(即已经有现成的MXD),工具可以自动下拉选择数据,如果是空白的地图文档,则可以浏览数据源。
- 串联多个工具。使用模型构建器的连接工具,可以直接将多个工具串联成流程。
- 区别上一步传入的参数和工具选择的数据参数。传入的参数是一个蓝色的圆角三角图形,选择的已存在的数据为黄色图层符号。
- 调整工具的位置,以方便查看。用黑色箭头【选择】工具,选中模型中的工具(圆角矩形),可以直接拖动位置,可以设置各个流程的显示位置。
- 使用自动布局可以很好的显示流程
- 保存模型,模型的保存必须是保存在工具箱内,因此,保存前先要创建工具箱。
- 运行模型。双击工具可以运行模型
?
- 使用参数。选中输入参数,右键—模型参数。参数设置后,会在图标上出现P字样。工具的其他参数,可以从 点击工具的右键,获取变量,例如缓冲区的距离。
?
?
?
?
?
?
- 一般情况下不保存中间数据,除非设置为中间数据;
添加到显示,则可以在运行过程中加入到ArcMap面板
?
?
- 重命名。所有的工具和参数都可以重命名,重命名后参数的名称将改变
?
?