Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Traitements de données à la demande - Introduct...

Traitements de données à la demande - Introduction au Web Processing Service

Toulouse, France - 2013.01.10
Centre de Compétences Techniques "Extraction des données de télémesures et exploitation en temps différé"

WPS (Web Processing Service) est un standard de l'OGC qui définit des interfaces pour faciliter la publication, la description et l'exécution de traitements.

Nous avons exposé sous forme de WPS les traitements d'images de la librairie ORFEO Toolbox (OTB - http://www.orfeo-toolbox.org/) développée par le CNES. A cet effet, nous avons utilisé le serveur constellation (http://www.constellation- sdi.org /).
Ainsi exposés, les traitements sont pilotés à partir d'un navigateur Web en utilisant le client Web mapshup (http://mapshup.info). mapshup prend en charge les processus synchrones et asynchrones et offre une visualisation directe des résultats.

Jérôme Gasperi

January 10, 2013
Tweet

More Decks by Jérôme Gasperi

Other Decks in Technology

Transcript

  1. Traitements de données à la demande Introduction au "Web Processing

    Service" Jérôme Gasperi | CCT OPS&SIL Toulouse - 10 janvier 2013
  2. WPS (Web Processing Service) est un standard de l'OGC qui

    définit des interfaces pour faciliter la publication, la description et l'exécution de traitements
  3. GetCapabilities The GetCapabilities operation p r ov i d e

    s a c c e s s t o g e n e r a l information about a live WPS implementation, and lists the operations and access methods supported by that implementation Découverte 1 DescribeProcess The DescribeProcess operation allows WPS clients to request a full description of one or more processes that can be executed by the service. This description includes the input and output parameters and formats and can be used to automatically build a user interface to capture the parameter values to be used to execute a process Description 2 Execute The Execute operation allows WPS clients to run a specified process implemented by a server, using the input parameter values provided and retur ning the output values produced. Inputs can be included directly in the Execute request, or reference web accessible resources Exécution 3
  4. <wps:Capabilities service="WPS" xml:lang="en-EN" version="1.0.0" updateSequence="1352815432361"> <ows:ServiceIdentification> [...Service information i.e. title,

    abstract, keywords, etc...] </ows:ServiceIdentification> <ows:ServiceProvider> [...Provider information i.e. name, adress, phone, etc...] </ows:ServiceProvider> <ows:OperationsMetadata> [...URLs to GetCapabilities, DescribeProcess and execute services...] </ows:OperationsMetadata> <wps:ProcessOfferings> <wps:Process wps:processVersion="1.0.0"> <ows:Identifier>urn:ogc:cstl:wps:otb:classification</ows:Identifier> <ows:Title>Classification</ows:Title> <ows:Abstract>Performs an image classification</ows:Abstract> </wps:Process> [...] </wps:ProcessOfferings> <wps:Languages> [...] </wps:Languages> <wps:WSDL xlink:href=""/> </wps:Capabilities> GetCapabilities http://mon.serveur.com/wps?service=WPS&request=GetCapabilities
  5. <wps:ProcessDescriptions xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/ xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" service="WPS" version="1.0.0" xml:lang="en-EN">

    <ProcessDescription storeSupported="true" statusSupported="true" wps:processVersion="1.0.0"> <ows:Identifier>urn:ogc:cstl:wps:otb:classification</ows:Identifier> <ows:Title>Classification</ows:Title> <ows:Abstract>Performs an image classification</ows:Abstract> <DataInputs> [...Standardized description of ComplexData, LiteralData or BoundingBoxData...] </DataInputs> <ProcessOutputs> [...Standardized description of ComplexOutput, LiteralOutput or BoundingBoxOutput...] </ProcessOutputs> </ProcessDescription> </wps:ProcessDescriptions> DescribeProcess http://mon.serveur.com/wps?service=WPS&request=DescribeProcess&identifier=urn:ogc:cstl:wps:otb:classification storeSupported Si true, l'éxecution est lancée de manière asynchrone - le service rend la main à l'utilisateur et le traitement s'effectue en tâche de fond. Sinon le traitement est exécuté de manière synchrone - la main est rendue à l'utilisateur lorsque le traitement est terminé
  6. <wps:ExecuteResponse xml:lang="en" service="WPS" serviceInstance="http://mon.serveur.com/wps/wps?" statusLocation="http://mon.serveur.com/wps/wps?request=GetExecutionStatus&executionId=5e59-6dfe" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink"> <wps:Process

    wps:processVersion="1.0.0"> <ows:Identifier>urn:ogc:cstl:wps:otb:classification</ows:Identifier> <ows:Title>Classification</ows:Title> <ows:Abstract>Performs an image classification</ows:Abstract> </wps:Process> <wps:Status creationTime="2013-01-09T16:17:08.262Z"> <wps:ProcessAccepted>Process accepted</wps:ProcessAccepted> </wps:Status> </wps:ExecuteResponse> Execute http://mon.serveur.com/wps?service=WPS&request=execute POST data + statusLocation Le serveur de traitement met à jour le contenu de l'url statusLocation en fonction de l'avancé du traitement. Lorsque ce dernier est terminé, le statut passe en <wps:ProcessSucceeded>. Le client doit donc régulièrement appeler l'url de statusLocation afin de déterminer la fin du traitement
  7. ORFEO Toolbox http://orfeo-toolbox.org/ Traitements "simples" Seuillage binaire Amélioration de la

    netteté ...etc... Traitements avancés Orthorectification Détection de nuages Calcul de l'indice foliaire Segmentation Classification ...etc... Constellation http://www.constellation-sdi.org/ Interface WPS Client Serveur http://mapshup.info