创建模型工具

地理处理模型以模型工具的形式保存在工具箱中。 模型工具可像任何其他地理处理工具一样在地理处理窗格中运行,并可在其他模型与 Python 脚本中使用。 您可配置一个模型工具。这样,无需在 模型构建器 中实际修改模型变量便可使用不同的设置来处理不同的数据集,这比在指定的模型内部进行处理更方便。

要创建模型工具,请执行以下步骤:

  • 模型构建器 中构建并保存模型。
  • 设置模型参数。
  • 设置模型工具属性。
  • 记录工具。

模型参数

如果构建模型时未设置任何模型参数,则在地理处理窗格中打开模型工具时,工具对话框中将不会显示任何参数。

不显示参数的模型工具
现在,您可以运行工具,这将使用在模型中硬编码的数据和设置。 不会向地图添加任何输出数据集。

要在工具对话框上显示参数并将输出数据集添加至地图,必须在模型内设置模型参数。 创建模型参数后,您可以将模型作为地理处理工具运行,从而为其参数提供不同的值和数据集。

了解有关模型参数的详细信息
模型参数

中间数据

运行模型时,将针对该模型中的每个过程创建输出数据(除非过程仅修改输入)。 创建的某些数据在模型运行后毫无用处,因为创建这些数据只是为了与创建新输出的另一个过程相连。 此类数据称为中间数据。 如果在地理处理窗格中运行模型工具,除模型输出参数中的数据集之外的所有中间输出数据都会在工具完成时自动删除。

可以将 in_memory 工作空间用作存储模型内中间数据的位置。 如果您打算共享模型,或在不同的系统中使用该模型,所有中间数据均应使用 in_memory 输出路径,或对工作空间环境路径使用行内变量替换,这样才能确保所创建中间数据的输出目录存在。 例如,中间输出要素类应使用 %scratchgdb%\intermediateBuffers 等路径。

变量和工具参数

为了设置模型参数,您可能需要使用附加工具参数作为模型变量。 系统将自动为工具的输入和输出数据集创建模型变量,但不会为任何其他数据参数创建。 要添加其他模型变量以便将其设置为模型参数,您可以右键单击任意工具,并选择创建变量,然后选择所需的工具参数或环境。 或者,单击 ModelBuilder > 插入 > 变量,选择数据类型,单击确定,然后将新变量连接到工具,或者将其用于行内变量替换

模型属性

当在地理处理窗格中打开模型工具时,模型工具的标注显示在窗格的顶部。 您可以通过右键单击工具箱中的模型工具,然后选择属性来更改此模型工具属性或其他模型工具属性,如参数显示顺序。

了解有关模型属性的详细信息

编写工具的文档说明

在创建优质模型工具过程中,最重要的部分是编写帮助文档,以允许其他人了解并有效地使用您的工具。 可通过修改工具的元数据编写工具的帮助文档。 在工具箱中右键单击模型工具,选择查看元数据,然后单击选项卡上的描述 > 编辑按钮。

了解有关记录工具的详细信息

除了为模型工具撰写标准文档外,您还可以实施下列建议使您的模型图更易于阅读和使用:

  • 重命名变量和工具,使其在模型内具有上下文。
  • 使模型的布局方式(元素的排列方式)清晰明了。 使用 ModelBuilder > 查看 > 自动布局命令,或手动移动这些元素,以使模型更易于使用。
  • 添加元素和逻辑示意图标注。
  • 将在模型中设置的地理处理环境作为模型变量。 这样,用户便能轻松获悉哪些环境变量影响着模型的运行。