如创作和共享地理处理服务快速浏览所述,创作地理处理服务需要在服务中创作任务。创作任务就是选择或创建工具,定义任务的输入和输出参数以及任务使用的所有数据的位置。通常,可通过共享使用模型构建器或 Python 创建的自定义工具来创建任务。
模型构建器是一个用来创建、编辑和管理模型的应用程序。模型是将一系列地理处理工具串联在一起的工作流,它将其中一个工具的输出作为另一个工具的输入。也可以将模型构建器看成是用于构建工作流的可视化编程语言。模型和模型构建器是创作地理处理任务的一种简单方法。
如果您不熟悉模型和模型构建器,则可跳到下面的模型构建器入门,获取有用主题列表。
如果您的现有模型具有参数且可在 ArcGIS for Desktop 中成功运行,则不用修改即可在服务中共享它。本主题的其余部分更详细地讨论了使用模型构建器创作任务的细节。
从模型创建结果
可通过右键单击结果 窗口中的结果来创建服务。要创建结果,必须将模型作为工具运行,方法是从目录 或 ArcToolbox 窗口中打开其对话框或者在 Python 窗口中运行它。
注:
在模型构建器中运行模型时不会创建结果。
绝大多数情况下,模型需要有参数。可以在创作和共享地理处理服务快速浏览中找到具有参数的模型工具的示例。有关创建模型工具的详细信息,请参阅使用模型构建器创建工具快速浏览主题。
中间数据
中间数据是模型创建的数据,但不是模型的输出。任务创建的中间数据会被 ArcGIS Server 自动删除。
注:
在 ArcGIS for Desktop 中使用模型构建器时,必须将模型变量明确设置为中间数据,以便在运行模型后删除中间数据。但服务器任务却不会出现该情况:将删除模型创建的非输出参数的所有数据。不必像在 ArcGIS for Desktop 中运行模型工具时那样将模型变量明确设置为中间数据。
将输出数据写入 in_memory
可用于提高性能的一种方法是将中间数据和输出数据写入 in_memory 工作空间。
警告:
如果计划配置服务让地图服务绘制输出数据,则不要将输出数据集写入 in_memory。
使用结果地图服务时,需要特别注意的一点是存在两种服务:地理处理服务和地图服务。这两种服务在执行时彼此相互独立。任务执行过程中,ArcGIS Server 会首先执行地理处理任务,然后再执行地图服务从而绘制地理处理任务的输出。由于这样的执行顺序,结果地图服务需要使用地理处理任务在磁盘中生成的数据集。这表示地理处理服务中各项任务的输出必须是磁盘上的数据集,而非 in_memory 中的数据集。
10.0 与更高版本之间的差别
如果在 10.0 版本中创作了地理处理服务,则有用于创作服务的特定模型构建器技术,请注意以下内容。在 10.1 及更高版本中,无需再使用这些技术。
旧版本:
在 10.1 版本之前,地理处理任务需要具有要素集数据类型(对于地理处理任务中的输入要素)和记录集数据类型(对于输入表)。在 10.1 版本及更高版本中无需将要素集或记录集用于服务;在服务编辑器 中编辑任务时,只需为输入要素或表参数指定用户定义值作为输入模式。如果模型(或脚本)当前使用要素集或记录集,不必对其进行更改;它将按原样发布。
旧版本:
在 10.1 版本之前,必须在模型构建器中明确设置中间数据变量,并且强烈推荐使用输出路径下的 %scratchworkspace% 约定将所有输出写入地理处理 scratchworkspace 环境。不再需要使用此约定。
模型构建器入门
如果您不熟悉模型构建器,下表列出的一些主题可以帮助您基本了解模型的编写。
帮助主题 | 目录 |
---|---|
创建自己的地理处理工具的基本概念。 | |
这三个主题介绍了模型构建器。 | |
本教程介绍了在模型构建器中连接工具和数据以创建模型的基本知识。 | |
本教程介绍了使用模型构建器创建工具的基本知识。模型工具是模型作为工具运行时,将变量显示为工具对话框中的参数的一种模型。创建任务需要参数。另外两个主题介绍了如何创建模型参数。 | |
可以使用值列表过滤器为模型变量创建自己的选择列表。选择列表是给任务客户端提供选项(选择)的一种好方法。 | |
本主题介绍了使用模型构建器创作任务时您可能用到的高级技术。 |