Web Processing Service - WPS

Définition

Le Web Processing Service (WPS) est un standard défini par l’Open Geospatial Consortium (OGC). Il décrit les règles de normalisation des entrées/sorties (demandes et réponses) pour les services de traitement de données cartographiques. Exemples : l’intersection de polygones ou l’extraction du contour d’un bassin versant.

La norme définit également comment un client peut demander l’exécution d’un processus, et comment la sortie de ce processus est gérée. Elle définit une interface qui facilite la publication des processus cartographiques. Les données utilisées en entrée d’un WPS peuvent transiter par le réseau ou être disponibles sur le serveur.

Principe

Le fonctionnement des WPS s’appuie sur l’architecture Client / Serveur et se déroule toujours en 3 étapes :

    1. Le client WPS émet une requête en direction du serveur de WPS en indiquant le nom du processus à exécuter, les données spatiales et/ou les paramètres en entrée,
    2. Le serveur de WPS lance l’exécution du processus sur le serveur,
    3. Le serveur de WPS retourne au client le résultat du processus sous la forme de données spatiales et/ou de paramètres en sortie.

Opérations de base du WPS

GetCapabilities
    • Fourni un document XML listant les traitements individuels qui sont disponible sur le serveur, accompagné d’un court résumé et de mots-clé du processus.
    • La requête ne nécessite pas de paramètres.

Exemple :

http://geowww.agrocampus-ouest.fr/cgi-bin/hswps.cgi?SERVICE=wps&Version=1.0.0&REQUEST=GetCapabilities

DescribeProcess
    • Une fois qu’un traitement a été identifié, la réponse à cette requête inclus les mêmes informations que la réponse GetCapabilities, avec des informations plus détaillées sur les paramètres en entrée « DataInputs » nécessaire pour le traitement (processus).
    • Possibilité de savoir si les entrées sont de type simple « LiteralData » (une chaine de caractères ou un chiffre) ou complexe « ComplexData » (un fichier de données), si elles sont requises ou non « minOccurs/maxOccurs ». De la même façon les résultats en sortie « ProcessOutputs ».

Exemple :

http://geowww.agrocampus-ouest.fr/cgi-bin/hswps.cgi?SERVICE=wps&Version=1.0.0&REQUEST=DescribeProcess&Identifier=pts2watershed

Execute
    • C’est avec cette requête « Post » que le serveur réalisera en réalité le traitement.
    • Permet l’exécution d’un processus déterminé utilisant en entrée les données fournies et retournant en sortie les données générées par le WPS.
    • La réponse à celle-ci « ExecuteResponse » est un document XML qui indique un statut du traitement, qui retourne les entrées qui ont été utilisées, et fournit soit une sortie littérale simple (text) ou une sortie complexe comme un fichier (GML,  « LiteralOutput » et/ou « CompelxOutput ».

Entrées / Sorties

Le protocole WPS propose 3 types d’information aussi bien en entrée qu’en sortie des processus :

  1. LiteralData : chaine de caractères, entier, réelle, date, …
  2. ComplexData : données spatiales de type vecteur (ex : GML) ou raster (ex : geotiff), Fichier XML, …
  3. BoundingBox : système de projection (CRS) & emprise spatiale.

.

.

Source : Blog GéoSAS

Last modified: Thursday, 12 November 2015, 2:59 PM