Approved

OGC Standard

OGC® WPS 2.0.2 Interface Standard Corrigendum 2
Matthias Mueller Editor Benjamin Pross Editor
Version: 2.0.2
OGC Standard

Approved

Document number:14-065r2
Document type:OGC Standard
Document subtype:Implementation
Document stage:Approved
Document language:English

License Agreement

Use of this document is subject to the license agreement at https://www.ogc.org/license

Suggested additions, changes and comments on this document are welcome and encouraged. Such suggestions may be submitted using the online change request form on OGC web site: http://ogc.standardstracker.org/




I.  Abstract

In many cases geospatial or location data, including data from sensors, must be processed before the information can be used effectively. The OGC Web Processing Service (WPS) Interface Standard provides a standard interface that simplifies the task of making simple or complex computational processing services accessible via web services. Such services include well-known processes found in GIS software as well as specialized processes for spatio-temporal modeling and simulation. While the OGC WPS standard was designed with spatial processing in mind, it can also be used to readily insert non-spatial processing tasks into a web services environment.

II.  Keywords

The following are keywords to be used by search engines and document catalogues.

TBD, geoprocessing, ogcdoc, OGC document, processes, processing, WPS


III.  Preface

This standard is a continuation of WPS 1.0, a standard for web-based processing of geospatial data. It incorporates a range of change requests that have been submitted since the release of WPS 1.0 and further follows the OGC standard for modular specifications [OGC 08-131r3].

In contrast to the prior version, WPS 2.0 provides a core conceptual model that may be used to specify a WPS in different architectures such as REST or SOAP.

The WPS process model has been encapsulated into separate requirements and conformance classes, so it may be used independently from WPS servers in process catalogs and metadata records. The expressive power of process descriptions has been enhanced by permitting structured (or nested) inputs and outputs. The concept of process profiles has been clarified and extended to support process descriptions at different levels of abstraction.

Conversely, the process model itself has been largely decoupled from the WPS protocol, allowing the use of other domain-specific descriptions of processes, e.g. those defined in SensorML, and to execute them on a WPS server.

This specification also provides a Basic WPS conformance class that comprises the synchronous and asynchronous execution protocol, the WPS process model, and implements HTTP/POST+XML and HTTP/GET+KVP encodings.

Future work will target the definition of process interfaces for common processes based on the process model conformance class. Such profiles will encourage the development of well-defined, reliable, interoperable and exchangeable process implementations.

If OGC baseline and related specifications should further progress towards REST-oriented interfaces, the development of a REST-oriented WPS interface standard should be considered.

IV.  Security considerations

No security considerations have been made for this document.

V.  Submitting Organizations

The following organizations submitted this Document to the Open Geospatial Consortium (OGC):

  • TU Dresden
  • 52°North
  • Intergraph Corporation
  • Image Matters LLC
  • CRP Henri Tudor
  • Airbus Defence and Space

VI.  Submitters

NameRepresentingOGC member
Matthias MüllerTU DresdenYes
Benjamin Pross52°NorthYes
Stan TillmanIntergraph CorporationYes
Jeff YutzlerImage Matters LLCYes
Luís de SousaCRP Henri TudorYes
Arnaud CauchyAirbus Defence & SpaceYes

VII.  Introduction

The WPS standard provides a robust, interoperable, and versatile protocol for process execution on web services. It supports both immediate processing for computational tasks that take little time and asynchronous processing for more complex and time consuming tasks. Moreover, the WPS standard defines a general process model that is designed to provide an interoperable description of processing functions. It is intended to support process cataloguing and discovery in a distributed environment.

1.  Scope

This document specifies the interface to a general purpose Web Processing Service (WPS). A WPS is a web service that enables the execution of computing processes and the retrieval of metadata describing their purpose and functionality. Typically, these processes combine raster, vector, and/or coverage data with well-defined algorithms to produce new raster, vector, and/or coverage information.

