- Vous êtes ici: Accéder au Wiki GeoRezo » Accueil : Wiki GeoRezo » Les standards de l'OGC » Styled Layer Description (SLD)
Table des matières
Styled Layer Description (SLD)
Description
Le standard SLD ajoute de nouvelles fonctionnalités aux standards WMS. Ces ajouts concernent la gestion de la sémiologie des couches côté serveur afin de modifier ou récupérer les styles des couches au niveau du serveur et côté client dans la mesure où il propose un langage XML pour définir la sémiologie d'une couche.
Le standard SLD peut être donc découpé en deux parties :
- la description sémiologique de rendu des couches en xml ;
- la description des requêtes afin d'agir sur les styles côté serveur.
Le standard SLD repose sur un autre standard appelé SE (Style Encoding) qui décrit la sémiologie d'une couche en xml.
Fonctionnement
Comme tout standard, celui du SLD propose une structuration des URL pour réaliser différentes types de requête :
- DescribeLayer : récupère la description des couches ;
- GetStyles : récupère les styles au format XML ;
- PutStyles : envoie des styles au serveur ;
- GetLegendGraphic : récupère la légende d'une couche au format image.
Requêtes
DescribeLayer
Permet d'obtenir des informations sur la couche, telle que le type de données (raster, polygon, point ou ligne).
GetStyles
Permet d'obtenir les styles pour chaque couches au format XML.
Les paramètres obligatoires sont :
- LAYERS = nomCouche : nom des couches dont on veut récupérer le style
- VERSION = x.y.z : numéro de la version du standard à utiliser (1.1.0 par exemple)
- REQUEST = GetStyles : type de requête
Les paramètres optionnels sont :
- SLDVER = 1.0.0
PutStyles
Modifie le style d'une couche.
Les paramètres obligatoires sont :
- VERSION = x.y.z : numéro de la version du standard à utiliser (1.1.0 par exemple)
- REQUEST = PutStyles : type de requête
- MODE= :
Les paramètres optionnels sont :
- SLD= : url vers un fichier SLD à envoyer au serveur
- SLD_BODY= : description en XML des styles à envoyer au serveur
GetLegendGraphic
Permet d'obtenir une légende au format image.
Les paramètres obligatoires sont :
- LAYER =nomCouche : nom de la couche dont on veut récupérer la légende
- VERSION = 1.1.0 (par exemple) : numéro de la version du standard à utiliser (1.1.0 par exemple)
- REQUEST = GetLegendGraphic: type de requête
- FORMAT=jpeg : format de l'image de légende
Les paramètres optionnels sont :
- STYLE : nom du style à utiliser. Ce style doit être définie côté serveur (voir GetCapabilities du standard WMS pour récupérer la liste des styles proposés par le service WMS).
- FEATURETYPE :
- RULE : Nom de la classe qui sera utilisé comme symbole pour la représentation dans une image comprenant uniquement le symbole (sans texte)
- SCALE : échelle de réprésentation à utiliser pour la légende (dans le cas où plusieurs niveaux d'échelle sont utilisés pour la représentation)
- SLD : url vers un fichier SLD à envoyer au serveur
- SLD_BODY : description en XML des styles à envoyer au serveur
- WIDTH : largeur de la légende
- HEIGHT : hauteur de la légende
- EXCEPTIONS : gestion des erreurs (image blanche, code xml, erreur dans une image)
Voici un exemple de requête GetLegendGraphic issu de l'exemple GetMap du standard WMS : http://oceanwatch.pfeg.noaa.gov/thredds/wms/SODA/2.0.3?SERVICE=SLD&VERSION=1.1.0&REQUEST=GetLegendGraphic&LAYER=temp&LAYERS=temp&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&FORMAT=image%2Fjpeg&WIDTH=256&HEIGHT=256
SLD et WMS
Comme dit dans l'introduction le standard SLD permet d'étendre le standard WMS. On retrouve ainsi le paramètre SLD ou SLD_BODY dans les requêtes WMS compatible SLD. Ces deux paramètres exclusifs l'un l'autre permettent de définir la sémiologie d'une couche via respectivement un fichier SLD disponible par Internet (paramètre SLD) et directement en XML dans l'URL (paramètre SLD_BODY).
Bibliographie
- WMS et Représentation multiples - Intégration de la spécification SLD dans le Géoproxy; Travail de semestre de Nicolas Ferreira - HEIG-VD (2008): http://www.asitvd.ch (publication / rapports)