已发布到 ArcGIS Server 的地理处理服务,无论是单独还是作为 Web 工具的一部分发布,都可以在各种应用程序中使用。 由于地理处理服务可由多个授权用户和客户端同时使用,因此它们允许您的组织扩展和自动化其自定义地理处理工作流。
即使在 ArcGIS Enterprise 门户中使用 Web 工具时,您仍然可以使用 ArcGIS REST API 来访问其基础地理处理服务。 这使您可以编写脚本并扩展由服务执行的地理处理工作流。 您可使用地理处理服务来执行以下操作:
- 列出可用的工具及其输入和输出属性。
- 以同步方式执行任务。
- 以异步方式将作业提交到任务。
- 获取作业详细信息,包括作业状态。
- 使用地图服务显示结果。
- 使用托管要素服务显示结果。
- 检索结果以供客户端进一步处理。
您可以将地理处理服务合并到 Web GIS 应用程序中,而无论您使用的是 ArcGIS Web AppBuilder、ArcGIS Developer 资源,还是任何其他能够进行 REST API 调用的环境。
此主题将概述可以使用已发布到 ArcGIS Server 的地理处理服务的 Esri 客户端应用程序和资源。
ArcGIS Pro
地理处理服务发布后,即可在 ArcGIS Pro 中使用,其中可以采用与内置地理处理工具相同的方式来使用地理处理服务。
在桌面 GIS 工作流中使用地理处理服务有很多优点:与使用台式机自身的处理能力来执行地理处理任务不同,您可以使用运行地理处理服务的功能更强大的服务器计算机。 此外,地理处理服务和 Web 工具通常提供自定义地理处理工作流和任务链,以帮助完成您的特定 GIS 工作流。
您无需成为地理处理服务或 Web 工具的作者或所有者,即可在桌面 GIS 应用程序中使用它。 如果您具有访问 web 上的资源的适当凭据,则可以从 ArcGIS Pro 进行连接并使用该服务。
使用 ArcGIS Pro 中的地理处理服务
通过从 ArcGIS Pro 连接到 ArcGIS Enterprise,您可以利用其服务器上运行的地理处理资源。
要使用已共享到 ArcGIS Enterprise 门户的 Web 工具,请确保已登录并将其设置为活动门户。
要直接使用 Web 工具的基础地理处理服务,或使用已发布到独立服务器站点的地理处理服务,可以在目录窗格的服务器下创建服务器连接。
Python 脚本
您可以编写 Python 脚本来以多种方式执行和使用地理处理服务。 执行脚本的主要方法是使用 ArcPy(Esri 的 Python 站点包)。 ArcPy 内置用来连接、执行和处理服务结果的方法。
或者,可以使用 ArcGIS Server 服务目录直接访问处理服务,可以使用内置的 Python 模块调用使用 JSON 结构的 REST,以便传输结果。 您将必须使用 Python 代码在临时工作空间构建客户端以便使用它。 大多数脚本均通过 ArcPy 来连接和使用地理处理服务。
以下主题提供了有关在 ArcGIS Pro 中进行 Python 脚本创作的详细信息。
Web 应用程序
在除了 ArcGIS Enterprise 门户的 Map Viewer 经典版 以外的应用程序中,有多种方法能够使地理处理服务功能在 web 上可用。 虽然每个使用地理处理服务的客户端应用程序最终都会通过 ArcGIS REST API 进行该操作,但您不一定需要知道如何发出程序化 REST 请求。 例如,ArcGIS Web AppBuilder 允许您通过用户友好的微件添加地理处理服务。 通过 ArcGIS Developer API 和 SDK,更多高级选项可用于自定义编码。
ArcGIS REST API
任何能够进行 REST API 调用的客户端都可以调用 ArcGIS REST API 来查询地理处理服务。 对服务的每个编程请求均提示其执行一个或多个地理处理任务,并将响应返回到客户端。
向地理处理服务发出 REST API 请求时,许多数据类型可以作为输入参数。 您可通过两种方式发出请求:
- 要发出同步任务请求,请使用 execute 操作。 在执行其他操作之前,您必须等待结果返回。
- 要发出同步任务请求,请使用 submitJob 操作。 您可以在等待结果返回时执行其他任务;您还可以取消已排队的异步作业。
ArcGIS Web AppBuilder
无论您的地理处理服务是位于联合服务器还是独立服务器,都可以通过提供地理处理服务的 URL 来使用 ArcGIS Web AppBuilder 的地理处理微件;请参阅地理处理微件。 有关更多详细信息,请参阅将 Web 工具与 ArcGIS Web AppBuilder 配合使用,以及将地理处理服务与 ArcGIS Web AppBuilder 配合使用。