13.2. Le sélecteur de symboles

Le sélecteur de symboles est la boîte de dialogue principale pour concevoir un symbole. Vous pouvez créer ou modifier des symboles de marqueur, de ligne ou de remplissage.

../../../_images/symbolselector.png

Fig. 13.10 Conception d’un symbole de lignes

Deux composants principaux structurent la boîte de dialogue du sélecteur de symboles:

  • l’arbre des symboles, montrant les couches de symboles qui sont ensuite combinées pour former un nouveau symbole global

  • et les paramètres pour configurer la couche de symboles sélectionnée dans l’arborescence.

13.2.1. L’arbre des couches de symboles

Un symbole peut être composé de plusieurs Couches de symboles. L’arbre des symboles montre la superposition de ces couches de symboles qui sont ensuite combinées pour former un nouveau symbole global. De plus, une représentation dynamique des symboles est mise à jour dès que les propriétés des symboles changent.

En fonction du niveau sélectionné dans les éléments de l’arborescence des symboles, différents outils sont mis à disposition pour vous aider à gérer l’arborescence:

  • symbologyAdd ajouter une nouvelle couche de symboles: vous pouvez empiler autant de symboles que vous le souhaitez

  • symbologyRemove supprimer la couche de symboles sélectionnée

  • verrouiller les couleurs de la couche de symboles: locked la couleur verrouillée reste inchangée lorsque l’utilisateur change la couleur au niveau du symbole global (ou supérieur)

  • duplicateLayer dupliquer un (groupe de) couche(s) de symboles

  • monter ou descendre la couche de symboles

13.2.2. Configurer un symbole

Dans QGIS, la configuration d’un symbole se fait en deux étapes: le symbole puis la couche de symboles.

13.2.2.1. Le symbole

Au niveau supérieur de l’arborescence, cela dépend de la géométrie de la couche, elle peut être de type Marqueur, Ligne ou Remplissage. Chaque symbole peut incorporer un ou plusieurs symboles (y compris, de tout autre type) ou couches de symboles.

Vous pouvez configurer certains paramètres qui s’appliquent au symbole global:

  • Unité: peut être Millimètres, Points, Pixels, Mètres à l’échelle, Unités de carte ou Pieds (voir Sélecteur d’unité pour plus de détails)

  • Opacité

  • Couleur: lorsque ce paramètre est modifié par l’utilisateur, sa valeur est répercutée sur la couleur de tous les sous-symboles déverrouillés

  • Taille et Rotation pour les symboles de marqueur

  • Largeur pour les symboles de ligne

    Astuce

    Utilisez les propriétés de Taille (pour les symboles de marqueur) ou Largeur (pour les symboles de ligne) au niveau du symbole pour redimensionner proportionnellement toutes les couches de symboles incorporées.

    Note

    Le bouton Valeur définie par des données à côté des paramètres de largeur, de taille ou de rotation est inactif lors de la définition du symbole dans la boîte de dialogue Gestionnaire de styles. Lorsque le symbole est connecté à une couche cartographique, ce bouton permet de faire des rendus d”analyses proportionnelles ou multivariées.

  • Un aperçu de la bibliothèque de symboles : Les symboles du même type sont affichés et, à travers la liste déroulante modifiable juste au-dessus, peuvent être filtrés par du texte de forme libre ou par catégories. Vous pouvez également mettre à jour la liste des symboles à l’aide du bouton styleManager Gestionnaire de styles et ouvrir la boîte de dialogue. Là, vous pouvez utiliser toutes les fonctionnalités exposées dans la section Le gestionnaire de styles.

    Les symboles sont affichés soit:

    • dans une liste d’icônes (avec vignettes, noms et balises associées) en utilisant le bouton openTable List View sous le cadre;

    • ou sous forme d’aperçu d’icône à l’aide du bouton iconView Icon View.

  • Appuyez sur le bouton Enregistrer le symbole pour ajouter le symbole en cours de modification à la bibliothèque de symboles.

  • Avec l’option avancé selectString, vous pouvez:

    • pour les symboles de ligne et de remplissage, Couper les entités dans l’étendue du canevas.

    • pour les symboles de remplissage, Forcer la règle de droite: permet de forcer les symboles de remplissage rendus à suivre la règle de droite standard pour l’orientation de l’anneau (c’est-à-dire les polygones où l’anneau extérieur est dans le sens des aiguilles d’une montre et les anneaux intérieurs sont tous dans le sens antihoraire).

      Le correctif d’orientation est appliqué lors du rendu uniquement et la géométrie de l’entité d’origine est inchangée. Cela permet de créer des symboles de remplissage avec une apparence cohérente, quels que soient le jeu de données rendu et l’orientation de l’anneau des entités individuelles.

    • En fonction de la symbologie de la couche à laquelle un symbole est appliqué, des paramètres supplémentaires sont disponibles dans le menu Avancé:

