Utilisation du service WPS sur Constellation-SDI

L’OGC (Open Geospatial Consortium) est un organisme qui édite des normes concernant différents protocoles dans la thématique géospatiale. Ces normes proposent de diffuser, de traiter ou d’analyser des données géoréférencées telles que des images satellitaires ou des données vectorielles.

Il existe plusieurs serveurs géographiques implémentant ces différentes normes. Constellation-SDI en est une version OpenSource et propose différentes implémentations couvrant plusieurs aspects concernant la gestion de données géospatiales :

  • Web Map Service (WMS) et Web Map TIle Service (WMTS) : Affichage de données, tuilées (WMTS) ou non (WMS).
  • Web Coverage Service (WCS) : Téléchargement de données sous différents formats.
  • Catalog Service Web (CSW): Stocker et requêter des métadonnées.
  • Sensor Observation Service (SOS): Gestion de capteurs et de leurs acquisitions.
  • Web Processing Service (WPS): Lancer des processus effectuant des traitements sur une donnée.

Nous allons donc nous intéresser à la norme WPS.

Web Processing Service

La norme précise qu’un service WPS doit répondre aux trois requêtes suivantes :

  • GetCapabilities expose les capacités du service :
    • liste des traitements disponibles
    • liste de requêtes acceptées
    • structure des URLs pour les requêter et protocoles possibles
    • informations sur la société ou personne exposant ce service
  •  DescribeProcess permet d’obtenir plus d’informations sur un traitement particulier (cas d’utilisation, paramètres d’entrée et de sortie autorisés, valeurs acceptées,etc.)
  • Execute lance un traitement à partir des paramètres d’entrée fournis et configure le format des résultats attendus.

Les traitements peuvent être lancés de manière synchrone ou asynchrone selon la configuration fournie au lancement de la requête “Execute” :

  • En mode synchrone, un résultat est attendu directement en réponse à cette requête.
  • Le mode asynchrone, utile pour des traitements potentiellement longs, fournira un moyen de suivre la progression du traitement et obtenir le résultat final.

Afin de ne pas surcharger le flux de réponse de ce genre de requêtes, les données d’entrée ou sortie peuvent être envoyées sous forme de références (URL permettant de télécharger la donnée par exemple) ou directement pour des données peu volumineuses.

Processus disponibles via Constellation-SDI

Constellation-SDI propose plus de 80 processus disponibles par défaut. Pour chaque service WPS créé via l’interface d’administration, il sera possible de lancer des traitements portant sur des données.

wps_categories

Ils sont regroupés dans les catégories suivantes :

  • Constellation : outils permettant de configurer les services de Constellation-SDI
  • Image : traitements particuliers sur des images sans information géographique
  • Coverage : génération d’isolignes, conversion de données rasters en vectorielles
  • Vector : traitements sur des données vectorielles
  • Math : processus faisant appel à des fonctions mathématiques de base
  • IO : gestion de fichiers
  • JTS : traitements proposés par la librairie Java Topology Suite sur des géométries
  • Referencing : propose des processus liés au géoréférencement
  • String : concaténation de chaînes de caractères.

L’administration de chaque service WPS propose d’ajouter ou de supprimer des processus ou catégories de processus, de manière à ne proposer que ceux souhaités sur cette instance WPS.

Utilisation sur des données

Parmi les processus permettant d’effectuer un traitement particulier sur des données de type “coverage” (images géoréférencées), un processus peut être lancé afin de sélectionner une bande particulière dans une image, par exemple au format TIFF. Il est nommé “bandselect” et se trouve dans la catégorie « image ».

En effectuant une requête WPS GetCapabilities sur le service, le processus figure bien parmi ceux exposés.

caps

Pour la version 1.1.1 de Constellation-SDI, son identifiant unique est 

urn:ogc:cstl:wps:image:bandselect

Une fois celui-ci connu, il nous sera alors possible de lancer une requête DescribeProcess sur ce service afin de connaître les paramètres d’entrée et sortie proposés par ce processus. Pour finir, après lancement de ce processus au travers d’une requête du standard WPS nommée “execute”, on obtiendra alors les résultats suivants, intégrables dans Constellation-SDI.

Donnée initiale

aeroport_paris

Après traitement WPS, en ne sélectionnant que la première bande dans l’image

aeroport_paris_1band

Conclusion

De nombreux autres traitements de données sont disponibles au travers du service WPS, comme la possibilité d’extraire une partie de la donnée sur une emprise fournie (opération communément appelée “Crop”), fabriquer un fichier vectoriel des contours de la donnée ou encore obtenir des isolignes depuis une donnée raster avec un modèle de terrain.

De plus, il est possible de rajouter de nouveaux traitements en utilisant l’API Java Process de la librairie Geotoolkit.org sur laquelle se base Constellation-SDI.

Le service OGC WPS est donc très intéressant pour effectuer du pré-traitement sur des données à importer dans un gestionnaire d’infrastructure spatiale comme Constellation-SDI, afin de tirer le meilleur parti des données.

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *