A1.4 Descripteur de couches stylisées (SLD)

Le descripteur de couches stylisées (SLD) est une spécification complémentaire à la spécification de l'interface de serveur de cartes Web (WMS).

Le SLD offre le moyen de déterminer la représentation des données retournées par un serveur WMS. Par exemple, si la couche des plans d'eau sur un serveur WMS représente par défaut les entités hydrographiques en noir, le fait d'intégrer un SLD au serveur permet au client WMS de demander que les entités hydrographiques soient représentées en bleu.

Le SLD offre l'avantage suivant. Puisqu'un client WMS constitue l'outil de visualisation, il devrait pouvoir contrôler le plus possible la présentation de la carte, étant donné qu'il est l'outil dont se sert l'utilisateur pour définir les paramètres de visualisation de la carte. Le SLD offre au client WMS la possibilité de déterminer l'apparence de la carte, en plus du contrôle existant sur la combinaison des couches et la géométrie de visualisation. Si un client affiche des couches provenant de plusieurs serveurs WMS, alors le SLD de l'un ou de plusieurs de ces serveurs permet au client WMS de résoudre les conflits entre serveurs en ce qui a trait au style des couches. Il est même possible qu'un client transmette à l'utilisateur la possibilité de déterminer le style des couches, lui donnant ainsi la maîtrise totale de l'apparence de la carte.

Il faut noter que les serveurs WMS pourraient afficher les données qui proviennent de serveurs de fonctionnalités Web (WFS) ou de serveurs de couverture Web (WCS), mais comme le WMS est le service de représentation, c'est ce service qui interagit avec le SLD, plutôt que le WFS ou le WCS.

Le SLD est facultatif : il n'est pas pris en charge par tous les serveurs. Pour les serveurs WMS qui utilisent le SLD, il existe deux méthodes de spécification : soit du côté serveur, soit du côté client. La spécification du côté serveur exige du client qu'il intègre dans sa requête GetMap une liste des couches reconnues par le serveur et une liste correspondante des styles à utiliser pour chaque couche. La spécification du côté client est beaucoup plus puissante : il s'agit d'un document XML intégré à la requête GetMap qui est transmis au serveur WMS et qui contient la liste et les styles des couches. La puissance de cette caractéristique réside dans le fait que le document XML peut contenir des couches et des styles déterminés par l'utilisateur.

La figure 20, Style défini par l'utilisateur ou par le serveur, illustre comment les utilisateurs peuvent accéder au client de cartes WMS qui se raccorde à un ou à plusieurs serveurs WMS. Habituellement, les utilisateurs demandent l'affichage des couches avec les styles définis par les serveurs.

Dans le scénario à gauche du diagramme, le style des couches est défini par l'utilisateur, qui transmet le document au client WMS, lequel le transmet à son tour au serveur WMS (ou à plusieurs serveurs WMS) pour appliquer le style aux couches qui sont finalement retournées au client.

Figure 20 Style défini par l'utilisateur ou par le serveur

Figure 20 Style défini par l'utilisateur ou par le serveur

A1.4.1 Spécification d'implémentation

Les SLD sont implémentés pour déterminer des styles du côté serveur à l'aide d'une extension de la requête WMS GetMap. Une liste des couches auxquelles il faut attribuer un style est dressée au moyen du paramètre LAYERS de la requête et les styles correspondants (demandés) de ces couches sont attribués à l'aide du paramètre STYLES de la requête.

Par ailleurs, pour déterminer des styles du côté client, le document XML SLD est indiqué sous forme d'une URL dans le paramètre SLD de la requête GetMap, ou encore le contenu du document XML SLD peut être précisé dans l'URL GetMap en indiquant qu'il s'agit du contenu du paramètre SLD_BODY. On peut obtenir la spécification pour le document XML SLD à l'adresse http://www.opengis.org/docs/02-070.pdf. Si un utilisateur n'a pas accès à un serveur Web pour rendre son document visible pour Internet, alors la spécification du paramètre SLD_BODY serait avantageuse. Autrement, le paramètre SLD permet d'obtenir une URL plus concise.

Les extensions suivantes de la spécification du serveur WMS sont définies pour soutenir l'utilisation des descripteurs de couches stylisées :

Capabilities (capacités)

La spécification sur des capacités du WMS offre des extensions permettant d'indiquer si un serveur prend en charge des SLD et, le cas échéant, s'il prend en charge des couches et des styles définis par l'utilisateur, ainsi que des serveurs WFS ou WMS distants.

DescribeLayer (décrirecouche)

Il s'agit d'une interface facultative pour les serveurs WMS permettant de lister les couches qui proviennent de données d'entités et, le cas échéant, d'identifier le serveur WFS ou WCS pour une couche.

Couches définies par l'utilisateur

