Skip to content

Latest commit

 

History

History
72 lines (56 loc) · 5.26 KB

File metadata and controls

72 lines (56 loc) · 5.26 KB
Preface

The OGC API - Processes Standard defines how a client application can request the execution of a process, how the inputs to that process can be provided, and how the output from the process is handled. The Standard specified who to "wrap" computational tasks into an executable process that can be invoked by a client application. Examples of computational processes that can be supported by implementations of API Processes include raster algebra, geometry buffering, constructive area geometry, routing, imagery analysis and several others.

Abstract

The OGC API - Processes Standard specifies a Web API that enables the execution of computing processes, the retrieval of metadata describing their purpose and functionality and the retrieval of the results of the process execution. The requirements specified in the OGC API — Processes Standard build on the OGC Web Processing Service (WPS) 2.0 Standard and specify a processing interface to communicate over a RESTful protocol using JSON encodings.

By way of background and context, in many cases geospatial or location data (including data from sensors) must be processed before the information can be effectively used. The OGC Web Processing Service (WPS) Interface Standard specifies a standard interface that simplifies the task of making simple or complex computational geospatial processing services accessible via web services. Such services include well-known GIS processes as well as specialized processes for spatiotemporal modeling and simulation. While the OGC WPS Standard was designed with spatial processing in mind, WPS implementations could also be used to readily insert non-spatial processing tasks into a web services environment. The WPS Standard provides a robust, interoperable, and versatile protocol for process execution on web services. Implementations of the WPS Standard can support 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. The WPS Standard was designed to support process cataloging and discovery in a distributed environment.

The requirements in the OGC API – Processes Standard are designed to provide the same implementation functionality as a WPS implementation but are based on a more modern way of programming and interacting with resources over the web while allowing better integration into existing software packages.

The resources that are provided by a server implementing the OGC API - Processes Standard are listed in Requirements class Core below and include information about the server, the list of available processes (Process list and Process description), jobs (running processes) and results of process executions.

This following table provides an overview of resources, applicable HTTP methods and links to the related document sections.

Table 1. Requirements class Core
Resource Path HTTP method Parameter Document reference

Landing page

/

GET

N/A

[sc_landing_page]

Conformance classes

/conformance

GET

N/A

[sc_conformance_classes]

Process list

/processes

GET

N/A

[sc_process_list]

Process description

/processes/{processID}

GET

processID (in path)

[sc_process_description]

Process execution

/processes/{processID}/execution

POST

processID (in path), Execute request (contained in body)

[sc_execute_process]

Job status info

/jobs/{jobID}

GET

jobID (in path)

[sc_retrieve_status_info]

Job results

/jobs/{jobID}/results

GET

jobID (in path)

[sc_retrieve_job_results_many]

Result

/jobs/{jobID}/results/{outputID}

GET

jobID (in path), outputID (in path)

[sc_retrieve_job_results_one]

In general, the HTTP GET operation is used to provide access to the resources described above. However, in order to execute a process, the HTTP POST method is used to send an execute request to the server.

Additionally, the /jobs endpoint can be used to grant access to a list of jobs.

Table 2. Requirements class Job list
Resource Path HTTP method Parameter Document reference

Job list

/jobs

GET

N/A

[sc_job_list]

In addition to the operations accessible through HTTP GET and POST methods, the DELETE method can be used to cancel a job execution and/or remove traces of the job execution.

Table 3. Requirements class Dismiss
Resource Path HTTP method Parameter Document reference

Job status info

/jobs/{jobID}

DELETE

jobID (in path)

[Dismiss]

Submitters

All questions regarding this submission should be directed to the editor or the submitters:

Table 4. Table of submitters

Name

Affiliation

Benjamin Pross (editor)

52°North GmbH

Stan Tillman

Hexagon

Panagiotis (Peter) A. Vretanos (editor)

CubeWerx Inc.

Jérôme Jacovella-St-Louis

Ecere Corporation

Pedro Gonçalves

Terradue Srl

Gérald Fenoy

Gérald Fenoy (Individual Member)

Francis Charette-Migneault

Centre de Recherche Informatique de Montréal (CRIM)

Cristiano Lopes

European Space Agency (ESA)

Christophe Noel

Spacebel