Applications cartographiques sur le web Services web géographiques et Normalisation Jean-Christophe Desconnets (UMR ESPACE DEV)
Plan Notions de service Normalisation des services web cartographiques –Normes et standards : rappel –l’OGC –Utilité des standards coté serveur – Web Map Service –Web Map Service - Cache (WMTS) –Web Feature Service Quelques outils libres - coté serveur
Quelques notions
Notion de service Un service présente une vue « metier » fortement décomposée (notion de primitive fonctionnelle) de ce que doit fournir un SI Exemple : un service de réservation d’un train un service de demande d’une facture un service de visualisation un service de téléchargement.... Avant tout : un service est une vision "abstraite" ce que doit fournir un SI. Il n’est pas lié à une implémentation
Notion de service web En plus simple....: Un service web est : – un programme décrit en XML et identifié par une URI – Proposant des fonctionnalités que d’autres programmes peuvent : Découvrir Et utiliser grâce à des protocoles décrits en XML, et basés sur l’échange de messages décrits en XML et transmis via des protocoles internet.
Notions de service web SI construit sur une application monolithique :
Notions de service web SI construit sur une architecture de services web :
L’exemple de l’agence de voyage Une agence de voyage web combine plusieurs services : – Réservation de billets d’avion, de train – Réservation de logement – Réservation de véhicules de location Et donc utilise les services proposés par la SNCF, Air France, RentACar,....
Notions de service web (résumé)
Normalisation des services web cartographiques
Normes et standards : rappel On distingue : Les normes ou Les standards de jure : «... référentiel commun et documenté destiné à harmoniser l'activité d'un secteur » Les standards de facto Pour l'information géographique : Structure normative : ISO TC/211 Organisme de standardisation : OGC (Open Geospatial Consortium) : Autres : OSGeo
Open Geospatial Consortium (OGC) « a non-profit, international, voluntary consensus standards organization that is leading thedevelopment of standards for geospatial and location based services » Industriels, SSII, agences publiques, universités, institut de recherche Standards : – spécifications abstraites (modèles) – formats de données – services
Utilité standards coté serveur Objectif affiché : « interopérabilité » (entre systèmes au niveau interfaces) : Serveur / Serveur Client / Serveur : l'implémentation de la partie cliente d'un standard permet à un client d'interagir avec N serveurs conformes. Les standards nourrissent la communauté open-source « information géographique » Conformité des produits aux standards OGC :
Utilité standards coté serveur Application avec client spécifique Mapserver Application avec client spécifique Mapserver et ArcIMS
Utilité standards coté serveur Application avec client construit sur la base d’un standard
Mise en place d’un services web standard Description du service Publication & Découverte Invocation Décrire les paramètres d'entrée du service et le format et le type des données retournées : GetCapabilities (en XML) Publier dans un catalogage accessible via un service de découverte (OGC CS-W) Connexion et interaction du client avec le service..
Web Map Service : WMS
WMS : Web Map Service Standard OGC ; 1ère version : 2000 ; permet d'accéder à de la donnée cartographiée – Version actuelle : 1.3 (ISO/DIS 19128) –Définit : interfaces d'interrogation interfaces de réponse (y compris les exceptions) Standards corollaires à WMS : –Symbology encoding (SE) / Style Layer Descriptor (SLD) : définition de styles
WMS : Web Map Service Principales opérations –GetCapabilities : permet d’obtenir les capacités du service grâce à sa description via les métadonnées de service. Elles décrivent les informations du service lui même, la liste des couches servies, leur emprise spatiale, leur projection, style,etc. –GetMap : permet d’obtenir une carte (données raster ou fichier image)) dont les paramètres géographiques et les dimensions sont définies par le fournisseur du service WMS ; –GetFeatureInfo : permet d’obtenir une information sur une entité affichée sur l’image ou sur le raster.
WMS : Web Map Service Vue d’ensemble
WMS : Web Map Service
WMS : GetCapabilities
Exemple avec Mapserver :
WMS : GetMap Lorsqu’une requête GetMap est invoquée, le client peut spécifier : L’information qu’il souhaite voir sur la carte (une ou plusieurs “couches”), Les “styles” de représentation de ces couches, Quel lieu doit être représenté (une “Emprise”), Le système de coordonnées géographiques ou le système de coordonnées projetées qui doit êtreutilisé (le “Système de Coordonnées de Référence”, ou CRS), Le format de sortie désiré (choisi dans la liste des formats publiés par l'opération GetCapabilities), La taille de la sortie (largeur et hauteur), La couleur et la transparence de l’arrière-plan.
WMS : GetMap
Exemple avec Mapserver : tutorial?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=indonesie_pop&STY LES=&SRS=EPSG900913&BBOX= , , , &WIDTH=1000&HEIGHT=500&FORMAT=image/png
Requêtes WMS vs Requêtes Mapserver Requête Mapserver (appli CGI) : bin/mapserv?map=/var/www/data/TP1/tutorial.map&mode=map&scale = &mapxy=110%20%202&layers=demis_bathy%20demis_topo%2 0Admin_Indonesie%20coastline%20indonesie_pop Requête WMS sur Mapserver : tutorial?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&LAYERS=de mis_bathy,demis_topo,Admin_Indonesie,coastline,indonesie_pop&STYLE S=&SRS=EPSG900913&BBOX= , , , &WIDTH=1000&HEIGHT=500&FORMAT=imag e/png
Spécifications OGC associées Plusieurs autres spécifications associées quelques unes : Data Query specifications –OGC filter encoding : expression de filtrage en encodage XML utilisée pour identifier un sous-ensemble d’entités Exemple : Interrogation : « recherche les routes dont le roadtype est égal à 1 » SQL : « select * from roads where roadtype=1; » OGC Filter : roadtype 1 Style specification –Style Legend Descriptor (SLD) : Langage de description de style (XML) qui définie comment écrire une règle de style. Cette règle est envoyée à un service WMS afin de dessiner une carte. Exemple :
Web Map Tiling Service : WMTS
WMTS : Objet Site Web : forte contrainte de réactivité WMS : génération ‵ à la volée ‵ d'une cartographie – Traitement côté serveur – Impact fort sur les performances Amélioration : – Optimiser service – Cacher les requêtes WMS => insuffisant
WMTS : Web Map Tiling Service
WMTS : Principe –Origine fixée – Niveaux fixés – Dimension fixe de la grille –projection fixée
WMTS : standard complémentaire du WMS Extension de la spécification WMS de l'OGC : Requête type : LAYERS=MyLayer&FORMAT=image/jpeg&SERVICE=WMS&VERSI ON=1.1.1&REQUEST=GetMap&STYLES=&SRS=IGNF: GEOPORTALFXX&BBOX=0, ,524288, &WIDTH=256&HEIGHT=256&TILED=true Côté client : un paramètre supplémentaire dans la requête WMS => TILED=true
Web Feature Service : WFS
WFS : Web Feature Service Standard OGC ; 1ère version : 2002 permet d'accéder à de la donnée vecteur brute Version actuelle : 2.0 Définit : – Interfaces d'interrogation – Interfaces de réponse (y compris les exceptions) Standard corollaire à WFS : – GML – Filter Encoding
WFS : Web Feature Service Principales opérations –WFS Transactionnel Fournis les opérations pour gérer (création, mise à jour & suppression) le dépôt de données. Les principales opérations sont : Transaction, LockFeature –WFS basique GetCapabilities : spécialement, WFS indique quelle feature types peut être servie, quelles operations sont supportées, quelles métadonnées sont associées; GetFeature : permet de récupérer le contenu d’une entité simple ( simple feature ). La résponse est un fichier XML qui doit être conforme au schéma d’application GML comme défini. Le client devra pouvoir spécifier quelle propriété d’entité il veut utiliser. DescribeFeatureType : décrit la structure de n’importe quelle any feature type dans le schéma GML. Le client doit pouvoir interroger le serveur pour avoir le détail des features types qu’il supporte.
WFS : Web Feature Service Vue d’ensemble
WFS : Web Feature Service Illustrations sicen.map&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFe ature&TYPENAME=marsilea_strigosa&outputformat=GML2 request
WMS versus WFS –WFS résout l’intéropérabilité syntaxique et sémantique car il repose au moins sur un modèle géométrique (Simple feature encodé par GML) partage de méthodes partage du modèle de données géométriques –WMS résout l’intéropérabilité syntaxique mais ne repose pas sur des échanges de données harmonisés partage de méthodes pas de partage de modèles de données