Encodage de symboles (SE)
Aperçu
L’encodage de symboles (SE) précise le format d’un langage de style cartographique qui peut être appliqué aux données numériques d’une entité et d’une couverture afin de produire des cartes géoréférencées comportant un style défini par l’utilisateur.
Nous ne pouvons pas insister davantage sur l’importance de la représentation visuelle des données géographiques. Les compétences en affichage des données (sous forme d’une carte ou d’un tableau) permettent la transformation de données brutes en outil d’explication ou d’aide à la décision. La commande précise de la représentation graphique des données constitue une exigence fondamentale de toute communauté professionnelle de cartographie.
Norme
OpenGIS® Symbology Encoding Implementation Specification
Renseignements connexes
Descripteur de couches stylisées (SLD)
Service d’entités géographiques Web (WFS)
Service de couverture Web (WCS)
Note
La spécification d’encodage des symboles (SE) a été élaborée par l’Open Geospatial Consortium (OGC)®.
Information supplémentaire – encodages de symboles (SE)
Élaboration de la spécification du codage de symboles
Style d’une carte au moyen du codage de symboles
Éléments d’entités géographiques et de couverture
Élaboration de la spécification d’encodage de symboles
À l’origine, l’encodage des symboles faisait partie de la spécification du descripteur des couches stylisées (SLD), mais en 2007, cette spécification a été divisée en deux nouvelles spécifications :
- profil du descripteur de couches stylisées SLD) de la spécification de mise en œuvre du service de cartes Web;
- spécification de mise en œuvre de l’encodage des symboles.
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 de l’encodage des symboles, qui permet la réutilisation des éléments autres que service de cartes Web (WMS) par d’autres spécifications de service cartographique, comme le service d’entités géographiques Web (WFS) et le service de couverture Web (WCS).
Style d’une carte au moyen de l’encodage de symboles
L’encodage des symboles (SE) définit un schéma XML servant à établir le style des données d’entités géographiques et de couverture. Ces styles visent soit certains types d’entités, soit des types de couverture, selon le type de données utilisées.
Parce que l’encodage des symboles est un vocabulaire de stylisation des données cartographiques distinct de toute spécification d’interface de service, divers services peuvent l’utiliser pour établir le style des données géoréférencées ou enregistrer des données de style utilisables par d’autres services.
L’encodage des symboles respecte le modèle du service Web de l’OGC® et considère que la symbolisation participe à une opération répartie, outre une opération centralisée appuyée par la plupart des produits des SIG. En conséquence, il devient possible de demander une seule carte intégrée sur l’internet créée dynamiquement et composée d’entités provenant d’un grand nombre de sources de données ainsi que d’obtenir une carte cohérente, même si les serveurs cartographiques qui fournissent les parties de la carte proviennent d’une diversité de fournisseurs.
La spécification du service de cartes Web (WMS) de l'OGC permet à un fournisseur d’information de préciser des options très élémentaires de style par l’indication d’une collection de représentations visuelles de chaque ensemble de données offert. Toutefois, bien qu’un service de cartes Web puisse offrir à un utilisateur un choix d’options de style, ce service de cartes Web peut seulement donner à l’utilisateur le nom de chaque style. Il ne peut pas indiquer à l’utilisateur l’apparence du style sur la carte. L’aptitude d’un utilisateur ou d’un logiciel de définir ces règles exige un langage de stylisation que doivent comprendre le client et le serveur. Ce langage uniformisé, appelé encodage des symboles (SE), peut servir à représenter le résultat d’un service de cartes Web (WMS), d’un service d’entités géographiques Web (WFS) ou d’un service de couverture Web (WCS).
Éléments d’entités géographiques et de couverture
L’encodage de symboles définit les éléments utilisés pour représenter les entités géographiques et les couvertures. L’élément fondamental d’encodage particulier des symboles est, par conséquent, un style de type d’entités ou un style de couverture. Ces éléments comprennent tous les renseignements nécessaires à la stylisation des données, comme les filtres (pour inclure ou exclure des données) et divers types de symboles. Les prochains paragraphes décrivent certains éléments utilisés dans l’encodage des symboles (SE).
- L’élément Name est utilisé avec la plupart des « objets » définis par l’encodage des symboles pour en permettre la référence. Chaque nom doit être unique dans le contexte où il est défini.
- L’élément Description est également utilisé dans l’encodage des symboles. Il donne une description informative de l’objet défini. Cette information peut être extraite et utilisée pour créer des métadonnées informelles que l’on peut chercher dans un système de catalogage. Par la suite, d’autres champs de métadonnées pourraient être ajoutés à cet élément. Noter que l’élément Name ne fait pas partie de l’élément Description parce qu’il a une fonction plus précise que la simple description.
-
L’élément OnlineResource est utilisé à divers endroits dans l’encodage de symboles pour faire référence à des documents externes. Son usage le plus répandu est avec les champs xlink:type et xlink:href pour renvoyer à un simple lien, comme suit :
<OnlineResource xlink:type="simple" xlink:href="http://somesite.com/something.xml"/>
Une méthode fréquente d’utiliser l’élément OnlineResource lorsque ce dernier renvoie à un fichier XML consiste à traiter le contenu comme s’il apparaissait directement dans la ligne.
Un bref aperçu des éléments qui comprennent les deux éléments fondamentaux d’encodage de symboles, FeatureTypeStyle et CoverageStyle, apparaît ci-dessous. Des renseignements supplémentaires des éléments qui comprennent l’encodage de symboles font partie de la spécification de mise en œuvre de l’encodage de symboles.
Élément FeatureTypeStyle
L’élément Version est un attribut optionnel de l’élément FeatureTypeStyle; il désigne le numéro de la version de l’encodage de symboles qui correspond à l’élément FeatureTypeStyle.
Un élément FeatureTypeStyle peut comporter un élément Name et un élément Description. L’élément Description vise des renseignements lisibles par une personne. Optionnellement, l’élément Name peut servir à référencer un élément FeatureTypeStyle dans certaines bibliothèques des styles d’entités géographiques.
L’élément FeatureTypeName désigne le type d’entités géographiques visées par le style d’entité. Il est utilisable de manière optionnelle seulement si le type d’entité est en contexte ou s’il est destiné à une utilisation avec certains types d’entités au moyen de l’élément SemanticTypeIdentifier.
L’élément SemanticTypeIdentifier désigne le style d’entité (ou de couverture dans le cas de l’élément CoverageStyle) adapté, au moyen d’un nom défini par la communauté. Par exemple, un style peut convenir à de nombreux types d’entités. La syntaxe de la chaîne SemanticTypeIdentifier n’est pas définie, mais les chaînes « generic:line », « generic:polygon », « generic:point », « generic:text », « generic:raster » et « generic:any » signifient uniquement que l’élément FeatureTypeStyle peut être utilisé avec tout type d’entité géographique et le type implicite correspondant de géométrie (c.-à-d., le style d’entité ne fait référence à aucune propriété de l’entité).
L’élément FeatureTypeStyle contient au moins un élément Rule qui permet le rendu conditionnel. Un élément Rule peut être inscrit sur la ligne ou référencé au moyen de l’élément OnlineResource.
Élément CoverageStyle
L’élément CoverageStyle définit le style appliqué à un sous-ensemble des données de couverture.
L’élément CoverageStyle peut comporter les éléments Name, Title et Abstract. Les éléments Title et Abstract visent des renseignements lisibles par une personne. Optionnellement, l’élément Name peut faire référence à un élément CoverageStyle dans une bibliothèque des styles de couverture.
L’élément CoverageName désigne la couverture précise correspondant au style de couverture. Cet élément peut être optionnel, mais seulement si une couverture est en contexte et que cette couverture a la même syntaxe et la même sémantique que toutes les références aux propriétés des couvertures énumérées dans l’élément CoverageStyle.
Élément Rules
L’élément Rules regroupe des instructions de rendu en fonction des conditions des propriétés des entités et des échelles des cartes. La définition de l’élément Rule se trouve immédiatement dans la définition des éléments FeatureTypeStyle ou CoverageStyle.
L’élément Description donne un titre abrégé familier dans la liste d’affichage et une longue description de l’élément Rule. L’élément Rules équivaut en général à l’apparence des divers symboles dans la légende d’une carte. Il est donc utile de définir au moins l’élément Title dans l’élément Description afin de l’afficher dans la légende. L’élément Name permet la référence externe de l’élément Rule, nécessaire à certaines méthodes d’encodage des symboles.
Symboles
Les symboles sont imbriqués dans l’élément Rules pour décrire l’apparence des entités géographiques sur une carte. Le symbole décrit non seulement la forme affichée, mais aussi les propriétés graphiques, comme la couleur et l’opacité. Pour obtenir un symbole, il faut préciser un symbole parmi un petit nombre de types distincts de symboles, puis définir les paramètres qui ont préséance sur son comportement implicite. La norme définit et décrit cinq types de symboles au moyen de la terminologie et de la syntaxe SVG/CSS2, selon le cas :
- Un élément LineSymbolizer définit une ligne le long d’une géométrie linéaire, comme une chaîne de segments linéaires, et comporte les éléments suivants : Geometry, Stroke et Perpendicular Offset.
Par exemple :Supposons une couche comprenant des entités de type rivière affichées sous forme d’une ligne bleue d’une largeur de deux pixels. L’élément LineSymbolizer s’utilise comme suit :
<LineSymbolizer> <Geometry> <ogc:PropertyName>centerline</ogc:PropertyName> </Geometry> <Stroke> <SvgParameter name="stroke">#0000ff</SvgParameter> <SvgParameter name="stroke-width">2</SvgParameter> </Stroke> </LineSymbolizer>
- Un élément PolygonSymbolizer dessine un polygone (ou toute autre forme géométrique 2D), avec un intérieur (fill) et un contour (stroke), qui comporte les éléments suivants : Geometry, Fill, Stroke, Displacement et Perpendicular Offset.
Par exemple : Supposons une entité de type lac définie par la propriété polygone Geometry et symbolisée par une forme géométrique remplie d’une couleur bleu pâle et délimitée par une ligne bleu foncé. Le lac et sa délimitation sont créés au moyen de l’élément PolygonSymbolizer, comme suit :
<PolygonSymbolizer> <Geometry> <ogc:PropertyName>the_area</ogc:PropertyName> </Geometry> <Fill> <SvgParameter name="fill">#aaaaff</SvgParameter> </Fill> <Stroke> <SvgParameter name="stroke">#0000aa</SvgParameter> </Stroke> </PolygonSymbolizer>
- Un élément PointSymbolizer permet l’affichage d’un graphique à un point; il comporte les éléments suivants : Geometry et Graphic.
Par exemple : Supposons une entité hôpital symbolisée par une étoile rouge centrée sur le lieu de l’hôpital et définie par la propriété point locatedAt . L’élément PointSymbolizer s’utilise comme suit :
<PointSymbolizer> <ogc:PropertyName>locatedAt</ogc:PropertyName> </Geometry> <Graphic> <Mark> <WellKnownName>star</WellKnownName> <Fill> <SvgParameter name="fill">#ff0000</SvgParameter> </Fill> </Mark> <Size>8.0</Size> </Graphic>
</PointSymbolizer>
- Un élément TextSymbolizer définit le style des étiquettes de texte et comprend les éléments suivants : Geometry, Fill, Label, Font, Label Placement et Halo.
Par exemple : Supposons l’affichage de la valeur de la propriété hospitalName sous forme de libellé pour l’hôpital. L’élément TextSymbolizer s’utilise comme suit :
<TextSymbolizer> <Geometry> <ogc:PropertyName>locatedAt</ogc:PropertyName> </Geometry> <Label> <ogc:PropertyName>hospitalName</ogc:PropertyName> </Label> <Font> <SvgParameter name="font-family">Arial</SvgParameter> <SvgParameter name="font-family">Sans-Serif</SvgParameter> <SvgParameter name="font-style">italic</SvgParameter> <SvgParameter name="font-size">10</SvgParameter> </Font> <Halo/> <Fill> <SvgParameter name="fill">#000000</SvgParameter> </Fill> </TextSymbolizer>
- L’élément RasterSymbolizer décrit la manière de représenter les données de la trame ou de la couverture de la matrice, comme les données satellite et les MAN, et comporte les éléments suivants : Geometry, Opacity, ChannelSelection, OverlapBehavior, ColorMap, Contrast Enhancement, ShadedRelief et ImageOutline.
Par exemple : L’encodage suivant applique une couleur à des données altimétriques (NAM) (quantités en mètres) :
<RasterSymbolizer> <Opacity>1.0</Opacity> <OverlapBehavior>AVERAGE</OverlapBehavior> <ColorMap> <Categorize> <LookupValue>Rasterdata</LookupValue> <Value>#00ff00</Value> <Threshold>-417</Threshold> <Value>#00fa00</Value> ><Threshold>-333</Threshold> <Value>#14f500</Value> <Threshold>-250</Threshold> <Value>#28f502</Value> <Threshold>-167</Threshold> <Value>#3cf505</Value> <Threshold>-83</Threshold> <Value>#50f50a</Value> <Threshold>-1</Threshold> <Value>#64f014</Value> <Threshold>0</Threshold> <Value>#7deb32</Value> <Threshold>30</Threshold> <Value>#78c818</Value> <Threshold>105</Threshold> <Value>#38840c</Value> <Threshold>300</Threshold> <Value>#2c4b04</Value> <Threshold>400</Threshold> <Value>#ffff00</Value> <Threshold>700</Threshold> <Value>#dcdc00</Value> <Threshold>1200</Threshold> <Value>#b47800</Value> <Threshold>1400</Threshold> <Value>#c85000</Value> <Threshold>1600</Threshold> <Value>#be4100</Value> <Threshold>2000</Threshold> <Value>#963000</Value> <Threshold>3000</Threshold> <Value>#3c0200</Value> <Threshold>5000</Threshold> <Value>#ffffff</Value> <Threshold>13000</Threshold> <Value>#ffffff</Value> </Categorize> </ColorMap> <ShadedRelief/> </RasterSymbolizer>
Pour obtenir de plus amples renseignements, se reporter à la OpenGIS® Symbology Encoding Implementation Specification.
Détails de la page
- Date de modification :