Le Web Map Service (WMS) est un standard OGC de service web qui permet de produire dynamiquement des cartes à partir de données géoréférencées. Sa mise en œuvre suppose l'utilisation d'un serveur WMS, capable d'accéder aux données, de les lire et de les dessiner avec une mise en forme particulière, et d'un client WMS, capable d'adresser au serveur des requêtes standardisées utilisant les mots-clés prévus à cet effet. Le serveur WMS doit également pouvoir les comprendre et œuvrer en conséquence.
Cela sert à deux familles d'usage : voir à quoi ressemble une série de donnée, et superposer des couches (layers) provenant de serveurs différents pour en tirer des analyses supplémentaires.
La spécification WMS normalise la manière selon laquelle des applications clientes doivent demander une carte et la manière selon laquelle les serveurs doivent décrire les données qu'ils sont capables de fournir.
Un service WMS produit des cartes sous forme d'images : dans des formats tels que JPEG, PNG et GIF, par exemple. Certains formats gèrent la transparence, permettant ainsi la superposition de différentes couches.
A noter que, dans la Communauté européenne, et dans le cadre de la directive INSPIRE, le règlement relatif aux services de consultation, Annexe III part B impose de prendre en charge au moins un des formats suivants : PNG ou GIF sans compression.
Le standard WMS comprend trois types principaux d'opérations :
La deuxième opération (GetMap) correspond ainsi à une fonctionnalité de visualisation tandis que la troisième opération (GetFeatureInfo) correspond à une fonctionnalité d'interrogation.
Les informations listées dans cette section sont issues de la documentation du standard WMS version 1.3.0. Certaines parties peuvent avoir évolué depuis les versions précédentes et pourront éventuellement évoluer dans les versions à venir.
Les noms des paramètres (exemple REQUEST
) ne sont pas sensibles à la casse contrairement aux valeurs (exemple GetCapabilities
). Par contre il est conseillé d'écrire les paramètres en majuscule pour une meilleure lisibilité. Les paramètres peuvent être définis dans n'importe quel ordre.
Les listes de valeurs doivent utiliser la virgule comme séparateur.
Paramètres obligatoires :
SERVICE=WMS
: nom du service.REQUEST=GetCapabilities
: type de requête. Dans cet exemple GetCapabilities.Paramètres optionnels :
VERSION=version
: numéro de la version, 1.3.0 par exemple.FORMAT=MIME_Type
: format de rendu.UPDATESEQUENCE=chaîne
: Permet de maintenir la cohérence du cache. Sa valeur peut être soit un entier, soit une chaine de caractère qui représente un timestamp ou tout autre chaine.La réponse est un fichier XML.
Exemple :
http://geoservices.brgm.fr/geologie?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities
Lorsque deux cartes sont produites sur la même emprise, possèdent le même système de référence spatial et la même taille, elles peuvent être superposées avec précision et constituer une nouvelle carte.
L’utilisation de formats d’image qui supportent des arrière-plans transparents (GIF ou PNG par exemple) permet de voir les différents objets représentées sur les différentes cartes superposées. De plus, les cartes peuvent provenir de différents serveurs distribués, et être superposées par l’application cliente avec laquelle dialogue le navigateur Web de l’utilisateur.
Paramètres obligatoires :
VERSION=version
: numéro de la version, 1.3.0 par exemple.REQUEST=GetMap
: type de requête.LAYERS=couche_1,couche_2,couche_3
: liste des couches.STYLES=style_couche_1,style_couche_2,style_couche_3
: styles à utiliser (1 style par couche demandée).CRS=espace_de_nom:identifiant_du_crs
: système de coordonnées à utiliser. La valeur de ce paramètre doit être une de celles publiées par le service au travers de la réponse à l'opération GetCapabilities. Exemples de valeurs couramment utilisées : EPSG:4326, EPSG:3785, CRS:84, BBOX=xmin,ymin,xmax,ymax
: coordonnées de la zone demandée dans la projection définie par le paramètre CRS, et dans l'ordre attendu par celui-ci.WIDTH=x
: largeur de la carte en pixel.HEIGHT=y
: hauteur de la carte en pixel.FORMAT=MIME_Type
: format de la réponse. En général une image, mais services WMS sont capables de produire autre chose qu'une image : un fichier KML par exemple.Paramètres optionnels :
TRANSPARENT=true/false
: transparence de l'arrière-plan de la carte. Non activé par défaut (FALSE).BGCOLOR=couleur
: valeur hexadecimale de la couleur de l'arrière plan de la carte. Par défaut en blanc (0xFFFFFF).EXCEPTIONS=format_exception
: format de retour des exceptions transmises par le service WMS. Exemple de valeur : “application/vnd.ogc.se_inimage”. Au format XML par défaut. Autres valeurs possibles : BLANCK, INIMAGE.TIME=time
: date de la couche demandée (pour du WMS-T)ELEVATION=elevation
: altitude
La réponse est une carte (le plus souvent une image consultable dans un simple navigateur web).
Exemple (carte de la température de surface des mers fournie par un service de la NOAA) :
http://oceanwatch.pfeg.noaa.gov/thredds/wms/SODA/2.0.3?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=temp&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&CRS=CRS%3A84&BBOX=-10,30,20,60&WIDTH=256&HEIGHT=256
Paramètres obligatoires :
VERSION=1.3.0
REQUEST=GetMap
BBOX
: emprise de la zone de rechercheCRS
: système de Référence SpatialQUERY_LAYERS=
: liste des couchesINFO_FORMAT=
: format de sortie (par défaut xml)I=
: colonne de pixelJ=
: ligne de pixelParamètres optionnels :
FEATURE_COUNT=nombre d'objets maximum à retourner
EXCEPTIONS=format_exception
, voir plus ci-dessus pour les valeurs possibles.Le Système de Coordonnées de Référence, tel que défini par l’OGC, est un paramètre textuel identifiant l'identifiant d'un système de coordonnées de référence horizontal précédé d'un espace de noms.
Les spécifications WMS mentionnent 3 espaces de noms: EPSG , CRS et AUTO.
Attention, certains codes peuvent sembler équivalents mais ne le sont pas. Par exemple, CRS:84 et EPSG:4326 correspondent tous les deux à WGS84 mais l'ordre des coordonnées est inversée : (lon,lat) pour le CRS:84 et (lat,lon) pour EPSG:4326. A noter que le respect de l'ordre des coordonnées induit par le CRS utilisé est un écueil important rencontré par nombre d'implémentations de WMS : en règle général, les implémentations de WMS 1.1.1 utilisent l'ordre (lon,lat) pour les systèmes de coordonnées non projetés de l'EPSG (une erreur provenant des spécifications 1.1.1) alors que pour les implémentations 1.3.0 cette erreur a tendance à se résorber.
Application dans le cadre de la directive INSPIRE : selon le règlement relatif à l’interopérabilité des séries et des services de données géographiques, “les référentiels de coordonnées disponibles comprennent, au minimum, les référentiels pour les coordonnées géodésiques bidimensionnelles (latitude, longitude)”.
En savoir plus sur les CRS.
L'emprise définit l'étendue du champ cartographique que vous désirez afficher dans les coordonnées du CRS choisi.
Selon les spécifications WMS de l’OGC, l'emprise (Bounding Box, BBOX) est un ensemble de quatre valeurs décimales. Ces valeurs définissent dans cet ordre les X et Y minima et les X et Y maxima exprimés dans les unités du CRS de la requête, de telle sorte qu'une zone rectangulaire est ainsi définie dans ces unités. Une emprise ne peut avoir une surface nulle.
En savoir plus sur le terme emprise.
Pour trouver des applications (serveurs et clients) supportant le WMS :
Pour trouver un serveur WMS actif :
Web Map Service (WMS)
Ce document provient de « http://georezo.net/wiki/main/standards/wms ».
Dernière modification de cette page le 13 Septembre 2010.
Contributeurs : Adrian Custer, Benjamin Chartier, François Robida, Guillaume Sueur, Hervé Caumont, Marc Leobet, Marie-Françoise Voidrot, Michel Rosio, Nicolas Klein, Olivier Courtin, Yves Jacolin.
Forum français de l’OGC
Groupe OGC de l’Afigéo