The WPS protocol supports both synchronous and asynchronous execution of processes. Synchronous execution may be used in simple and quick computation scenarios, where the data processing takes little to almost no time. Asynchronous processing is particularly well suited for complex computation scenarios which may take significant time.

The specification uses a core and extensions model to organize its features:

  1. A core conceptual model, defining basic requirements for a web based processing service,

  2. A process model to support the description and discovery of processes on the web,

  3. A basic data model that supports arbitrary (standard or non-standard) data formats for inputs and outputs,

  4. A WPS service model and encoding based on OGC baseline standards, and

  5. A Dismiss extension to allow clients to terminate asynchronous processing jobs.

2.  Conformance

Conformance with this standard shall be checked using all the relevant tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to be achieved to claim conformance are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site1.

Table 1 — Conformance classes related to WPS 2.0

Conformance ClassDescriptionClause
http://www.opengis.net/spec/WPS/2.0/conf/service/profile/basic-wpsBasic WPS service profileAnnex A.1
http://www.opengis.net/spec/WPS/2.0/conf/service/synchronous-wpsSynchronous WPS
http://www.opengis.net/spec/WPS/2.0/conf/service/asynchronous-wpsAsynchronous WPS
http://www.opengis.net/spec/WPS/2.0/conf/process-model-encodingWPS process model encoding
http://www.opengis.net/spec/WPS/2.0/conf/service/dismiss-extensionDismiss extension

3.  Normative references

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

Arliss Whiteside, Jim Greenwood: OGC 06-121r9, OGC Web Service Common Implementation Specification. Open Geospatial Consortium (2010). https://portal.ogc.org/files/?artifact_id=38867.

Policy SWG: OGC 08-131r3, The Specification Model — Standard for Modular specifications. Open Geospatial Consortium (2009). https://portal.ogc.org/files/?artifact_id=34762&version=2.

A. Phillips, M. Davis: IETF RFC 4646, Tags for Identifying Languages. RFC Publisher (2006). https://www.rfc-editor.org/info/rfc4646.

T. Berners-Lee, R. Fielding, L. Masinter: IETF RFC 3986, Uniform Resource Identifier (URI): Generic Syntax. RFC Publisher (2005). https://www.rfc-editor.org/info/rfc3986.

ISO: ISO 8601:2004, Data elements and interchange formats — Information interchange — Representation of dates and times. International Organization for Standardization, Geneva (2004). https://www.iso.org/standard/40874.html.

W3C: W3C xmlschema-2, XML Schema Part 2: Datatypes Second Edition. World Wide Web Consortium https://www.w3.org/TR/xmlschema-2/.

4.  Terms and definitions

This document uses the terms defined in OGC Policy Directive 49, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.

This document also uses terms defined in the OGC Standard for Modular specifications (OGC 08-131r3), also known as the ‘ModSpec’. The definitions of terms such as standard, specification, requirement, and conformance test are provided in the ModSpec.

For the purposes of this document, the following additional terms and definitions apply.

This document uses the terms defined in Sub-clause 5.3 of [OGC 06-121r9], which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this standard.

For the purposes of this document, the following additional terms and definitions apply.

collection of data, published or curated by a single agent, and available for access or download in one or more formats

Note 1 to entry: The use of ‘collection’ in the definition from [DCAT] is broader than the use of the term collection in this specification.

[SOURCE: W3C vocab-dcat]

represents an accessible form of a dataset

Example

a downloadable file, an RSS feed or an API.

[SOURCE: W3C vocab-dcat]

characteristic ALTERNATIVE

character DEPRECATED

abstraction of real world phenomena

Note 1 to entry: For those unfamiliar with the term ‘feature’, the explanations on Spatial Things, Features and Geometry in the W3C/OGC Spatial Data on the Web Best Practice document provide more detail.

[SOURCE: ISO 19101-1:2014, modified — added alternative term for “characteristic” and deprecated term “character”.]

