© ERDAS, Inc. A Hexagon Company. All Rights Reserved
Automatiser l’accès aux données et traitements
distribués
Apport du standard OGC Web Processing Service
Hervé Caumont02 Décembre 2009
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 2
OGC Web Processing Service (WPS)Définition
Le standard WPS définit une interface pour la publication de traitements géospatiaux, et facilite la réalisation d’applications clientes qui peuvent découvrir et se connecter à ces traitements.
Les traitements : algorithmes, opérations ou modèles qui opèrent sur des données , raster ou vecteur à référence spatiale.
La publication d’un traitement implique de rendre disponible des paramètres d’accès (machine-readable) ainsi que des métadonnées de découverte et d’utilisation du service (human-readable).
Les données : accédées en réseau ou locales au serveur.
Le rôle de la spécification est de contribuer à l’automatisation des processus qui impliquent des données et traitements géospatiaux.
Les mécanismes (OWS HTTP Get/Post, et WSDL/SOAP) : identifier les données géo-référencées requises pour un traitement, démarrer un traitement, et gérer les résultats de traitement de façon à ce qu’une application cliente puisse y accéder.
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 3
OGC Web Processing Service (WPS)Bref historique du standard
• 2004: premier prototype (Agri-Food Canada)
• 2005: WPS Interoperability Experiment (05-051r1)
• 2005: OGC WPS 0.4 (05-007r4 Discussion Paper)
• 2007: OGC WPS 1.0 (05-007r7)
• 2008: Corrigendum (08-091r6)
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 4
Exemples de cas d’utilisationhttp://www.ogcnetwork.net/ (‘WPS’)“Business Logic for Geoprocessing of Distributed Geodata”, 2006
“Case Study: Geospatial Processing Services for Web-based Hydrological Applications”, 2008
“A Toponym Resolution Service Following the OGC WPS Standard”, 2008
“Draft Technical Guidance for INSPIRE Coordinate Transformation Services”, 2008
“Orchestrating Grid Computing Enabled Web Processing Services”, 2008
“Towards generalization processes of LiDAR data based on GRID and OGC WPS”, 2009
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 5
Exemples de cas d’utilisationhttp://www.ogcnetwork.net (‘GEOSS AIP’)
Entrées
SortiesTraitement
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 6
Exemples de cas d’utilisation ERDAS Spatial Modeler & Apollo WPS 1.0
+ ++ +
+ ++ +
Data Store
+ ++ +
+ ++ +
Data StoreNumerous Remote Clients
OGC Catalog Services
Rules Base
Server Deployed Spatial Engines
OGC Access Services
Facilitator/Expert
Edition
Publication
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 7
Approche industrielle ERDAS Spatial Modeler & Apollo WPS 1.0• Objectif: élargir le « business model » des technologies
de traitements spatiaux (PCs serveurs), adresser de nouveaux contextes organisationnels, acteurs en réseau
• 2007-2008 : Contribution à l’initiative OWS-5 sur le thème Geoprocessing Workflow
• 2008-2009 : Sponsoring de l’initiative OWS-6 dont l’un des axes de développement a concerné la définition de profils WPS (« WPS Profiles - Conflation; and Grid processing »)
• 2009-2010 : Industrialisation de l’interface WPS 1.0 pour le moteur de traitements « ERDAS Imagine Spatial Modeler »
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 8
Interface du service ERDAS Spatial Modeler & Apollo WPS 1.0• publish (/remove): extension à l’interface (de
type WPS-T) pour ‘uploader’ un traitement sur le serveur (processDescription + opaque data) ou pour l’effacer
• getCapabilities: identifiants des traitements supportés par le serveur (nom, résumé, mots clés)
• describeProcess: résumé , et formats associés aux entrées et sorties d’un traitement (mimetype, encoding, schema, literal, boundingBox)
• execute: exécuter un traitement (nom du traitement, entrées requises)
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 9
Contexte organisationnel & scénario Gestion de situation de crise
Opérateursatellite
Gestion du territoire
Sécuritécivile
Ortho-rectification
WPS
Occupation du sol
BD Postes de secours
Distances, itinéraires
Images récentes
Analyse spatiale
Zonesd’évacuation
héliportée
Besoin
Soutien aux Opérations Décideur
Portail d’aide à la décision
12
Situation sur le terrain
Acteurs en réseau
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 10
Contexte organisationnel & scénario Demande d’aide à la décision
• Un profil ‘analyste’ (soutien aux opérations) reçoit une demande d’aide à la décision sur des zones d’évacuation héliportée possibles occupation du sol + MNT.
• Il conçois via une interface d’édition graphique des algorithmes et modèles spatiaux complexes, pour créer une chaine de modèles et les publier sur le serveur WPS.
• Un seul process WPS peut alors regrouper un chaine de traitement complète d’aide à la décision (i.e. hydrologie, détection de changements, analyse et rendu de données terrain 3D…).
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 11
Edition (slope model + terrain analysis)
Geospatial Functions Geospatial Functions
• Buffering• Zonal Functions• If / Then Analysis• Advanced Terrain Analysis: - CCM - HLZ - Cover and Concealment
Ortho & Mosaics Ortho & Mosaics
• Reprojection• Ortho-Rectification• Mosaicking
Feature Extraction Feature Extraction
• Image Enhancement• Band Adjustment• Band Ratios (NDVI, etc…)• Feature Extraction• Change Detection
• Shaded/Painted Relief• Line of Sight• Intervisibility• Anaglyphs
Elevation modelsElevation models
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 12
Publication
1 – Connection au Server
2 – Definition des Métadonnées
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 13
Publication (input args : DEM, landcover)
3 – Définition des arguments du traitement WPS, dont les descriptions et valeurs par défaut à présenter aux utilisateurs
4 – Définition des requêtes CS-W Catalog pour chaque entrée Coverage du traitement
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 14
Publication (arguments du traitement)
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 15
WPSCS-WWCSWMS
Contexte organisationnel & scénario Niveaux d’interopérabilité
Soutien aux Opérations Décideur
Opérateursatellite
Gestion du territoire
Sécuritécivile
Ortho-rectification
Occupation du sol
Postes de secours
Distances, itinéraires
Images récentes
Zonesd’évacuation
héliportée
Analyse spatiale:
Produits à valeur ajoutée
Autres sources temps réel
3
4 5
6Portail d’aide à
la décision
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 16
Contexte organisationnel & scénario Niveaux d’interopérabilité
• Le soutien aux opérations visualise une zone d’intérêt, puis accède à une liste des traitements exposés par le serveur, et consulte les métadonnées de description de ces services
• Sélection d’un traitement déclenche une recherche catalogue sur les critères de description des entrées du traitement, et retourne les résultats du catalogue correspondants
• Sélection d’une entrée catalogue (‘add as process input’) et complétion automatique d’un paramètre d’entrée du traitement
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 17
Exécution depuis un navigateur Web
WPS Process ViewAffichage des processus disponibles selon les droits utilisateur
Selected Process DescriptionDescription du modèle sélectionné
Process Arguments Affichage des arguments du traitement, avec les valeurs par défaut, et la mise en évidence des champs à compléter
Input Data Search ResultsPour chaque “coverage” nécessaire à l’exécution du process, affiche les résultats de recherche catalogue (stored CSW query) pour lazone consultée. Guide l’utilisateur pour sélectionner une entrée valide.
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 18
WPS Apollo Intégration avec le catalogue de données
• Lors de la publication d’un modèle de traitement depuis ERDAS Imagine, l’analyste stocke une requête CS-W pour chaque entrée du modèle, afin de filtrer pour l’utilisateur final une liste de données valides qui existent dans le catalogue (i.e. image Multispectrale avec les bandes Rouge et NIR; modèle numérique de terrain à 10 mètres de résolution…)
• Le client Web lance ces requêtes CS-W (ainsi qu’une requête spatiale définie par la navigation sur la carte de contexte) pour afficher dynamiquement une liste des entrées valides liée à la navigation sur la carte
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 19
WPS Apollo Workflow d’intégration de services
CS-W
WCS
Plugable algorithm
Plugable algorithm
Plugable algorithm
GetCoverage
Find Matching data
WPS
Client Application
Do Process
Result
List processes
WMSServe results
Catalog results
View results
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 20
Find, Describe, Catalog & Deliver Geospatial Data, Web Services & Geo-Processing
ProcessingEngines
RulesBasedEngine
SensorModel
Support
ERDAS Geospatial Enterprise Platform
Mobile AppsFor Field Update
OraclePostGISFiles
ImageCompressor
OrthoColor
Balance&
Mosaic
MetadataCatalog
RasterI/O&
NITF
IMAGINE / ERMAuthor & Publish
Models
GoogleEarth
VirtualEarth
Web App FrameworkData Management
Application and SDK
MSSQL
ESRIGeoDB
ArcMapTITAN
CS-W WPS
FeatureEditing
FeaturePortrayal
Engine
http://
WWW
WMSWFS-T
JPIPECW-P
WMSWCS
TITANGeoHub
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 21
Exploitation par les applicationsLes modèles de traitements spatiaux sont accessibles en ligne et exécutables à la demande par des applications 2D et 3D qui intègrent l’interface de consultation de catalogue (CS-W) et l’interface de paramétrage des traitements (WPS).
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 22
Standard OGC WPS 1.0Application Profiles
• Profil d’Application (WPS Application Profile)• Ex: internet Spatial Modeling Service (iSMS)
• Facilite la création d’applications clientes:1. Restriction des entrées ComplexData (concerne les paramètres de
traitement et les données d’entrée passées via la méthode “Publish”, optionelle)
2. Description d’un moyen de communiquer ces contraintes aux applications clientes (pour la construction de leur interface utilisateur)
3. Description d’un moyen de communiquer une taxonomie pour les traitements appartenant à ce profil d’application WPS
• Interopérabilité / URN identifier• urn:ogc:def:processGroup:ERDAS:iSMS:1.0
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 23
Standard OGC WPS 1.0Points ouverts – API WPS
• Une API (remote) propose les méthodes pour accéder à :• la publication des traitements• la description des traitements• et l’éxécution des requêtes
• Une fonction “removeProcess” a été ajoutée à l’interface
• Un mécanisme de sécurité a été ajouté à l’opération “execute” pour contrôler les droits utilisateur sur un traitement particulier
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 24
Standard OGC WPS 1.0Points ouverts – Extension réalisée
• La spécification WPS actuelle définit un modèle “à plat” des entrées/sorties
- Suffisant pour de nombreux processus- Insuffisant pour exploiter de multiples occurences d’une même
entrée (p.e. des dates d’acquisition d’une même scène)• Inconvenient de devoir définir de nouveaux schémas
XML “custom” pour chaque message complexe à gérer.• Ajout d’un type “structured” aux types déjà définis
- Conteneur d’un ensemble des entrées (ou sorties) spécifiées- Réutilise les définitions existantes, sans ajouter de complexité
• Ce support de données structurées peut être optionel• Les schémas WPS existants sont étendus en ce sens
• wpsDescribeProcess_responsenew.xsd • wpsExecute_requestnew.xsd
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 25
Standard OGC WPS 1.0Points ouverts – Moteurs de traitement• La spécification WPS offre une grande variété de types
d’entrée, comme des simples “literal”, des références vers des ressources distantes, des fragments XML ou des données encapsulées.
• Le canevas d’intégration ERDAS APOLLO offre un “InputHelper” fournissant une approche uniforme pour gérer les références et les données encapsulées
• Le canevas interprète les types d’entrées et sorties définis dans la spécificaation WPS, alimente la requête “execute” avec les entrées trouvées, et la complète avec les entrées optionnelles si une valeur par défaut leur a été affectée. 1. Pour les types “simple” et “envelope”2. Pour les types fragments XML, le canevas réalise un parsing et
en délivre l’élément racine comme entrée.3. Pour les types binaires, le canevas réalise un parsing et en
délivre un flux ou une structure de donnée.
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 26
Standard OGC WPS 1.0Points ouverts – vers WPS 2.0
• Charter : traiter la vingtaine de « change requests » remontés sur la v1.0, objectif juin 2010.
• CR087 - Pas de mécanisme standard pour annuler une requête “execute”
• CR095 - Application profiles• CR098 – Moyen de determiner les capacités de
traitement du serveur• CR099 – Capacité à réserver un serveur• CR102 - RESTful WPS• …
© ERDAS, Inc. A Hexagon Company. All Rights Reserved 27
Forum OGC FranceLes nouvelles frontières de l’interopérabilité
Merci de votre attention
Next OGC TCs !!