Important

Translation is a community effort you can join. This page is currently translated at 65.72%.

16.1. Fenêtre Propriétés d’une couche vecteur

La fenêtre de Propriétés d’une couche vecteur permet d’accéder aux paramètres généraux pour gérer l’apparence des entités de la couche sur la carte (style, étiquetage, diagrammes) et les interactions avec la souris (actions, infobulles, formulaires). Elle fournit également des informations sur la couche.

Pour ouvrir la fenêtre Propriétés de la couche :

  • Dans le panneau Couches, effectuez un double-clic ou un clic droit et sélectionner Propriétés de la couche depuis le menu contextuel.

  • Allez dans menu Couche ► Propriétés couche … lorsque la couche est sélectionnée.

La fenêtre Propriétés de la couche vecteur choisie propose les onglets suivants :

metadata Information

system Source

symbology Symbologie[1]

labelingSingle Étiquettes[1]

labelmask Masque[1]

3d Vue 3D[1]

diagram Diagrammes

sourceFields Champs

formView Formulaire d’attributs

join Joins

auxiliaryStorage Stockage auxiliaire

action Actions

display Infobulles

rendering Rendu

temporal Temporel

expression Variables

elevationscale Élévation

editMetadata Métadonnées

dependencies Dépendances

legend Légende

overlay QGIS Server

digitizing Numérisation

onglets d”Extensions externes[2]

[1] Aussi disponible dans le panneau Style de Couche

Les [2] extensions externes que vous installez peuvent éventuellement ajouter des onglets à cette fenêtre. Celles-ci ne sont pas présentées dans ce document. Reportez-vous à leur documentation.

Astuce

Partager tout ou partie des propriétés des styles de la couche

Le menu Style en bas de la fenêtre vous permet d’importer ou exporter toutes ou certaines des propriétés depuis/vers plusieurs destinations (fichier, presse-papier, base de données). Voir Gestion des styles personnalisés.

Note

Vu que les propriétés (symbologie, étiquette, actions, valeurs par défaut, formulaires,…) des couches provenant d’un projet incorporé (Voir Embedding layers from external projects) sont issues et liées au projet d’origine, et pour éviter des changements qui pourraient casser ce fonctionnement, les propriétés de ces couches ne sont pas accessibles.

16.1.1. Onglet Information

The metadata Information tab is read-only and represents an interesting place to quickly grab summarized information and metadata on the current layer. Provided information are:

  • general such as name in the project, source path, list of auxiliary files, last save time and size, the used provider

  • based on the provider of the layer: format of storage, geometry type, data source encoding, extent, feature count…

  • the Coordinate Reference System: name, units, method, accuracy, reference (i.e. whether it’s static or dynamic)

  • picked from the filled metadata: access, extents, links, contacts, history…

  • and related to its geometry (spatial extent, CRS…) or its attributes (number of fields, characteristics of each…).

16.1.2. Onglet Source

system Utilisez cet onglet pour définir les paramètres de la couche vecteur.

../../../_images/vector_source_menu.png

Fig. 16.1 Onglet Source de la fenêtre Propriétés de la couche vecteur

16.1.2.1. Préférences

  • Set a Layer name different from the layer filename that will be used to identify the layer in the project (in the Layers Panel, with expressions, in print layout legend, …)

  • Depending on the data format, select the Data source encoding if not correctly detected by QGIS.

16.1.2.2. Système de Coordonnées de Référence et Géométrie

16.1.2.3. Constructeur de requêtes

The Query Builder dialog is accessible through the Query Builder button at the bottom of the Source tab in the Layer Properties dialog, under the Provider feature filter group.

Le générateur de requêtes fournit une interface qui vous permet de définir un sous-ensemble des entités de la couche à l’aide d’une clause WHERE de type SQL et d’afficher le résultat dans la fenêtre principale. Tant que la requête est active, seules les entités correspondant à son résultat sont disponibles dans le projet.

Vous pouvez utiliser un ou plusieurs attributs de la couche pour définir le filtre dans le Générateur de requêtes. L’utilisation de plusieurs attributs est illustrée dans Fig. 16.2. Dans l’exemple, le filtre combine les attributs

  • toa (champ de type DateTime : cast("toa" as character) > '2017-05-17' et cast("toa" as character) < '2019-12-24T18:00:00'),

  • name (String champ: "name" > 'S') et

  • FID (Integer champ: FID > 10)

en utilisant les opérateurs AND, OR, NOT et les parenthèses. Cette syntaxe (y compris le format DateTime pour le champ toa) fonctionne pour les jeux de données GeoPackage.

The filter is made at the data provider (OGR, PostgreSQL, MS SQL Server…) level. So the syntax depends on the data provider (DateTime is for instance not supported for the ESRI Shapefile format). The complete expression:

cast("toa" as character) > '2017-05-17' AND
cast("toa" as character) < '2019-12-24T18:00:00' AND
NOT ("name" > 'S' OR FID > 10)

Vous pouvez également ouvrir la boîte de dialogue Générateur de requêtes avec l’aide de l’option Filtrer… dans le menu Couche ou le menu contextuel des couches. Les sections Champs, Valeurs et Opérateurs dans la boîte de dialogue vous aident à construire la requête de type SQL exposée dans la boîte Expression de filtre spécifique au fournisseur.

../../../_images/queryBuilder.png

Fig. 16.2 Constructeur de requêtes

La liste Champs contient tous les champs de la couche. Pour ajouter un champ dans l’expression de filtrage SQL, double-cliquez sur son nom ou tapez-le simplement dans la zone SQL.

La liste Valeurs contient les valeurs du champ actuellement sélectionné. Pour lister toutes les valeurs uniques d’un champ, cliquez sur le bouton Tout. Pour lister les 25 premières valeurs uniques du champ, cliquez sur le bouton Échantillon. Pour ajouter une valeur dans l’expression de filtrage SQL, double-cliquez sur son nom dans la liste Valeurs. Vous pouvez utiliser la boîte de recherche en haut du cadre Valeurs pour naviguer facilement et trouver les valeurs d’attribut dans la liste.

La section Opérateurs contient tous les opérateurs utilisables. Pour ajouter un opérateur à l’expression de filtrage SQL, cliquez sur le bouton approprié. Les opérateurs relationnels ( =, >, …), les opérateurs de comparaison de chaînes (LIKE) et les opérateurs logiques (AND, OR, …) sont disponibles.

The Test button helps you check your query and displays a message box with the number of features satisfying the current query. Use the Clear button to wipe the SQL query and revert the layer to its original state (ie, fully load all the features). It is possible to Save… the query as a .QQF file, or Load… the query from a file into the dialog.

Lorsqu’un filtre est appliqué, QGIS traite le sous-ensemble résultant comme s’il s’agissait de la couche entière. Par exemple, si vous avez appliqué le filtre ci-dessus pour « Borough » ("TYPE_2" ='Borough'), vous ne pouvez pas afficher, interroger, sauvegarder ou modifier la ville Anchorage, car c’est une “municipalité” et ne fait donc pas partie du sous-ensemble Borough (Arrondissement).

Astuce

Les couches filtrées sont indiquées dans le panneau des couches.

In the Layers panel, filtered layer is listed with a indicatorFilter Filter icon next to it indicating the query used when the mouse hovers over the button. Double-click the icon opens the Query Builder dialog for edit. This can also be achieved through the Layer ► Filter… menu.

16.1.3. Onglet Symbologie

The symbology Symbology tab provides you with a comprehensive tool for rendering and symbolizing your vector data. You can use tools that are common to all vector data, as well as special symbolizing tools that were designed for the different kinds of vector data. However all types share the following dialog structure: in the upper part, you have a widget that helps you prepare the classification and the symbol to use for features and at the bottom the Rendu de couche widget.

Astuce

Passer rapidement d’un style de représentation à un autre pour une couche

En utilisant le menu Styles ► Ajouter en bas de la boîte de dialogue Propriétés de la couche, vous pouvez enregistrer autant de styles que nécessaire. Un style est la combinaison de toutes les propriétés de la couche (comme la symbologie, l’étiquetage, le diagramme, le formulaire des champs, les actions…) que vous voulez. Ensuite, il suffit de passer d’un style à l’autre dans le menu contextuel de la couche du Panneau des couches pour obtenir automatiquement différentes représentations de vos données.

Astuce

Exporter le style d’une couche vecteur

Vous avez la possibilité d’exporter la symbologie d’une couche vecteur de QGIS vers les fichiers *.kml de Google, *.dxf et *.tab de MapInfo. Il suffit d’un clic droit sur la couche, puis de cliquer sur Enregistrer sous ► pour spécifier le nom du fichier de sortie et son format. Dans la boîte de dialogue, utilisez l’option Exporter la symbologie pour enregistrer la symbologie comme Symbologie de l’entité ou comme Symbologie de la couche de symboles. Si vous avez utilisé des couches de symboles, il est recommandé d’utiliser le deuxième paramètre.

16.1.3.1. Rendu d’entités

The renderer is responsible for drawing a feature together with the correct symbol. Regardless layer geometry type, there are four common types of renderers: single symbol, categorized, graduated and rule-based. For point layers, there are point displacement, point cluster and heatmap renderers available while polygon layers can also be rendered with the merged features, inverted polygons and 2.5 D renderers.

Il n’y a pas de rendu de couleur continue, car il s’agit en fait d’un cas particulier du rendu gradué. Les rendus catégorisé et gradué peuvent être créés en spécifiant un symbole et un dégradé de couleurs qui définissent les couleurs pour les symboles de manière appropriée. Pour chaque type de données (points, lignes et polygones), des types de couches de symboles vectoriels sont disponibles. Selon le moteur de rendu choisi, la boite de dialogue fournit différentes sections supplémentaires.

Note

Si, en travaillant sur le style d’une couche vecteur, vous changez de mode de rendu, les changements effectués sur le symbole sont mémorisés. Notez que cela ne fonctionne qu’une seule fois. Si vous changez à nouveau de mode de rendu, les paramètres seront perdus.

Rendu Symbole Unique

Le moteur de rendu singleSymbol Symbole unique est utilisé pour définir et rendre de manière identique toutes les entités de la couche. Voir Le sélecteur de symboles pour plus d’informations sur la représentation des symboles.

../../../_images/singlesymbol_ng_line.png

Fig. 16.3 Propriétés « Symbole Unique » de ligne

Aucun rendu de symbole

Le type de rendu nullSymbol Aucun Symbole est un cas particulier du rendu en Symbole unique car il applique le même style à toutes les entités. Avec ce rendu, aucun symbole ne sera dessiné pour représenter les entités mais les étiquettes, les diagrammes et tout ce qui ne concerne pas les symboles seront affichés.

Il est toujours possible de faire des sélections sur la couche dans le canevas et les entités sélectionnées seront affichées avec un symbole par défaut. Les entités en cours d’édition seront également affichées.

Cela permet de faire un raccourci pour les couches dont vous voulez uniquement afficher les étiquettes ou les diagrammes et évite de générer des symboles avec un remplissage/bordure complètement transparent.

Rendu Catégorisé

Le rendu categorizedSymbol Catégorisé est utilisé pour rendre les caractéristiques d’une couche, en utilisant un symbole défini par l’utilisateur dont l’aspect reflète les valeurs discrètes d’un champ ou d’une expression.

../../../_images/categorysymbol_ng_line.png

Fig. 16.4 Options du mode de rendu Catégorisé

Pour utiliser la symbologie catégorisée pour une couche :

  1. Select the Value of classification: it can be an existing field or an expression you can type in the box or build using the associated expression button. Using expressions for categorizing avoids the need to create a field for symbology purposes only (eg, if your classification criteria are derived from one or more attributes).

    L’expression utilisée pour classer les entités peut être de tout type; par exemple, il peut:

    • être une comparaison. Dans ce cas, QGIS renvoie les valeurs 1 (True) et 0 (False). Quelques exemples:

      myfield >= 100
      $id = @atlas_featureid
      myfield % 2 = 0
      within( $geometry, @atlas_geometry )
      
    • combiner différents attributs :

      concat( field_1, ' ', field_2 )
      
    • être un calcul sur les attributs :

      myfield % 2
      year( myfield )
      field_1 + field_2
      substr( field_1, -3 )
      
    • être utilisé pour transformer des valeurs linéaires en classes discrètes, par exemple:

      CASE WHEN x > 1000 THEN 'Big' ELSE 'Small' END
      
    • combiner plusieurs valeurs discrètes en une seule catégorie, par exemple:

      CASE
      WHEN building IN ('residence', 'mobile home') THEN 'residential'
      WHEN building IN ('commercial', 'industrial') THEN 'Commercial and Industrial'
      END
      

    Astuce

    Même si vous pouvez utiliser n’importe quel type d’expression pour classer vos entités, pour les expressions les plus complexes, il est sans doute plus simple d’utiliser le rendu basé sur des règles.

  2. Configurez le Symbole, qui sera utilisé comme symbole de base pour toutes les classes ;

  3. Indiquez la palette de couleur, c’est-à-dire la gamme de couleurs à partir de laquelle la couleur appliquée à chaque symbole est sélectionnée.

    Outre les options courantes du widget de palettes de couleurs, vous pouvez appliquer une unchecked Rampe de couleur aléatoire aux catégories. Vous pouvez cliquer sur l’entrée Mélanger les couleurs aléatoires pour régénérer un nouvel ensemble de couleurs aléatoires si vous n’êtes pas satisfait.

  4. Cliquez ensuite sur le bouton Classer pour créer des classes à partir des valeurs distinctes du champ ou de l’expression fourni.

  5. Appliquer les changements si la mise à jour en direct n’est pas utilisée et chaque entité sur le canevas de carte sera rendue avec le symbole de sa classe.

    Par défaut, QGIS ajoute une classe toutes les autres valeurs à la liste. Bien qu’elle soit vide au début, cette classe est utilisée comme classe par défaut pour toute entité ne relevant pas des autres classes (par exemple, lorsque vous créez des entités avec de nouvelles valeurs pour le champ / l’expression de classification).

D’autres modifications peuvent être apportées à la classification par défaut :

  • Vous pouvez symbologyAdd Ajouter de nouvelles catégories, symbologyRemove Supprimer les catégories sélectionnées ou Tout supprimer.

  • Une classe peut être désactivée en décochant la case à gauche du nom de la classe; les entités correspondantes sont masquées sur la carte.

  • Glissez-déposez les lignes pour réorganiser les classes

  • Pour modifier le symbole, la valeur ou la légende d’une classe, double-cliquez sur l’élément.

Un clic droit sur les éléments sélectionnés affiche un menu contextuel pour:

  • Copier le Symbole et Coller le symbole, un moyen pratique d’appliquer la représentation d’un élément à d’autres

  • Modifier la couleur… du ou des symboles sélectionnés

  • Modifier l’opacité… du ou des symboles sélectionnés

  • Modifier l’unité de sortie… du ou des symboles sélectionnés

  • Modifier la largeur… du ou des symboles de ligne sélectionnés

  • Modifier la taille… du ou des symboles de ligne sélectionnés

  • Modifier l’angle… du ou des symboles de points sélectionnés

  • Fusionner les catégories : regroupe plusieurs catégories sélectionnées en une seule. Cela permet un style plus simple de couches avec un grand nombre de catégories, où il peut être possible de regrouper de nombreuses catégories distinctes en un ensemble de catégories plus petites et plus gérables qui s’appliquent à plusieurs valeurs.

    Astuce

    Étant donné que le symbole conservé pour les catégories fusionnées est celui de la catégorie la plus élevée de la sélection, vous souhaiterez peut-être déplacer la catégorie dont vous souhaitez réutiliser le symbole vers le haut avant la fusion.

  • Annuler la fusion des catégories précédemment fusionnées

The created classes also appear in a tree hierarchy in the Layers panel. Double-click an entry in the map legend to edit the assigned symbol. Right-click and you will get some more options.

Le menu Avancé donne accès aux options pour accélérer la classification ou affiner le rendu des symboles:

  • Correspondance avec les symboles enregistrés : utiliser la bibliothèque de symboles attribue à chaque catégorie un symbole dont le nom représente la valeur de classification de la catégorie

  • Correspondance avec les symboles du fichier …: Fourni un fichier avec des symboles, attribue à chaque catégorie un symbole dont le nom représente la valeur de classification de la catégorie

  • Niveaux de symboles.. pour définir l’ordre de rendu des symboles.

Rendu Gradué

Le rendu gradué graduatedSymbol Gradué est utilisé pour afficher toutes les entités de la couche, en faisant varier la couleur ou la taille de symbole suivant la classe de valeurs à laquelle l’entité appartient.

De la même manière que le rendu catégorisé, le rendu Gradué permet de faire varier l’angle de rotation et la taille des symboles selon les valeurs des champs spécifiés.