A process p is a function that for each input returns a corresponding output

μ : X Y

where X denotes the domain of arguments x and Y denotes the co-domain of values y. Within this specification, process arguments are referred to as process inputs and result values are referred to as process outputs. Processes that have no process inputs represent value generators that deliver constant or random process outputs.

A process description is an information model that specifies the interface of a process. A process description is used for a machine-readable description of the process itself but also provides some basic information about the process inputs and outputs.

6.  Conventions

This section provides details and examples for any conventions used in the document. Examples of conventions are symbols, abbreviations, use of XML schema, or special notes regarding how to read the document.

6.1.  Abbreviated terms

GML

Geography Markup Language

GRS

Coordinate Reference System

HTTP

Hypertext Transfer Protocol

ISO

International Organization for Standardization

KVP

Keyword Value Pair

MIME

Multipurpose Internet Mail Extensions

OGC

Open Geospatial Consortium

UML

Unified Modeling Language

URI

Universal Resource Identifier

URL

Uniform Resource Locator

WPS

Web Processing Service

XML

Extensible Markup Language

6.2.  Use of the Term “Process”

The term process is one of the most used terms both in the information and geosciences domain. If not stated otherwise, this specification uses the term process as an umbrella term for any algorithm, calculation or model that either generates new data or transforms some input data into output data as defined in Clause 4.4.

6.3.  UML Notation

Unified Modeling Language (UML) static structure diagrams appearing in this specification are used as described in section 5.2 of OGC06-121r9. Further, the following conventions hold:

  • UML elements having a package name of “OWS Common” are those defined in the UML model of OWS Common [OGC 06-121r9].

  • UML data type Any is used here as an equivalence to XML’s xsd:any.

  • UML elements not qualified with a package name are those defined in this standard.

The UML model data dictionary is specified herein in a series of tables. The contents of the columns in these tables are described in section 5.5 of [OGC 06-121r9]. The contents of these data dictionary tables are normative, including any table footnotes.

6.4.  Namespace Conventions

The following namespaces are used in this document. The prefix abbreviations used constitute conventions used here, but are not normative. The namespaces to which the prefixes refer are normative, however.

PrefixNamespace URIDescription
owshttp://www.opengis.net/ows/2.0OWS Common 2.0 XML Schema
xlinkhttp://www.w3.org/1999/xlinkDefinitions for XLINK
xmlhttp://www.w3.org/XML/1998/namespaceXML (required for xml:lang)
xshttp://www.w3.org/2001/XMLSchemaXML Schema

7.  WPS Conceptual Model

The WPS service model defines basic properties of any WPS server. A WPS server is a web service that provides access to pre-defined processes and provides job control operations to instantiate, control and monitor processing jobs (Figure 1).

 

Figure 1 — Artifacts of the WPS service model

Requirements class 1

Obligationrequirement
Target typeDerived information model, encoding, and software implementation
Normative statementsRecommendation 1-1 Requirements class for supported process models.
Requirement 1-1 Requirements class for service discovery.
Requirement 1-2 Requirements class for service capabilities.
Requirement 1-3 Requirements class for job control.
Requirement 1-4 Requirements class for process execution.
Requirement 1-5 Requirements class for data transmission between service and client.
Requirement 1-6 Requirements class for job monitoring.

7.1.  Service Discovery

Any WPS server shall be self-contained, i.e. provide an initial endpoint that can be used by a WPS client to determine the server’s capabilities.

Requirements class 2

Obligationrequirement
Target typeDerived information model, encoding, and software implementation
Normative statementsRequirement 2-1 All WPS servers shall have an initial end-point (HTTP URI).
Requirement 2-2 The service shall provide a systematic discovery mechanism for all service capabilities.
Requirement 2-3 The discovery mechanism for the service capabilities shall be predictable from the initial endpoint.

7.2.  Service Capabilities

