首页 理论教育 基本操作_网络地理信息系统

基本操作_网络地理信息系统

时间:2020-01-20 理论教育
基本操作_网络地理信息系统

7.1.2 WPS基本操作

在WPS中,客户端和服务器采用基于XML的通信方式,在WPS接口中定义了三个主要操作,用于向客户端提供服务详细信息、查询部署在服务器上的进程描述和执行进程。这三个操作分别是:GetCapabilities、DescribeProcess和Execute。

7.1.2.1 GetCapabilities操作

GetCapabilities操作允许客户端从服务器中检索元数据,使客户端通过请求获得描述具体信息的元数据文档,该文档包括所有可执行的进程简要的元数据信息描述。WPS规范中规定了对GetCapabilities操作的请求参数包括必选参数和可选参数,必选参数必须在客户端请求时赋值,并且用户在发送请求时要交由服务器端验证,可选参数则可以根据需要确定每个具体的WPS是否包含该参数。WPS规范中规定GetCapabilities操作的必选参数有service和Request,可选参数有AcceptionVersions和language。各参数实现的具体原则可见表7.1。

表7.1 WPS规范中GetCapabilities请求参数内容

img80

OGCWPS规范中指定所有的WPS服务必须用KVP代码实现GetCapabilities操作请求,即实现HTTP Get请求。可以选择用XML编码的方式通过HTTP Post方法执行Get-Capabilities请求。

对于GetCapabilities操作,其响应文档为处理服务的元数据。对处理服务的基本信息的描述通常采用XML文档的形式,包括服务版本、服务提供者、操作接口的元数据说明、提供的处理服务标识等内容。其中,ServiceIdentification、ServiceProvider、OperationsMetadata、ProcessOfferings四部分构成了能力描述文档的主要部分,说明见表7.2。

表7.2 GetCapabilities响应能力描述文档的主要部分

img81

7.1.2.2 DescribeProcess操作

DescribeProcess操作使客户通过请求获得进程的详细信息,包括输入、输出参数和格式等。WPS规范规定了DescribeProcess请求参数中必选参数包括服务的版本号、服务的名称、服务类型等,可选参数有服务的唯一标识、调用服务的语言编码等,各参数的具体数据情况见表7.3。

表7.3 DescribeProcess请求参数内容

img82

OGC WPS规范中强制要求WPS服务提供KVP编码的方式实现DescribeProcess操作请求,并可选择通过XML编码方式执行该请求。

DescribeProcess接口响应文档是对具体的某个处理进程的详细描述。用户通过Get-Capabilities响应文档的<Process>列表获取所有服务的元数据信息后,就可以根据处理进程的Identifier获取进程具体的描述信息。

OGC WPS规范规定DescribeProcess接口的响应文档同样是以XML的形式编码的,该文档中包含了服务的唯一标识符、标题、输入数据信息、服务的输出等必选参数以及服务的版本号、返回数据的存储状态等可选参数。由于WPS的新版本规范尚在更新修改中,表7.4列出一些主要参数的介绍。

表7.4 DescribeProcess请求响应文档部分参数介绍(www.guayunfan.com)

img83

对于一个DescribeProcess操作请求的响应文档遵循进程描述数据结构,包括一个或多个请求的进程描述。每个进程描述包括进程的元数据、输入和输出参数的描述信息。每个进程可以有多个输入和输出参数。

每个参数都通过数据结构来描述,指定可用的格式、编码和计量单位。输入参数的数据格式有下列三种方式:

(1)“ComplexData”数据类型。该数据类型用来表达XML文档或图片,或者mimetype类型、encoding类型和schema类型的混合类型。这种复杂的数据结构既可以嵌入在执行操作请求中,也可以通过网络URL在请求中引用。

(2)“LiteralData”数据类型。该类型用于描述数值、默认值及有计量单位的值。

(3)“BoundingBoxData”数据类型。该类型用于描述具有参考系统的矩形数据。

对于输出参数,OGC标准也规定了三种数据类型:ComplexOutput、LiteralOutput和BoundingBoxOutput。

7.1.2.3 Execute操作

Execute操作允许WPS客户端提供输入参数值,然后在服务器端运行指定的进程,并返回输出结果。输入数据可以直接被包含在执行的请求文件中,也可以是网络可访问的资源。输出结果可以XML文档的形式返回,该文档可以嵌入在响应文档中,或者存储为网络可访问的资源。如果输出结果被存储,返回的响应文档中应该包含输出结果的存储地址,客户端可以通过该地址下载结果。对于单一的输出,服务器可以选择直接返回结果,而不需要采用XML响应文档的形式对结果进行封装。

通常响应文档仅仅在进程执行完成后返回。但是,客户端可以命令服务器在接受执行请求后马上返回执行的响应文档。在该情况下,执行响应包括一个URL,这个URL能够使客户端在进程执行期间和完成后获取响应文档。进程没有结束时,服务器可以定期地提供进程执行的进度信息。这就允许客户端通过查询这个URL来获得进程状态。图7.2中的例子说明了其是怎样工作的。

GetCapabilities接口响应文档和DescribeProcess接口的响应文档都是服务的发布者定义的,而Execute请求文档则需要服务的请求者利用DescribeProcess接口返回的信息来确定参数内容,然后编辑Execute请求文档,该请求文档也是以XML的形式发送给服务器。

WPS规范中指定Execute请求文档中必选参数包含service、request、version、Identifier等参数,可选参数有DataInputs、store等,各参数的具体内容可见表7.5。

表7.5 Execute请求参数内容

img84

对于执行Execute请求后返回的XML文档内容,WPS规范也有严格的规定。必须实现的参数有:version、Identifier、Status等,可选的参数有DataInputs、OutputDefinitions、ProcessOutputs等,具体说明见表7.6。

表7.6 Execute请求返回参数内容

img85

OGC WPS规范制定后,得到了众多GIS相关机构的支持,目前遵循OGC规范的WPS产品有52n WPS、Deegree WPS、Python WPS以及WPSint。