13.2.2.2. La couche de symboles

À un niveau inférieur de l’arborescence, vous pouvez personnaliser les couches de symboles. Les types de couches de symboles disponibles dépendent du type de symbole supérieur. Vous pouvez appliquer sur la couche de symbole des paintEffects effets pour améliorer son rendu.

Parce que la description de toutes les options de tous les types de couches de symboles ne serait pas possible, seules celles particulières et significatives sont mentionnées ci-dessous.

Paramètres communs

Certaines options et widgets courants sont disponibles pour créer une couche de symboles, indépendamment du sous-type marqueur, ligne ou remplissage:

  • le widget sélecteur de couleurs pour faciliter la manipulation des couleurs

  • Unités: il peut être Millimètres, Points, Pixels, Mètres à l’échelle, Unités de cartes ou Pieds (voir Sélecteur d’unité pour plus de détails)

  • le widget dataDefine remplacement définit par les données près de presque toutes les options, étendant les capacités de personnalisation de chaque symbole (voir Valeurs définies par des données pour plus d’informations)

  • l’option checkbox Activer couche de symbole contrôle la visibilité de la couche de symboles. Les couches de symbole désactivées ne sont pas dessinées lors du rendu du symbole mais sont enregistrées dans le symbole. Pouvoir cacher les couches de symboles est pratique lorsque vous cherchez le meilleur design de votre symbole car vous n’avez pas besoin d’en supprimer pour les tests. La surcharge définie par les données permet ensuite de masquer ou d’afficher différentes couches de symboles en fonction d’expressions (en utilisant, par exemple, des attributs des entités).

  • le bouton checkbox Dessiner des effets pour les effets de rendu.

Note

Bien que la description ci-dessous suppose que le type de couche de symboles est lié à la géométrie de l’entité, gardez à l’esprit que vous pouvez incorporer des couches de symboles les unes dans les autres. Dans ce cas, le paramètre de couche de symboles de niveau inférieur (placement, décalage …) peut être lié au symbole de niveau supérieur et non à la géométrie de l’entité elle-même.

Symboles de marqueur