The basic capabilities of any WPS server fall into two categories: The first category comprises capabilities for process discovery and retrieval of process descriptions. The second category comprises capabilities to manage and monitor processing jobs.

Since the processes provided by a WPS server may have different degrees of complexity, the server shall indicate the allowed job control capabilities mode per process offering.

Further service capabilities, i.e. for secure communication and user authentication may be provided with the service but are neither covered nor restricted by this specification as long as they do not alter or change the semantics of other job control capabilities.

Requirements class 3

Obligationrequirement
Target typeDerived information model, encoding, and software implementation
Prerequisitehttp://www.opengis.net/spec/WPS/2.0/req/conceptual-model/process
Normative statementsRequirement 3-1 The service shall provide a process offering capabilities. This capability informs service clients about the available processes.
Requirement 3-2 All process offerings shall provide an identifier for their process model used.
Requirement 3-3 The service shall provide job control and monitoring capabilities. These capabilities enable service clients to manage processing jobs via the service interface.
Requirement 3-4 The service shall indicate the allowed job control capabilities per process.

8.  WPS Native Process Model

This section describes the information model of requirements. The corresponding XML and plain text encodings are specified in Clause 9.

Requirements class 4

Obligationrequirement
Target typeDerived encoding and software implementation
Prerequisitehttp://www.opengis.net/spec/WPS/2.0/req/conceptual-model/process
Normative statementsRequirement 4-1 Requirements class for the common description type.
Requirement 4-2 Requirements class for IO format.
Requirement 4-3 Requirements class for data types.
Requirement 4-4 Requirements class for process description.
Requirement 4-5 Requirements class for process profile.

8.1.  Common Description Type

Descriptive elements of processes, inputs and outputs are derived from the BasicIdentificationType provided by OWS Common (Figure 2). Other descriptive information shall be recorded in the Metadata element in the form of simple links with an appropriate role identifier.

Requirements class 5

Obligationrequirement
Target typeDerived encoding and software implementation
Prerequisiteshttp://www.opengis.net/spec/WPS/2.0/req/conceptual-model/process
OWS Common 2.0 — BasicDescriptionType
Normative statementsRequirement 5-1 Process descriptions as well as the associated process inputs and outputs shall be derived from the OWS Common BasicIdentificationType.
Requirement 5-2 The DescriptionType shall comply with the structure defined in Figure 2 and Table 2.
Requirement 5-3 For linking documentation material or other metadata with the process itself, its inputs and its outputs, the metadata element from the BasicIdentificationType shall be used.
Requirement 5-4 The metadata elements within process descriptions shall be simple links with a human-readable title (Table 3).
Requirement 5-5 The metadata elements for documentation shall use the role identifier “http://www.opengis.net/spec/wps/2.0/def/process/description/documentation”.

 

Figure 2 — DescriptionType for processes, process inputs and process outputs UML class diagram

Table 2 — Properties of the DescriptionType structure

NamesDefinitionData type and valuesMultiplicity and use
TitleTitle of the process, input, and output. Normally available for display to a human.ows:TitleOne (mandatory)
AbstractBrief narrative description of a process, input, and output. Normally available for display to a human.ows:AbstractZero or one (optional) Include when available and useful.
KeywordsKeywords that characterize a process, its inputs, and outputs.ows:KeywordsZero or more (optional) Include when available and useful.
IdentifierUnambiguous identifier of a process, input, and output.ows:Identifier Value is a URI or HTTP-URIaOne (mandatory)
MetadataReference to additional metadata about this item.ows:Metadata Allowed values are specified in Table 3.Zero or more (optional)

a  Additional content such as separate code space and version attributes in the Identifier element are not allowed.

Table 3 — Properties of the Metadata structure

NamesDefinitionData type and valuesMultiplicity and use
TitleTitle of the documentation. Normally available for display to a human.Character StringOne (mandatory)
Link typeType of the xlink, fixed to simple.Character String, fixed to “simple”.One (mandatory)
RoleRole identifier, indicating the role of the linked document.HTTP-URIOne (mandatory)
hrefReference to a documentation site for a process, input, or output.HTTP-URIOne (mandatory)

