Descripteur de couches stylisées (SLD)
Aperçu
Un descripteur de couches stylisées (SLD) permet à un utilisateur et à un logiciel de commander l’apparence visuelle des données géospatiales. La définition des règles de style nécessite un langage que peuvent comprendre le client et le serveur. Le descripteur de couches stylisées procure un protocole de style cartographique qui permet la communication avec un service de cartes Web (WMS) de l’OGC® afin de définir l’apparence des couches cartographiques.
Les symboles utilisés dans les couches cartographiques sont décrits dans la OpenGIS® Symbology Encoding Implementation Specification.
Norme
OpenGIS® Styled Layer Descriptor Profile of the Web Map Service Implementation Specification
Renseignements connexes
Service d'entités géographiques Web (WFS)
Note
La spécification du descripteur de couches stylisées a été élaborée par l’Open Geospatial Consortium (OGC).
Information supplémentaire - descripteur de couches stylisées (SLD)
Élaboration de la spécification SLD
Couches stylisées cartographiques
Amélioration de l’opération GetCapabilities du service de cartes Web
Requête GetMap au moyen du SLD
Élaboration de la spécification SLD
En 2007, la spécification SLD a été divisée en deux nouvelles spécifications :
- OpenGIS® Styled Layers Descriptor Profile of the Web Map Service Implementation Specification;
- OpenGIS® Symbology Encoding Implementation Specification.
La spécification de mise en œuvre du descripteur de couches stylisées comprend maintenant seulement le protocole de communication avec un service de cartes Web (WMS) qui définit la manière d’afficher une couche. La description réelle des symboles inclus dans la couche relève maintenant exclusivement de la spécification de mise en œuvre du codage des symboles, qui permet la réutilisation des éléments, non spécifique au service de cartes Web (WMS), par d’autres spécifications de service de cartes, comme le service d’entités géographiques Web (WFS) et le service de couverture Web (WCS).
Couches stylisées cartographiques
Un descripteur de couches stylisées (SLD) est un ajout à une spécification de mise en œuvre du service de cartes Web (WMS) OpenGIS®. Le profil SLD d’un tel service définit un codage qui s’ajoute à la norme WMS pour permettre l’application de la spécification de mise en œuvre de l’encodage de symboles OpenGIS® à une couche WMS au moyen d’extensions des opérations WMS. En outre, le descripteur de couches stylisées définit une opération pour accéder de manière uniformisée aux symboles de la légende.
L’information présentée dans le présent document décrit le descripteur de couches stylisées à un niveau suffisant pour permettre à quiconque d’en comprendre l’utilisation dans le contexte général de l’ICDG. Ce qui distingue le descripteur de couches stylisées des autres approches est la nécessité de soutenir une infrastructure de données géospatiales reposant sur un modèle de service réparti et coopératif. Ce descripteur a pour objectif général de fournir des services Web cartographiques compatibles, où l’apparence d’une seule carte intégrée produite dynamiquement à partir d’une grande infrastructure obtempère et satisfait aux exigences uniformisées en matière de couches et de symboles cartographiques.
Les éléments SLD décrivent, au moyen de l’encodage de symboles (SE), une symbolisation définie par l’utilisateur, qui repose sur l’intégration réglementée de couches et de styles définis par l’utilisateur et sur leur lien avec les symboles. Un service de cartes Web se sert d’un descripteur pour symboliser des entités en fonction du contenu d’un document SLD. D’un point de vue conceptuel, l’apparence d’une carte peut être décrite au moyen de « couches stylisées ». Une couche stylisée est une feuille transparente contenant des entités géographiques symbolisées au moyen de l’encodage de symboles (SE). En conséquence, une carte se compose d’un certain nombre de « couches stylisées » assemblées dans un ordre précis. Pour créer une carte simple ou très complexe, il suffit d’ajouter et de supprimer des couches stylisées dans un document SLD. Une couche, du point de vue conceptuel, définit une chaîne d’entités géographiques et l'encodage de symboles (SE) définit la méthode de symbolisation de ces entités.
Description fonctionnelle
Dans le cadre du présent document, un service de cartes Web (WMS) respectant la spécification de l’OGC® utilise un descripteur de couches stylisées (SLD). Le descripteur améliore l’apparence d’une carte au moyen d’une symbolisation définie par l’utilisateur (encodage de symboles (SE)). Selon la spécification WMS de l’OGC®, on obtient une carte au moyen de l’opération GetMap. Ce mécanisme permet la mise en œuvre d’un descripteur de couches stylisées pour améliorer la capacité d’un service de cartes Web. Un descripteur de couches stylisées contient l’apparence d’une carte au moyen du codage XML.
Couches et styles
La section « Couches et styles » d’un document SLD comporte les éléments suivants :
- NamedLayer qui tient lieu d’attribut de « nom » pour désigner une couche connue du service de cartes Web et qui ne contient aucun style ou en contient un ou plusieurs, p. ex., NamedStyles ou UserStyles (en l’absence de tout style, la couche utilise le style implicite);
- UserLayer peut contenir au moins un style défini par l’utilisateur. Une couche définie par l’utilisateur peut également diriger un service de cartes Web vers un serveur du service d’entités géographiques Web (WFS) particulier pour accéder aux données relatives aux entités. Une couche définie par l’utilisateur peut comporter de nombreux types d’entités géographiques en raison de son équivalence sémantique avec une couche désignée. Tous les types d’entités géographiques d’une couche définie par l’utilisateur proviennent du même service d’entités géographiques Web (WFS). Un style défini par l’utilisateur permet à l’utilisateur de définir un style qui est l’équivalent sémantique d’un style désigné au sens où un style désigné peut tenir lieu de référence à un style défini par l’utilisateur enregistré sur un serveur cartographique. Un style défini par l’utilisateur peut contenir au moins une règle de rendu conditionnel des symboles.
Une règle définit une condition pour une couche et regroupe des symboles individuels en vue du rendu. Une règle peut comporter un seul type d’entités.
Architecture du SLD
L’architecture du SLD présenté à la figure 1 illustre le rôle d’un descripteur dans trois mises en œuvre types d’un moteur de rendu. La structure du descripteur, représentée par sa définition de type de document XML, et son contenu, représenté par le document XML, forment un modèle commun pour tous les types de moteurs de rendu. Le descripteur de couches stylisées de chaque moteur reconnu par le service de cartes Web a été activé. Ainsi, chaque service de cartes Web peut annoncer sa fonction SLD et répondre à une requête cartographique qui comprend un descripteur de couches stylisées (SLD).
Amélioration de la fonction GetCapabilities du service de cartes Web
L’opération GetCapabilities d’une interface du service de cartes Web est accessible par HTTP GET ou HTTP POST. Une requête GetCapabilities produit un document XML à l’intention du service de cartes Web et contient tous les renseignements nécessaires pour permettre à une application cliente de formuler une requête cartographique valable. Par exemple, le document des fonctions d’un service de cartes Web comporte toutes les NamedLayers (couchesdésignées) reconnues par un WMS. Une requête GetMap n’est par conséquent pas valable si elle renvoie à une NamedLayers (couche désignée) inconnue du WMS. Pour assurer l’interaction valable avec le WMS à l’appui du descripteur de couches stylisées, la réponse du service de cartes Web doit être améliorée pour inclure les renseignements suivants :
- appui du descripteur de couches stylisées (SLD);
- appui des couches définies par l’utilisateur;
- appui des styles définis par l’utilisateur;
- appui de l’accès à un service de cartes Web distant;
- appui aux méthodes HTTP GET et POST.
Pour indiquer qu’un service de cartes Web ne reconnaît pas les NamedLayers et NamedStyles (couches et les styles désignés), par exemple, son document XML doit indiquer que l’opération GetCapabilities ne produit aucun élément d’une couche. Cette approche permet le soutien des styles définis par l’utilisateur, même si les couches définies par l’utilisateur ne sont pas reconnues.
Requête GetMap au moyen d’un descripteur (SLD)
Deux méthodes permettent à une application cliente d’utiliser le descripteur de couches stylisées et la symbologie définie par l’utilisateur :
1re méthode : l’application cliente communique avec un service de cartes Web au moyen de HTTP GET, mais la requête fait référence à un descripteur distant;
2e méthode : l’application cliente communique avec un service de cartes Web au moyen de HTTP POST et une requête codée en langage XML comportant un descripteur.
Il est important de noter que, dans les deux cas, le service de cartes Web n’a aucune connaissance préalable du contenu du descripteur de couches stylisées (SLD).
1re méthode: Cette méthode permet à une application cliente de commuter entre un nombre de cartes définies, chacune commandée par son propre descripteur de couches stylisées défini. Le prochain exemple montre une requête GetMap qui recourt à un descripteur de couches stylisées et à l’opération HTTP GET :
http://yourfavoritesite.com/WMS?
Version=1.0.8& REQUEST=GetMap& SRS=EPSG:4326& BBOX=0.0,0.0,1.0,1.0& LAYERS=Rivers, Roads, Houses& STYLES=CenterLine, CenterLine, Outline& WIDTH=400& HEIGHT=400& FORMAT=PNG
2e méthode: Cette méthode permet à une application cliente de définir de manière interactive l’affichage d’une carte par la définition « ponctuelle » du descripteur de couches stylisées. Le prochain exemple montre la méthode utilisée pour communiquer avec un service de cartes Web, c.-à-d. l’opération HTTP POST, qui nécessite un codage XML de la requête cartographique :
<?xml version=”1.0” encoding=”UTF-8”?> <!DOCTYPE GetMap SYSTEM “GetMap.DTD”> <GetMap>
<Format>
<PNG /> <PNG />
</Format> <BoundingBox SRS=”EPSG:4326” minx=”0.0” miny=”0.0” maxx=”1.0” maxy=”1.0” /> <!- - Le descripteur de couches stylisées - début. - - > <StyledLayerDescriptor>
<NamedLayer name=”Rivières”>
<NamedStyle name=”CenterLine”/>
</NamedLayer> < NamedLayer name=”Routes”>
<NamedStyle name=”CenterLine”/>
</NamedLayer> < NamedLayer name=”Maisons”>
<NamedStyle name=”Outline”/>
</NamedLayer>
</StyledLayerDescriptor> <!- - Le descripteur de couches stylisées - fin. - - > <Width>
400
</Width> <Height>
400
</Height>
</GetMap>
Détails de la page
- Date de modification :