Symboles de marqueur Appropriés pour les entités géométriques ponctuelles, les symboles de marqueur ont plusieurs Types de couches de symboles:

  • Marqueur simple (par défaut)

    ../../../_images/simpleMarkerSymbol.png

    Fig. 13.11 Conception d’un symbole de marqueurs simple

    The simple marker symbol layer type has the following properties:

    • Size in various supported units

    • Fill color

    • Stroke color, Stroke style from a predefined list and Stroke size

    • Join style: it can be Bevel, Miter or Round

    • Cap style: it can be Square, Flat or Round

    • Rotation

    • Offset in X and Y directions from the feature

    • Anchor point: defining the quadrant point on the symbol to settle as placement origin. This is the point the Offset is applied on.

  • Marqueur Ellipse: une simple couche de symboles de marqueur, avec une largeur et une hauteur personnalisables

  • Marqueur rempli: similaire à la couche de symbole de marqueur simple, sauf qu’il utilise un sous symbole de remplissage pour rendre le marqueur. Cela permet d’utiliser tous les styles de remplissage (et de contour) existants pour le rendu des marqueurs, par ex. dégradé ou remplissage de forme.

  • Marqueur de police : similaire à la couche de symboles du marqueur simple, sauf qu’il utilise les polices installées pour rendre le marqueur. Ses propriétés supplémentaires sont les suivantes :

    • Font family.

    • Font style

    • Caractère(s) `, représentant le texte à afficher comme symbole. Ils peuvent être tapés ou sélectionnés dans le widget de collecte de caractères et vous pouvez les afficher en direct dans :guilabel:`Prévisualise avec les paramètres sélectionnés.

  • Générateur de géométries ( voir Le générateur de géométries )

  • Masque : son sous-symbole définit une forme de masque dont la propriété de couleur sera ignorée et seule l’opacité sera utilisée. Cela est pratique lorsque le symbole du marqueur chevauche des étiquettes ou d’autres symboles dont les couleurs sont proches, ce qui le rend difficile à déchiffrer. Pour plus de détails, voir Propriétés Masques.

  • Raster image marker: use an image (PNG, JPG, BMP …) as marker symbol. The image can be a file on the disk, a remote URL, embedded in the style database (more details) or it can be encoded as a base64 string. Width and height of the image can be set independently or using the lockedGray Lock aspect ratio. The size can be set using any of the common units or as a percentage of the image’s original size (scaled by the width).

  • Marqueur vecteur ( voir Le marqueur de champ vecteur )

  • SVG marker: provides you with images from your SVG paths (set in Settings ► Options… ► System menu) to render as marker symbol. Width and height of the symbol can be set independently or using the lockedGray Lock aspect ratio. Each SVG file colors and stroke can also be adapted. The image can be a file on the disk, a remote URL, embedded in the style database (more details) or it can be encoded as a base64 string.

    The symbol can also be set with Dynamic SVG parameters. See Parametrizable SVG section to parametrize an SVG symbol.

    Note

    Exigences de version SVG

    QGIS rend les fichiers SVG qui suivent le profil SVG Tiny 1.2, destiné à être implémenté sur une gamme d’appareils, des téléphones portables et PDA aux ordinateurs portables et de bureau, et comprend donc un sous-ensemble des fonctionnalités incluses dans SVG 1.1 Full, ainsi que de nouvelles fonctionnalités pour étendre les capacités de SVG.

    Certaines fonctionnalités non incluses dans ces spécifications peuvent ne pas être rendues correctement dans QGIS.

Symboles de ligne