8.2.  Data Description Structure

The DataDescription structure contains basic properties for defining data inputs and outputs, including mimetype, encoding and schema. These properties specify supported formats for input and output data of computing processes. Any input or output item may support multiple formats, one of which is the default format. Processes may require that an input or output data set does not exceed a certain data volume.

Requirements class 6

Obligationrequirement
Target typeDerived information model, encoding, and software implementation
Prerequisitehttp://www.opengis.net/spec/WPS/2.0/req/conceptual-model/process
Normative statementsRequirement 6-1 Format descriptions of process inputs and outputs shall comply with the DataDescription structure defined in Figure 3 and Table 4.
Requirement 6-2 One of the formats defined in the DataDescription structure shall be the default format, i.e. have the attribute “default” set to “true”.

 

Figure 3 — DataDescription and supported formats UML class diagram

Table 4 — Format properties

NamesDefinitionData type and valuesMultiplicity and use
mimetypeMedia type of the data.Character StringOne (mandatory)
encodingEncoding procedure or character set of the data (e.g. raw or base64)Character String, fixed to “simple”.One (mandatory)
schemaIdentification of the data schema.HTTP-URIOne (mandatory)
maximumMegabytesThe maximum size of the input data, in megabytes.IntegerZero or one (optional)
defaultIndicates that this format is the default format.aBooleanZero or one (conditional)a, ,b

a  Defaults to FALSE if omitted.

b  One of the formats included in the DataDescription structure shall have the attribute “default” set to “true”.

9.  WPS Native Process Model Encoding

9.1.  XML Schema Implementation

This section specifies the XML encoding of the elements of the WPS native process model. The referred XML schema elements are provided by the associated schema package delivered with this standard and located at http://schemas.opengis.net/wps/2.0/.

Requirements class 7

Obligationrequirement
Target typeDerived encoding and software implementation
Prerequisiteshttp://www.opengis.net/spec/WPS/2.0/req/native-process/model
OWS Common 2.0
Normative statementsRequirement 7-1 Requirements class for data type XML encoding.
Requirement 7-2 Requirements class for process description XML encoding.
Requirement 7-3 Requirements class for generic profile XML encoding.

9.1.1.  Data Types

The XML encoding of data types defines encoding rules for ComplexData, LiteralData, BoundingBoxData as well as their values.

Examples for data type encodings are listed in Annex B.1.

Requirements class 8

Obligationrequirement
Target typeDerived encoding and software implementation
Prerequisiteshttp://www.opengis.net/spec/WPS/2.0/req/native-process/model/datatypes/complex-data
http://www.opengis.net/spec/WPS/2.0/req/native-process/model/datatypes/literal-data
http://www.opengis.net/spec/WPS/2.0/req/native-process/model/datatypes/bounding-box-data
OWS Common 2.0
Normative statementsRequirement 8-1 The XML encoding of ComplexData, LiteralData, BoundingBoxData and their values shall comply with the XML schema provided by dataTypes.xsd.
Requirement 8-2 The mime type for XML encoded literal and bounding box data values shall be “text/xml”.

9.1.2.  Process Description

This clause specifies the XML encoding for the Process description.

Requirements class 9

Obligationrequirement
Target typeDerived software implementation
Prerequisiteshttp://www.opengis.net/spec/WPS/2.0/req/native-process/model/description
OWS Common 2.0
Normative statementsRequirement 9-1 An XML encoded Process description shall be a valid XML document of the type wps:Process.
Requirement 9-2 _The content of the XML encoded Process description shall comply with the content of the information elements defined by the requirements class http://www.opengis.net/spec/WPS/2.0/req/native-process/model/description._

9.1.3.  Generic Process

This clause specifies the XML encoding for the GenericProcess.

Requirements class 10

