Bootstrap

初学OGC WPS2.0

OGC WPS2.0是什么?

OGC WPSOpen Geospatial Consortium Web Processing Service)是一种由开放空间联盟(Open Geospatial Consortium,简称OGC)定义的标准,用于描述和实现地理信息系统(GIS)中的 Web 处理服务。WPS 提供了一种标准化的方式,使得地理处理功能可以通过网络接口被访问、调用和执行。

主要功能和特点

  1. 标准化接口: OGC WPS定义了一组标准化的接口,包括执行地理处理任务、获取处理结果等。
  2. 地理处理: WPS 将地理处理任务封装成独立的服务,包括地图投影转换、缓冲区分析、空间查询等。
  3. 网络访问: 通过网络接口(如 HTTP)可以轻松访问和调用地理处理服务。
  4. 互操作性: 遵循 WPS 标准的服务可以与各种GIS系统和软件集成,实现不同系统间的互操作性。
  5. 异步处理: WPS 可以支持异步处理,即客户端发送请求后,服务端异步执行处理,并在完成后返回结果。
  6. 多种输出格式: WPS 可以支持多种输出格式,如 XMLJSON等,以满足不同需求。

OGC WPS 提供了哪些接口

OGC WPSOpen Geospatial Consortium Web Processing Service)提供了一系列标准化的接口,用于描述和实现地理信息系统(GIS)中的 Web 处理服务。以下是主要的 OGC WPS 接口:

  1. DescribeProcess:该接口用于获取 WPS 服务所支持的所有可用算法(processes)的描述信息,包括算法名称、输入参数和输出参数等。
  2. Execute:Execute 接口用于执行指定的算法或处理过程(process),客户端通过该接口向 WPS 服务提交请求,包括输入参数、处理的算法等。
  3. GetCapabilities:GetCapabilities 接口用于获取 WPS 服务的元数据信息和服务能力描述,客户端可以使用该接口查询服务的基本信息和支持的功能。
  4. GetStatus:GetStatus 接口用于查询执行中处理过程(process)的状态,包括处理进度、执行状态等。
  5. GetResult:GetResult 接口用于获取执行过程(process)的结果,客户端可以通过该接口获取算法执行后的结果数据。
  6. DescribeProcessResponse:这是 DescribeProcess 接口的响应信息,包括支持的算法的具体描述,输入参数和输出参数的详细信息。
  7. ExecuteResponse:Execute 接口的响应信息,包括执行过程(process)后的结果数据、状态信息等。
  8. GetCapabilitiesResponse:包含 GetCapabilities 接口的响应信息,用于返回服务的元数据和能力描述。

同步调用和异步调用接口

在使用 Web Processing ServiceWPS)时,实现同步调用和异步调用接口的方法如下:

同步调用接口实现

  1. 发起请求:客户端向服务器发送一个请求来执行某个处理过程(process),包括输入参数等。
  2. 处理过程:服务器接收请求,执行对应的处理过程,并在处理完成后立即返回结果。
  3. 返回结果:服务器将处理结果直接返回给客户端,客户端可以立即获得处理的结果数据。

异步调用接口实现

  1. 发起请求:客户端向服务器发送一个请求来执行某个处理过程(process),但在请求中指定为异步调用。
  2. 处理过程:服务器接收请求,开始执行处理过程,但并不立即返回结果,而是将处理任务交给后台处理。
  3. 返回任务ID:服务器返回一个任务ID给客户端,用于客户端查询处理任务的执行状态和结果。
  4. 查询结果:客户端可以通过另外一个接口或者通过提供的任务ID,定期向服务器查询处理任务的状态,直到任务执行完成。
  5. 返回结果:当处理完成后,服务器返回最终结果给客户端,客户端可以获取到处理的结果数据。

同步调用和异步调用涉及的方法

Web Processing ServiceWPS)中实现同步调用和异步调用涉及的方法包括:

同步调用方法

  • execute:通过 WPS 的 execute 接口进行同步调用,客户端发送请求并等待服务器处理完成后立即返回结果,执行过程中客户端被阻塞直到结果返回。
  • GetResult:通过获取结果的方式,客户端可以直接调用 GetResult 接口来获取处理过程的结果,这种方式在同步调用时非常常见。

异步调用方法

  • asyncExecute:在异步调用中,客户端可以调用 WPS 的异步执行接口 asyncExecute,该接口会立即返回一个任务ID用于查询任务执行状态。
  • getStatus:客户端可以通过调用 getStatus 接口定期查询任务执行状态,直到任务执行完成,获取最终结果。
  • GetResult:最终客户端也需要调用 GetResult 接口来获取处理过程的最终结果数据。

execute接口

Web Processing ServiceWPS)中,execute接口是用于执行特定处理过程(process)或算法的接口。当客户端向 WPS 服务器发送一个execute请求时,服务器将执行指定的处理过程,并返回相关的处理结果。execute接口通常用于提交处理任务,并获取最终的处理结果数据。

以下是execute接口的一般工作流程:

  1. 请求参数:客户端向WPS服务发送execute请求,请求中包含需要执行的算法或处理过程的标识符,以及相应的输入参数。
  2. 处理过程执行:WPS服务器接收到execute请求后,开始执行客户端指定的处理过程,包括数据处理、计算等操作。
  3. 处理结果:一旦处理过程完成,服务器生成处理结果数据,并将其返回给客户端。
  4. 结果返回:客户端收到处理结果数据后,可以使用这些数据进行后续操作,如展示、分析等。

execute接口的特点包括:

  • 同步执行:execute接口通常是同步执行的,即客户端发送请求后会立即等待服务器处理完成并返回结果。
  • 获取结果:通过execute接口,客户端可以直接获取处理过程的最终结果数据,并进行相关的处理与分析。

execute接口是怎么使用的

使用execute接口来执行特定的处理过程(process)或算法通常需要按照以下步骤进行:

  1. 准备请求参数:在准备构建execute请求之前,首先需要确定要执行的处理过程,并准备相应的输入参数。这包括算法标识符(process identifier)和输入参数的设定。
  2. 构建execute请求:构建一个HTTP请求,使用POST方法,向WPS服务的execute接口URL发送请求。在请求中包括XML格式的请求体,描述了执行的算法、输入参数等信息。
  3. 发送请求:发送构建的execute请求到WPS服务的execute接口。这可以使用HTTP客户端工具,如Postman,或者通过编程语言的HTTP请求库来发送请求。
  4. 处理响应结果:一旦WPS服务器接收到请求并执行处理过程后,会返回处理结果。客户端需要解析响应体中的XML数据,提取处理结果信息并进行相应的处理与展示。
  5. 处理错误情况:在处理过程中可能会发生错误,客户端需要对错误情况进行有效处理,例如根据错误码或错误信息来诊断问题并采取相应措施。

;