Utilisation de descripteurs SLD avec les services WMS
Les descripteurs SLD (Styled Layer Descriptor) vous permettent de publier des structures de symbolisation pour votre service WMS à l’aide d’une spécification XML définie par l’OGC (Open Geospatial Consortium, Inc.) Les clients de votre service peuvent également utiliser leurs propres descripteurs SLD pour appliquer les symboles de leur choix.
Fichiers et styles des descripteurs SLD
Un fichier SLD est un fichier XML qui respecte la syntaxe SLD de l’OGC afin qu’il soit compris lors des communications serveur-client.
Les styles SLD sont physiquement enregistrés dans le fichier SLD. De façon logique, un style SLD définit des règles de symbolisation pour des ensembles d’entités spécifiés au sein d’une couche WMS donnée. Un style peut comporter plusieurs règles, et chaque règle peut compter un filtre décrivant quelles entités doivent être affichées et plusieurs symboles décrivant comment ces entités doivent être affichées.
Voici un document XML SLD d’exemple :
<sld:StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd">
<!--
ESRI_StatesCitiesRivers_USA @
http://sampleserver1.arcgisonline.com/arcgis/services/Specialty/ESRI_StatesCitiesRivers_USA/MapServer/WMSServer?
-->
<sld:NamedLayer>
<!--
layer "2" is the "cities" point layer in the WMS service
-->
<sld:Name>2</sld:Name>
<sld:UserStyle>
<!--
style should be applied on layer "2", reference the style by it's name "pointSymbolizer"
-->
<sld:Name>pointSymbolizer</sld:Name>
<sld:Title>pointSymbolizer</sld:Title>
<sld:FeatureTypeStyle>
<sld:Rule>
<sld:PointSymbolizer>
<sld:Graphic>
<sld:Mark>
<!-- uses a circle to mark a city -->
<sld:WellKnownName>circle</sld:WellKnownName>
<!-- fill circle with color #666666 -->
<sld:Fill>
<sld:CssParameter name="fill">#666666</sld:CssParameter>
<sld:CssParameter name="fill-opacity">1</sld:CssParameter>
</sld:Fill>
<!-- circle boundary with color #666666 -->
<sld:Stroke>
<sld:CssParameter name="stroke">#666666</sld:CssParameter>
<sld:CssParameter name="stroke-opacity">1</sld:CssParameter>
<sld:CssParameter name="stroke-width">1</sld:CssParameter>
</sld:Stroke>
</sld:Mark>
<!-- circle opacity 1.0 -->
<sld:Opacity>1</sld:Opacity>
<!-- circle size "3" -->
<sld:Size>3</sld:Size>
<sld:Rotation>0</sld:Rotation>
</sld:Graphic>
</sld:PointSymbolizer>
</sld:Rule>
</sld:FeatureTypeStyle>
</sld:UserStyle>
</sld:NamedLayer>
</sld:StyledLayerDescriptor>
L’implémentation du descripteur SLD WMS dans ArcGIS Server est basée sur la spécification de l’implémentation des descripteurs SLD de l’OGC. Pour obtenir une présentation générale du descripteur SLD, consultez la page Styled Layer Descriptor sur le site Web de l’OGC.
Prise en charge des descripteurs SLD WMS dans ArcGIS Server
ArcGIS Server prend en charge la spécification d’implémentation des descripteurs SLD WMS version 1.0.0. Pour obtenir une vue d’ensemble du descripteur SLD, consultez la page Styled Layer Descriptor sur le site Web de l’OGC.
Les éléments spécifiques du descripteur SLD pris en charge ou non par les services WMS ArcGIS Server sont répertoriés ci-dessous.
Éléments SLD pris en charge
Les éléments du descripteur SLD suivants sont pris en charge par les services WMS ArcGIS Server :
sld:WellKnownName (les valeurs prises en charge sont square, circle, triangle, star, cross, x)
Éléments SLD non pris en charge
Les éléments du descripteur SLD suivants ne sont pas pris en charge par les services WMS ArcGIS Server :
Symboliseur d’entité et type de géométrie
Dans la version 10.7, les symboliseurs d’entité LineSymbolizer, PolygonSymbolizer et PointSymbolizer peuvent être utilisés pour symboliser n’importe quel type de géométrie d’entité. Ainsi, PointSymbolizer peut être employé pour symboliser une entité surfacique. Le tableau suivant dresse la liste des comportements lorsque le symboliseur utilisé ne correspond pas à son type de géométrie natif :
|
Ligne |
Polygone |
Point |
|
|
LineSymbolizer |
|
|
|
|
PolygonSymbolizer |
|
|
|
|
PointSymbolizer |
|
|
|
Publication de plusieurs styles avec les descripteurs SLD
Vous pouvez utiliser le workflow suivant afin de publier plusieurs styles pour les couches WMS à l’aide du descripteur SLD :
Créez un service WMS avec des fichiers de fonctionnalités générés par le système.
Créez un document XML SLD qui définit plusieurs styles pour chaque couche dans le service WMS.
Liez le fichier XML SLD au service WMS.
Pour ce faire, suivez ces étapes :
Dans ArcGIS Server Manager :
Publiez un service WMS en suivant les instructions fournies à la rubrique Services WMS.
Créez, dans la syntaxe SLD, un document XML qui définit des styles supplémentaires pour chaque couche WMS à publier. Vous pouvez enregistrer ce document XML SLD sur le disque local ou le rendre accessible sous forme d’URL.
Ouvrez le gestionnaire et connectez-vous. Si vous avez besoin d’aide pour cette étape, reportez-vous à la rubrique Se connecter au gestionnaire.
Cliquez sur Services > Manage Services (Gérer les services).
Dans le module Manage Services (Gérer les services), repérez le service désiré et cliquez sur Edit (Modifier)
. Si votre service n’apparaît pas dans la liste, recherchez-le dans un sous-dossier du dossier Site (root).Dans le module d’édition, cliquez sur Fonctionnalités.
Dans la liste des fonctionnalités, cliquez sur WMS et vérifiez que WMS est activé.
Dans la liste **Configuration du WMS **, vous verrez la zone de texte Chemin ou URL du SLD. Saisissez l’URL de votre document XML SLD ou utilisez l’explorateur de fichiers pour le rechercher sur le disque.
Cliquez sur Save and Restart (Enregistrer et redémarrer). Les modifications apportées au service sont appliquées sur-le-champ.
Remarques :
Pour vérifier que le fichier XML SLD est correctement lié au service WMS, effectuez l’une des opérations suivantes :
Emettez une demande WMS GetCapabilities dans le navigateur. Dans la réponse XML, un élément