Obligationrequirement
Target typeDerived software implementation
Prerequisiteshttp://www.opengis.net/spec/WPS/2.0/req/native-process/profile/generic
OWS Common 2.0
Normative statementsRequirement 10-1 An XML encoded description of a Generic Process shall be a valid XML document of the type wps:GenericProcess.
Requirement 10-2 _The content of the XML encoded description of a Generic Process shall comply with the content of the information elements defined by the requirements class http://www.opengis.net/spec/WPS/2.0/req/native-process/model/profile/generic._

9.2.  Plain Text Encoding for LiteralData and BoundingBoxData Values

This clause specifies the plain text encoding of data types for literal and bounding box data values.

Requirements class 11

Obligationrequirement
Target typeDerived encoding and software implementation
Prerequisiteshttp://www.opengis.net/spec/WPS/2.0/req/native-process/model/datatypes/complex-data
http://www.opengis.net/spec/WPS/2.0/req/native-process/model/datatypes/literal-data
http://www.opengis.net/spec/WPS/2.0/req/native-process/model/datatypes/bounding-box-data
OWS Common 2.0
Normative statementsRequirement 11-1 The plain text encoding of literal and bounding box values comply with the BNF schema below.
Requirement 11-2 The mime type for plain text encoded literal and bounding box values shall be “text/plain”.

 

Literal values - BNF schema:
literalvalue   = value *1("@datatype=" datatype) *1("@uom=" uom)
value          = 1*VCHAR
datatype  = URI
uom       = URI

Literal values - Example:
70@datatype=http://www.w3.org/2001/XMLSchema#integer@uom=meter

BoundingBox values - BNF schema2:
bbox      = lc_coords "," uc_coords ["," crs] ["," dimensions]
lc_coords = number ["," number]
uc_coords = number ["," number]
number         = 1*DIGIT["." 1*DIGIT]
crs       = 1*VCHAR
dimensions = 1*DIGIT

BoundingBoxData values - Examples:
51.9,7.0,53.0,8.0,EPSG:4326

51.9,7.0,53.0,8.0,http://www.opengis.net/def/crs/EPSG/0/4258

10.  Common WPS Service Model

A Web Processing Service consists of processes and service operations. By definition, processes represent the computational functionality of a WPS, while service operations are used to interact with the WPS and in particular to use the service’s process offerings.

Requirements class 12

Obligationrequirement
Target typeSoftware implementation
Prerequisiteshttp://www.opengis.net/spec/WPS/2.0/req/conceptual-model
OWS Common 2.0
Normative statementsRequirement 12-1 Requirements class for data transmission.
Requirement 12-2 Requirements class for WPS service handling.
Requirement 12-3 Requirements class for common process offering properties.
Requirement 12-4 Requirements class for the status information document.
Requirement 12-5 Requirements class for the processing result document.
Requirement 12-6 Requirements class for the GetCapabilities operation.
Requirement 12-7 Requirements class for the DescribeProcess operation.
Requirement 12-8 Requirements class for the Execute operation.
Requirement 12-9 Requirements class for the GetStatus operation.
Requirement 12-10 Requirements class for the GetResult operation.

10.1.  Overview of WPS Core Operations

The WPS interface specified in this section supports retrieval and execution of processes for geospatial computation. For that purpose, the WPS service model specifies the following operations that may be invoked by a WPS client and performed by a WPS server3:

GetCapabilities — This operation allows a client to request information about the server’s capabilities and processes offered.

DescribeProcess — This operation allows a client to request detailed metadata on selected processes offered by a server.

Execute — This operation allows a client to execute a process comprised of a process identifier, the desired data inputs and the desired output formats.

GetStatus — This operation allows a client to query status information of a processing job (conditional).

GetResult — This operation allows a client to query the results of a processing job (conditional).

