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

Post on 27-Jun-2015

190 views 0 download

Tags:

description

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.

transcript

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

Jérôme Gasperi | CCT OPS&SILToulouse - 10 janvier 2013

Définition

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

Web Processing Service

Imag

e fr

om h

ttp:

//ww

w.fa

cebo

ok.c

om/n

otes

/face

book

-eng

inee

ring

/vis

ualiz

ing-

frie

ndsh

ips/

4697

1639

8919

Imag

e fr

om h

ttp:

//ww

w.fa

cebo

ok.c

om/n

otes

/face

book

-eng

inee

ring

/vis

ualiz

ing-

frie

ndsh

ips/

4697

1639

8919

Anytime

Imag

e fr

om h

ttp:

//ww

w.fa

cebo

ok.c

om/n

otes

/face

book

-eng

inee

ring

/vis

ualiz

ing-

frie

ndsh

ips/

4697

1639

8919

Anytime

Anywhere

Imag

e fr

om h

ttp:

//ww

w.fa

cebo

ok.c

om/n

otes

/face

book

-eng

inee

ring

/vis

ualiz

ing-

frie

ndsh

ips/

4697

1639

8919

Anytime

Anywhere

Any device

Web Processing Service

donnée

donnée information

Traitement

donnée information

Classification

Batiment

Eau

Végétation

Web Processing Service

GetCapabilitiesThe GetCapabi l i t ies operat ion p r o v i d e s a c c e s s t o g e n e r a l information about a l ive WPS implementat ion , and l i s t s the operations and access methods supported by that implementation

Découverte

1

GetCapabilitiesThe GetCapabi l i t ies operat ion p r o v i d e s a c c e s s t o g e n e r a l information about a l ive WPS implementat ion , and l i s t s the operations and access methods supported by that implementation

Découverte

1

DescribeProcessThe 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

GetCapabilitiesThe GetCapabi l i t ies operat ion p r o v i d e s a c c e s s t o g e n e r a l information about a l ive WPS implementat ion , and l i s t s the operations and access methods supported by that implementation

Découverte

1

DescribeProcessThe 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

ExecuteThe Execute operation allows WPS clients to run a specified process implemented by a server, using the input parameter values provided and r e t u r n i n g t h e ou t pu t v a l u e s produced. Inputs can be included directly in the Execute request, or reference web accessible resources

Exécution

3

<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

<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é

<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

WPS en pratiqueEncapsulation des traitements de l'ORFEO Toolbox

ORFEO Toolboxhttp://orfeo-toolbox.org/

Traitements "simples"

Seuillage binaireAmélioration de la netteté

...etc...

Traitements avancés

OrthorectificationDétection de nuages

Calcul de l'indice foliaireSegmentation

Classification...etc...

Constellationhttp://www.constellation-sdi.org/

Inte

rfac

e W

PS

Client Serveur

http://mapshup.info

https://vimeo.com/57101606

jerome.gasperi@cnes.fr