Le protocole WMS

Web Map Service

Moi

Thibault Coupin

Ce cours

est

What's this ?!

  • Standard de l'OGC pour accéder à de la donnée cartographiée (donc image)
  • Versions actuelles : 1.1.1 et 1.3.0
  • Définit :
    • comment interroger le serveur
    • comment le serveur doit répondre (exceptions comprises)
  • C'est une surcharge du protocole HTTP
  • Tous les documents sont sur le site de l'OGC

What's this ?!

Standard corrollaire à WMS :

  • Style Layer Descriptor (SLD) / Symbology Encoding (SE)
    • Pour la défnition de style : quelle légende utiliser ? Règles de symbolisation
  • Filter Encoding (FE) :
    • Pour la définition des règles de symbolisation : comment appliquer la légende ? Règles de sélection

Les opérations

  • GetCapabilities : découvrir le service
    • identité de la personne physique/morale getionnaire du service
    • fonctionnalités du service : opérations, crs, format d'image, liste des couches
    • réponse en XML, le schéma est définit dans le standard
  • GetMap : utiliser le service
    • l'utilisateur (le client carto) définit format d'image, crs, emprise, couches
    • la réponse est une image
  • GetFeatureInfo (optionnel) : obtenir des informations supplémentaires
    • une fois le morceau de carte générée par l'opération GetMap, l'utilisateur veut de l'information sur les éléments qui la composent
    • il faut fournir la requête GetMap et les coordonnées des pixels cliqués

Exemples

sur le service WMS Vecteur Inspire

http://wxs.ign.fr/wnow33wqimoktpt0unhgwo0m/inspire/v/wms
Sur le Géoportail, une clé d'identification est nécessaire : site pro.ign.fr

GetCapabilities - Requête

http://wxs.ign.fr/wnow33wqimoktpt0unhgwo0m/inspire/v/wms?service=WMS&request=GetCapabilities
Paramètre Valeur Commentaire
service WMS obligatoire
request GetCapabilities obligatoire
version 1.1.1, 1.3.0 optionnel, par défaut la version la plus récente supportée

GetCapabilities - Réponse

						
<WMS_Capabilities xmlns="http://www.opengis.net/wms" version="1.3.0">
	<Service> [...] </Service>
	<Capability> [...] </Capability>
</WMS_Capabilities>
						
					
  • Service : les informations sur le service : titre, présentation, contact...
  • Capability :
    • les requêtes supportées et les paramètres supportés
    • les formats des exceptions
    • les couches : nom, emprise, CRS... héritage entre les couches

GetMap - Requête (en 1.3.0)

Paramètre Valeur Description
service WMS
request GetMap
version 1.3.0
layers couche1,couche2 du "z-level" bas vers le haut
styles style1,style2 style1 pour la couche1 ...
crs ex : EPSG:2154 crs de sortie
bbox x1,y1,x2,y2 ordre xy ou yx selon le CRS
width en px largeur en sortie
height en px hauteur en largeur
format ex : image/jpeg selon les capacités du serveur

ainsi que transparent, bgcolor, time, elevation...

GetMap - Réponse (en 1.3.0)

http://wxs.ign.fr/wnow33wqimoktpt0unhgwo0m/inspire/v/wms?
SERVICE=WMS
&VERSION=1.3.0
&REQUEST=GetMap
&LAYERS=BU.Building,TN.RoadTransportNetwork,TN.RailTransportNetwork,AD.Address
&STYLES=inspire_common%3ADEFAULT
&FORMAT=image%2Fpng
&CRS=CRS%3A84
&BBOX=2.4202285299018094,48.844417603816055,2.426722157926865,48.846329254834885
&WIDTH=1210&HEIGHT=541
une requête wms

GetFeatureInfo - Requête (en 1.3.0)

Paramètre Valeur Description
Les paremètres de la requête GetMap (sauf request)
request GetFeatureInfo
query_layers couche1,couche3 sur quelle(s) couche(s) veut-on de l'information ?
info_format ex: text/html selon les capacités du serveur
i coordonnées du pixel de l'image GetMap
j "

ainsi que feature_count, exceptions

GetFeatureInfo - Réponse (en 1.3.0)

http://wxs.ign.fr/wnow33wqimoktpt0unhgwo0m/inspire/v/wms?[requête GetMap]
&REQUEST=GetFeatureInfo
&i=810&j=170
&query_layers=BU.Building,AD.Address
&info_format=text/plain

WMS avec OpenLayers 3

ol3 - Quick Start

ol3 - WMS

ol3 - WMS Tuilé

ol3 - WMS Tuilé + GetFeatureInfo

GetFeatureInfo sur les routes et les adresses.

WMS avec Leaflet

Leaflet - Quick Start

Leaflet - WMS sans plugin

Leaflet - WMS avec plugin

A vous de jouer avec les liens fournis plus haut.

Comment faire un serveur WMS ?

Voici un liste non exhaustive de serveurs :