During a sequence of WPS requests, a client should first issue a GetCapabilities request to the server to obtain an up-to date listing of available processes. Then, it may issue a DescribeProcess request to find out more details about particular processes offered, including the supported data formats. To run a process with the desired input data, a client will issue an Execute request4 (Figure 4).

The operations GetStatus and GetResult are used in conjunction with asynchronous execution. If a WPS server offers synchronous process execution only, these operations may not be implemented. Detailed guidance is provided by the corresponding profiles and conformance classes.

 

Figure 4 — Common sequence of WPS operations UML sequence diagram

10.2.  Data Transmission

Data exchange between WPS clients and servers requires an agreement on the general data exchange patterns and suitable communication protocols. Data may be sent to (received from) a WPS in two distinct ways: (1) by reference (using HTTP/GET or HTTP/POST), and (2) by value. Clients may send input data in either fashion. Output data may be requested in any fashion declared by the data transmission options defined for the process offering. Typically, large data inputs and outputs are delivered by reference.

Requirements class 13

Obligationrequirement
Target typeDerived encoding and software implementation
Prerequisitehttp://www.opengis.net/spec/WPS/2.0/req/conceptual-model
Normative statementRequirement 13-1 The data transmission structures for process inputs and outputs shall comply with the structures defined in Figure 5, Table 5, Table 6, Table 7, Table 8, and Table 9.

 

Figure 5 — Input and output data transmission structures UML class diagram

Table 5 — Parts of the inline Data structure

NamesDefinitionData type and valuesMultiplicity and use
mimetypeSee Table 6 — Properties of the DataEncodingAttributes structure.
encoding
schema
(any)aThe actual input or output data.Any type and valueOne (mandatory)

a  The data is embedded here as part of the Data element, in the mimeType, encoding, and schema indicated by the first three parameters if they exist, or by the relevant defaults.

Table 6 — Properties of the DataEncodingAttributes structure

NamesDefinitionData type and valuesMultiplicity and use
mimetypeMimeType of the data.Character StringOne (mandatory)
encodingWell-known encoding or character set of the data.URI “raw” shall be used for plain binary data “base64” shall be used for base64 encoded data Character set identifiers (e.g. “UTF-8”) shall be used for text or CSV data.Zero or one (conditional)a
schemaIdentification of the data schema.URIZero or one (conditional)a

a  This shall be provided if: 1) the process data item supports multiple encodings / schemas, and 2) the data is not of the default encoding / schema, and 3a) the schema / encoding cannot be retrieved from the data itself, or 3b) the encoding / schema information is deeply buried inside the data (i.e. not part of some header) and requires significant parsing effort.

Table 7 — Parts of the Reference structure

NamesDefinitionData type and valuesMultiplicity and use
mimetypeSee Table 6 — Properties of the DataEncodingAttributes structure.
encoding
schema
hrefHTTP URI that points to the remote resource where the data may be retrieved.HTTP URIOne (mandatory)
RequestBodyRequest body element that is used for HTTP/POST requests to the above URL. If no request body is present, an HTTP/GETRequest should be used to retrieve the data. RequestBody structure, see Table 8.Zero or one (optional)

Table 8 — Parts of the RequestBody structure

NamesDefinitionData type and valuesMultiplicity and use
BodyThe contents of this element to be used as the body of the HTTP request message to be sent to the service identified in ../Reference/@href. For example, it could be an XML encoded WFS request using HTTP/POST.Any typeZero or one (conditional)a
BodyReferenceReference to a remote document to be used as the body of an HTTP/POST request message to the service identified in the href element in the Reference structure (Table 7).BodyReference, see Table 9.Zero or one (conditional)a

a  One and only one of these items shall be included.

Table 9 — Parts of the BodyReference structure

NamesDefinitionData type and valuesMultiplicity and use
hrefHTTP URI that points to the remote resource where the request body may be retrieved.HTTP URIOne (mandatory)

Annex A
(normative)
Abstract Test Suite

Tests and requirement identifiers below are relative to http://www.opengis.net/spec/WPS/2.0