Adaptés aux entités de la géométrie des lignes, les symboles de lignes ont les types de couches de symboles suivants :

  • Simple line (default)

    ../../../_images/simpleLineSymbol.png

    Fig. 13.12 Conception d’un symbole de lignes simple

    Le type de couche de symbole en ligne simple partage un certain nombre des propriétés du marqueur de symbole simple, avec en plus:

    • checkbox Utiliser un motif de tiret personnalisé: remplace le paramètre Style de trait par un tiret personnalisé.

    • Pattern offset: the positioning of the dashes/spaces in the line can be tweaked, so that they can be placed at nicer positions to account for corners in the line (also can be used potentially to « align » adjacent dash pattern borders)

    • checkbox Aligner le motif du tiret sur la longueur de la ligne : la longueur du motif de tiret sera ajustée de manière à ce que la ligne se termine par un élément tiret complet, au lieu d’un espace.

    • checkbox des tirets aux angles fixes : ajuste dynamiquement le placement du motif de tiret de sorte que les coins nets soient représentés par un élément de tiret complet entrant et sortant du coin fixe . Dépend de Aligner le motif de tiret sur la longueur de la ligne.

    • Trim lines from Start and/or End: allows for the line rendering to trim off the first x mm and last y mm from the actual line string when drawing the line. It can be used e.g. when creating complex symbols where a line layer should not overlap marker symbol layers placed at the start and end of the line. The start/end trim distance supports a range of units, including percentage of the overall line length, and can be data defined for extra control.

  • Flèche : dessine des lignes sous forme de flèches courbes (ou non) avec une tête simple ou double avec des paramètres configurables (et définis par les données) :

    • Type de tête

    • Type de flèche

    • Largeur de flèche

    • Largeur de flèche au début

    • Longueur de tête

    • Épaisseur de tête

    • Décalage

    Il est possible de créer une checkbox Flèche incurvée (l’entité linéaire doit avoir au moins trois sommets) et de checkbox Répéter la flèche sur chaque segment. Il utilise également des symboles de remplissage tels que des dégradés ou un éclat de forme pour rendre le corps de la flèche. Combiné avec le générateur de géométries, ce type de symbole de couche vous aide à représenter les cartes de flux.

  • Générateur de géométries ( voir Le générateur de géométries )

  • Interpolated line: allows to render a line whose Stroke width and/or Color may be constant (given a Fixed width and Single color parameters) or vary along the geometry. When varying, necessary inputs are:

    • Start value and End value: Values that will be used for interpolation at the extremities of the features geometry. They can be fixed values, feature’s attributes or based on an expression.

    • Min. value and Max. value: Values between which the interpolation is performed. Press the refresh Load button to automatically fill them based on the minimum and maximum start/end values applied to the layer.

    • Only available for the stroke option:

      • Min. width and Max. width: define the range of the varying width. Min. width is assigned to the Min. value and Max. width to the Max. value. A unit can be associated.

      • checkbox Use absolute value: only consider absolute value for interpolation (negative values are used as positive).

      • checkbox Ignore out of range: by default, when the [start value - end value] range of a feature is not included in the [min. value - max. value] range, the out-of-bounds parts of the feature’s geometry are rendered with the min or max width. Check this option to not render them at all.

    • For varying color, you can use any of the interpolation methods of color ramp classification

    ../../../_images/interpolatedLineSymbol.png

    Fig. 13.13 Examples of interpolated lines

  • Ligne de marqueurs: répète un marqueur de symbole sur la longueur d’une ligne.

    • The Marker placement can be at a regular distance or based on the line geometry: first, last or each vertex, on the central point of the line or of each segment, or on every curve point.

    • Offset along the line: the markers placement can also be given an offset from the start, along the line

    • L’option checkbox rotation du marqueur pour suivre la direction de la ligne définit si chaque symbole de marqueur doit être orienté par rapport à la direction de la ligne ou non.

      Parce qu’une ligne est souvent une succession de segments de directions différentes, la rotation du marqueur est calculée en faisant la moyenne sur une distance spécifiée le long de la ligne. Par exemple, si vous définissez la propriété Angle moyen sur 4 mm, les deux points le long de la ligne qui sont a 2 mm avant et après le placement du symbole sont utilisés pour calculer l’angle de ligne pour ce symbole de marqueurs. Cela a pour effet de lisser (ou de supprimer) les minuscules écarts locaux par rapport à la direction globale de la ligne, ce qui entraîne des orientations visuelles beaucoup plus agréables des symboles de ligne de marqueurs.

    • Line offset: the marker symbols can also be offset from the line feature.

  • Ligne hachurée: répète un segment de ligne (un hachurage) sur la longueur d’un symbole de lignes, avec un sous-symbole de ligne utilisé pour rendre chaque segment individuel. En d’autres termes, une ligne hachurée est comme une ligne de marqueurs dans laquelle les symboles de marqueurs sont remplacés par des segments. En tant que telles, les lignes hachurées ont les mêmes propriétés que les symboles de ligne de marqueurs, avec en plus:

    • Longueur de hachure

    • rotation de hachure

    ../../../_images/hashedLineSymbol.png

    Fig. 13.14 Exemples de lignes hachurées

Symboles de remplissage

