准备包含工具图层的地图文档
可以将包含工具图层的地图文档作为地理处理服务发布到 ArcGIS Server。地图文档中的每个工具图层都会成为地理处理服务中的一个任务。配置和准备包含工具图层的要发布的地图文档的工作流包括:
- 设置地理处理选项
- 设置临时工作空间环境
- 创建工具图层
- 打开并运行工具图层以创建输出数据集
- 根据需要更改图层符号系统
- 删除不需要的图层
- 确保为结果地图服务连接了所有图层
以下步骤假定您已经构建了一个适合发布到 ArcGIS Server 的模型。
更改工具图层的名称
将工具箱或模型以工具图层的形式添加到地图后,将分别使用原始模型及其输出参数的名称为生成的工具图层和输出子图层命名。如果您在内容列表中更改工具图层名称,然后对地图进行发布以在 Web 应用程序中使用,则无法向 Web 应用程序返回任务结果。请不要更改工具图层或输出子图层的名称。
基础工具更改时重新创建工具图层
如果您要在创建完工具图层之后对它所依据的模型的参数进行更改,则必须删除并重新创建工具图层。如果要更改要素集的方案,也必须重新创建工具图层。
工具图层包含基础工具的参数定义。无论以任何方式对参数进行了更改,都必须先删除然后重新创建工具图层,以便新的工具图层包含新的参数定义。如果更改了模型或脚本逻辑,则不需要重新创建工具图层;只有在更改了与输入和输出参数相关的任何内容时,才需要重新创建工具图层。
设置地理处理选项
- 在 ArcMap 中,单击地理处理菜单 > 地理处理选项。
- 默认情况下,结果为临时数据选项应处于位选中状态。
- 检查以确保您尚未在工具级别设置临时工作空间环境:
- 在 ArcToolbox 或目录 窗口中,右键单击要发布的模型工具,然后单击属性。
- 单击环境选项卡。
- 如果工作空间复选框未被选中,则表明未设置临时工作空间环境,此时可以单击取消。如果工作空间复选框已被选中,请将其展开并确保临时工作空间处于未选中状态。
- 您可以在模型构建器中为模型中的任何进程设置临时工作空间环境。但是,不应发布用于为任何进程设置临时工作空间的模型。如果在使用并非由您创建的模型,则应与该模型的创作者进行核实,以确定他们是否为任何建模流程均设置了临时工作空间。为建模流程设置临时工作空间并非是标准做法,因此您很少会遇到这种情况。要检查建模流程是否已设置临时工作空间,请编辑模型,右键单击工具元素,单击属性,然后单击环境选项卡。在工作空间下,临时工作空间设置应处于未选中状态。
设置临时工作空间环境
在上述部分中,您已经确保未在工具或建模流程级别设置临时工作空间。不过,您确实需要在应用程序级别设置临时工作空间:
- 在 ArcMap 中,单击地理处理菜单 > 环境。
- 在环境设置 对话框中,展开工作空间设置。
- 对于临时工作空间环境设置,请输入系统文件夹的路径。
- 请不要将临时工作空间设置为地理数据库。
- 如果模型不输出磁盘上的数据集,则无需设置临时工作空间。
如果不设置临时工作空间环境,会出现什么情况?
如果将临时工作空间留空,将使用默认工作空间。此默认工作空间位于 Documents and Settings 文件夹中。Windows 会破坏默认工作空间的路径,如下:
C:\DOCUME~1\<username>\LOCALS~1\Temp\
运行完工具之后,会将输出写入到此位置。发布地图文档时,ArcGIS Server 会在此位置查找数据,但由于此路径已被破坏,因此将无法找到数据,从而导致无法发布该文档。
创建工具图层
创建工具图层
要创建工具图层,请将 ArcToolbox 或目录 窗口中的工具拖放到 ArcMap 的内容列表或地图显示中。如果创建工具图层时存在工具的输出,则工具图层将包含各输出的子图层。如果不存在输出,将不创建任何子图层。
打开并运行工具图层
创建完工具图层之后,需要运行该工具图层,以创建工具的所有输出。
- 右键单击工具图层,然后单击打开。
- 提供工具所需的输入,然后单击确定运行该工具。
- 工具运行结束之后,工具图层应包含工具各输出的子图层。
下图显示了分水岭示例中的“创建分水岭”工具的工具对话框。
根据需要更改图层符号系统
如果您正在使用结果地图服务来创建地理处理服务,则该地图服务将使用为工具图层中的各子图层定义的符号系统来绘制结果。
要更改工具图层中某个子图层的符号系统,可右键单击该子图层,单击属性,然后单击符号系统选项卡。
删除不需要的图层
在发布地图文档之前,应当删除所有不需要的图层。例如,您可能拥有从模型的先前运行过程中获取到的图层或用于定义要素集方案的图层。但只应保存工具图层以及模型所使用的图层。
确保图层已连接
如果您正在使用结果地图服务发布地理处理服务,则地图文档中的每个图层都必须是有效的图层,而不能是断开连接的图层(如下图所示)。否则,结果地图服务将无法绘制数据。
工具图层包含工具各输出的子图层。要绘制数据,就必须存在这些子图层的数据。
仅当使用结果地图服务时,才存在此要求。
如果未使用结果地图服务,则可以使用断开连接的图层进行发布。通常,将数据写入内存时会产生断开连接的图层。
请注意,服务具有一个用于自动重新启动服务的循环时间表。默认情况下,此重新启动操作在午夜每 24 小时执行一次。如果数据在发布后被删除,则结果地图服务将无法绘制数据。