开放地理空间联盟 (OGC) 的网络处理服务 (WPS) 规范是一种用于在 Web 上提供和执行地理空间处理的国际规范。您可通过在发布地理处理服务时启用 WPS 功能来创建 WPS 服务。
为何使用 WPS 服务?
如果要在不同的平台和客户端之间以一种开放并经认可的方式提供地理处理服务,则 WPS 服务非常有用。任何原生支持 WPS 1.0.0 规范的客户端均可查看和使用您的服务。
范围和兼容性
客户端应用程序可通过向服务的 URL 附加参数来使用 WPS 服务。发布到 ArcGIS Server 的 WPS 服务支持以下强制性的操作:
- 请求服务的元数据 (GetCapabilities)
- 请求有关可以在服务上运行的过程的详细信息 (DescribeProcess)
- 请求运行由 WPS 服务实施的过程 (Execute)
您可通过开放地理空间联盟网站了解有关 WPS 服务的详细信息。Esri 还提供了标准和互操作网页,详细介绍了 ArcGIS 对 OGC 服务的支持。
WPS 执行模式
WPS 服务及其随附的任务或者是同步,或者是异步。同步意味着,当任务在服务器上执行时,客户端应用程序必须等待完成才能执行其他任务。异步意味着,客户端应用程序不必等待服务器上的任务完成即可继续执行其他任务。对于这两种执行模式,任务结果都可以存储在服务器中并通过 URL 进行引用,或者直接将结果返回到客户端。。
选择以同步还是异步方式执行 WPS 服务需要取决于您的具体情况。只有那些执行速度快且仅输出小型数据集的任务,才应被发布为同步 WPS 服务。
支持 WPS 服务的数据类型
只有某些数据类型才可用作 WPS 服务的输入和输出参数。这些数据类型都源于地理处理可支持的 Esri 数据类型。下表列出了 WPS 服务中所支持的输入和输出数据类型及其等效的子类型。
数据类型 | 子类型 |
---|---|
标准版 | Long |
双精度型 | |
字符串 | |
Date | |
布尔型 | |
线性单位 | |
要素集 | GML 3-SF |
记录集 | GML 3-SF |
文件 | .zip |
二元 | |
XML | |
纯文本 | |
Raster | 图像/TIFF |
二进制(仅输入) |
有关详细信息,请参阅输入模式和参数数据类型。
发布 WPS 服务
要发布 WPS 服务,您必须首先发布地理处理服务或 web 工具。在发布过程中或发布过程之后,应启用 WPS 选项。
从 ArcGIS Pro 发布
要从 ArcGIS Pro 2.6、ArcGIS Enterprise 10.9 发布地理处理服务或 web 工具,请参阅创作和共享 web 工具快速浏览和创作和共享地理处理服务快速浏览。发布服务后,您需要通过执行以下步骤在 ArcGIS Server Manager 启用 WPS 功能:
- 使用 web 浏览器访问 ArcGIS Server Manager。
- 登录,然后单击顶部的服务选项卡。
- 找到您发布的地理处理服务,然后将其打开。
- 在左侧的目录中,选择功能。
- 在选择和配置功能部分中,选中 WPS 复选框。应出现 WPS 配置部分。
- (可选)要编辑 WPS 属性,请在这些属性的相应文本框中输入值。
- 请单击右上角的保存并重新启动;该服务应自动重新启动。
成功启用 WPS 功能后,您可以参阅上述步骤 5 内 WPS 配置部分的 URL 部分中的 WPS URL。
从 ArcGIS Desktop 发布
要发布 WPS 服务,您需要发布一个启用了 WPS 功能的地理处理服务。要了解有关在 ArcGIS Desktop 中创建 WPS 服务的详细信息,请参阅教程:发布和使用 WPS 服务。
使用 WPS 服务
ArcGIS Enterprise 上运行的 WPS 服务可在任何支持 WPS 的客户端中使用。
客户端的类型
web 浏览器是 WPS 服务最简单的客户端。不过,还有一些第三方客户端也可以使用 WPS 服务。要使用由 ArcGIS Enterprise 托管的 WPS 服务,客户端必须支持 WPS 1.0.0。有关能够使用 WPS 服务的第三方客户端和库的详细信息,请访问以下链接:
URL 结构
要使用 WPS 服务,您需要了解 URL 链接地址的结构。URL 链接需要遵循下面的模式:
https://gisserver.domain.com/server/services/folder/service/GPServer/WPSServer?
例如,如果您在地理处理服务 WPSDemoService 中启用了 WPS 功能并将其发布到服务器 gisserver 上名为 DemoFolder 的文件夹中,则 URL 将如下所示:
https://gisserver.domain.com/server/services/DemoFolder/WPSDemoService/GPServer/WPSServer?
GetCapabilities、DescribeProcess 和 Execute 操作的 WPS 请求都可通过 HTTP 发送至此 URL。这些请求的响应和异常将返回到客户端。有关以上操作及其参数的详细信息,请参阅 OGC WPS 1.0.0 规范。