A.1.  Basic WPS (Conformance Class)

The OGC URI identifier of this conformance class is: http://www.opengis.net/spec/WPS/2.0/conf/service/profile/basic-wps

Example

Requirement A.1

Statement

conf/service/profile/basic-wps

Recommendation A.1

Statement

Verify that the server implements the Basic WPS conformance class.

Requirement A.2

Statement

Verify that the server implements the Synchronous WPS and/or the Asynchronous WPS conformance class. Verify that the requests and responses to a supported operation are syntactically correct. Verify that the service supports the Synchronous WPS Conformance class, the Asynchronous WPS Conformance class or both. Verify that all process offerings implement the native process model.


Annex B
(informative)
XML Examples

B.1.  Data Types

B.1.1.  Complex Data Description

 

<wps:ComplexData>
  <wps:Format mimeType="application/geotiff" encoding="raw"
default="true"/>
  <wps:Format mimeType="application/geotiff" encoding="base64"/>
</wps:ComplexData>

B.1.2.  Literal Data Description

 

<wps:LiteralData>
  <wps:Format mimeType="text/plain" default="true"/>
  <wps:Format mimeType="text/xml"/>
  <LiteralDataDomain default="true">
    <ows:AllowedValues>
      <ows:Range>
        <ows:MinimumValue>1</ows:MinimumValue>
        <ows:MaximumValue>1000</ows:MaximumValue>
      </ows:Range>
    </ows:AllowedValues>
    <ows:DataType
ows:reference="http://www.w3.org/2001/XMLSchema#float">float
</ows:DataType>
    <ows:UOM>meters</ows:UOM>
    <ows:DefaultValue>100</ows:DefaultValue>
  </LiteralDataDomain>
  <LiteralDataDomain>
    <ows:AllowedValues>
      <ows:Range>
        <ows:MinimumValue>1</ows:MinimumValue>
        <ows:MaximumValue>3000</ows:MaximumValue>
      </ows:Range>
    </ows:AllowedValues>
    <ows:DataType
ows:reference="http://www.w3.org/2001/XMLSchema#float">float
</ows:DataType>
    <ows:UOM>feet</ows:UOM>
  </LiteralDataDomain>
</wps:LiteralData>

B.1.3.  Literal data values

 

<LiteralValue
  dataType=http://www.w3.org/2001/XMLSchema#double
  uom="meter">
    42.1
</LiteralValue>

<LiteralValue
  dataType="http://www.w3.org/2001/XMLSchema#string">
    ArableLand
</LiteralValue>

B.1.4.  BoundingBox Data Description

 

<wps:BoundingBoxData>
  <wps:Format mimeType="text/plain" default="true"/>
  <wps:Format mimeType="text/xml"/>
  <wps:SupportedCRS default="true">EPSG:4326</wps:SupportedCRS>
  <wps:SupportedCRS>
    http://www.opengis.net/def/crs/EPSG/0/4258
  </wps:SupportedCRS>
</wps:BoundingBoxData>

B.1.5.  BoundingBox Data Values

 

<ows:BoundingBox crs="EPSG:4326">
  <ows:LowerCorner>51.9 7.0</ows:LowerCorner>
  <ows:UpperCorner>53.0 8.0</ows:UpperCorner>
</ows:BoundingBox>

<ows:BoundingBox
   crs="http://www.opengis.net/def/crs/EPSG/0/4258">
  <ows:LowerCorner>51.9 7.0</ows:LowerCorner>
  <ows:UpperCorner>53.0 8.0</ows:UpperCorner>
</ows:BoundingBox>

Bibliography

[1]  ISO: ISO 19101, Geographic information — Reference model. International Organization for Standardization, Geneva https://www.iso.org/standard/26002.html.

[2]  W3C: Data Catalog Vocabulary, W3C Recommendation 16 January 2014, https://www.w3.org/TR/vocab-dcat/