Une couche définie par l'utilisateur est un ensemble d'objets de types d'entités mixtes provenant d'un ou plusieurs serveurs WFS ou WCS. Des styles définis par l'utilisateur doivent être appliqués aux couches définies par l'utilisateur.

Styles définis par l'utilisateur

Des styles peuvent être définis à l'extérieur du serveur WMS. Ils sont transmis au serveur WMS pour la représentation de couches définies soit par le serveur, soit par l'utilisateur. La spécification des styles définis par l'utilisateur fait partie du document XML du descripteur de couches stylisées, qui est transmis du client WMS au serveur WMS.

A1.4.2 Exemples SLD

La figure 21 montre une carte topographique représentant les stations de distribution (EOSDIS) du « Earth Observing System » (EOS) pour l'Amérique du Nord.

Figure 21 Carte topographique des stations de distribution du système d'observation de la Terre pour l'Amérique du Nord

Figure 21 Carte topographique des stations de distribution du système d'observation de la Terre pour l'Amérique du Nord

L'URL du client WMS pour cette requête a la forme suivante. Il faut noter qu'aucune donnée n'a été indiquée pour le paramètre SLD :

http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeview/cubeview.cgi?clickMode=zoom+in& layerToQuery=%28none%29& pixelSensitivity=3& featureCount=5& dataStores=CEOWARE2& themes=Miscellaneous& layers=EOS+Data+Gateways& styles=%28default%29& action=+Go+& newScale=60M& newX=-99.374433& newY=55.27010487& predefinedLocations=%28choose%29& newImageWidth=560& newImageHeight=350& newImageType=image%2Fpng& newQuality=MEDIUM& zoomFactor=2& newSrs=4326+%28WGS+84%29& fromTime=1950-01-01+00%3A00%3A00& toTime=2049-12-31+23%3A59%3A59& layerToMultiband=%28none%29& redChannel=0& redGamma=1.00& greenChannel=0& greenGamma=1.00& blueChannel=0& blueGamma=1.00& postGamma=1.00& whereClauses=& serverUrl=http%3A%2F%2Fceoware2.ccrs.nrcan.gc.ca%2Fcubewerx%2Fcubeserv%2Fcubeserv.cgi& sldUrl=& layersToPlot=EOS+Data+Gateways%2CPolitical+Boundaries%2CCoastlines%2CGlobal+5+Minute+Elevations& password=bob& currentY=59& currentX=-7& currentScale=60M& currentImageWidth=560& currentImageHeight=350& currentSrs=EPSG%3A4326& currentImageType=image%2Fpng& currentQuality=MEDIUM

Lorsqu'un descripteur de couches stylisées fourni par l'utilisateur est transmis dans la requête GetMap du côté client, les icônes fournies par l'utilisateur peuvent remplacer les étiquettes préétables affichées dans les sites de l'EOSDIS, comme le montre la figure 22.

Figure 22 Utilisation d'un SLD fournissant des icônes

Figure 22 Utilisation d'un SLD pour fournir des icônes
plutôt que des étiquettes préétablies

Dans l'URL du client WMS pour cette deuxième requête ci-après, il faut noter que le paramètre SLD pointe vers un document SLD du côté client :

http://ceoware2.ccrs.nrcan.gc.ca/cubewerx/cubeview/cubeview.cgi?imageClick.x=271& imageClick.y=215& clickMode=recenter& layerToQuery=EOS+Data+Gateways& pixelSensitivity=3& featureCount=5& dataStores=CEOWARE2& themes=Miscellaneous& layers=EOS+Data+Gateways& styles=%28default%29& newScale=60M& newX=-99.374433& newY=55.27010487& predefinedLocations=%28choose%29& newImageWidth=560& newImageHeight=350& newImageType=image%2Fpng& newQuality=MEDIUM& zoomFactor=2& newSrs=4326+%28WGS+84%29& fromTime=1950-01-01+00%3A00%3A00& toTime=2049-12-31+23%3A59%3A59& layerToMultiband=%28none%29& redChannel=0& redGamma=1.00& greenChannel=0& greenGamma=1.00& blueChannel=0& blueGamma=1.00& postGamma=1.00& whereClauses=& serverUrl=http%3A%2F%2Fceoware2.ccrs.nrcan.gc.ca%2Fcubewerx%2Fcubeserv%2Fcubeserv.cgi& sldUrl=http%3A%2F%2Fceoware2.ccrs.nrcan.gc.ca%2Ftkralidi%2Feosdis_eg.sld& layersToPlot=EOS+Data+Gateways%2CPolitical+Boundaries%2CCoastlines%2CGlobal+5+Minute+Elevations& password=bob& currentY=55.2701048695176& currentX=-99.3744330047655& currentScale=60M& currentImageWidth=560& currentImageHeight=350& currentSrs=EPSG%3A4326& currentImageType=image%2Fpng& currentQuality=MEDIUM

 

<< Précédent  |  Accueil  |  Début de la page  |  Table des matières  |  Suivant >>