模型构建器通过使用各种高级技术提供的功能进一步提高了简单或复杂模型的工作效率。这些高级技术对模型的改进方式包括加大模型逻辑流控制力度、改善模型数据管理机制以及引入自动执行重复任务的省时方法。
行内变量替换
在模型构建器中,可通过以百分号 (%) 将替换变量括起来的方式,用一个变量的内容替换另一变量。这种变量替换方式称为行内变量替换。有关行内变量替换的一个简单例子是通过用户输入来代替模型中的某些文本或值。
列表
模型构建器支持使用可包含多个值的列表变量。
迭代
迭代是指以一定的自动化程度多次重复某个过程,通常又称为循环。迭代很重要,因为自动重复任务会节省执行这项任务所需的时间和精力。在“模型构建器”中进行迭代时,可以在每次迭代中使用不同的设置和数据来反复执行同一个过程。“模型构建器”中的迭代操作还具有灵活性,用户可以迭代整个模型,或只是重复执行单个工具或过程。
了解有关迭代器的详细信息反馈
您可以将一个流程的输出用作上一个流程的输入。由于是将输出反馈到输入,所以将其称为反馈。
仅模型工具
有七种地理处理工具支持“模型构建器”中的高级行为。这些工具不能通过工具对话框使用,也不能在脚本中使用。
前提条件
前提条件可用于显式控制模型中的运算顺序。例如,使第一个过程的输出成为第二个过程的前提条件可以让一个过程在另一个过程后运行。任何变量都可用作工具执行的前提条件,并且任何工具都可以有多个前提条件。
If-then-else 逻辑
If-then-else 逻辑看似简单,功能却十分强大,它可以根据不同条件执行不同的操作。If-then-else 逻辑可理解为:如果某个条件为 true (IF),则执行某个操作;如果条件为 false (ELSE),则执行其他操作。
在模型构建器中,可通过编写脚本工具的方式来实现 if-then-else 逻辑,该工具针对特定条件进行检验并随后输出两个用于描述 true 和 false 条件的布尔变量,然后将此脚本工具加入到模型中。除了编写脚本工具这种方式外,您也可以使用计算值工具对条件进行检验并输出一个布尔值。
要素集和记录集
要素集允许交互式输入要素并随即用作模型或脚本的输入。该交互数据输入操作的实现过程与在 ArcMap 中编辑要素类似。同样,记录集也允许交互式输入表格或属性信息并随即用作输入。
内存工作空间
ArcGIS 提供了一个可写入输出要素类和表的内存工作空间。作为将地理处理输出写入磁盘上的某个位置或网络位置的备选方案,可将输出写入内存工作空间中。通常,将数据写入内存工作空间要明显快于写入其他格式(如 shapefile 或地理数据库要素类)。但写入内存工作空间的数据是临时性的,将在关闭应用程序时被删除。
模型、脚本和外部程序的集成
模型工具已完全集成到地理处理框架,并且使用方法与所有系统或脚本工具的使用方法相同。像所有其他地理处理工具一样,您可以通过对话框或 Python 脚本执行模型工具,或将其添加到其他模型并运行它们。与可在模型中添加和执行系统工具一样,您也可以在模型中集成 Python 脚本和通过脚本访问的外部程序。