Adaptés aux entités géométriques polygonales, les symboles de remplissage ont également plusieurs types de couches de symboles:

  • Remplissage simple (par défaut): remplit un polygone avec une couleur uniforme

    ../../../_images/simpleFillSymbol.png

    Fig. 13.15 Conception d’un symbole de remplissage simple

  • Remplissage centroïde : place un symbole de type marqueur au centroïde de l’élément visible. La position du marqueur peut ne pas être le véritable centroïde de l’élément, car le calcul prend en compte le(s) polygone(s) coupé(s) à la zone visible dans le canevas de la carte pour le rendu et ignore les trous. Utilisez le symbole générateur de géométrie si vous souhaitez obtenir le centroïde exact.

    Vous pouvez :

    • Force placement of markers inside polygons

    • Draw markers on every part of multi-part features or place the point only on its biggest part

    • afficher le(s) symbole(s) de marqueur en tout ou en partie, en conservant les parties chevauchant la géométrie de l’élément actuel (Marqueurs découpés à la limite du polygone) ou la partie de la géométrie à laquelle le symbole appartient (Marqueurs découpés à la limite de la partie actuelle seulement)

  • Générateur de géométries ( voir Le générateur de géométries )

  • Remplissage par gradient : utilise un gradient radial, linéaire ou conique, basé sur des gradients simples de deux couleurs ou sur une palette prédéfinie de couleurs pour remplir les polygones. Le gradient peut être tourné et appliqué sur la base d’un seul élément ou sur toute l’étendue de la carte. Les points de départ et d’arrivée peuvent également être définis par des coordonnées ou en utilisant le centroïde (de l’élément ou de la carte). Un décalage défini par des données peut être défini ;

  • Line pattern fill: fills the polygon with a hatching pattern of line symbol layer. You can set:

    • Rotation of the lines, counter-clockwise

    • Spacing: distance between consecutive lines

    • Offset distance of the lines from the feature boundary

  • Point pattern fill: fills the polygon with a grid pattern of marker symbol. You can set:

    • Distance: Horizontal and Vertical distances between consecutive markers

    • Displacement: a Horizontal (resp. Vertical) offset of alignment between consecutive markers in a column (resp. in a row)

    • Offset: Horizontal and Vertical distances from the feature boundary

  • Marqueur de remplissage aléatoire : remplit le polygone avec un symbole de marqueur placé à des endroits aléatoires à l’intérieur de la limite du polygone. Vous pouvez définir :

    • Count method: whether the number of marker symbols to render is considered as an absolute count or density-based

    • Point count: the number of marker symbols to render,

    • an optional random number seed, to give consistent placement

    • Density area: in case of density-based count method, ensures the fill density of markers remains the same on different scale / zoom levels of markers whenever maps are refreshed (also allows random placement to play nice with QGIS server and tile-based rendering)

    • Clip markers to polygon boundary: whether markers rendered near the edges of polygons should be clipped to the polygon boundary or not

  • Raster image fill: fills the polygon with tiles from a raster image (PNG JPG, BMP …). The image can be a file on the disk, a remote URL or an embedded file encoded as a string (more details). Options include (data defined) opacity, image width, coordinate mode (object or viewport), rotation and offset. The image width can be set using any of the common units or as a percentage of the original size.

  • SVG fill: fills the polygon using SVG markers of a given size (Texture width);

  • Remplissage par éclatement: met en tampon un remplissage dégradé, où un dégradé est tracé à partir de la limite d’un polygone vers le centre du polygone. Les paramètres configurables incluent la distance de la limite à l’ombre, l’utilisation de rampes de couleurs ou de simples dégradés de deux couleurs, le flou facultatif du remplissage et des décalages;

  • Outline: Arrow: uses a line arrow symbol layer to represent the polygon boundary. The settings for the outline arrow are the same as for arrow line symbols.

  • Outline: Hashed line: uses a hash line symbol layer to represent the polygon boundary (Rings) which can be the interior rings only, the exterior ring only or all the rings). The other settings for the outline hashed line are the same as for hashed line symbols.

  • Outline: Marker line: uses a marker line symbol layer to represent the polygon boundary (Rings) which can be the interior rings only, the exterior ring only or all the rings). The other settings for the outline marker line are same as for marker line symbols.

  • Outline: simple line: uses a simple line symbol layer to represent the polygon boundary (Rings) which can be the interior rings only, the exterior ring only or all the rings). The Draw line only inside polygon option displays the polygon borders inside the polygon and can be useful to clearly represent adjacent polygon boundaries. The other settings for the outline simple line are the same as for simple line symbols.