De la même façon que le rendu Catégorisé, il vous permet de choisir :

  • The Value of classification: it can be an existing field or an expression you can type in the box or build using the associated expression button. Using expressions for graduating avoids the need to create a field for symbology purposes only (eg, if your classification criteria are derived from one or more attributes).

  • le symbole (en utilisant la fenêtre de Sélection de symbole)

  • le format de la légende et la précision des valeurs numériques

  • la méthode à utiliser pour modifier la couleur ou la taille des symboles

  • les couleurs (en utilisant la liste des palettes de couleur), si la méthode couleur est sélectionnée

  • la taille (en choisissant une plage de valeurs et les unités)

Ensuite vous pouvez utiliser l’onglet Histogramme qui permet d’afficher un histogramme interactif des valeurs du champ ou de l’expression utilisé pour le rendu. Les classes peuvent être définies ou ajoutées depuis l’histogramme.

Note

Vous pouvez utiliser le panneau Statistiques pour obtenir plus d’informations sur votre couche vecteur. Voir Panneau de résumé statistiques.

De retour dans l’onglet Classes, vous pouvez choisir le nombre de classes et la méthode de classification (depuis la liste déroulante Mode). Les modes disponibles sont :

  • Nombre égal (Quantile) : chaque classe aura le même nombre d’éléments (comme dans une boîte à moustache).

  • Intervalle égal : chaque classe aura la même taille (par exemple, avec les valeurs de 1 à 16 et quatre classes, chaque classe aura une taille de quatre).

  • Échelle logarithmique : convient aux données présentant un large éventail de valeurs. Des classes étroites pour les valeurs faibles et des classes larges pour les valeurs élevées (par exemple, pour les nombres décimaux avec une plage [0..100] et deux classes, la première classe ira de 0 à 10 et la seconde de 10 à 100).

  • Ruptures naturelles (Jenks) : la variance au sein de chaque classe est minimisée tandis que la variance entre les classes est maximisée.

  • Pretty Breaks : calcule une séquence d’environ n+1 valeurs nice équidistantes qui couvrent la plage des valeurs de x. Les valeurs sont choisies de manière à être 1, 2 ou 5 fois une puissance de 10. (basé sur pretty de l’environnement statistique R https://www.rdocumentation.org/packages/base/topics/pretty).

  • Écart-type : les classes sont construites en fonction le l’écart-type calculé sur l’ensemble des valeurs;

La zone déroulante dans la partie centrale du menu Symbologie répertorie les classes ainsi que leurs étendues, étiquettes et symboles de rendu.

Cliquez sur le bouton Classer pour générer les classes selon le mode choisi. Chaque classe peut être désactivée en décochant la case située à gauche du symbole de classe.

Pour changer le symbole, la valeur et / ou la légende, double-cliquez sur l’élément à modifier.

Un clic droit sur les éléments sélectionnés affiche un menu contextuel pour:

  • Copier le Symbole et Coller le symbole, un moyen pratique d’appliquer la représentation d’un élément à d’autres

  • Modifier la couleur… du ou des symboles sélectionnés

  • Modifier l’opacité… du ou des symboles sélectionnés

  • Modifier l’unité de sortie… du ou des symboles sélectionnés

  • Modifier la largeur… du ou des symboles de ligne sélectionnés

  • Modifier la taille… du ou des symboles de ligne sélectionnés

  • Modifier l’angle… du ou des symboles de points sélectionnés

L’exemple dans Fig. 16.5 montre la boîte de dialogue de rendu gradué pour la couche major_rivers de l’ensemble de données d’échantillon QGIS.

../../../_images/graduatedsymbol_ng_line.png

Fig. 16.5 Options du mode de rendu Gradué

The created classes also appear in a tree hierarchy in the Layers panel. Double-click an entry in the map legend to edit the assigned symbol. Right-click and you will get some more options.

Symboles Proportionnels et Analyse Multivariée

Les représentations par symbole proportionnel et analyse multivariée ne sont pas disponibles dans la liste déroulante du rendu de style. Toutefois, les options de valeurs définies par les données appliquées sur l’une des options de rendu précédentes vous permettent d’afficher vos données de point et de ligne avec de telles représentations.

Créer des Symboles Proportionnels

Pour appliquer un rendu proportionnel :

  1. Appliquez d’abord à la couche un rendu de symbole unique.

  2. Définissez ensuite le symbole à appliquer aux entités.

  3. Sélectionnez l’élément au niveau supérieur de l’arborescence des symboles et utilisez le bouton dataDefine Définition de données imposée à droite de Taille (pour une couche de points) ou d”Épaisseur (pour une couche linéaire) .

  4. Sélectionnez un champ ou entrez une expression, pour que, à chaque entité, QGIS redimensionne proportionnellement le symbole à la valeur du champ ou de l’expression.

    Si nécessaire, utilisez l’option Assistant… du menu dataDefine pour appliquer une transformation (exponentielle, flannery…) à la mise à l’échelle de la taille du symbole (voir Utilisation de l’interface d’assistant pour les valeurs définies par les données pour plus de détails).

Vous pouvez choisir d’afficher les symboles proportionnels dans le Panneau des couches et dans la Légende de mise en page : dépliez la liste déroulante Avancé en bas de la fenêtre principale de l’onglet Symbologie et sélectionnez Légende pour la Taille définie par des données pour configurer les objets légende (voir Légende de la Taille définie par des données pour plus de détails).

Créer une analyse multivariée

Un rendu d’analyse multivariée vous aide à évaluer la relation entre deux ou plusieurs variables, par exemple, l’une peut être représenté par une palette de couleurs alors que l’autre est représentée par une variation de taille.

La façon la plus simple de créer une analyse multivariée dans QGIS est de :

  1. Appliquer d’abord une symbologie catégorisée ou graduée sur une couche, en utilisant le même type de symbole pour toutes les classes.

  2. Appliquez ensuite une symbologie proportionnelle sur les classes :

    1. Cliquez sur le bouton Modifier au-dessus du cadre de classification : vous obtenez la boîte de dialogue Le sélecteur de symboles.

    2. Redimensionnez la taille ou la largeur de la couche de symbole à l’aide du widget dataDefine Valeur définie par des données comme expliqué au-dessus.

Comme pour les symboles proportionnels, la symbologie mise à l’échelle peut être ajoutée à la couche, au dessus des symboles de classes catégorisées ou graduées en utilisant la fonction de légende pour la Taille définie par des données. Les deux représentations sont également disponibles dans la légende de la mise en page d’impression.

../../../_images/multivariate_example.png

Fig. 16.6 Exemple d’analyse multivariée avec légende des symboles proportionnels.

Ensemble de règles

Rules are QGIS expressions used to discriminate features according to their attributes or properties in order to apply specific rendering settings to them. Rules can be nested, and features belong to a class if they belong to all the upper nesting level(s).

The ruleBasedSymbol Rule-based renderer is thus designed to render all the features from a layer, using symbols whose aspect reflects the assignment of a selected feature to a fine-grained class.

Pour créer une règle :

  1. Activate an existing row by double-clicking it (by default, QGIS adds a symbol without a rule when the rendering mode is enabled) or click the symbologyEdit Edit rule or symbologyAdd Add rule button.

  2. Dans la boîte de dialogue Éditer une règle qui s’ouvre, vous pouvez définir un libellé pour vous aider à identifier chaque règle. C’est l’étiquette qui sera affichée dans le Panneau des couches et aussi dans la légende du composeur d’impression.

  3. Entrez une expression dans la zone de texte à côté de l’option radioButtonOn Filtre ou appuyez sur le bouton expression à côté pour ouvrir la boîte de dialogue du Constructeur de Chaîne d’Expression.

  4. Utilisez les fonctions fournies et les attributs de couche pour construire une expression pour filtrer les entités que vous souhaitez récupérer. Appuyez sur le bouton Test pour vérifier le résultat de la requête.

  5. Vous pouvez saisir un libellé plus long pour compléter la description de la règle.

  6. Vous pouvez utiliser l’option checkbox Échelle de visualisation pour définir les échelles auxquelles la règle doit être visible.

  7. Vous pouvez enfin configurer le symbole à afficher pour ces entités.

  8. Cliquez sur OK.

Une nouvelle ligne résumant la règle est ajoutée à la boîte de dialogue Propriétés de la couche. Vous pouvez créer autant de règles que nécessaire en suivant les étapes ci-dessus ou copier-coller une règle existante. Glissez-déposez les règles pour les imbriquer les unes par rapport aux autres et affiner les caractéristiques des règles supérieures dans des sous-catégories.

The rule-based renderer can be combined with categorized or graduated renderers. Selecting a rule, you can organize its features in subclasses using the Refine selected rules drop-down menu. Refined classes appear like sub-items of the rule, in a tree hierarchy and like their parent, you can set the symbology and the rule of each class. Automated rule refinement can be based on:

  • scales: given a list of scales, this option creates a set of classes to which the different user-defined scale ranges apply. Each new scale-based class can have its own symbology and expression of definition. This can e.g. be a convenient way to display the same features with various symbols at different scales, or display only a set of features depending on the scale (e.g. local airports at large scale vs international airports at small scale).

  • categories: applies a categorized renderer to the features falling in the selected rule.

  • or ranges: applies a graduated renderer to the features falling in the selected rule.

Refined classes appear like sub-items of the rule, in a tree hierarchy and like above, you can set symbology of each class. Symbols of the nested rules are stacked on top of each other so be careful in choosing them. It is also possible to uncheck unchecked Symbols in the Edit rule dialog to avoid rendering a particular symbol in the stack.

Dans la boîte de dialogue Éditer une règle, vous pouvez éviter d’écrire toutes les règles et utiliser l’option radioButtonOff Sinon pour récupérer toutes les entités qui ne correspondent à aucune des autres règles de même niveau. Ceci peut aussi être réalisé en écrivant Else dans la colonne Règle de la boîte de dialogue Propriétés de la couche ► Symbologie ► Ensemble de règles.

Un clic droit sur les éléments sélectionnés affiche un menu contextuel pour:

  • Copier et Coller, un moyen pratique de créer de nouveaux éléments à partir d’éléments existants

  • Copier le Symbole et Coller le symbole, un moyen pratique d’appliquer la représentation d’un élément à d’autres

  • Modifier la couleur… du ou des symboles sélectionnés

  • Modifier l’opacité… du ou des symboles sélectionnés

  • Modifier l’unité de sortie… du ou des symboles sélectionnés

  • Modifier la largeur… du ou des symboles de ligne sélectionnés

  • Modifier la taille… du ou des symboles de ligne sélectionnés

  • Modifier l’angle… du ou des symboles de points sélectionnés

  • Refine Current Rule: open a submenu that allows to refine the current rule with scales, categories or Ranges. Same as selecting the corresponding menu at the bottom of the dialog.

Unchecking a row in the rule-based renderer dialog hides in the map canvas the features of the specific rule and the nested ones.

The created rules also appear in a tree hierarchy in the map legend. Double-click an entry in the map legend to edit the assigned symbol. Right-click and you will get some more options.

L’exemple de la figure Fig. 16.7 montre le rendu basé sur des règles pour la couche des rivières du jeu de données de QGIS.

../../../_images/rulesymbol_ng_line.png

Fig. 16.7 Options du mode de rendu par Ensemble de Règles

Rendu Déplacement de point

The pointDisplacementSymbol Point Displacement renderer takes the point features falling in a given distance tolerance from each other and places their symbols around their barycenter, following different placement methods. This can be a convenient way to visualize all the features of a point layer, even if they have the same location (e.g. amenities in a building).

To configure a point displacement renderer, you have to:

  1. Set the Center symbol: how the virtual point at the center will look like

  2. Select the Renderer type: how you want to classify features in the layer (single, categorized, rule-based…)

  3. Press the Renderer Settings… button to configure features” symbology according to the selected renderer

  4. Indicate the Distance tolerance in which close features are considered overlapping and then displaced over the same virtual point. Supports common symbol units.

  5. Configure the Placement methods:

    • Anneau : place tous les éléments sur un cercle dont le rayon dépend du nombre d’éléments à afficher.

    • Anneaux concentriques : utilise un ensemble de cercles concentriques pour montrer les entités.

    • Grille : génère une grille régulière avec un symbole de point à chaque intersection.

  6. Displaced symbols are placed on the Displacement lines. While the minimal spacing of the displacement lines depends on the point symbols renderer, you can still customize some of their settings such as the Stroke width, Stroke color and Size adjustment (e.g., to add more spacing between the rendered points).

  7. Use the Labels group options to perform points labeling: the labels are placed near the displaced symbol, and not at the feature real position.

    1. Select the Label attribute: a field of the layer to use for labeling

    2. Indicate the Label font properties and size

    3. Pick a Label color

    4. Set a Label distance factor: for each point feature, offsets the label from the symbol center proportionally to the symbol’s diagonal size.

    5. Turn on unchecked Use scale dependent labeling if you want to display labels only on scales larger than a given Minimum map scale.

../../../_images/poi_displacement.png

Fig. 16.8 Fenêtre Déplacement de points

Note

Le rendu de déplacement de points ne modifie pas la géométrie des entités, ce qui signifie que les points ne sont pas déplacés de leur position. Ils sont toujours situés à leur emplacement initial. Les modifications ne sont que visuelles, à des fins de rendu. Utilisez plutôt l’algorithme de traitement Déplacement des points si vous voulez déplacer les points.

Rendu Groupe de points

Unlike the pointDisplacementSymbol Point Displacement renderer which blows up nearest or overlaid point features placement, the pointClusterSymbol Point Cluster renderer groups nearby points into a single rendered marker symbol. Points that fall within a specified distance from each others are merged into a single symbol. Points aggregation is made based on the closest group being formed, rather than just assigning them the first group within the search distance.

A partir de la fenêtre principale, vous pouvez :

  1. Set the symbol to represent the point cluster in the Cluster symbol; the default rendering displays the number of aggregated features thanks to the @cluster_size variable on Font marker symbol layer.

  2. Select the Renderer type, i.e. how you want to classify features in the layer (single, categorized, rule-based…)

  3. Press the Renderer Settings… button to configure features” symbology as usual. Note that this symbology is only visible on features that are not clustered, the Cluster symbol being applied otherwise. Also, when all the point features in a cluster belong to the same rendering class, and thus would be applied the same color, that color represents the @cluster_color variable of the cluster.

  4. Indicate the maximal Distance to consider for clustering features. Supports common symbol units.

../../../_images/cluster_symbol.png

Fig. 16.9 Fenêtre groupe de points

Note

Le rendu de regroupement de points ne modifie pas la géométrie des entités, ce qui signifie que les points ne sont pas déplacés de leur position. Ils sont toujours situés à leur emplacement initial. Les modifications ne sont que visuelles, à des fins de rendu. Utilisez plutôt l’algorithme de traitement Partitionnement en K-moyennes ou Mise en cluster DBSCAN si vous voulez regrouper des entités en cluster.

Merged Features Renderer

The mergedFeatures Merged Features renderer allows area and line features to be “dissolved” into a single object prior to rendering to ensure that complex symbols or overlapping features are represented by a uniform and contiguous cartographic symbol.

Rendu Polygones inversés

Le rendu en invertedSymbol Polygones inversés permet de définir un symbole à appliquer à l’extérieur des polygones de la couche. Comme précédemment, vous pouvez alors choisir parmi des sous-modes de rendu : Symbole unique, Gradué, Catégorisé, Ensemble de règles ou 2.5 D.

../../../_images/inverted_polygon_symbol.png

Fig. 16.10 Fenêtre du mode de rendu en Polygones Inversés

Rendu Carte de chaleur

Avec le rendu de heatmapSymbol Carte de chaleur vous pouvez créer des cartes de chaleur en temps réel et dynamiques pour des couches (multi-)points. Vous pouvez définir le rayon de la carte de chaleur en millimètres, points, pixels, unités cartographiques ou pouces, choisir et éditer une palette de couleur pour le style de carte de chaleur et utiliser une jauge pour choisir entre la vitesse de rendu et la qualité. Vous pouvez également définir une valeur maximale limite et attribuer une pondération à chaque point via un champ ou une expression. Lorsqu’une entité est ajoutée ou retirée, le rendu de carte de chaleur met automatiquement à jour le style de carte de chaleur.

../../../_images/heatmap_symbol.png

Fig. 16.11 Fenêtre Carte de chaleur

Rendu 2.5D

L’utilisation du rendu 25dSymbol 2.5D permet de créer un effet 2.5D sur les entités de votre couche. Commencez par choisir une valeur de Hauteur (en unités cartographiques). Vous pouvez utiliser une valeur fixe, l’un des champs de votre couche ou une expression. Vous devez également choisir un Angle (en degrés) pour recréer la position du spectateur (0° à l’ouest, sens croissant dans le sens inverse des aiguilles d’une montre). Utilisez les options de configuration avancées pour définir la Couleur du toit et la Couleur de mur. Si vous souhaitez simuler le rayonnement solaire sur les façades des entités, cocher la case checkbox Ombrager les murs en se basant sur leur aspect. Vous pouvez également simuler une ombre en définissant une Couleur et une Taille (en unités cartographiques).

../../../_images/2_5dsymbol.png

Fig. 16.12 Fenêtre 2.5D

Astuce

Utilisation de l’effet 2.5D avec d’autres styles de rendu

Quand vous avez terminé de définir le style rendu 2.5D, vous pouvez le convertir en un autre rendu (symbole unique, catégorisé, gradué). Les effets 2.5D seront conservés et toutes les autres options spécifiques au rendu seront disponibles (de cette façon, vous pouvez par exemple catégoriser des symboles avec une belle représentation 2.5D ou ajouter un style complémentaire à vos symboles 2.5D). Pour vous assurer que l’ombre et le «bâtiment» lui-même n’interfèrent pas avec d’autres entités voisines, vous pouvez activer les niveaux de symboles (Avancé -> Niveaux de symbole…). Les valeurs de hauteur et d’angle du 2,5D sont enregistrées dans les variables de la couche, vous pouvez donc les éditer dans l’onglet variables de la fenêtre de propriétés de la couche.

Embedded Renderer

The Embedded Symbols renderer allows to display the “native” symbology of a provided datasource. This is mostly the case with KML and TAB datasets that have predefined symbology.

16.1.3.2. Rendu de couche

Dans l’onglet Symbologie, vous pouvez également définir des options qui agissent sur toutes les entités de la couche :

  • Opacité slider: Vous pouvez rendre la couche sous-jacente dans le canevas de carte visible avec cet outil. Utilisez le curseur pour adapter la visibilité de votre couche vecteur à vos besoins. Vous pouvez également définir avec précision le pourcentage de visibilité dans le menu à côté du curseur.

  • Blending mode at the Layer and Feature levels: You can achieve special rendering effects with these tools that you may previously only know from graphics programs. The pixels of your overlaying and underlaying layers are mixed through the settings described in Modes de fusion.

  • Appliquer les effets sur les entités de la couche avec le bouton Effets.

  • Le Contrôle de l’ordre de rendu des couches vous permet de définir l’index z qui déterminera l’ordre de rendu des entités, à partir de leurs attributs. Activez la case à cocher et cliquez sur le bouton sort sur le côté. Vous obtiendrez une boîte de dialogue Définir l’ordre dans laquelle vous:

    1. choisissez un champ ou construisez une expression à appliquer aux entités de la couche.

    2. Définissez l’ordre de rendu des entités correspondantes, c’est-à-dire si vous choisissez l’ordre Ascendant, les entités renvoyant une plus petite valeur à votre requête sont affichées en premier et placées sous les autres.

    3. Définissez l’ordre de rendu des entités ayant la valeur NULL: en premier ou en dernier.

    4. Répétez les étapes ci-dessus autant de fois que nécessaire.

    Les règles sont appliquées de haut en bas; les entités sont rangées selon la première règle puis, pour chaque groupe d’entités ayant la même valeur (y compris celles avec la valeur NULL) et donc de même niveau z d’empilement (z-level), la règle suivante est appliquée pour ordonner leur placement. Et ainsi de suite…

../../../_images/layer_rendering_options.png

Fig. 16.13 Options de rendu de couche

16.1.3.3. Autres Paramètres

Niveaux de symbole

Pour les moteurs de rendu qui permettent l’empilement des couches de symbole (seul carte de chaleur ne le permet pas), il existe une option pour contrôler l’ordre de rendu de chaque niveau de symbole.

Pour la plupart des moteurs de rendu, vous pouvez accéder à l’option des niveaux de symbole en cliquant sur le bouton Avancé situé sous la liste des symboles enregistrés puis en choisissant Niveaux de symboles. Pour le moteur de rendu Ensemble de règles, l’option est directement activée par le bouton Niveaux de symboles… alors que pour le moteur de rendu Rendu Déplacement de point, le même bouton est à l’intérieur de la boîte de dialogue Paramètres du moteur de rendu.

Pour activer les niveaux de symbole, sélectionnez checkbox Niveaux de symboles…. Chaque ligne représentera un exemple de symbole combiné avec son étiquette et la couche de symbole divisée en colonnes avec numéro dans chacune d’elles. Ces nombres représentent l’ordre de représentation de la couche. Les valeurs faibles sont dessinées en premier, en restant vers le bas alors que les valeurs les plus importantes sont dessinées plus tard, au dessus des autres.

../../../_images/symbol_levels.png

Fig. 16.14 Fenêtre Niveaux de symbole

Note

Si les niveaux de symbole sont désactivés, les symboles complets seront dessinés en fonction de l’ordre des entités. Les symboles situés au dessus masqueront ceux situés en dessous. Des symboles de même niveau ne seront pas « fusionnés » ensemble.

../../../_images/symbol_levels_examples.png

Fig. 16.15 Différence de rendu selon que les niveaux de symboles sont activés (A) ou non (B)

Légende de la Taille définie par des données

Lorsqu’une couche est rendue en symboles proportionnels ou analyse multivariée ou lorsqu’un diagramme de taille variable est appliqué à la couche, vous pouvez autoriser l’affichage des symboles mis à l’échelle à la fois dans le panneau des couches et la légende d’une mise en page.

Pour ouvrir la fenêtre de Légende de la Taille définie par des données pour le rendu des symboles, sélectionnez l’option éponyme dans le bouton Avancé sous la liste des symboles enregistrés. Pour les diagrammes, l’option est disponible sous l’onglet Légende. La fenêtre fournit les options suivantes pour :

  • sélectionner le type de légende : radioButtonOn Légende non activée, radioButtonOff Éléments de légende séparés et radioButtonOff Légende repliée. Pour cette dernière option, vous pouvez sélectionner si les éléments de légende seront alignés En bas ou Au centre ;

  • preview the symbol to use for legend representation;

  • saisir le titre de la légende ;

  • redimensionner les classes à utiliser : par défaut, QGIS vous fournit une légende de cinq classes (basée sur de jolies ruptures ) mais vous pouvez appliquer votre propre classification en utilisant l’option checkbox Taille manuelle des classes. Utilisez les boutons symbologyAdd et symbologyRemove pour définir vos valeurs et étiquettes de classes personnalisées.

  • En cas de légende repliée, il est possible de :

    • Align symbols in the center or the bottom

    • configure the horizontal leader Line symbol from the symbol to the corresponding legend text.

A preview of the legend is displayed in the right panel of the dialog and updated as you set the parameters.

../../../_images/data_defined_size_legend.png

Fig. 16.16 Options de la Légende définie par la taille des données

Note

Actuellement, la légende définie par la taille les données ne peut être appliquée à la couche de points qu’à l’aide d’une symbologie unique, catégorisée ou graduée.

Animation settings

To allow any symbol to become an animated symbol, you can utilize Animation settings panel. In this panel, you can enable animation for the symbol and set a specific frame rate for the symbol’s redrawing.

  1. Start by going to the top symbol level and select Advanced menu in the bottom right of the dialog

  2. Find Animation settings option

  3. Check checkbox Is Animated to enable animation for the symbol

  4. Configure the Frame rate, i.e. how fast the animation would be played

  5. You can now use @symbol_frame variable in any sub-symbol data defined property in order to animate that property.

For example, setting the symbol’s rotation to data defined expression @symbol_frame % 360 will cause the symbol to rotate over time, with rotation speed dictated by the symbol’s frame rate:

../../../_images/animated_symbol.gif

Fig. 16.17 Setting the symbol’s rotation to data defined expression

Effets

Pour améliorer le rendu de la couche et éviter (ou au moins réduire) d’utiliser un autre logiciel pour l’édition finale des cartes, QGIS fournit une autre fonctionnalité puissante: les options d”paintEffects Effets qui ajoute des effets d’affichage afin de personnaliser la visualisation des couches vecteur.

L’option est disponible dans la boîte de dialogue Propriétés de la couche ► Symbologie, sous le groupe Rendu de couche (s’applique à la couche entière) ou dans les Propriétés du symbole (s’applique aux catégories correspondantes). Vous pouvez combiner les deux utilisations.

Les effets peuvent être activés en cochant l’option checkbox Effets et en cliquant sur le bouton paintEffects Personnaliser les effets qui ouvrira la boîte de dialogue Propriétés des effets (voir Fig. 16.18). Les types d’effet suivants avec leurs options personnalisées sont disponibles :

  • Source: Dessine l’entité dans son style originel selon la configuration des propriétés de la couche. L”Opacité de ce style peut être ajustée, tout comme le mode de fusion et le mode de dessin. Il s’agit là de propriétés communes à tous les types d’effets.

    ../../../_images/source.png

    Fig. 16.18 Effets: boîte de dialogue Source

  • Flou: Ajoute un effet de flou à la couche vecteur. Les options modifiables sont Type de flou (Flou par empilement or Flou gaussien), la force et la transparence de l’effet de flou.

    ../../../_images/blur.png

    Fig. 16.19 Effets: boîte de dialogue Flou

  • Coloriser : Cet effet peut être utilisé pour créer une version du style en utilisant une seule teinte. La base sera toujours une version en niveaux de gris du symbole et vous pouvez :

    • Utilisez selectString Niveau de gris pour sélectionner comment le créer : les options sont “Par clarté”, “Par luminosité”,”En moyenne” et “Off”.

    • Si checkbox Coloriser est sélectionné, il sera possible de mélanger une autre couleur et de choisir sa puissance.

    • Contrôler les niveaux de Luminosité, Contraste et Saturation du symbole .

    ../../../_images/colorise.png

    Fig. 16.20 Effets: boîte de dialogue Coloriser

  • Ombre portée : L’utilisation de cet effet ajoute une ombre sur l’entité, ce qui ressemble à l’ajout d’une dimension supplémentaire. Cet effet peut être personnalisé en changeant l’angle et la distance du Décalage, en déterminant la direction et la distance de l’ombre depuis l’objet source. Ombre portée a aussi la possibilité de changer le rayon de floutage et le Couleur de l’ombre.

    ../../../_images/drop_shadow.png

    Fig. 16.21 Effets: boîte de dialogue de l’ombre portée.

  • Ombre intérieure: Cet effet est semblable à l’effet Ombre portée mais il ajoute l’effet d’ombre à l’intérieur des limites de l’entité. Les options disponibles pour la personnalisation sont identiques à celles de l’effet Ombre portée.

    ../../../_images/inner_shadow.png

    Fig. 16.22 Effets: boîte de dialogue de l’ombre intérieure.

  • Luminescence interne: Ajoute un effet de luminescence à l’intérieur de l’entité. Cet effet peut être personnalisé en ajustant la diffusion (Rayon) de la luminescence ou le Rayon de floutage. Le dernier indique la proximité depuis la limite de l’entité où vous souhaitez ajouter le floutage. De plus, il existe des options pour personnaliser la couleur du floutage à l’aide d’une couleur simple ou d’une palette.

    ../../../_images/inner_glow.png

    Fig. 16.23 Effets: boîte de dialogue de luminescence interne.

  • Luminescence externe: Cet effet est semblable à l’effet Luminescence interne mais il ajoute l’effet de luminescence à l’extérieur des limites de l’entité. Les options disponibles pour la personnalisation sont identiques à celles de l’effet Luminescence interne.

    ../../../_images/outer_glow.png

    Fig. 16.24 Effets: boîte de dialogue de luminescence externe.

  • Transformer: Ajoute la possibilité de transformer la forme du symbole. Les premières options disponibles sont les Mirroir horizontal and Mirroir vertical qui créé une réflexion sur les axes horizontal et/ou vertical. Les 4 autres options sont:

    • Cisaille: déforme l’entité le long de l’axe x et/ou y.

    • Échelle: grossit ou réduit l’entité le long des axes x et/ou y d’un pourcentage donné.

    • Rotation: tourne l’entité autour de son centre.

    • et Translation qui déplace l’objet d’une distance donnée sur l’axe x et/ou l’axe y.

    ../../../_images/transform.png

    Fig. 16.25 Effets: boîte de dialogue Transformer.

Plusieurs effets peuvent être utilisés simultanément. Vous pouvez activer/désactiver un effet en cochant sa case dans la liste des effets. Vous pouvez modifier le type d’effet en utilisant l’option Type d’effet. Vous pouvez modifier l’ordre des effets en utilisant les boutons arrowUp Monter et arrowDown Descendre et également ajouter/supprimer des effets en utilisant les boutons symbologyAdd Ajouter un nouvel effet and symbologyRemove Supprimer l’effet.

Il existe des options communes à tous les type d’effets. Les options Opacité et Mode de fusion fonctionnent de la même manière que celles décrites dans Rendu de couche et elles peuvent être utilisées dans tous les effets à l’exception de Transformer.

Il y a aussi une option selectString Mode dessin disponible pour chaque effet, et vous pouvez choisir de rendre et/ou modifier le symbole, en suivant certaines règles :

  • Les effets sont rendus de haut en bas.

  • Rendu uniquement signifie que l’effet sera visible.

  • Modifier uniquement signifie que l’effet ne sera pas visible mais la modifications qu’il applique seront transmises à l’effet suivant (celui qui suit immédiatement).

  • Le mode Effectuer le rendu et modifier rendra l’effet visible et passera tout changement à l’effet suivant. Si l’effet se trouve en haut de la liste des effets ou si l’effet immédiatement au dessus n’est pas en mode modification, alors il utilisera le symbole source des propriétés de la couche (similaire à celui de la source).

16.1.4. Onglet Étiquettes

L’onglet labelingSingle Étiquettes vous offre toutes les fonctionnalités nécessaires et appropriées pour configurer un étiquetage intelligent sur les couches vecteur. Cette fenêtre est également accessible à partir du panneau Style de couche, ou en utilisant le bouton labelingSingle Options d’étiquetage des couches de la barre d’outils Étiquettes.

La première étape consiste à choisir la méthode d’étiquetage dans la liste déroulante. Les méthodes disponibles sont :

  • labelingNone Pas d’étiquette : la valeur par défaut, n’affichant aucune étiquette de la couche

  • labelingSingle Étiquettes simples : Affiche les étiquettes sur la carte en utilisant un seul attribut ou une expression

  • labelingRuleBased Étiquettes basées sur des règles

  • et labelingObstacle Bloquant : n’affiche pas d’étiquette mais définit la couche comme un obstacle pour les étiquettes des autres couches.

Les étapes suivantes supposent que vous sélectionnez l’option labelingSingle Étiquettes simples, ouvrant la fenêtre suivante.

../../../_images/label_menu_text.png

Fig. 16.26 Paramètres d’étiquetage des couches - Étiquettes simples

En haut de la fenêtre, la liste déroulante Valeur est activée. Vous pouvez sélectionner une colonne d’attribut à utiliser pour l’étiquetage. Par défaut, le champ d’infobulle est utilisé. Cliquez sur expression si vous souhaitez définir des étiquettes basées sur des expressions - Voir Définir des étiquettes basées sur des expressions.

Note

Labels with their formatting can be displayed as entries in the legends, if enabled in the Legend tab.

Voici les options affichées pour personnaliser les étiquettes, sous différents onglets :

La manière de définir chaque propriété est décrite ici : Paramétrer une étiquette.

16.1.4.1. Réglage du moteur de placement automatique

Vous pouvez utiliser les paramètres de placement automatique pour configurer un comportement automatisé des étiquettes au niveau du projet. Dans le coin supérieur droit de l’onglet etiquettes, cliquez sur le bouton autoPlacementSettings Paramètres de placement automatique (s’applique à tous les calques), ouvrant une boîte de dialogue avec les options suivantes :

../../../_images/placement_engine.png

Fig. 16.27 Réglage du moteur de placement automatique

  • Nombre de candidats : calcule et attribue aux éléments linéaires et polygonaux le nombre de placements possibles des étiquettes en fonction de leur taille. Plus une entités est longue ou large, plus elle a de candidats, et ses étiquettes peuvent être mieux placées avec moins de risque de collision.

  • Rendu du texte : définit la valeur par défaut des widgets de rendu d’étiquette lors de l’export du canevas de la carte ou d’une mise en page au format PDF ou SVG. Si Toujours exporter les étiquettes en texte est sélectionné, les étiquettes peuvent être modifiées dans des applications externes (par exemple Inkscape) en tant que texte normal. MAIS l’effet secondaire est que la qualité du rendu est diminuée, et il y a des problèmes avec le rendu lorsque certains paramètres de texte comme les tampons sont en place. C’est pourquoi Toujours exporter les étiquettes en vecteur (recommandé) qui exporte les étiquettes sous forme de contours, est recommandé.

  • checkbox Autoriser les étiquettes tronquées en bordure de la carte : contrôle si les étiquettes qui se trouvent partiellement en dehors de l’étendue de la carte doivent être affichées. Si cochée, ces étiquettes seront affichées (lorsqu’il n’y a aucun moyen de les placer entièrement dans la zone visible). Si cette case n’est pas cochée, les étiquettes partiellement visibles seront ignorées. Notez que ce paramètre n’a aucun effet sur l’affichage des étiquettes dans la mise en page de carte.

  • unchecked Afficher toutes les étiquettes de toutes les couches (y compris les étiquettes en collision). Notez que cette option peut également être définie par couche (voir Onglet Rendu)

  • unchecked Afficher les étiquettes non placées : permet de déterminer si des étiquettes importantes manquent dans les cartes (par exemple en raison de chevauchements ou d’autres contraintes). Elles sont affichées en utilisant une couleur personnalisable.

  • unchecked Afficher les possibilités (pour le débogage) : contrôle si les rectangles d’emprise doivent être dessinés sur la carte montrant toutes les possibilités générées pour le placement des étiquettes. Comme son nom l’indique, il n’est utile que pour le débogage et le test de l’effet des différents paramètres d’étiquetage. Cela pourrait être pratique pour un meilleur placement manuel avec les outils de la barre d’outils Étiquettes.

  • Version de l’étiquetage du projet : QGIS prend en charge deux versions différentes du placement automatique des étiquettes :

    • Version 1 : l’ancien système (utilisé par les versions 3.10 et antérieures de QGIS, et lors de l’ouverture de projets créés dans ces versions dans QGIS 3.12 ou plus). La version 1 traite les priorités des étiquettes et des obstacles comme des « guides approximatifs » uniquement, et il est possible qu’une étiquette de faible priorité soit placée sur un obstacle de haute priorité dans cette version. En conséquence, il peut être difficile d’obtenir les résultats d’étiquetage souhaités en utilisant cette version et elle n’est donc recommandée que pour la compatibilité avec les anciens projets.

    • Version 2 (recommandée) : c’est le système par défaut dans les nouveaux projets créés dans QGIS 3.12 ou plus. Dans la version 2, la logique dictant quand les étiquettes sont autorisées à chevaucher obstacles a été retravaillée. La nouvelle logique interdit aux étiquettes de chevaucher tout obstacle dont le poids est supérieur à la priorité de l’étiquette. En conséquence, cette version donne des résultats d’étiquetage beaucoup plus prévisibles et plus faciles à comprendre.

16.1.4.2. Étiquettes basées sur des règles

Avec l’étiquetage basé sur des règles, plusieurs configurations d’étiquettes peuvent être définies et appliquées sélectivement sur la base des filtres d’expression et de la plage d’échelle, comme dans Ensemble de règles.

Pour créer une règle :

  1. Select the labelingRuleBased Rule-based labeling option in the main drop-down list from the Labels tab

  2. Click the symbologyAdd Add rule button at the bottom of the dialog.

  3. Fill the new dialog with:

    • Description: a text used to identify the rule in the Labels tab and as a label legend entry in the print layout legend

    • Filter: an expression to select the features to apply the label settings to

    • If there are rules already set, the Else option can be used to select all the features not matching any filter of the rules in the same group.

  4. You can set a scale range in which the label rule should be applied.

  5. The options available under the Labels group box are the usual label settings. Configure them and press OK.

    ../../../_images/label_rule_settings.png

    Fig. 16.28 Paramètres des règles

A summary of existing rules is shown in the main dialog (see Fig. 16.29). You can add multiple rules, reorder or imbricate them with a drag-and-drop. You can as well remove them with the symbologyRemove button or edit them with symbologyEdit button or a double-click.

../../../_images/label_rules_panel.png

Fig. 16.29 Étiquetage basé sur des règles

16.1.4.3. Définir des étiquettes basées sur des expressions

Que vous choisissiez un type d’étiquetage simple ou basé sur des règles, QGIS permet d’utiliser des expressions pour étiqueter les entités.

En supposant que vous utilisez la méthode :guilabel: Étiquettes simples, cliquez sur expression près de la liste déroulante Valeur dans l’onglet labelingSingle Étiquettes de la fenêtre des propriétés.

Dans Fig. 16.30, vous voyez un exemple d’expression pour étiqueter la couche des arbres d’Alaska avec le type d’arbre et la surface, en se basant sur le champ “VEGDESC”, un texte descriptif, et la fonction $area en combinaison avec format_number() pour rendre le tout plus joli.

../../../_images/label_expression.png

Fig. 16.30 Utiliser des expressions pour l’étiquetage

Les Étiquettes basées sur des expressions sont faciles à utiliser. vous devez simplement faire attention aux points suivants :

  • Vous pouvez avoir besoin de combiner tous les éléments (chaînes, champs et fonctions) avec une fonction de concaténation de chaînes de caractères telle que concat, + ou ||. Sachez que dans certaines situations (lorsqu’il s’agit de valeurs nulles ou numériques), tous ces outils ne répondront pas de la même façon à vos besoins.

  • Les chaînes de caractères doivent être écrites en utilisant des “guillemets simples”.

  • Les champs doivent être écrits avec des « guillemets doubles » ou sans guillemets.

Examinons quelques exemples :

  1. Étiquette basée sur deux champs “nom” et” place” avec une virgule comme séparateur: :

    "name" || ', ' || "place"
    

    Renvoie

    John Smith, Paris
    
  2. Étiquette basée sur deux champs “nom” et “lieu” avec d’autres textes :

    'My name is ' + "name" + 'and I live in ' + "place"
    'My name is ' || "name" || 'and I live in ' || "place"
    concat('My name is ', name, ' and I live in ', "place")
    

    Renvoie

    My name is John Smith and I live in Paris
    
  3. Étiquette basée sur deux champs “nom” et “lieu” avec d’autres textes combinant différentes fonctions de concaténation :

    concat('My name is ', name, ' and I live in ' || place)
    

    Renvoie

    My name is John Smith and I live in Paris
    

    Ou, si le champ “lieu” est NULL, renvoie : :

    My name is John Smith
    
  4. Étiquette multi-ligne basée sur deux champs “nom” et “lieu” avec un texte descriptif :

    concat('My name is ', "name", '\n' , 'I live in ' , "place")
    

    Renvoie

    My name is John Smith
    I live in Paris
    
  5. Étiquette basée sur un champ et la fonction $area pour afficher le nom du lieu et sa superficie arrondie dans une unité de surface :

    'The area of ' || "place" || ' has a size of '
    || round($area/10000) || ' ha'
    

    Renvoie

    The area of Paris has a size of 10500 ha
    
  6. Créer une condition CASE ELSE. Si la valeur de la population dans le champ « population » est <= 50000 c’est une localité (town), sinon c’est une ville (city) :

    concat('This place is a ',
    CASE WHEN "population" <= 50000 THEN 'town' ELSE 'city' END)
    

    Renvoie

    This place is a town
    
  7. Affiche le nom des villes et pas d’étiquette pour les autres entités (pour le contexte « ville », voir exemple ci-dessus) :

    CASE WHEN "population" > 50000 THEN "NAME" END
    

    Renvoie

    Paris
    

Comme vous pouvez le constater dans le constructeur d’expressions, vous avez à votre disposition une centaine de fonctions pour créer des expressions simples ou très complexes afin d’étiqueter vos données avec QGIS. Voir Expressions pour plus d’informations et des exemples d’expressions.

16.1.4.4. Utiliser des valeurs de paramètres définies par les données pour l’étiquetage

Avec la fonction dataDefine Valeurs définies par des données, les réglages de l’étiquetage sont remplacés par des entrées dans la table d’attributs ou des expressions basées sur celles-ci. Cette fonction peut être utilisée pour définir des valeurs pour la plupart des options d’étiquetage décrites ci-dessus.

Par exemple, en utilisant l’échantillon de données de QGIS sur l’Alaska, étiquetons la couche airports avec leur nom, en fonction de leur USE militaire, c’est-à-dire si l’aéroport est accessible à :

  • les militaires, puis l’afficher en gris, taille 8 ;

  • les autres seront affichés en bleu, taille 10.

Pour ce faire, après avoir activé l’étiquetage sur le champ NOM de la couche (voir Paramétrer une étiquette) :

  1. Activez l’onglet Texte.

  2. Cliquez sur l’icône dataDefine à droite de Taille.

  3. Sélectionnez Editer… et tapez:

    CASE
      WHEN "USE" like '%Military%' THEN 8 -- because compatible values are 'Military'
                                          -- and 'Joint Military/Civilian'
      ELSE 10
    END
    
  4. Appuyez sur OK pour valider. La boîte de dialogue se ferme et le bouton dataDefine devient dataDefineExpressionOn ce qui signifie qu’une règle est exécutée.

  5. Cliquez ensuite sur le bouton à côté de la propriété de couleur, tapez l’expression ci-dessous et validez:

    CASE
      WHEN "USE" like '%Military%' THEN '150, 150, 150'
      ELSE '0, 0, 255'
    END
    

De même, vous pouvez personnaliser toute autre propriété de l’étiquette, comme vous le souhaitez. Voir plus de détails sur la description et la manipulation du widget dataDefine Valeur définie par des données dans la section Valeurs définies par des données.

../../../_images/label_attribute_data_defined.png

Fig. 16.31 Les étiquettes des aéroports sont formatées en fonction de leurs attributs

Astuce

Utilisez le remplacement défini par les données pour étiqueter chaque partie des entités en plusieurs parties

Il existe une option pour définir l’étiquetage des entités en plusieurs parties indépendamment des propriétés de vos étiquettes. Allez dans render Rendu, Options des entités, puis cliquez sur dans dataDefine Valeur définie par des données à côté de la case à cocher unchecked Étiqueter toutes les parties d’une entité multi-partie et définissez les étiquettes comme décrit dans Valeurs définies par des données.

La barre d’outils Étiquettes

The Label Toolbar provides some tools to manipulate labelingSingle label (including their callout) or diagram diagram properties:

../../../_images/diagram_toolbar.png

Fig. 16.32 La barre d’outils Étiquettes

  • showPinnedLabels Highlight Pinned Labels, Diagrams and Callouts. If the vector layer of the item is editable, then the highlighting is green, otherwise it’s blue.

  • showUnplacedLabel Toggle Display of Unplaced Labels: Allows to determine whether any important labels are missing from the maps (e.g. due to overlaps or other constraints). They are displayed with a customizable color (see Réglage du moteur de placement automatique).

  • pinLabels Pin/Unpin Labels and Diagrams. By clicking or draging an area, you pin overlaid items. If you click or drag an area holding Shift, the items are unpinned. Finally, you can also click or drag an area holding Ctrl to toggle their pin status.

  • showHideLabels Show/Hide Labels and Diagrams. If you click on the items, or click and drag an area holding Shift, they are hidden. When an item is hidden, you just have to click on the feature to restore its visibility. If you drag an area, all the items in the area will be restored.

  • moveLabel Move a Label, Diagram or Callout: click to select the item and click to move it to the desired place. The new coordinates are stored in auxiliary fields. Selecting the item with this tool and hitting the Delete key will delete the stored position value.

  • rotateLabel Rotate a Label. Click to select the label and click again to apply the desired rotation. Likewise, the new angle is stored in an auxiliary field. Selecting a label with this tool and hitting the Delete key will delete the rotation value of this label.

  • changeLabelProperties Modifier les propriétés de l’étiquette. Il ouvre une boîte de dialogue pour modifier les propriétés de l’étiquette cliquée ; il peut s’agir de l’étiquette elle-même, de ses coordonnées, de son angle, de sa police, de sa taille, de son alignement multiligne … tant que cette propriété a été associée à un champ. Ici, vous pouvez régler l’option sur checkbox Étiqueter chaque partie d’une entité.

Avertissement

Les outils d’étiquetage écrasent les valeurs actuelles des attributs

L’utilisation de la Barre d’outils étiquetage pour personnaliser l’étiquetage écrit en fait la nouvelle valeur de la propriété dans le champ mappé. Par conséquent, veillez à ne pas remplacer par inadvertance les données dont vous pourriez avoir besoin plus tard!

Note

Le mécanisme Onglet Stockage auxiliaire peut être utilisé pour personnaliser l’étiquetage (position, etc.) sans modifier la source de données sous-jacente.

Personnaliser les étiquettes à partir du canevas de la carte

Combined with the Label Toolbar, the data defined override setting helps you manipulate labels in the map canvas (move, edit, rotate). We now describe an example using the data-defined override function for the moveLabelMove Label, Diagram or Callout function (see Fig. 16.33).

  1. Importez la couche lakes.shp depuis le jeu de données test de QGIS.

  2. Double-cliquez sur la couche pour ouvrir la fenêtre des Propriétés. Sélectionnez Étiquettes puis Position et enfin radioButtonOn Décalé du centroïde.

  3. Dans le cadre Définie par les données, cliquez sur l’icône dataDefine pour définir le champ correspondant aux Coordonnées. Choisissez xlabel pour X et ylabel pour Y. Les icônes prennent alors une surbrillance jaune.

    ../../../_images/label_coordinate_data_defined.png

    Fig. 16.33 Étiquetage d’une couche vecteur de polygones avec des paramètres définis par les données

  4. Zoomez sur un lac.

  5. Rendez la couche modifiable à l’aide du bouton toggleEditing Basculer en mode édition.

  6. Sélectionnez l’outil moveLabel de la barre d’outils des Étiquettes. Vous pouvez maintenant déplacer l’étiquette manuellement vers une autre position (voir Fig. 16.34). La nouvelle position est sauvegardée dans les colonnes xlabel et ylabel de votre table attributaire.

  7. Il est aussi possible d’ajouter une ligne reliant chaque lac à son étiquette déplacée, en utilisant:

Note

Le mécanisme Onglet Stockage auxiliaire peut être utilisé avec des propriétés définies par les données sans avoir de source de données modifiable.

16.1.5. Onglet Diagrammes

The diagram Diagrams tab allows you to add a graphic overlay to a vector layer (see Fig. 16.35).

Cet onglet permet de générer :

  • diagramNone Aucun diagramme: La valeur par défaut, pas de diagramme sur les entités de la couche;

  • piechart Diagramme en camembert, un diagramme circulaire divisé en tranches pour illustrer une proportion numérique. La longueur de l’arc de chaque tranche est proportionnelle à la quantité qu’elle représente ;

  • text Diagramme de texte, un cercle divisé horizontalement et contenant des valeurs statistiques ;

  • histogram Histogramme, barres de couleurs variables pour chaque attribut alignées les unes à côté des autres.

  • stackedBar Barres empilées, Empile verticalement ou horizontalement des barres de couleurs différentes pour chaque attribut.

Dans le coin supérieur droit de l’onglet Diagrammes, le bouton autoPlacementSettings Paramètre de placement automatisé (s’applique à toutes les couches) permet de contrôler la position des étiquettes des diagrammes sur la carte.

Astuce

Basculer rapidement entre les types de diagrammes

Étant donné que les paramètres sont presque tous communs aux différents types de diagramme, lorsque vous paramétrez votre diagramme, vous pouvez facilement modifier le type de diagramme et retenir celui qui est le plus adapté à vos données sans perdre aucun paramètre.

Pour chaque type de diagramme, les propriétés sont divisées en plusieurs onglets:

16.1.5.1. Attributs

L’onglet Attributs permet de définir les variables à afficher dans le diagramme. Utilisez le bouton symbologyAdd Ajouter un élément pour ajouter les champs sélectionnés dans le panneau Attributs utilisés. Les attributs générés avec les Expressions peuvent également être utilisés.

Vous pouvez déplacer en haut et en bas n’importe quelle ligne avec un clic et un déplacement, pour trier l’affichage des attributs. Vous pouvez également modifier l’étiquette dans la colonne “Légende” ou la couleur de l’attribut en double-cliquant sur l’élément.

Cette étiquette est le texte par défaut affiché dans la légende de la mise en page d’impression ou de l’arborescence des couches.

../../../_images/diagram_tab.png

Fig. 16.35 Propriétés Diagramme - Onglet Attributs

16.1.5.2. Rendu

Rendu définit à quoi ressemble le diagramme. Il fournit des paramètres généraux qui n’interfèrent pas avec les valeurs statistiques telles que:

  • l’opacité du graphique, sa largeur et sa couleur de contour;

  • Selon le type de diagramme :

    • pour les histogrammes et les barres empilées, la largeur de la barre et l’espacement entre les barres. Vous pouvez définir l’espacement à 0 pour les barres empilées. En outre, le symbole de ligne d’axe peut être rendu visible sur le canevas de la carte et personnalisé à l’aide des propriétés de symbole linéaire.

    • pour le diagramme de texte, la couleur de fond du cercle et la police utilisée pour les textes ;

    • pour les diagrammes en camembert, l’angle Début de la première tranche et leur Direction (sens horaire ou non).

  • l’utilisation des effets de rendu sur les graphiques.

Dans cet onglet, vous pouvez également gérer et affiner la visibilité du diagramme avec différentes options:

  • Diagramme z-index: contrôle la façon dont les diagrammes sont dessinés les uns sur les autres et sur les étiquettes. Un diagramme avec un indice élevé est tracé au-dessus des diagrammes et des étiquettes;

  • checkbox Afficher tous les diagrammes: affiche tous les diagrammes même s’ils se chevauchent;

  • Voir diagramme: permet de ne visualiser que des diagrammes spécifiques;

  • Toujours visible: sélectionne des diagrammes spécifiques à toujours afficher, même lorsqu’ils chevauchent d’autres diagrammes ou étiquette de carte;

  • définition de Visibilité dépendante de l’échelle ;

../../../_images/diagram_tab_appearance.png

Fig. 16.36 Propriétés du diagramme - onglet Rendu

16.1.5.3. Taille

taille est l’onglet principal permettant de définir la manière dont les statistiques sélectionnées sont représentées. L’unité de la taille du diagramme peut être “Millimètres”, “Points”, “Pixels”, “Unités de carte” ou “Pouces”. Vous pouvez utiliser :

  • taille fixe, une taille unique pour représenter le graphique de toutes les entités (non disponible pour les histogrammes)

  • ou Taille à l’échelle, en fonction d’une expression utilisant les attributs de la couche :

    1. Dans attribut, sélectionnez un champ ou construisez une expression.

    2. Appuyez sur Trouver pour récupérer la Valeur Maximale de l’attribut ou indiquez une valeur personnalisée dans le widget.

    3. For histogram and stacked bars, enter a Bar length value, used to represent the Maximum value of the attributes. For each feature, the bar length will then be scaled linearly to keep this matching.

    4. Pour les diagrammes circulaires et les diagrammes textuels, entrez une valeur taille, utilisée pour représenter la Valeur maximale des attributs. Pour chaque élément, l’aire ou le diamètre du cercle sera ensuite mis à l’échelle de manière linéaire afin de conserver cette correspondance (à partir de 0). Une taille Minimum peut toutefois être définie pour les petits diagrammes.

../../../_images/diagram_tab_size.png

Fig. 16.37 Propriétés du Diagramme - onglet Taille

16.1.5.4. Position

Placement définit la position du diagramme. Selon le type de géométrie de la couche, il offre différentes options pour le placement (plus de détails dans Placement) :

  • autour point ou sur point pour les géométries ponctuelles. La première variable nécessite un rayon à suivre.

  • autour de la ligne ou sur la ligne pour la géométrie de ligne. Comme pour les entités ponctuelles, la première variable requiert une distance à respecter et vous pouvez spécifier le placement du diagramme par rapport à l’entité (“au-dessus”, “sur” et/ou “en dessous” de la ligne). Il est possible de sélectionner plusieurs options à la fois. Dans ce cas, QGIS recherchera la position optimale du diagramme. Rappelez-vous que vous pouvez également utiliser l’orientation de la ligne pour la position du diagramme.

  • autour du centroïde (donné une Distance), sur le centroïde, en utilisant le périmètre et dans le polygone représentent les options pour les entités polygones.

Le groupe coordonnées permet de contrôler directement le placement des diagrammes, élément par élément, en utilisant leurs attributs ou une expression pour définir les coordonnées X et Y. Ces informations peuvent également être renseignées à l’aide de l’outil Déplacer des étiquettes et des diagrammes.

Dans la section priorité, vous pouvez définir le rang de priorité de placement de chaque diagramme, c’est-à-dire que s’il y a différents diagrammes ou étiquettes candidats pour le même emplacement, l’élément ayant la priorité la plus élevée sera affiché et les autres pourront être laissés de côté.

décourager les diagrammes et les étiquettes qui recouvrent l’entité définit les entités à utiliser comme obstacles, c’est-à-dire que QGIS essaiera de ne pas placer de diagrammes ni d’étiquettes sur ces entités. Le rang de priorité est ensuite utilisé pour évaluer si un diagramme peut être omis en raison d’un obstacle plus important.

../../../_images/diagram_tab_placement.png

Fig. 16.38 Onglet Diagrammes de la fenêtre de Propriétés d’une couche vecteur, sous-onglet Emplacement

16.1.5.5. Options

L’onglet Options comporte des paramètres pour les histogrammes et les barres empilées. Vous pouvez choisir si l’orientation de la barre doit être Haut, Bas, Droit ou Gauche, pour les diagrammes horizontaux et verticaux.

16.1.5.6. Légende

A partir de l’onglet Légende, vous pouvez choisir d’afficher les éléments du diagramme dans le panneau Couches, et dans la légende de mise en page, à côté de la symbologie de la couche :

  • vérifier Afficher les entrées de légende pour les attributs du diagramme pour afficher dans les légendes les propriétés Couleur et Légende, comme précédemment assignées dans l’onglet Attributs;

  • et, lorsqu’une mise à l’échelle est utilisée pour les diagrammes, appuyez sur le bouton Entrée de légende pour la taille du diagramme… pour configurer l’aspect du symbole du diagramme dans les légendes. Cela ouvre la boîte de dialogue Définir la taille de la légende dont les options sont décrites dans Légende de la Taille définie par des données.

Une fois définis, les éléments de légende du diagramme (attributs avec couleur et taille de diagramme) sont également affichés dans la légende de la disposition d’impression, à côté de la symbologie des couches.

16.1.6. Onglet Masques

The labelmask Masks tab helps you configure the current layer symbols overlay with other symbol layers or labels, from any layer. This is meant to improve the readability of symbols and labels whose colors are close and can be hard to decipher when overlapping; it adds a custom and transparent mask around the items to « hide » parts of the symbol layers of the current layer.

Pour appliquer des masques sur le calque actif, vous devez d’abord activer dans le projet soit masques de couches de symbole, soit masques d’étiquettes. Ensuite, dans l’onglet Masques, cochez :

  • Les Couches de symboles masqués : liste dans une structure arborescente toutes les couches de symboles de la couche courante. Vous pouvez y sélectionner les éléments de la couche de symboles que vous souhaitez « couper » de manière transparente lorsqu’ils recouvrent les sources du masque sélectionné.

  • l’onglet Sources du masque : liste toutes les étiquettes de masque et les couches de symboles de masque définies dans le projet. Sélectionnez les éléments qui génèrent le masque sur les couches de symboles masqués sélectionnées.

../../../_images/masks_properties.png

Fig. 16.39 Propriétés de la couche - Onglet masque

16.1.7. Onglet Vue 3D

The 3d 3D View tab provides settings for vector layers that should be depicted in the 3D Map view tool.

Pour afficher une couche en 3D, sélectionnez dans la liste déroulante en haut de l’onglet, soit:

  • Symbole simple : les éléments sont rendus en utilisant un symbole 3D commun dont les propriétés peuvent être définies par des données ou non. Plus de détails dans définir un symbole 3D pour chaque type de géométrie.

  • Basé sur des règles: plusieurs configurations de symboles peuvent être définies et appliquées de manière sélective en fonction des filtres d’expression et de la plage d’échelle. Plus de détails sur le rendu basé sur des règles.

../../../_images/3d_view_properties.png

Fig. 16.40 Propriétés 3D d’une couche de points

Attention

Prefer the Elevation tab for symbol elevation and terrain settings

Features” elevation and altitude related properties (Altitude clamping, Altitude binding, Extrusion or Height) in the 3D View tab inherit their default values from the layer’s Elevation properties and should preferably be set from within the Elevation tab.

Pour de meilleures performances, les données des couches vecteur sont chargées en arrière-plan, en utilisant le multithreading, et rendues dans des tuiles dont la taille peut être contrôlée à partir de la section Rendu des couches de l’onglet :

  • Comptage des niveaux de zoom : détermine la profondeur du quadtree. Par exemple, un niveau de zoom signifie qu’il y aura une seule tuile pour la couche entière. Trois niveaux de zoom signifient qu’il y aura 16 tuiles au niveau de la feuille (chaque niveau de zoom supplémentaire multiplie ce nombre par 4). La valeur par défaut est 3 et la valeur maximale est 8.

  • checkbox Show bounding boxes of tiles: especially useful if there are issues with tiles not showing up when they should.

16.1.8. Onglet Champs

The sourceFields Fields tab provides information on fields related to the layer and helps you organize them.

La couche peut être rendue modifiable éditable en utilisant le toggleEditing Basculer en mode édition. À ce moment, vous pouvez modifier la structure en utilisant les boutons newAttribute Nouveau champ et deleteAttribute Supprimer le champ.

When creating newAttribute New field, the Comment option is available only for data sources that allow editing comments (See Database entries for more details). You can also set aliases within Add Field dialog, for supported OGR formats (GeoPackage and ESRI File Geodatabase).

../../../_images/add_field_comments_aliases.png

Fig. 16.41 Add Field Dialog

You can also rename fields by double-clicking its name. This is only supported for data providers like PostgreSQL, Oracle, Memory layer and some GDAL layers depending on the GDAL version.

S’il est défini dans la source de données sous-jacente ou dans les Propriétés des formulaires d’attributs, l’alias du champ est également affiché. Un alias est un nom de champ lisible par l’homme que vous pouvez utiliser dans le formulaire d’entité ou la table attributaire. Les alias sont enregistrés dans le fichier de projet.

Other than the fields contained in the dataset, virtual fields and Auxiliary Storage included, the Fields tab also lists fields from any joined layers. Depending on the origin of the field, a different background color is applied to it.

For each listed field, the dialog also lists read-only characteristics such as its Type, Type name, Length and Precision`.

Selon le fournisseur de données, vous pouvez associer un commentaire à un champ, par exemple lors de sa création. Ces informations sont récupérées et affichées dans la colonne Commentaire et sont affichées plus tard lorsque vous survolez l’étiquette de l’attribut dans un formulaire d’entité.

Under the Configuration column, you can set how the field should behave in certain circumstances:

  • Not searchable: check this option if you do not want this field to be queried by the search locator bar

  • Do not expose via WMS: check this option if you do not want to display this field if the layer is served as WMS from QGIS server

  • Do not expose via WFS: check this option if you do not want to display this field if the layer is served as WFS from QGIS server

../../../_images/fields_properties.png

Fig. 16.42 Onglet des propriétés des champs

16.1.9. Onglet Formulaire d’attributs

The formView Attributes Form tab helps you set up the form to display when creating new features or querying existing one. You can define:

  • l’apparence et le comportement de chaque champ du formulaire d’entité ou de la table attributaire (étiquette, widget, contraintes …);

  • la structure du formulaire (personnalisé ou généré automatiquement):

  • logique supplémentaire en Python pour gérer l’interaction avec les widgets de formulaire ou de champ.

En haut à droite de la boîte de dialogue, vous pouvez définir si le formulaire est ouvert par défaut lors de la création de nouvelles entités. Ceci peut être configuré par couche ou globalement avec l’option Ne pas afficher la fenêtre contextuelle du formulaire d’attribut après la création de l’entité dans le menu Préférences ► Options ► Numérisation.

16.1.9.1. Personnaliser un formulaire pour vos données

Par défaut, lorsque vous cliquez sur une entité avec l’outil identify Identifier les entités ou basculez la table attributaire en mode vue formulaire, QGIS affiche un formulaire de base avec des widgets prédéfinis (généralement des boîtes de sélection et des zones de texte — chaque champ est représenté sur une ligne dédiée par son étiquette à côté du widget). Si des relations sont définies sur la couche, les champs des couches de référence sont affichés dans un cadre incorporé au bas du formulaire, suivant la même structure de base.

Ce rendu est le résultat de la valeur par défaut Autogénérer du paramètre Éditeur de mise en forme d’attributs dans l’onglet Propriétés de la couche ► Formulaire d’attributs. Cette propriété contient trois valeurs différentes:

  • Génération automatique: conserve la structure de base « d’une ligne - un champ » pour le formulaire mais permet de personnaliser chaque widget correspondant.

  • Drag-and-drop designer: other than widget customization, the form structure can be made more complex eg, with widgets embedded in groups and tabs.

  • Fournir un fichier ui: permet d’utiliser un fichier de conception Qt, donc un modèle potentiellement plus complexe et complet, comme formulaire d’entité.

Le formulaire généré automatiquement

Lorsque l’option Génération automatique est activée, le panneau Widgets disponibles affiche les listes de champs (de la couche et de ses relations) qui seraient affichés dans le formulaire. Sélectionnez un champ et vous pouvez configurer son apparence et son comportement dans le panneau de droite :

Le glisser-déposer

The drag and drop designer allows you to create a form with several containers (tabs or groups) to present the attribute fields or other widgets that are not directly linked to a particular field (like the HTML/QML widgets or the actions defined for the layer), as shown for example in Fig. 16.43.

../../../_images/resulting_feature_form.png

Fig. 16.43 Formulaire intégré obtenu avec onglets et groupes nommés

  1. Choisissez Conception par glisser-déposer dans la combobox Sélectionner l’éditeur de mise en forme d’attribut. Ceci active le panneau Disposition du formulaire à côté du panneau Contrôles disponibles, rempli des champs existants. Le champ sélectionné affiche ses propriétés dans un troisième panneau.

  2. Select fields you do not want to use in your Form Layout panel and hit the symbologyRemove button to remove them. You can also toggle the selection with the invertSelection Invert selection button.

  3. Drag and drop fields from the first panel to the Form Layout one to re-add them. The same field can be added multiple times.

  4. Faites glisser et déposez les champs dans le panneau Présentation du formulaire pour réorganiser leur position.

  5. Add containers to associate fields that belong to the same category and better structure the form.

    1. The first step is to use the symbologyAdd Add a new tab or group to the form layout icon. Fields and other groups will be displayed in it.

    2. Définissez ensuite les propriétés du conteneur, c’est-à-dire:

      • the Label: the title that will be used for the container

      • the Container Type: it can be a Tab, Group box in container (a collapsible group box inside a tab or another group) or a Row (a container type that allows you to arrange your widgets in a horizontal row, automatically determining the number of columns based on the number of widgets),

      • the Within: this optional feature allows you to select an existing container in which the new container (Group box in container or Row) will be embedded.

      • and the Number of columns the embedded fields should be distributed over

      ../../../_images/attribute_editor_layout.png

      Fig. 16.44 Boîte de dialogue pour créer des conteneurs avec la disposition de l’éditeur d’attributs

      Ces propriétés, ainsi que d’autres, peuvent être mises à jour ultérieurement en sélectionnant l’élément et, dans le troisième panneau:

      • masquer ou afficher l’étiquette du conteneur

      • renommer le conteneur

      • définir le nombre de colonnes

      • entrez une expression pour contrôler la visibilité du conteneur. L’expression sera réévaluée à chaque fois que les valeurs du formulaire changent, et l’onglet ou la zone de groupe affichés / masqués en conséquence

      • checkbox Show as Group Box: converts a tab into a top-level group box and vice versa

      • Pour un cadre de groupe, définir si à l’ouverture du formulaire, il doit s’afficher Replié pour toutes les entités, ou seulement pour celles remplissant une condition (Contrôler le repli à l’aide d’une expression).

      • configure the Style look of the container, with custom Background color, label color and font properties

    3. You can create and embed as many containers as you want by pressing again the symbologyAdd Add a new tab or group to the form layout icon.

  6. The next step is to assign the relevant fields to each container, by simple drag and drop. Group boxes and tabs can also be moved the same way.

  7. Personnalisez le widget des champs à utiliser

  8. In case the layer is involved in a one or many to many relation, drag-and-drop the relation name from the Available Widgets panel to the Form Layout panel. The associated layer attribute form will be embedded at the chosen place in the current layer’s form. As for the other items, select the relation label to configure some properties:

    • masquer ou afficher l’étiquette de relation

    • afficher le bouton de lien

    • afficher le bouton de dissociation

  9. In case the layer has one or more actions enabled for Layer or Feature scope, the actions will be listed under Actions and you can drag and drop them as with the other fields. The associated action will be embedded at the chosen place in the current layer’s form.

  10. Further customize the form by adding one or more widgets from Other Widgets (see Other Widgets)

  11. Appliquer la boîte de dialogue des propriétés de la couche

  12. Ouvrez un formulaire d’attribut d’entité (par exemple, en utilisant l’outil identify Identifier les entités) et il devrait afficher le nouveau formulaire.

Other Widgets

The drag and drop designer offers a number of widgets that are not connected to a particular field. They can be used to enhance the appearance of the form or to display dynamically calculated values.

  • HTML Widget: embeds an HTML page, the HTML source may contain the result of dynamically calculated expressions.

    HTML widgets can be used for example to display images stored as BLOB in a field (let’s call it photo):

    1. In the Drag-and-drop designer mode, add a HTML Widget to your Form Layout.

    2. Double-click on the HTML Widget to configure it.

    3. Change the default Title or hide it.

    4. Press the expression button and enter the following QGIS expression:

      '<img src= "data:image/png;base64,' || to_base64("photo") || '">'
      

      Ensure that you replace photo with your own BLOB field name. The above expression creates a string with HTML image tag in which the BLOB file is encoded.

    5. Apply the dialog and then press the symbologyAdd button.

    6. QGIS automatically applies HTML formatting and functions to evaluate your expression, resulting in following code:

      <script>document.write(expression.evaluate("'<img src=\"data:image/png;base64,' || to_base64(\"photo\") || '\">'"));</script>
      

      A preview of your image is displayed on the right.

  • QML Widget: embeds a QML page, the QML source may contain the result of dynamically calculated expressions.

  • Text Widget: displays a text widget which supports basic HTML markup and may contain the result of dynamically calculated expressions.

  • Spacer Widget: inserts an empty transparent rectangle, increasing the vertical distance between two widgets.

Astuce

Display Dynamic Content

The widgets mentioned above (except the Spacer Widget) support expressions that can be used to display content that dynamically changes whenever another field in the form changes. This can be achieved using the current_value('field_name') function in the expression to examine the value of another field.

Utilisation d’un fichier ui personnalisé

L’option Fournir un fichier ui vous permet d’utiliser des dialogues complexes créés avec Qt-Designer. L’utilisation d’un fichier ui permet une grande liberté dans la création d’une boîte de dialogue. Notez que, pour lier les objets graphiques (zone de texte, combobox …) aux champs de la couche, vous devez leur donner le même nom.

Utilisez Edit UI pour définir le chemin d’accès au fichier à utiliser.

Les fichiers UI peuvent également être hébergés sur un serveur distant. Dans ce cas, vous fournissez l’URL du formulaire au lieu du chemin d’accès au fichier dans Edit UI.

Vous trouverez un exemple dans la leçon Créer un nouveau formulaire de Manuel d’exercices QGIS. Pour plus d’informations, voir https://woostuff.wordpress.com/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.

Améliorez votre formulaire avec des fonctions personnalisées

Les formulaires QGIS peuvent avoir une fonction Python qui est appelée lorsque la boîte de dialogue est ouverte. Utilisez cette fonction pour ajouter une logique supplémentaire à vos boîtes de dialogue. Le code du formulaire peut être spécifié de trois manières différentes:

  • charger depuis l'environnement: utiliser une fonction, par exemple dans: file: startup.py ou depuis un plugin installé

  • charger à partir d'un fichier externe: un sélecteur de fichier vous permettra de sélectionner un fichier Python dans votre système de fichiers ou d’entrer une URL pour un fichier distant.

  • fournir du code dans cette boîte de dialogue: un éditeur Python apparaîtra où vous pourrez directement taper la fonction à utiliser.

Dans tous les cas, vous devez saisir le nom de la fonction qui sera appelée (ouvrir dans l’exemple ci-dessous).

Un exemple (dans le module MyForms.py) :

def open(dialog,layer,feature):
    geom = feature.geometry()
    control = dialog.findChild(QWidget,"My line edit")

Référence dans la fonction Python Init comme ceci: open

16.1.9.2. Configurer le comportement du champ

La partie principale de l’onglet Formulaire d’attributs vous aide à définir le type de widget utilisé pour remplir ou afficher les valeurs du champ, dans la table d’attributs ou le formulaire de l’entité: vous pouvez définir comment l’utilisateur interagit avec chaque champ et les valeurs ou plage de valeurs pouvant être ajoutées à chacune.

../../../_images/edit_widgets_dialog.png

Fig. 16.45 Fenêtre d’édition d’une colonne attributaire

Paramètres généraux

Quel que soit le type de widget appliqué au champ, il existe des propriétés communes que vous pouvez définir pour contrôler si et comment un champ peut être modifié.

Affichage du widget

Only available for the Drag and drop designer mode, this group helps you configure the look of the widget assigned to the field:

  • Afficher l’étiquette : indique si le nom du champ doit être affiché dans le formulaire

  • Remplacer la couleur de l’étiquette : applique une couleur spécifique à l’étiquette du champ

  • Override label font: applies specific font properties (bold, italic, underline, strikethrough, or font family) to the field’s label

Options générales
  • Alias: un nom lisible par l’homme à utiliser pour les champs. L’alias sera affiché dans le formulaire d’entité, la table attributaire ou dans le panneau Identifier les résultats. Il peut également être utilisé comme remplacement de nom de champ dans Générateur d’expressions, facilitant la compréhension et la révision des expressions. Les alias sont enregistrés dans le fichier de projet.

  • Commentaire: affiche le commentaire du champ comme indiqué dans l’onglet Champs, en lecture seule. Ces informations sont affichées sous forme d’infobulle lors du survol de l’étiquette de champ dans un formulaire d’entité.

  • checkbox Editable: uncheck this option to set the field read-only (not manually modifiable) even when the layer is in edit mode. Note that checking this setting doesn’t override any edit limitation from the provider. This option can be controlled by a data-defined property thanks to the dataDefine Data-defined override button.

  • checkbox Reuse last entered value: remembers the last value entered in this field and uses it as default for the next feature being edited in the layer.

  • checkbox Etiquette en haut: place le nom du champ au-dessus ou à côté du widget dans le formulaire d’entité.

Contraintes

Vous pouvez contraindre la valeur à insérer dans le champ. Cette contrainte peut être:

  • checkbox Not null: oblige l’utilisateur à fournir une valeur;

  • checkbox Unique: garantit que la valeur insérée est unique sur tout le champ;

  • basée sur une expression personnalisée : par exemple, not regexp_match(col0,'[^A-Za-z]') garantira que la valeur du champ col0 ne comporte que des lettres de l’alphabet. Une courte description peut être ajoutée pour vous aider à vous souvenir de la contrainte.

Chaque fois qu’une valeur est ajoutée ou modifiée dans un champ, elle est soumise aux contraintes existantes et:

  • s’il répond à toutes les exigences, une coche verte est affichée à côté du champ dans le formulaire;

  • s’il ne répond pas à toutes les exigences, une croix jaune ou orange s’affiche près du champ. Vous pouvez survoler la croix pour rappeler quelles contraintes sont appliquées au champ et en corriger la valeur:

    • A yellow cross appears when the unmet constraint is an unenforced one (soft constraint) and it does not prevent you to save the changes with the « wrong » values;

    • An orange cross can not be ignored and does not allow you to save your modifications until they meet the constraints. It appears when the checkbox Enforce constraint option is checked (hard constraint).

Valeurs par défaut
  • Valeur par défaut: pour les nouvelles entités, remplit automatiquement par défaut le champ avec une valeur prédéfinie ou basée sur une expression. Par exemple, vous pouvez :

    • utilisez $x, $length, $area pour remplir automatiquement un champ avec les coordonnées X, la longueur, la surface ou toute information géométrique de l’entité lors de sa création;

    • incrémenter un champ de 1 pour chaque nouvelle entité en utilisant maximum ("field")+1;

    • enregistrer la date de création d’une entité en utilisant now();

    • utiliser des variables dans les expressions, ce qui facilite par exemple l’insertion du nom de l’opérateur (@user_full_name), le chemin du fichier projet (@project_path), …

    Un aperçu de la valeur par défaut résultante s’affiche en bas du widget.

    Note

    L’option Valeur par défaut ne connaît pas les valeurs dans aucun autre champ de l’entité en cours de création, il ne sera donc pas possible d’utiliser une expression combinant l’une de ces valeurs, c’est-à-dire en utilisant une expression comme concat(field1, field2) peut ne pas fonctionner.

  • checkbox Appliquer la valeur par défaut à la mise à jour: chaque fois que l’attribut d’entité ou la géométrie est modifié, la valeur par défaut est recalculée. Cela pourrait être pratique pour enregistrer des valeurs comme le dernier utilisateur qui modifie les données, la dernière fois qu’elles ont été modifiées …

Policies

Policies allows you to determine how values are assigned to the field when Splitting features:

  • Duplicate Values: Keeps the existing value of the field for the resulting split features.

  • Use Default Value: Resets the field by recalculating its default value. If no default value clause exists, the existing value is kept for the resulting split features.

  • Remove Value: Clears the field to an unset state.

  • Use Ratio Geometries: Recalculates the field value for all split portions by multiplying the existing value by ratio of the split parts lengths or areas.

Éditer les widgets

En fonction du type de champ, QGIS détermine et lui attribue automatiquement un type de widget par défaut. Vous pouvez ensuite remplacer le widget par tout autre compatible avec le type de champ. Les widgets disponibles sont:

  • Binary (BLOB): Available only for binary fields, it displays by default a label with the size of the embedded data, if not empty. A drop-down button next to the label allows to:

    • Embed file, replacing or filling the field

    • Clear contents, removing any data in the field

    • Save contents to file, exporting the data as a file on disk

    It is also possible to preview the embedded binary file in the field, if combined in a drag-and-drop form with e.g. a QML or HTML widget.

  • Checkbox : affiche une case à cocher dont l’état définit la valeur à insérer.

  • Classification : Disponible uniquement lorsqu’une symbologie catégorisée est appliquée à la couche, affiche une zone de liste déroulante avec les valeurs des classes.

  • Couleur : Affiche un widget couleur permettant de sélectionner une couleur; la valeur de la couleur est stockée sous forme de notation html dans la table attributaire.

  • Date/Heure : Affiche un champ de type date/heure qui peut ouvrir un calendrier permettant de choisir une date, une heure ou les deux. Le champ doit être de type texte. Vous pouvez choisir un format personnalisé, l’affichage d’un calendrier, etc.

  • Énumération : ouvre une zone de liste déroulante avec des valeurs prédéfinies extraites de la base de données. Ceci n’est actuellement pris en charge que par le fournisseur PostgreSQL, pour les champs de type enum.

  • Attachment: Uses a « Open file » dialog to store file path in a relative or absolute mode. It can be used to display a hyperlink (to document path), a picture or a web page. User can also configure an external storage system to fetch/store resources.

    Astuce

    Widget Chemin relatif dans la pièce jointe

    Si le chemin sélectionné avec le navigateur de fichiers se trouve dans le même répertoire que le fichier de projet .qgs ou dans un sous-dossier de ce dernier, les chemins sont convertis en chemins relatifs. Cela augmente la portabilité d’un projet .qgs avec des informations multimédias attachées.

  • Cachée : Un attribut caché sera invisible. L’utilisateur ne pourra pas visualiser son contenu.

  • Clé/valeur : affiche un tableau à deux colonnes pour stocker des ensembles de paires clé/valeur dans un seul champ. Ceci est actuellement pris en charge par le fournisseur PostgreSQL, pour les champs de type hstore.

  • JSON View: Displays JSON data in a syntax highlighted text edit or in tree view. This widget is currently read only. Several options are available to change how the data is displayed. “Default view” specify if the widget should appear in Text or Tree mode. “Format JSON” has three options which are related to the tree view only:

    • Indented: Display data in a human readable form with newlines and four space characters for indentation.

    • Compact: Display data in a one-line size optimized string without newlines or spaces.

    • Disabled: Display data as it comes from the provider.

  • Liste : affiche une liste à valeurs multiples à ajouter dans un seul champ. Ceci est actuellement pris en charge par le fournisseur PostgreSQL, pour les champs de type array.

  • Plage : Vous permet de spécifier une plage de valeurs numériques disponibles. Il peut s’agir d’une barre coulissante ou d’une zone de texte éditable.

  • Référence de relation : Il s’agit du widget par défaut attribué au champ de référencement (c’est-à-dire la clé étrangère dans la couche enfant) lorsqu’une relation est définie. Il fournit un accès direct au formulaire de l’entité parent qui, à son tour, intègre la liste et le formulaire de ses enfants.

  • Edition de texte (par défaut) : ceci ouvre un champ d’édition de texte qui permet d’utiliser du texte simple ou plusieurs lignes. Si vous choisissez plusieurs lignes, vous pouvez également choisir un contenu html.

  • Valeurs uniques : Vous pouvez sélectionner l’une des valeurs déjà utilisée dans la table attributaire. Si «Modifiable» est activé, une modification de ligne est affichée avec prise en charge de la saisie semi-automatique, sinon une zone de liste déroulante est utilisée.

  • Génération uuid : Génère un champ UUID (Universally Unique Identifiers) en lecture seule, si il est vide.

  • Valeur de carte : une zone de liste déroulante avec des éléments prédéfinis. La valeur est stockée dans l’attribut, la description est affichée dans la zone de liste déroulante. Vous pouvez définir des valeurs manuellement ou les charger à partir d’une couche ou d’un fichier CSV.

  • Relation de valeur : offre les valeurs d’une table associée dans une zone de liste déroulante. Vous pouvez sélectionner une couche, une colonne clé et une colonne de valeur. Plusieurs options sont disponibles pour modifier les comportements standard: autoriser la valeur nulle, classer par valeur, autoriser les sélections multiples et utiliser l’auto-completon Les formulaires afficheront une liste déroulante ou un champ d’édition de ligne lorsque la case à cocher « Compléter » est activée.

    If a layer that is stored in PostgreSQL, GeoPackage or SpatiaLite is configured to use a value relation widget, but the required layer is not already loaded into the project, QGIS will automatically search for the layer in the same database/connection.

16.1.10. Onglet Jointures

The join Joins tab allows you to associate features of the current layer to features from another loaded vector layer (or table). The join is based on an attribute that is shared by the layers, in a one-to-one relationship. For more details on joins, please read Joining features between two layers.

16.1.11. Onglet Stockage auxiliaire

La manière habituelle de personnaliser le style et l’étiquetage consiste à utiliser des propriétés définies par les données comme décrit dans Valeurs définies par des données. Cependant, cela peut ne pas être possible si les données sous-jacentes sont en lecture seule. De plus, la configuration de ces propriétés définies par les données peut prendre beaucoup de temps ou n’est pas souhaitable! Par exemple, si vous souhaitez utiliser pleinement les outils cartographiques fournis avec La barre d’outils Étiquettes, vous devez ajouter et configurer plus de 20 champs dans votre source de données d’origine (positions X et Y, angle de rotation, style de police, couleur …).

Le mécanisme de stockage auxiliaire fournit la solution à ces limitations et configurations maladroites. Les champs auxiliaires sont un moyen détourné de gérer et de stocker automatiquement ces propriétés définies par les données (étiquettes, diagramme, symbologie …) dans une base de données SQLite grâce à des jointures modifiables. Cela vous permet de stocker les propriétés des couches qui ne sont pas modifiables.

Un onglet est disponible dans la fenêtre des propriétés de la couche vecteur pour gérer le stockage auxiliaire :

../../../_images/auxiliary_storage_tab.png

Fig. 16.46 Onglet Stockage auxiliaire

16.1.11.1. Étiquetage

Étant donné que la source de données peut être personnalisée grâce à des propriétés définies par les données sans être modifiable, les outils d’étiquetage sur la carte décrits dans La barre d’outils Étiquettes sont toujours disponibles dès que l’étiquetage est activé.

En fait, le système de stockage auxiliaire a besoin d’une couche auxiliaire pour stocker ces propriétés dans une base de données SQLite (voir Stockage auxiliaire en base de données). Son processus de création est exécuté la première fois que vous cliquez sur la carte alors qu’un outil de carte d’étiquetage est actuellement activé. Ensuite, une fenêtre s’affiche, vous permettant de sélectionner la clé primaire à utiliser pour la jointure (pour vous assurer que les entités sont identifiées de manière unique) :

../../../_images/auxiliary_storage_key.png

Fig. 16.47 Fenêtre de création de couche auxiliaire

Dès qu’une couche auxiliaire est configurée pour la source de données actuelle, vous pouvez récupérer ses informations dans l’onglet :

../../../_images/auxiliary_storage_tabkey.png

Fig. 16.48 Clé de couche auxiliaire

La couche auxiliaire présente désormais ces caractéristiques :

  • la clé primaire est ID,

  • il y a 0 entités utilisant un champ auxiliaire,

  • il y a 0 champ auxiliaire.

Maintenant que la couche auxiliaire est créée, vous pouvez modifier les étiquettes de la couche. Cliquez sur une étiquette pendant que l’outil changeLabelProperties Changer d’étiquette est activé, vous pouvez alors mettre à jour les propriétés de style comme les tailles, les couleurs, etc. Les propriétés définies par les données correspondantes sont créées et peuvent être récupérées:

../../../_images/auxiliary_storage_fields.png

Fig. 16.49 Champs auxiliaires

Comme vous pouvez le voir sur la figure ci-dessus, 21 champs sont automatiquement créés et configurés pour l’étiquetage. Par exemple, le type de champ auxiliaire FontStyle est une chaîne et est nommé labeling_fontstyle dans la base de données SQLite sous-jacente. Il existe également 1 entité qui utilise actuellement ces champs auxiliaires.

Notez que l’icône dataDefineOn s’affiche dans l’onglet Étiquettes indiquant que les options de substitution définies par les données sont correctement définies :

../../../_images/auxiliary_storage_dd.png

Fig. 16.50 Propriétés définies par les données créées automatiquement

Sinon, il existe une autre façon de créer un champ auxiliaire pour une propriété spécifique grâce au bouton dataDefine Valeur définie par des données. En cliquant sur:guilabel:Stocker les données dans le projet, un champ auxiliaire est automatiquement créé pour le champ Opacité. Si vous cliquez sur ce bouton alors que la couche auxiliaire n’est pas encore créée, une fenêtre (Fig. 16.47) s’affiche d’abord pour sélectionner la clé primaire à utiliser pour la jointure.

16.1.11.2. Style

Comme la méthode décrite ci-dessus pour personnaliser les étiquettes, les champs auxiliaires peuvent également être utilisés pour styliser les symboles et les diagrammes. Pour ce faire, cliquez sur dataDefine Valeur définie par des données et sélectionnez Stocker les données dans le projet pour une propriété spécifique. Par exemple, le champ Couleur de remplissage :

../../../_images/auxiliary_storage_symbol.png

Fig. 16.51 Menu des propriétés des valeurs définies par des données pour le symbole

Il existe différents attributs pour chaque symbole (par exemple, le style de remplissage, la couleur de remplissage, la couleur de trait, etc.), de sorte que chaque champ auxiliaire représentant un attribut nécessite un nom unique pour éviter les conflits. Après avoir sélectionné Stocker les données dans le projet, une fenêtre s’ouvre et affiche le Type du champ et vous invite à entrer un nom unique pour le champ auxiliaire. Par exemple, lors de la création d’un champ auxiliaire Couleur de remplissage, la fenêtre suivante s’ouvre :

../../../_images/auxiliary_storage_symbol_name.png

Fig. 16.52 Nom du champ auxiliaire d’un symbole

Une fois créé, le champ auxiliaire peut être récupéré dans l’onglet Stockage auxiliaire :

../../../_images/auxiliary_storage_symbol_field.png

Fig. 16.53 Champs auxiliaires pour les symboles

16.1.11.3. Table d’attributs et widgets

Les champs auxiliaires peuvent être modifiés en utilisant la table attributaire. Cependant, tous les champs auxiliaires ne sont pas initialement visibles dans la table attributaire.

Les champs auxiliaires représentant les attributs de la symbologie, de l’étiquetage, de l’apparence ou des diagrammes d’une couche apparaissent automatiquement dans la table d’attributs. Les attributs pouvant être modifiés à l’aide de la barre d’outils Etiquettes sont masqués par défaut. Les champs auxiliaires représentant une couleur ont un widget Couleur défini par défaut, sinon les champs auxiliaires sont définis par défaut sur le widget Text Edit.

Les champs auxiliaires qui représentent des attributs qui peuvent être modifiés à l’aide d’outils de la Barre d’outils Étiquettes sont Masqués dans la table des attributs par défaut. Pour rendre un champ visible, ouvrez l’onglet Formulaire d’attributs dans les propriétés et modifiez le Type de widget d’un champ auxiliaire de masqué à une autre valeur pertinente. Par exemple, changez auxiliary_storage_labeling_size en Édition de texte ou remplacez auxiliary_storage_labeling_color par le type Couleur. Ces champs seront désormais visibles dans la table attributaire.

Les champs auxiliaires de la table attributaire apparaîtront comme dans l’image suivante:

../../../_images/auxiliary_storage_widgets.png

Fig. 16.54 Formulaire avec champs auxiliaires

16.1.11.4. La gestion

Le menu Couche auxiliaire vous permet de gérer les champs auxiliaires:

../../../_images/auxiliary_storage_actions.png

Fig. 16.55 Gestion de la couche auxiliaire

Le premier élément Créer est désactivé dans ce cas car la couche auxiliaire est déjà créée. Mais en cas de nouveau travail, vous pouvez utiliser cette action pour créer une couche auxiliaire. Comme expliqué dans Étiquetage, une clé primaire sera alors nécessaire.

L’action Effacer permet de conserver tous les champs auxiliaires, mais de supprimer leur contenu. De cette façon, le nombre d’entités utilisant ces champs tombera à 0.

L’action Supprimer supprime complètement la couche auxiliaire. En d’autres termes, la table correspondante est supprimée de la base de données SQLite sous-jacente et la personnalisation des propriétés est perdue.

Finally, the Export action allows to save the auxiliary layer as a new vector layer. Note that geometries are not stored in auxiliary storage. However, in this case, geometries are exported from the original data source too.

16.1.11.5. Stockage auxiliaire en base de données

Lorsque vous enregistrez votre projet au format .qgs, la base de données SQLite utilisée pour le stockage auxiliaire est enregistrée au même endroit mais avec l’extension .qgd.

Pour plus de commodité, une archive peut être utilisée à la place grâce au format .qgz. Dans ce cas, les fichiers .qgd et .qgs sont tous deux intégrés dans l’archive.

16.1.12. Onglet Actions

The action Actions tab provides the ability to perform an action based on the attributes of a feature. This can be used to perform any number of actions, for example, running a program with arguments built from the attributes of a feature or passing parameters to a web reporting tool.

../../../_images/action_dialog.png

Fig. 16.56 Vue d’ensemble de la fenêtre Actions avec quelques exemples d’actions

Actions are useful when you frequently want to run an external application or view a web page based on one or more values in your vector layer. They are of different types and can be used like this:

  • Generic, macOS, Windows and Unix actions start an external process.

  • Python actions execute a Python expression.

  • Generic and Python actions are visible everywhere.

  • macOS, Windows and Unix actions are visible only on the respective platform (i.e., you can define three « Edit » actions to open an editor and the users can only see and execute the one « Edit » action for their platform to run the editor).

  • Open URL: Uses a HTTP GET request to open a provided URL.

  • Submit URL (urlencoded or JSON): Same as the Open URL action but using a HTTP POST request. Data are posted to a URL, using « application/x-www-form-urlencoded » or « application/json » if the body is a valid JSON.

    An example of action call could be:

    http://localhost:8000?/[% url_encode(map('file', 'index.php')) %]
    
  • Submit URL (multipart): Same as the Open URL action but using a HTTP POST request. Data are posted to a URL, using « multipart/form-data ».

Plusieurs exemples sont inclus dans la boîte de dialogue. Vous pouvez les charger en cliquant sur Créer des actions par défaut. Pour modifier l’un des exemples, double-cliquez sur sa ligne. Un exemple est d’effectuer une recherche basée sur une valeur d’attribut. Ce concept est utilisé dans la discussion suivante.

L’option checkbox Afficher dans la table des attributs vous permet de sélectionner et afficher dans la table d’attributs des actions basées sur des entités, soit via une Zone de liste déroulante, soit comme des Boutons séparés (voir Configurer les colonnes).

16.1.12.1. Définir des Actions

Pour définir une action d’attribut, ouvrez la boîte de dialogue Propriétés de la couche et cliquez sur l’onglet Actions. Dans l’onglet Actions, cliquez sur le symbologyAdd Ajouter une nouvelle action pour ouvrir la boîte de dialogue Modifier l’action.

Select the action Type and provide a descriptive name for the action. The action itself must contain the name of the application that will be executed when the action is invoked. You can add one or more attribute field values as arguments to the application. When the action is invoked, any set of characters that start with a % followed by the name of a field will be replaced by the value of that field. The special characters %% will be replaced by the value of the field that was selected from the identify results or attribute table (see Utiliser des Actions). Double quote marks can be used to group text into a single argument to the program, script or command. Double quotes will be ignored if preceded by a backslash.

The Action Scopes allows you to define where the action should be available. You have following choices:

  1. Field: action is available when right click in the cell within the attribute table, in the feature form and in the default action button of the main toolbar.

  2. Feature: action is available when right click in the cell within the attribute table.

  3. Canvas : l’action est disponible dans le bouton d’action principal de la barre d’outils.

  4. Form: action is available only in a feature form designed using the drag-and-drop mode.

  5. Layer: action is available in the action button in the attribute table toolbar. Be aware that this type of action involves the entire layer and not the single features.

Si vous avez des noms de champs qui sont contenus dans d’autres noms de champs (par exemple, col1 et col10), vous devez l’indiquer en entourant le nom de champ (y compris avec le caractère %) par des crochets (par exemple [%col10]). Ceci évitera de prendre le nom de champ %col10 pour %col1 avec un 0 à la fin. Les crochets seront retirés quand QGIS substituera le nom par la valeur du champ. Si vous voulez que le champ à substituer soit entouré de crochets, utilisez un deuxième jeu de crochets comme ceci : [[%col10]].

En utilisant l’outil Identifier les entités, vous ouvrez la fenêtre Identifier les résultats. Elle inclut une entrée (Dérivé) qui contient des informations pertinentes selon le type de couche. Les valeurs de cette entrée sont accessibles de la même manière que les autres champs en ajoutant (Derived). avant le nom du champ. Par exemple, une couche de points a un champ X et Y et leurs valeurs peuvent être utilisées dans l’action avec %(Derived).X et %(Derived).Y. Les attributs dérivés sont disponibles uniquement depuis la fenêtre Identifier les résultats mais pas par la Table d’attributs.

Deux exemples d’action sont proposés ci-dessous :

  • konqueror https://www.google.com/search?q=%n am

  • konqueror https://www.google.com/search?q=%%

Dans le premier exemple, le navigateur Web konqueror est appelé et reçoit une URL à ouvrir. L’URL effectue une recherche Google sur la valeur du champ nam de notre couche vecteur. Notez que l’application ou le script appelé par l’action doit se trouver dans le chemin ou vous devez fournir le chemin complet. Pour être certain, nous pourrions réécrire le premier exemple comme suit: /opt/kde3/bin/konqueror https: //www.google.com/search?q=%nam. Cela garantira que l’application konqueror sera exécutée lorsque l’action sera invoquée.

Le deuxième exemple utilise la notation %% dont la valeur ne dépend pas d’un champ en particulier. Quand l’action est invoquée, %% sera remplacé par la valeur du champ sélectionné dans les résultats de l’identification ou dans la table d’attributs.

16.1.12.2. Utiliser des Actions

QGIS propose de nombreuses façons d’exécuter les actions que vous avez activées sur une couche. Selon leurs paramètres, ils peuvent être disponibles:

  • dans le menu déroulant du bouton actionRun Exécuter l’action à partir de la Barre d’outils Attributs ou la Table d’attributs ;

  • lorsque vous cliquez avec le bouton droit sur une entité avec l’outil identify Identifier des entités (voir Identifier les entités pour plus d’informations) ;

  • dans le panneau Résultats de l’identification, sous la section Actions ;

  • comme éléments d’une colonne Actions dans la boîte de dialogue Table d’attributs.

Si vous faites appel à une action qui utilise la notation %%, faites un clic droit sur la valeur du champ que vous souhaitez passer à l’application ou au script, dans la fenêtre Identifier les résultats ou dans la Table attributaire.

Voici un autre exemple qui récupère des données d’une couche vecteur et qui les insère dans un fichier utilisant bash et la commande echo (cela ne marchera que sur nix et peut-être osx). La couche en question a des champs pour le nom d’espèce taxon_name, la latitude lat et la longitude long. Nous souhaiterions faire une sélection spatiale de localisations et exporter les valeurs des enregistrements sélectionnés dans un fichier texte (ils apparaissent en jaune sur la carte dans QGIS). Voici l’action qui permettra de le faire :

bash -c "echo \"%taxon_name %lat %long\" >> /tmp/species_localities.txt"

Après avoir sélectionné quelques localités et lancé l’action sur chacune d’entre elles, le fichier de destination ressemblera à ceci :

Acacia mearnsii -34.0800000000 150.0800000000
Acacia mearnsii -34.9000000000 150.1200000000
Acacia mearnsii -35.2200000000 149.9300000000
Acacia mearnsii -32.2700000000 150.4100000000

À titre d’exercice, nous pouvons créer une action qui effectue une recherche Google sur la couche lakes. Tout d’abord, nous devons déterminer l’URL nécessaire pour effectuer une recherche sur un mot clé. Pour ce faire, il suffit d’aller sur Google et de faire une recherche simple, puis de saisir l’URL dans la barre d’adresse de votre navigateur. Grâce à ce petit effort, nous voyons que le format est https://www.google.com/search?q=QGIS, où QGIS est le terme de recherche. Armés de ces informations, nous pouvons poursuivre :

  1. Assurez-vous que la couche lakes est chargée.

  2. Ouvrez la fenêtre Propriétés de la couche en double cliquant sur la couche dans la légende ou en faisant un clic droit et en choisissant Propriétés dans le menu qui apparaît.

  3. Cliquez sur l’onglet Actions

  4. Cliquez sur symbologyAdd Ajouter une nouvelle action.

  5. Choose the Open URL action type,

  6. Entrez un nom pour l’action, par exemple Recherche Google.

  7. De plus, vous pouvez ajouter un Nom court ou même une Icône.

  8. Choose the Action Scopes. See Définir des Actions for further information. Leave the default settings for this example.

  9. For the action, add the URL used for doing a Google search, up to but not including the search term: https://www.google.com/search?q=

  10. The text in the Action field should now look like this:

    https://www.google.com/search?q=
    
  11. Cliquez sur la liste déroulante contenant les noms de champs pour la couche lacs. Il est situé juste à gauche du bouton Insérer.

  12. From the drop-down box, select NAMES and click Insert.

  13. Your action text now looks like this:

    https://www.google.com/search?q=[%NAMES%]
    
  14. Pour finaliser et ajouter l’action, cliquez sur le bouton OK.

    ../../../_images/add_action_edit.png

    Fig. 16.57 Fenêtre de création de l’action décrite dans l’exemple

This completes the action, and it is ready to use.

Close the Layer Properties dialog and zoom in to an area of interest. Make sure the lakes layer is active and identify a lake. In the result box you’ll now see that our action is visible:

../../../_images/action_identifyaction.png

Fig. 16.58 Sélection de l’entité et choix de l’action

When we click on the action, it brings up our default browser and navigates to the URL https://www.google.com/search?q=Tustumena. It is also possible to add further attribute fields to the action. Therefore, you can add a + to the end of the action text, select another field and click on Insert Field. In this example, there is just no other field available that would make sense to search for.

Vous pouvez définir de multiples actions pour une couche et chacune apparaîtra dans la fenêtre des Résultats de l’identification.

Depuis la table attributaire, vous pouvez aussi faire appel à des actions via un simple clic droit sur une cellule et sélection de l’action dans la fenêtre qui s’ouvre.

Vous pouvez imaginer toutes sortes d’utilisations pour ces actions. Par exemple, si vous avez une couche de points contenant la localisation d’images ou de photos ainsi qu’un nom de fichier, vous pouvez créer une action qui lancera un visualiseur pour afficher les images. Vous pouvez également utiliser les actions pour lancer des rapports sur internet pour un champ attributaire ou une combinaison de champs, en les spécifiant de la même manière que dans l’exemple d’une recherche Google.

Nous pouvons également fournir des exemples plus complexes, notamment sur la manière d’utiliser des actions Python.

Habituellement, lorsque nous créons une action pour ouvrir un fichier avec une application externe, nous pouvons utiliser des chemins absolus, ou éventuellement des chemins relatifs. Dans le second cas, le chemin est relatif à l’emplacement du fichier exécutable du programme externe. Mais qu’en est-il si nous devons utiliser des chemins relatifs, par rapport à la couche sélectionnée (une couche basée sur un fichier, comme Shapefile ou SpatiaLite) ? Le code suivant fera l’affaire :

command = "firefox"
imagerelpath = "images_test/test_image.jpg"
layer = qgis.utils.iface.activeLayer()
import os.path
layerpath = layer.source() if layer.providerType() == 'ogr'
  else (qgis.core.QgsDataSourceURI(layer.source()).database()
    if layer.providerType() == 'spatialite' else None)
path = os.path.dirname(str(layerpath))
image = os.path.join(path,imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )

Il faut simplement se rappeler qu’il s’agit d’une action Python et qu’il faut modifier les variables command et imagerelpath selon vos besoins.

Et si le chemin relatif doit dépendre du fichier de projet (sauvegardé) ? Le code de l’action Python deviendra :

command = "firefox"
imagerelpath = "images_test/test_image.jpg"
projectpath = qgis.core.QgsProject.instance().fileName()
import os.path
path = os.path.dirname(str(projectpath)) if projectpath != '' else None
image = os.path.join(path, imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )

Un autre exemple d’action Python consiste à ajouter de nouvelles couche au projet. L’exemple qui suit montre comment ajouter une couche vecteur et un raster. Les noms des fichiers à ajouter au projet et les noms à donner aux couches dépendent de données attributaires (filename et layername sont deux champs de la table attributaire de la couche sur laquelle l’action est créée) :

qgis.utils.iface.addVectorLayer('/yourpath/[% "filename" %].shp',
  '[% "layername" %]', 'ogr')

Pour ajouter un raster (ici une image TIF), cela devient :

qgis.utils.iface.addRasterLayer('/yourpath/[% "filename" %].tif',
  '[% "layername" %]')

16.1.13. Onglet Infobulles

The display Display tab helps you configure fields to use for feature identification:

  • The Display name: based on a field or an expression. By default, this is set to the first field in the layer if no field with <name> component exists. This is used as:

    • l’étiquette affichée en en-tête des informations sur les entités dans les résultats de l’outil Identifier;

    • le champ utilisé dans le locator bar lors de la recherche d’entités dans toutes les couches

    • l’identifiant de l’entité dans la vue formulaire de la table attributaire

    • l’identifiant de l’entité lorsque la carte ou la mise page est exportée dans un format multicouche comme le GeoPDF

    • the map tip information, i.e. the message displayed in the map canvas when hovering over a feature of the active layer with the mapTips Show Map Tips icon pressed. Applicable when checkbox Enable Map Tips is active and no HTML Map Tip is set.

  • checkbox Enable Map Tips controls whether to display map tips for the layer

  • The HTML Map Tip provides a complex and full HTML text editor for map tips, mixing QGIS expressions and html styles and tags (multiline, fonts, images, hyperlink, tables, …). You can check the result of your code sample in the Preview frame (also convenient for previewing the Display name output).

../../../_images/display_html.png

Fig. 16.59 Code HTML pour les infobulles

To display map tips:

  1. Select the menu option View ► Show Map Tips or click on the mapTips Show Map Tips icon of the Attributes Toolbar.

  2. Make sure that the layer you target is active and has the checkbox Enable Map Tips property checked.

  3. Move over a feature, and the corresponding information will be displayed over.

Map tip is a cross-layer feature meaning that once activated, it stays on and applies to any map tip enabled layer in the project until it’s toggled off.

../../../_images/map_tip.png

Fig. 16.60 Infobulles basées sur du code HTML

16.1.14. Onglet Rendu

../../../_images/vector_rendering.png

Fig. 16.61 Layer Rendering Properties dialog

The rendering Rendering tab offers following properties:

  • Under unchecked Scale dependent visibility, you can set the Maximum (inclusive) and Minimum (exclusive) scales, defining a range of scales in which features will be visible. Out of this range, they are hidden. The mapIdentification Set to current canvas scale button helps you use the current map canvas scale as boundary of the range visibility. See Sélecteur de visibilité définie par l’échelle for more information.

    Note

    Vous pouvez aussi activer l’échelle de visibilité sur une couche depuis le panneau de couches. Clic-droit sur la couche et dans le menu contextuel, sélectionner Définir l’échelle de visibilité.

  • QGIS prend en charge la simplification des entités à la volée. Cela peut améliorer les délais de rendu lors du dessin de nombreuses entités complexes à petite échelle. Cette fonction peut être activée ou désactivée dans les paramètres de la couche à l’aide de l’option checkbox Simplifier la géométrie. Il existe également un paramètre global qui permet la simplification par défaut pour les couches nouvellement ajoutées (voir simplification globale pour plus d’informations).

    Note

    La simplification d’entité peut engendrer des artefacts dans les sorties d’affichage dans certains cas. Il peut s’agir de trous entre les polygones et d’affichage imprécis lors de l’utilisation de couches de symboles basées sur des décalages.

  • The unchecked Fixed reference scale indicates the map scale at which symbology and labeling sizes which uses paper-based units (such as millimeters or points) relate to. The sizes will be scaled accordingly whenever the map is viewed at a different scale.

    For instance, a line layer using a 2mm wide line with a 1:2000 Reference scale set will be rendered using 4mm wide lines when the map is viewed at 1:1000.

  • The Selections group allows you to control whether a specific color or symbol should be used in place of the defaults (Project properties ► General ► Selection color) for a particular layer. This is useful to improve the visibility of selected features with certain symbology:

    • Use default selection color

    • Override color for selected features: e.g. if the layer uses a yellow color by default and the standard yellow selection is not visible.

    • Override symbol for selected features: e.g. if a line layer uses a thin symbol, and coloring the lines might not make them visible enough, overriding the symbol with a thicker line can help. Also, if the layer uses raster symbology or gradient fills/lines/shapeburst with color ramp symbology, then the default selection color is not applied at all; being able to set a specific simpler symbol to use for selected features in the layer can help.

  • Rendering extremely detailed layers (e.g. polygon layers with a huge number of nodes), can cause layout exports in PDF/SVG format to be huge as all nodes are included in the exported file. This can also make the resultant file very slow to work with/open in other programs.

    En cochant la case checkbox Force l’affichage de la couche en tant que raster, les couches sont rasterisées de manière à ce que les fichiers exportés n’incluent pas l’ensemble des noeuds des couches et que le rendu se fasse plus rapidement.

    You can also do this by forcing the layout to export as a raster, but that is an all-or-nothing solution, given that the rasterisation is applied to all layers. Alternatively, you can rely on geometry simplification in layout export settings.

  • unchecked Refresh layer at interval: controls whether and how regular a layer can be refreshed. Available Configuration options are:

    • Reload data: the layer will be completely refreshed. Any cached data will be discarded and refetched from the provider. This mode may result in slower map refreshes.

    • Redraw layer only: this mode is useful for animation or when the layer’s style will be updated at regular intervals. Canvas updates are deferred in order to avoid refreshing multiple times if more than one layer has an auto update interval set.

    It is also possible to set the Interval (seconds) between consecutive refreshments.

  • Selon le fournisseur de données (par exemple PostgreSQL), les notifications peuvent être envoyées à QGIS lorsque des modifications sont appliquées à la source de données, hors de QGIS. Utilisez la checkbox Actualiser la couche sur notification pour déclencher une mise à jour. Vous pouvez également limiter l’actualisation de la couche à un ensemble de messages spécifique dans la checkbox Seulement si le message est.

16.1.15. Onglet Temporel

The temporal Temporal tab provides options to control the rendering of the layer over time. Such dynamic rendering requires the temporal navigation to be enabled over the map canvas.

../../../_images/vector_temporal.png

Fig. 16.62 Vector layer temporal properties dialog

Check the checkbox Dynamic Temporal Control option to configure the vector layer temporal rendering. Depending on the structure of your dataset, you may want to use one of the provided Configuration options:

  • Fixed time range: all the features are rendered if the map canvas temporal frame overlaps the given Start date and End date range.

  • Single field with date/time: features are rendered if their Field’s value falls within the map canvas temporal frame. An Event duration can be set. With checking the Accumulate features over time option, all features which occur before or within the map’s temporal range will continue to be rendered. The event duration is thus ignored.

  • Separate fields for start and end date/time: features are rendered if the range specified by their Start field and End field values overlaps the map canvas temporal.

  • Separate fields for start and event duration: features are rendered if the range defined by their Start field and Event duration field values overlaps the map canvas temporal.

  • Start and end date/time from expressions: features are rendered if the time range specified by the fields Start expression and End expression overlaps the map canvas temporal.

  • Redraw layer only: the layer is redrawn at each new animation frame but no time-based filtering is applied to the features. It’s useful when the layer uses time-based expression values for renderer settings (e.g. data-defined symbology).

It is also possible to set the Limits of the features time range as:

  • Include start, exclude end

  • Include start, include end

16.1.16. Onglet Variables

The expression Variables tab lists all the variables available at the layer’s level (which includes all global and project’s variables).

Il permet également à l’utilisateur de gérer les variables au niveau de la couche. Cliquez sur symbologyAdd pour ajouter une nouvelle variable au niveau de la couche personnalisée. De même, sélectionnez une variable au niveau de la couche personnalisée dans la liste et cliquez sur symbologyRemove pour la supprimer.

Plus d’informations sur l’utilisation des variables dans les outils généraux dans Stockage de valeurs dans des variables.

16.1.17. Onglet Élévation

The elevationscale Elevation tab provides options to control the layer elevation properties within a 3D map view and its appearance in the profile tool charts. Specifically, you can set:

../../../_images/vector_elevation.png

Fig. 16.63 Vector layer elevation properties dialog

  • Elevation Clamping: defines how and whether the features altitude should be:

    • Clamped to terrain: takes elevation directly from the terrain height and ignores any existing Z values in the features. A data-defined Offset value from the terrain can also be filled.

    • Relative to terrain: any existing Z values in the features are added to the terrain height. A Scale factor followed by a data-defined Offset can be used to adjust the elevation. This option is not available for 2D geometry layers.

    • Absolute: ignores the terrain height and directly takes Z values from the features for the elevation. A Scale factor followed by a data-defined Offset can be used to adjust the elevation. For 2D geometry layers (with no Z values), a data-defined Base height can instead be set.

  • unchecked Enable extrusion: you can set a Height to control how high features vertically extend above their base. This is convenient to indicate that a 2D geometry layers, e.g. a polygon building footprints layer, actually represents 3D objects.

  • Elevation Binding: only relevant when combining an Elevation clamping relying on the terrain with a line or polygon layer, this option controls how feature elevation is set relative to the terrain height. The terrain can be sampled:

    • at the feature’s Centroid, with the centroid height being added to each vertex’s z value

    • at every individual Vertex before being added to the vertex’s z value

  • Profile Chart Appearance: controls how features are rendered when drawing a profile chart. Two main Interpretation modes are available:

    • as Individual features: samples discrete positions where the cross section profile line intersects the vector features. That intersection can be represented as point, line or surface depending on the layer type and whether an extrusion is applied.

      With checking checkbox Respect layer symbology, features will be rendered on the profile chart with their corresponding layer styling (allowing e.g. categorized classes to be visible on the profile chart). If the profile symbol type does not match the layer’s renderer symbol types, only the symbol color from the renderer is applied to the profile symbol.

      Depending on the layer settings, profile symbols can be represented with a custom style, using:

      • Marker style: for non-extruded point and line features, and for non-extruded polygon features touched by the profile line

      • Line style: for extruded point and line features, and for non-extruded polygon features intersected by the profile line

      • Fill style: for extruded polygon features

    • as Continuous Surface (e.g. contours): the elevation chart will be rendered as a surface instead of separate features by joining the sampled elevation results into a continuous line. This can enhance visualisation and is designed for vector layers which represent a continuous elevation surface, e.g. contour lines or surveyed elevation points. The profile Style can be set as:

      • a Line with a specific Line style

      • an elevation surface rendered using a fill symbol either above (Fill above) or below (Fill below) the elevation curve line. The surface symbology is represented using:

        • a Fill style

        • and a Limit: the maximum (respectively minimum) altitude determining how high the fill surface will be

      Moreover, you can check unchecked Show markers at sampled points to make them visible over the interpretation line and assign them a Marker style.

16.1.18. Onglet Métadonnées

L’onglet editMetadata Métadonnées vous offre des options pour créer et modifier un rapport de métadonnées sur votre couche. Voir Metadata pour plus d’informations.

16.1.19. Onglet Dépendances

The dependencies Dependencies tab allows to declare data dependencies between layers. A data dependency occurs when a data modification in a layer, not by direct user manipulation, may modify data of other layers. This is the case for instance when geometry of a layer is updated by a database trigger or custom PyQGIS scripting after modification of another layer’s geometry.

Dans l’onglet Dépendances, vous pouvez sélectionner toutes les couches susceptibles de modifier de manière externe les données de la couche actuelle. La spécification correcte des couches dépendantes permet à QGIS d’invalider les caches de cette couche lorsque les couches dépendantes sont modifiées.

16.1.20. Onglet Légende

The legend Legend properties tab provides you with advanced settings for the Layers panel and/or the print layout legend. These options include:

  • Depending on the symbology applied to the layer, you may end up with several entries in the legend, not necessarily readable/useful to display. The Legend placeholder image helps you select an image for replacement, displayed both in the Layers panel and the print layout legend.

  • checkbox Show label legend: Displays overviews of the different label settings as entries in the legends. The label style is previewed along with the description.

  • le checkbox Texte sur les symboles: Dans certains cas, il peut être utile d’ajouter des informations supplémentaires aux symboles dans la légende. Avec ce cadre, vous pouvez affecter à l’un des symboles utilisés dans la symbologie des couches un texte qui s’affiche sur le symbole, à la fois dans couches et dans la légende de mise en page d’impression. Ce mappage se fait en tapant chaque texte à côté du symbole dans le widget de tableau ou en remplissant le tableau à l’aide du bouton Définir les étiquettes à partir de l’expression. L’apparence du texte est gérée par les widgets de sélection de police et de couleur du bouton Format du texte.

../../../_images/text_legend_symbols.png

Fig. 16.64 Définition du texte sur les symboles (à gauche) et son rendu dans le panneau Couches (à droite)

  • une liste de widgets que vous pouvez intégrer dans l’arborescence des couches dans le panneau Couches. L’idée est d’avoir un moyen d’accéder rapidement à certaines actions qui sont souvent utilisées avec la couche (configuration de la transparence, filtrage, sélection, style ou autre …).

    Par défaut, QGIS fournit un widget de transparence mais cela peut être étendu par des plugins enregistrant leurs propres widgets et assignant des actions personnalisées aux couches qu’ils gèrent.

16.1.21. Onglet QGIS Server

The overlay QGIS Server tab consists of Description, Attribution, Metadata URL, and Legend URL sections.

From the Description section, you can change the Short name used to reference the layer in requests (to learn more about short names, read Short name). You can also add or edit a Title and Abstract for the layer, or define a Keyword list here. These keyword lists can be used in a metadata catalog. If you want to use a title from an XML metadata file, you have to fill in a link in the Data URL field.

Utilisez le groupe Attribution pour récupérer les données d’attributs depuis un catalogue de métadonnées XML.

In Metadata URL, you can add the general paths to the XML metadata catalog. This information will be saved in the QGIS project file for subsequent sessions and will be used for QGIS Server.

In the Legend URL section, you can provide the url of a legend image in the url field. You can use the Format drop-down option to apply the appropriate format of the image. Currently png, jpg and jpeg image formats are supported.

../../../_images/vector_server_properties.png

Fig. 16.65 Onglet QGIS Server dans la boîte de dialogue des propriétés des couches vecteur

Pour en savoir plus sur QGIS Server, lisez le Guide/manuel de QGIS Server.

16.1.22. Onglet numérisation

The digitizing Digitizing tab gives access to options that help to ensure the quality of digitized geometries.

../../../_images/vector_digitizing_properties.png

Fig. 16.66 L’onglet Numérisation de QGIS dans la fenêtre des propriétés des couches vecteur

16.1.22.1. Corrections automatiques

Les options de la section Corrections automatiques affecteront directement les sommets de toute géométrie ajoutée ou modifiée. Si la checkbox Supprimer les sommets en double est cochée, les deux sommets suivants avec exactement les mêmes coordonnées seront supprimés. Si Précision de la géométrie est définie, tous les sommets seront arrondis au multiple le plus proche de la précision géométrique configurée. L’arrondi aura lieu dans le système de référence de coordonnées de la couche. Les valeurs Z et M ne sont pas arrondies. Avec de nombreux outils cartographiques, une grille s’affiche sur le canevas lors de la numérisation.

../../../_images/vertex_snap_to_grid.png

Fig. 16.67 Moving the top vertex snaps all the vertices to the grid

16.1.22.2. Contrôles de géométrie

In the Geometry checks section, additional validations on a per geometry basis can be activated. Immediately after any geometry modification, failures in these checks are reported to the user in the Geometry validation panel. As long as a check is failing, it is not possible to save the layer. The checkbox Is valid check will run basic validity checks like self intersection on geometries.

16.1.22.3. Vérification de la topologie

In the Topology checks section, additional topology validation checks can be activated. Topology checks will be executed when the user saves the layer. Check errors will be reported in the Geometry validation panel. As long as validation errors are present, the layer can not be saved. Topology checks are executed in the area of the bounding box of the modified features. Since other features may be present in the same area, topological errors concerning these features are reported as well as errors introduced in the current edit session.

Option de vérification de la topologie

Illustration

La vérification checkbox Interstice vérifiera les écarts entre les polygones voisins.

../../../_images/gapcheck.png

La vérification checkbox Recouvre vérifiera les chevauchements entre les polygones voisins.

../../../_images/overlapcheck.png

La vérification checkbox Sommet manquant vérifiera les limites partagées des polygones voisins où à une limite manque un sommet qui est présent sur l’autre.

../../../_images/missingvertexcheck.png

Exception de vérification des écarts

Parfois, il est souhaitable de conserver les espaces à l’intérieur d’une zone dans une couche de polygones qui autrement est entièrement couverte par des polygones. Par exemple, une couche d’utilisation des terres peut avoir des trous acceptables pour les lacs. Il est possible de définir des zones qui sont ignorées dans la vérification de l’écart. Étant donné que les espaces à l’intérieur de ces zones sont autorisés, nous les désignerons comme des zones d’Écarts autorisés.

Dans les options pour les vérifications d’écart sous Écarts autorisés, une couche d’écarts autorisés peut être configurée.

Chaque fois que la vérification des écarts est exécutée, les écarts qui sont couverts par un ou plusieurs polygones dans la couche de lacunes autorisées ne sont pas signalés comme des erreurs de topologie.

Il est également possible de configurer un Tampon supplémentaire. Ce tampon est appliqué à chaque polygone sur la couche de lacunes autorisées. Cela permet de rendre les tests moins sensibles à de petits changements dans les contours aux limites des lacunes.

Lorsque les Écarts autorisés sont activés, un bouton supplémentaire ( Ajouter un écart autorisé) pour les erreurs d’écart détectées est disponible dans le dock de validation de la géométrie, où les écarts sont signalés pendant la numérisation. Si le bouton Ajout d’un interstice aux exceptions autorisées est enfoncé, un nouveau polygone avec la géométrie de l’écart détecté est inséré dans la Couche des interstices autorisés. Cela permet de signaler rapidement les écarts comme autorisés.

Panneau Validation de géométrie

The Geometry Validation panel is triggered when any of the abovementioned digitizing checks finds an error. The dialog provides you with the list of errors and their description, and you can to browse the list using the keyboard arrows or dedicated arrows.

You’ll need to address all the issues before you can save edits to the layer. To do so:

  1. Sélectionnez une erreur et vous pourrez :

    • zoomToSelected Zoom to Feature(s)

    • zoomToLayer Zoom to problem

  2. Choisir les habituels outils de numérisation pour corriger le problème.