Note

Lorsque le type de géométrie est un polygone, vous pouvez choisir de désactiver l’écrêtage automatique des lignes / polygones dans l’étendue du canevas. Dans certains cas, cet écrêtage entraîne une symbologie défavorable (par exemple, le centroïde remplit où le centroïde doit toujours être le centroïde de l’entité réelle).

Parametrizable SVG

You have the possibility to change the colors of a SVG marker. You have to add the placeholders param(fill) for fill color, param(outline) for stroke color and param(outline-width) for stroke width. These placeholders can optionally be followed by a default value, e.g.:

<svg width="100%" height="100%">
<rect fill="param(fill) #ff0000" stroke="param(outline) #00ff00" stroke-width="param(outline-width) 10" width="100" height="100">
</rect>
</svg>

More generally, SVG can be freely parametrized using param(param_name). This param can either be used as an attribute value or a node text:

<g stroke-width=".265" text-anchor="middle" alignment-baseline="param(align)">
  <text x="98" y="147.5" font-size="6px">param(text1)</text>
  <text x="98" y="156.3" font-size="4.5px">param(text2)</text>
</g>

The parameters can then be defined as expressions in the Dynamic SVG parameters table.

../../../_images/svg_parameters.png

Fig. 13.16 Dynamic SVG parameters table

Le générateur de géométries

Available with all types of symbols, the geometry generator symbol layer allows to use expression syntax to generate a geometry on the fly during the rendering process. The resulting geometry does not have to match with the original Geometry type and you can add several differently modified symbol layers on top of each other.

A Units property can be set: when the geometry generator symbol is not applied to a layer (e.g., it is used on a layout item), this allows more control over the generated output.

Quelques exemples:

-- render the centroid of a feature
centroid( $geometry )

-- visually overlap features within a 100 map units distance from a point
-- feature, i.e generate a 100m buffer around the point
buffer( $geometry, 100 )

-- Given polygon layer1( id1, layer2_id, ...) and layer2( id2, fieldn...)
-- render layer1 with a line joining centroids of both where layer2_id = id2
make_line( centroid( $geometry ),
           centroid( geometry( get_feature( 'layer2', 'id2', attribute(
               $currentfeature, 'layer2_id') ) )
         )

-- Create a nice radial effect of points surrounding the central feature
-- point when used as a MultiPoint geometry generator
collect_geometries(
  array_foreach(
    generate_series( 0, 330, 30 ),
      project( $geometry, .2, radians( @element ) )
  )
)

Le marqueur de champ vecteur

Le marqueur de champ vectoriel est utilisé pour afficher des données de champ vectoriel telles que la déformation de la terre, les courants de marée, etc. Il affiche les vecteurs sous forme de lignes (de préférence des flèches) qui sont mises à l’échelle et orientées en fonction des attributs sélectionnés des points de données. Il ne peut être utilisé que pour restituer des données ponctuelles; les couches de lignes et de polygones ne sont pas dessinées par cette symbologie.

Le champ vectoriel est défini par des attributs dans les données, qui peuvent représenter le champ soit par:

  • composants cartésiens (composants x et y du champ)

  • ou coordonnées polaires: dans ce cas, les attributs définissent Longueur et Angle. L’angle peut être mesuré dans le sens horaire à partir du nord ou dans le sens antihoraire à partir de l’est, et peut être en degrés ou en radians.

  • ou en tant que données de hauteur uniquement, qui affiche une flèche verticale mise à l’échelle à l’aide d’un attribut des données. C’est approprié pour afficher la composante verticale de la déformation, par exemple.

L’amplitude du champ peut être augmentée ou réduite à une taille appropriée pour visualiser le champ.