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

La fenêtre de Propriétés d’une couche vectorielle 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 boîte de dialogue Propriétés de la couche vectorielle :

  • 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 le menu Couche ‣ Propriétés… quand la couche est sélectionnée.

La boîte de dialogue Propriétés de la couche vecteur choisie propose les sections suivantes :

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 Inclusion de projets) 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.

Onglet Informations

metadata L’onglet Information , en lecture seule, permet de connaitre rapidement les informations et métadonnées résumées sur la couche courante. Les informations fournies sont :

  • suivant le fournisseur de la couche (format et chemin de stockage, type de géométrie , encodage, emprise …);
  • extraits des Propriétés des metadonnées (accès, liens, contacts, historique..);
  • soit en fonction de sa géométrie (emprise spatiale, SCR…) ou de ses attributs (nombre de champs, caractéristiques de chacun…).

Onglet Source

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

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

Onglet Source de la fenêtre Propriétés de la couche vectorielle

Outre le Nom de la couche qui sera affiché dans le Panneau couches, les options sont:

Système de Coordonnées de Référence

  • Affiche le Système de Coordonnées de Référence (SCR) de la couche sous la forme d’une chaîne PROJ.4. Vous pouvez changer le SRC de la couche, en sélectionnant un de ceux récemment utilisés dans la liste déroulante ou en cliquant sur le bouton setProjection Sélectionner le SRC (voir Sélectionneur de système de coordonnées de référence). Utilisez ce processus uniquement si le SCR appliqué à la couche est erroné ou si aucun ne l’a été. Si vous souhaitez reprojeter vos données dans un autre SCR, utilisez plutôt les algorithmes de reprojection de couche dans la boite de traitements ou Sauvegarder dans une nouvelle couche.
  • Créer un index spatial (uniquement pour les formats gérés par OGR ).
  • Mise à jour de l’emprise de la couche.

Constructeur de requête

Le Constructeur de requête est accessible par le bouton éponyme en bas de l’onglet Source dans les Propriétés de la couche, sous le groupe Filtre d’entités du fournisseur de données.

Le Constructeur de requête fournit une interface qui vous permet de définir un sous-ensemble d’entités dans la couche en utilisant une clause WHERE de type SQL et d’afficher le résultat dans la fenêtre principale. Tant que le filtre est actif, seules les entités filtrées sont disponibles dans le projet. Par exemple, en utilisant le champ TYPE_2 de la couche regions du jeu de données d’exemple de la documentation, vous pouvez limiter l’affichage uniquement aux régions qui ont le type borough (voir l’illustration Figure_vector_querybuilder ). Le filtre est réalisé au niveau du fournisseur de données (OGR, PostgreSQL, MSSQL…).

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

Constructeur de requête

You can also open the Query Builder dialog using the Filter… option from the Layer menu or the layer contextual menu. The Fields, Values and Operators sections in the dialog help you to construct the SQL-like query exposed in the Provider specific filter expression box.

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.

Le bouton Test vous aide à vérifier votre requête et affiche un message avec le nombre d’entités satisfaisant la requête. Utilisez le bouton Effacer pour effacer la requête SQL et réinitialiser la couche à son état d’origine (c’est-à-dire, charger toutes les entités).

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.

Dans le panneau Couches, la couche filtrée apparaît avec une icône indicatorFilter Filtre sur le côté affichant la requête utilisée lorsque vous la survolez avec la souris. Double-cliquez sur l’icône pour ouvrir la boîte de dialogue Constructeur de requête afin de modifier le filtre.

Onglet Symbologie

symbology L’onglet Symbologie vous offre un outil complet pour symboliser vos données vectorielles. Vous pouvez utiliser des outils communs à toutes les données vectorielles, ainsi que des outils de symbolisation spéciaux qui ont été conçus pour les différents types de données vectorielles. Ainsi, tous les types de vecteur partagent la structure de dialogue suivante : dans la partie supérieure, vous pouvez définir la classification et le symbole à utiliser pour les entités et dans la partie inférieure, le Rendu de couche.

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.

Rendu d’entités

Le moteur de rendu est responsable du dessin de chaque entité avec le symbole correct. Quel que soit le type de géométrie de la couche, il existe quatre types communs de rendus : symbole unique, catégorisé, gradué et basé sur des règles. Pour les couches de points,le déplacement de point et le rendu par carte de chaleur sont disponibles, tandis que les couches de polygones peuvent également être affichées avec les polygones inversés et le 2.5 D.

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 vectorielle, 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 The Symbol Selector pour plus d’informations sur la représentation des symboles.

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

Propriétés « Symbole Unique » de ligne

Astuce

Modifier la symbologie depuis le panneau Couches

Si dans le Panneau des couches, vous avez des couches avec une symbologie catégorisée, graduée ou basée sur des règles, vous pouvez rapidement changer la couleur de remplissage du symbole d’une catégorie en faisant un clic droit sur une catégorie et choisir la couleur que vous préférez dans un menu colorWheel palette de couleurs. Un clic droit sur une catégorie vous donnera également accès aux options Masquer tous les items, Afficher tous les items et Éditer le symbole.

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 moteur de rendu categorizedSymbol Catégorisé est utilisé pour afficher les entités d’une couche en utilisant un symbole défini par l’utilisateur à partir des valeurs distinctes d’un champ ou d’une expression. Le menu Catégorisé vous permet de

  • sélectionner un champ existant (en utilisant la liste déroulante Colonne) ;

  • saisir ou construire une expression à l’aide du expression Calculateur d’expressions. Le résultat de l’expression peut être de n’importe quel type, par exemple :

    • être une comparaison comme monChamp >= 100, $id = @atlas_featureid, monChamp % 2 = 0, within( $geometry, @atlas_geometry ). Dans ce cas, QGIS renvoie les valeurs 1 (Vrai) ou 0 (Faux).

    • combiner différents champs, comme concat( champ1, ' ', champ2 ), particulièrement utile lorsque vous souhaitez classer vos entités sur les valeurs de deux ou plusieurs champs en même temps.

    • être un résultat d’un calcul de champs, comme monChamp % 2, year( monChamp ), champ_1 + champ_2.

    • transformer des valeurs continues en classes discrètes, comme :

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

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

    Note

    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.

  • choisir le symbole (en utilisant la fenêtre The Symbol Selector) qui sera utilisé comme symbole de base pour chaque classe ;

  • les couleurs (en utilisant la liste des palettes de couleur) parmi lesquelles la couleur appliquée au symbole est choisie.

Cliquez ensuite sur le bouton Classer afin de générer les classes pour toutes les valeurs différentes trouvées dans le champ de la table attributaire. 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 vous propose de Copier / Coller, Modifier la couleur, Modifier la transparence, Modifier l’unité de sortie ou Modifier la taille.

L’exemple de la figure figure_categorized_symbology montre le rendu des catégories de la couche des rivières de l’échantillon de données de QGIS.

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

Options du mode de rendu Catégorisé

Astuce

Sélectionner et modifier plusieurs symboles

Il est possible de sélectionner plusieurs symboles, de faire un clic-droit dessus et de changer en une seule opération leur couleur, leur transparence, leur taille ou leur épaisseur.

Astuce

Apparier les catégories aux noms de symboles

Dans le menu [Avancé], sous les classes, vous pouvez choisir l’une des deux premières actions pour faire correspondre le nom du symbole à un nom de catégorie de la classification. Apparier aux symboles sauvegardés fait correspondre un nom de catégorie avec un nom de symbole du Gestionnaire de symboles. Apparier aux symboles à partir du fichier fait correspondre un nom de catégorie à un nom de symbole dans un fichier externe de 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 :

  • L’attribut (en utilisant la liste déroulante de Colonne ou la fonction expression Définir une expression de colonne)
  • 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 Statistique pour obtenir plus d’information 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 :

  • Intervalle égal : chaque classe a la même taille (par exemple, valeurs de 0 à 16 et 4 classes, chaque classe a une taille de 4).
  • Quantile (nombre égal) : chaque classe aura le même nombre d’éléments à l’intérieur de chaque classe.
  • Ruptures naturelles (Jenks) : la variance de chaque classe est minimale tandis que la variance entre les différentes classes est maximale;
  • Écart-type : les classes sont construites en fonction le l’écart-type calculé sur l’ensemble des valeurs;
  • Jolies ruptures: Calcule une séquence d’environ n+1 valeurs d’espacement équidistantes qui couvrent la plage des valeurs de x. Les valeurs sont choisies de sorte qu’elles soient 1, 2 ou 5 fois une puissance de 10. (basé sur “jolis points d’arrêt” de l’environnement statistique de R http://astrostatistics.psu.edu/datasets/R/html/base/html/pretty.html)

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 vous propose de Copier / Coller, Modifier la couleur, Modifier la transparence, Modifier l’unité de sortie ou Modifier la taille.

L’exemple de la figure figure_graduated_symbology montre le rendu gradué de la couche des rivières de l’échantillon de données de QGIS.

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

Options du mode de rendu Gradué

Astuce

Cartes thématiques utilisant une expression

Les cartes thématiques faites avec le rendu Catégorisé ou Gradué peuvent être créées en utilisant le résultat d’une expression. Dans la fenêtre Propriétés des couches vectorielles, le sélecteur de colonne accueille une fonction expression Définir une expression de colonne. Vous n’avez donc pas besoin d’écrire l’attribut de la classification dans une nouvelle colonne de votre table si vous souhaitez que l’attribut de classification soit un composite de plusieurs champs, ou une formule quelconque.

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 data-defined override 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 dataDefined 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 dataDefined pour appliquer une transformation (exponentielle, flannery…) à la mise à l’échelle de la taille du symbole (voir Using the data-defined assistant interface 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éplier la liste déroulante Avancé en bas de la fenêtre principale de l’onglet Symbologie et sélectionner Légende définie par la taille des données pour configurer les objets légende (voir Légende définie par la taille des données pour plus de détails).

../../../_images/proportional_symbols.png

Mise à l’échelle de la taille des aéroports en fonction de l’altitude de l’aéroport

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 The Symbol Selector.
    2. Redimensionnez la taille ou la largeur de la couche de symbole à l’aide du widget dataDefined définition de données imposée comme expliqué au-dessus.

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

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

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

Ensemble de règles

Le moteur de rendu ruleBasedSymbol Ensemble de règles est utilisé pour afficher toutes les entités d’une couche en utilisant un ensemble de règles prédéfinies dont l’aspect reflète la manière dont une entité a été classée en fonction de ses attributs. Les règles sont définies par des expressions SQL et peuvent être imbriquées. La fenêtre permet de regrouper les règles par type de filtre ou échelle de validité et vous pouvez activer le rendu selon les niveaux de symboles ou arrêter le rendu à la première règle validée pour chaque entité.

Pour créer une règle:

  1. Utilisez une ligne existante en double-cliquant dessus (par défaut, QGIS ajoute un symbole sans règle lorsque le mode de rendu est activé) ou cliquez sur le bouton projectProperties Éditer la règle courante ou signPlus :sup:` Ajouter une règle`.
  2. Dans la boîte de dialogue Edit Rule 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 pour 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.

En sélectionnant une règle, vous pouvez également organiser ses caractéristiques en sous-classes en utilisant le menu déroulant Affiner les règles sélectionnées. L’affinement automatisé des règles peut être basé sur :

Les classes affinées apparaissent dans l’arborescence comme des sous-éléments de la règle et vous pouvez définir une symbologie pour chaque classe, comme vu au dessus.

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.

Les règles créées apparaissent également dans la légende de la carte. Double-cliquez sur les règles dans la légende de la carte pour que l’onglet Symbologie des propriétés de la couche affiche la règle qui gère l’affichage du symbole.

L’exemple de la figure figure_rule_based_symbology montre le rendu basé sur des règles pour la couche des rivières de l’échantillon de données de QGIS.

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

Options du mode de rendu par Ensemble de Règles

Rendu Déplacement de point

Le rendu de pointDisplacementSymbol Déplacement de point permet une visualisation de tous les points d’une couche, même si ceux-ci se superposent. Pour ce faire, le moteur de rendu sélectionne les points se trouvant dans une Distance donnée et les place autour de leur barycentre en suivant différentes Méthodes de placement :

  • 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.

Le bouton Symbole du centre vous permet de personnaliser le symbole et la couleur du point central. Pour les symboles de points distribués, vous pouvez appliquer n’importe laquelle des options Aucun symbole, Symbole unique, Catégorisé, Gradué ou Ensemble de règles en utilisant la liste déroulante Moteur de rendu et les personnaliser en utilisant le bouton Paramètres du moteur de rendu.

Bien que l’espacement minimal du Displacement lines dépende de celui du moteur de rendu des symboles de points, vous pouvez toujours personnaliser certains de ses paramètres tels que le Largeur de trait, Couleur de trait et Réglage taille (pour ajouter plus de distance entre les points rendus, par exemple).

Utilisez les options du groupe Étiquettes pour effectuer l’étiquetage des points : les étiquettes sont placées à une position décalée du symbole, et non à la position réelle de l’élément. Outre l’option Attribut de l’étiquette, Police de l’étiquette et Couleur de l’étiquette, vous pouvez définir la commande Utiliser un étiquetage dépendant de l’échelle pour afficher les étiquettes.

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

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 de points si vous voulez déplacer les points.

Rendu Groupe de points

Contrairement au rendu pointDisplacementSymbol Déplacement de points qui répartit les points les plus proches ou superposés, le rendu pointClusterSymbol Groupe de points regroupe les points proches dans un seul symbole. Sur la base d’une Distance spécifiée, les points qui se trouvent à l’intérieur du rayon sont fusionnés en un seul symbole. L’agrégation des points est faite en fonction du groupe le plus proche pouvant être formé, plutôt que de simplement leur assigner le premier groupe à l’intérieur de la distance de recherche.

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

  • définir le symbole pour représenter le groupe de points dans le Symbole du cluster; le rendu par défaut affiche le nombre d’éléments agrégés grâce à la variable @cluster_size définie dans la « définition de données imposée » du symbole de police.
  • utilisez la liste déroulante Moteur du rendu pour appliquer n’importe quel autre type de rendu à la couche (unique, catégorisé, basé sur des règles…). Ensuite, appuyez sur le bouton Paramètres du moteur de rendu… pour configurer la symbologie comme d’habitude. Notez que ce moteur de rendu n’est visible que sur les éléments qui ne sont pas regroupés. De plus, lorsque la couleur du symbole est la même pour tous les points à l’intérieur d’un cluster, cette couleur définit la variable @cluster_color du groupe.
../../../_images/cluster_symbol.png

Fenêtre groupe 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 de points si vous voulez déplacer les points.

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

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

Rendu de 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

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 calque 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 toît et la Couleur de mur. Si vous souhaitez simuler le rayonnement solaire sur les entités de murs, 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

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.

Rendu de couche

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

  • Opacity slider: You can make the underlying layer in the map canvas visible with this tool. Use the slider to adapt the visibility of your vector layer to your needs. You can also make a precise definition of the percentage of visibility in the menu beside the slider.

  • 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

Options de rendu de couche

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 les 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 de 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

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

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

Légende définie par la taille 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 de mise en page.

Pour activer la boîte de dialogue Légende définie par la taille 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 boîte de dialogue fournit les options suivantes pour :

  • sélectionnez le type de légende : radioButtonOn Légende non activée, radioButtonOff Eléments de légende séparés et radioButtonOff Légendé 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 ;
  • définir le symbole à utiliser pour la représentation des légendes ;
  • 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 signPlus et signMinus pour définir vos valeurs et étiquettes de classes personnalisées.

Un aperçu de la légende est affiché dans le panneau droit de la boîte de dialogue et mis à jour au fur et à mesure que vous réglez les paramètres. Pour la légende repliée, une ligne de repère horizontale est tracée entre le bord supérieur du symbole et le texte de légende correspondant.

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

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.

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 Personnalisez les effets qui ouvrira la boîte de dialogue Propriétés des effets (voir figure_effects_source). 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. La transparence de ce style peut être ajustée.

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

    Effets: boîte de dialogue Source

  • Flou: Ajoute un effet de flou à la couche vectorielle. 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

    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

    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

    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

    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

    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

    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

    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 signPlus Ajouter un nouvel effet and signMinus 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).

Propriétés d’Étiquetage

L’onglet labeling Étiquettes fournit tous les paramètres de configuration nécessaires pour créer des étiquettes intelligentes sur vos couches vectorielles. Cette fenêtre est également accessible depuis le panneau Layer Styling ou en cliquant sur le bouton labeling Paramètres d’étiquetage de la couche de la Barre d’outils des É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.
  • labeling Étiquettes simples, décrit plus loin
  • labelingRuleBased Etiquettes 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.

Paramétrer une étiquette

Les étapes qui suivent présupposent que vous avez sélectionné l’option labeling Étiquettes simples, permettant l’activation des onglets suivants nécessaires à l’étiquetage :

Activer également la liste déroulante Étiqueter avec, dans laquelle vous pouvez sélectionner un champ à utiliser. Cliquez sur expression si vous voulez définir des étiquettes basées sur des expressions - Voir Définir des étiquettes basées sur des expressions.

Les étapes présentées ci-dessous décrivent un étiquetage simple, sans utilisation des fonctions de Valeurs définies par les données, situées à droite des paramètres à définir. Voir Utiliser des valeurs de paramètres définies par les données pour l’étiquetage pour un cas d’utilisation.

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

Paramètres d’étiquetage de la couche - Onglet texte

Onglet Texte

Dans l’onglet text Texte, vous pouvez définir les Police, Style, et Taille du texte de vos étiquettes (voir Figure_labels) ainsi que les options Couleur et Opacité. Utilisez l’option Type de casse pour changer le style de capitalisation du texte. Vous avez la possibilité de passer le texte en “Majuscules”, “Minuscules” ou “Première lettre en majuscule”. Dans Espacement, vous pouvez changer l’espace entre les mots et entre les lettres. Enfin, utilisez l’option Mode de fusion pour déterminer comment vos étiquettes se fusionneront avec les éléments de la carte en dessous d’elles (voir plus à ce sujet dans Modes de fusion).

L’option Appliquer un texte de substitution vous permet de spécifier une liste de textes à substituer aux textes des étiquettes des entités (par exemple, en abrégeant les types de rues). Les textes de remplacement sont donc utilisés pour afficher les étiquettes sur la carte. Les utilisateurs peuvent également exporter et importer des listes de substitution pour faciliter leur réutilisation et leur partage.

Onglet Formatage

Dans le menu Formatage, vous pouvez définir un caractère de retour à la ligne dans les étiquettes avec l’option Découper sur le caractère. Vous pouvez formater la Hauteur de ligne et l”alignement. Pour ce dernier, les valeurs courantes sont disponibles (À gauche, À droite, Centré) ainsi que l’option Suivre le placement des étiquettes pour les couches ponctuelles. Dans ce mode, l’alignement du texte des étiquettes est dépendant du placement final de l’étiquette par rapport au point. Ex: si l’étiquette est placée à gauche du point alors l’étiquette sera alignée à droite et inversement.

Pour les couches linéaires, vous pouvez utiliser symbole de direction de ligne pour indiquer la direction des lignes. Ils fonctionnent particulièrement bien lorsqu’ils sont utilisés avec les options de placement Incurvé ou Parallèle de l’onglet Position. Les autres options permettent de régler la position des symboles ainsi que d’afficher le symbole en Direction inverse.

Utilisez l’option checkbox Nombres formatés pour les étiquettes numériques. Vous pouvez définir le nombre de décimales. Par défaut, 3 décimales seront utilisées. Utilisez la case à cocher checkbox Afficher le signe + si vous voulez afficher + avec les chiffres positifs.

Onglet Tampon

Pour créer un tampon autour des étiquettes, activez la case checkbox Afficher un tampon dans l’onglet labelbuffer Tampon. Vous pouvez définir les Taille, Couleur, et opacité du tampon. Le tampon démarre à partir du bord de l’étiquette, donc, si la case à cocher checkbox Couleur de remplissage du tampon est activée, l’intérieur du tampon est totalement rempli. Ceci peut s’avérer utile lors de l’utilisation d’étiquettes partiellement transparentes ou avec des modes de fusion non normaux, ce qui permettra de voir derrière le texte de l’étiquette. Désactiver la case à cocher checkbox Couleur de remplissage du tampon (tout en utilisant des étiquettes totalement transparentes) vous permettra de créer des étiquettes texte contournées.

Onglet Arrière-plan

Dans l’onglet labelbackground Fond, vous pouvez définir avec Taille X et Taille Y la forme de votre fond. Utilisez Type de taille pour insérer un “tampon” supplémentaire dans votre arrière-plan. La taille du tampon est définie par défaut ici. Les Taille X et Taille Y représentent alors l’ensemble fond et tampon. Vous pouvez définir une Rotation dans laquelle vous pouvez choisir entre “Synchroniser avec l’étiquette”, “Décalage de l’étiquette” et “Fixé”. En utilisant “Décalage de l’étiquette” ou “Fixé”, vous pouvez faire pivoter l’arrière-plan. Définissez un Décalage X,Y avec les valeurs X et Y, et le fond sera décalé. Lors de l’application de Rayon X,Y, l’arrière-plan aura des coins arrondis. Encore une fois, il est possible de mélanger l’arrière-plan avec les couches sous-jacentes dans la carte en utilisant le Mode de fusion (voir Modes de fusion).

Onglet Ombre

Utilisez l’onglet labelshadow Ombre pour une Ombre portée définie par l’utilisateur. Le dessin de l’arrière plan est très variable. Choisissez entre “Plus petit composant de l’étiquette”, “Texte”, “Tampon” et” Arrière-plan”. L’angle Décalage dépend de l’orientation de l’étiquette. Si vous choisissez la case à cocher checkbox Utiliser l’ombre globale, alors le point zéro de l’angle est toujours orienté vers le nord et ne dépend pas de l’orientation de l’étiquette. Vous pouvez influencer l’apparence de l’ombre avec le Rayon de floutage. Plus le chiffre est élevé, plus les ombres sont douces. L’apparence de l’ombre portée peut également être modifiée en choisissant un mode de fusion.

Onglet Position

Choisissez l’onglet labelplacement Placement pour configurer l’emplacement et la priorité des étiquettes. Notez que les options de placement diffèrent selon le type de couche vectorielle, à savoir point, ligne ou polygone, et sont affectées par le paramètre global PAL setting.

Emplacement pour les couches de points

Avec le mode de placement radioButtonOn Cartographique, les étiquettes ponctuelles sont générées avec la meilleure relation visuelle avec le point de l’entité, suivant des règles de placement cartographiques idéales. Les étiquettes peuvent être placées à une Distance du point de l’entité ou par rapport à l’enveloppe du symbole utilisé pour représenté l’entité. La dernière option est particulièrement utile lorsque la taille du symbole n’est pas fixe, ex: si elle est définie par des données ou lors de l’utilisation de symboles différents dans un rendu catégorisé.

Par défaut, les placements sont priorisés selon l’ordre suivant:

  1. en haut à droite
  2. en haut à gauche
  3. coin inférieur droit
  4. coin inférieur gauche
  5. au centre à droite
  6. au centre à gauche
  7. en haut, décalé légèrement à droite
  8. en bas, décalé légèrement à gauche.

La priorité de placement peut cependant être paramétrée pour une entité donnée en utilisant une liste des priorités définie par les données. Cela ne permet d’utiliser que certains emplacements, par exemple : pour les entités représentant la côte, vous pouvez empêcher les étiquettes de s’afficher sur les terres.

Le paramètre radioButtonOn Autour du point place l’étiquette dans un cercle de rayon fixe autour de l’entité (défini dans Distance). Le placement de l’étiquette peut également être contraint en utilisant l’option Quadrant.

Avec l’option radioButtonOn Décalage par rapport au point, les étiquettes sont placées à une distance fixe du point de l’entité. Vous pouvez sélectionner le Quadrant dans lequel sera placée l’étiquette. Vous pouvez également paramétrer les distances X et Y entre les points et leurs étiquettes ainsi que l’angle de l’étiquette avec le paramètre Rotation. Ainsi, l’étiquette sera placée dans le quadrant sélectionné avec une rotation définie.

Emplacement pour les couches de lignes

Les options d’étiquette pour les couches linéaires permettent un placement radioButtonOn Parallèle, radioButtonOff Incurvé ou radioButtonOff Horizontal. Avec les options radioButtonOn Parallèle et radioButtonOff Incurvé, vous pouvez définir la position checkbox Au-dessus de la ligne, checkbox Sur la ligne ou checkbox En-dessous de la ligne. Il est possible de sélectionner plusieurs options à la fois. Dans ce cas, QGIS recherchera la position optimale pour l’étiquette. Pour les placements parallèle et incurvé, vous pouvez également utiliser l’orientation de la ligne pour positionner l’étiquette. En outre, vous pouvez définir un Angle maximal des lettres lorsque vous optez pour un emplacement radioButtonOff Incurvé (voir Figure_labels_2_ ).

../../../_images/line_label_placement.png

Exemples d’emplacements d’étiquettes pour une ligne

Pour les trois options d’emplacement, vous pouvez Répéter les étiquettes en spécifiant une distance minimale entre les étiquettes. Cette distance peut être en millimètres ou en Unités de la carte.

Emplacement pour les couches de polygones

Vous pouvez choisir parmi les options suivantes pour l’emplacement des étiquettes sur une couche de polygones (voir figure_labels_placement_polygon) :

  • radioButtonOn Décalé du centroide,
  • radioButtonOff Horizontal (lent),
  • radioButtonOff Autour du centroïde,
  • radioButtonOff Libre (lent),
  • radioButtonOff Utilisation du périmètre,
  • radioButtonOff Selon le périmètre (incurvé).

Dans les paramètres radioButtonOn Décalé du centroïde, vous pouvez définir si le centroïde est celui du radioButtonOn polygone visible ou du radioButtonOff polygone complet. Cela signifie que soit le centroïde utilisé correspond à celui de la portion de polygone qui apparaît dans votre carte, soit il est défini par rapport au polygone en entier, que vous l’ayez entièrement affiché dans votre carte ou pas. Vous pouvez placer l’étiquette selon les quadrants et définir un décalage et une rotation.

L’option radioButtonOff Autour du centroïde permet de placer l’étiquette à une certaine distance autour du centroïde . Là encore, il y a la possibilité d’utiliser l’option radioButtonOn polygone visible ou radioButtonOff polygone complet pour la gestion du centroïde.

Avec les options Horizontal (lent) ou Libre (lent), QGIS place à la meilleure position soit une étiquette horizontale soit une étiquette inclinée à l’intérieur du polygone.

Avec l’option radioButtonOff Utiisation du périmètre, l’étiquette sera dessinée à côté de la limite du polygone. L’étiquette se comportera comme l’option parallèle pour les lignes. Vous pouvez définir une position et une distance pour l’étiquette. Les positions possibles sont checkbox Au-dessus de la ligne, checkbox Sur la ligne, checkbox En-dessous de la ligne et checkbox Orientation de la ligne suivant la position. Vous pouvez indiquer la distance entre l’étiquette et la limite du polygone ainsi qu’un intervalle de répétition pour l’étiquette.

L’option Selon le périmètre (incurvé) place l’étiquette le long de la limite du polygone, en utilisant une étiquette courbe. En plus des paramètres disponibles dans l’onglet Utilisation du périmètre, vous pouvez définir l”angle maximum entre les caractères incurvés, à l’intérieur ou à l’extérieur.

../../../_images/polygon_label_placement.png

Exemples d’emplacements d’étiquettes pour un polygone

Dans la section priorité, vous pouvez indiquer la priorité avec laquelle les étiquettes sont générées pour les trois types de couches vecteurs (point, ligne, polygone). Cette option de placement interagit avec les étiquettes des autres couches vecteurs dans la carte. S’il existe des étiquettes d’autres couches au même emplacement, l’étiquette avec la priorité la plus élevée sera affichée et les autres seront écartées.

Onglet Rendu

Dans l’onglet Rendu, vous pouvez affiner le paramétrage du rendu des étiquettes et leurs interactions avec les autres étiquettes et les autres entités.

Sous les Options des étiquettes, vous trouverez les paramètres de visibilité selon l’échelle et de visibilité basée sur la taille des pixels.

L”index z des étiquettes détermine l’ordre dans lequel les étiquettes sont générées ainsi que la relation avec les autres étiquettes dans la couche (en utilisant une expression basée sur des données) et avec les étiquettes des autres couches. Les étiquettes avec un index z élevé sont affichées au dessus des étiquettes (de n’importe qu’elle autre couche) avec une valeur d’index plus faible.

De plus, la logique a été affinée pour gérer les cas où 2 étiquettes ont un index z identique :

  • Si elles sont dans la même couche, une étiquette plus petite sera toujours tracée au dessus de l’étiquette plus large.
  • Si elles sont issues de couches différentes, les étiquettes sont tracées dans le même ordre que les couches (pour respecter l’ordre des couches dans la légende).

À noter que ce paramètre ne définit par comment sont tracées les étiquettes par rapport aux entités d’autres couches, il contrôle uniquement l’ordre dans lequel les étiquettes sont tracées au dessus des entités de la couche.

Lors de la génération des étiquettes et pour pouvoir afficher des étiquettes lisibles, QGIS évalue automatiquement la position des étiquettes et peut masquer certaines d’entre elles en cas de collision. Vous pouvez néanmoins choisir d”checkbox Afficher toutes les étiquettes pour cette couche (même celles en collision) pour pouvoir gérer manuellement leur placement.

Vous pouvez affiner quelles étiquettes seront générées en utilisant des expressions de valeurs définies par les données pour les options Afficher l’étiquette et Toujours afficher.

Sous les Options des entités, vous pouvez choisir d”Étiqueter toutes les parties d’une entité multi-parties et vous pouvez paramétrer une de Limite du nombre d’étiquettes à afficher. Les couches de polygones et de lignes permettent d’indiquer une taille minimum d’entité pour afficher les étiquettes en utilisant Ne pas afficher d’étiquette pour les entités plus petites que. Pour les entités polygones, vous pouvez également filtrer les étiquettes à afficher selon qu’elles sont situées complètement dans l’entité ou non. Pour les entités linéaires, vous pouvez choisir de Fusionner les lignes connectées pour éviter la duplication d’étiquettes, ce qui permettra un rendu plus aéré, lorsque conjugué avec les options Distance ou Répéter de l’onglet Emplacement.

Dans la groupe Obstacles, vous pouvez gérer la manière dont les étiquettes et les entités se recouvrent. Activez l’option checkbox Éviter que les étiquettes ne recouvrent des entités pour faire en sorte que les entités de la couche agissent comme obstacle pour toute étiquette (en incluant les étiquettes des autres entités de la même couche). Un obstacle est une entité au dessus de laquelle QGIS essaye, dans la mesure du possible, de ne pas placer d’étiquette. Au lieu d’une couche tout entière, vous pouvez définir un sous-ensemble d’entités comme obstacle en utilisant le contrôle de dataDefined valeurs définies par les données sur le côté de l’option.

La jauge slider de priorité des obstacles vous permet de modifier les préférences de recouvrement de vos étiquettes par rapport aux entités de certaines couches plutôt qu’à d’autres. Un obstacle de Poids faible signifie que les entités de la couche sont moins considérées comme des obstacles et ont plus de chances d’être recouvertes par des étiquettes. Cette priorité peut être définie par des données de telle manière qu’au sein de la même couche, certaines entités auront plus de chances d’être recouvertes que d’autres.

Pour les couches de polygones, vous pouvez choisir le type d’obstacle que les étiquettes chercheront à éviter :

  • Au-dessus de l’entité : évite de placer les étiquettes à l’intérieur du polygone (les étiquettes seront placées de préférence totalement en dehors ou légèrement à l’intérieur du polygone).
  • Au-dessus des limites de l’entité : évite de placer les étiquettes sur la limite du polygone (les étiquettes seront placées de préférence en dehors ou complètement à l’intérieur du polygone). Cela peut être utile pour les limites de régions où les entités recouvrent complètement une surface. Dans ce cas, il est impossible d’éviter de placer des étiquettes à l’intérieur de ces entités et l’affichage sera meilleur si on évite de placer les étiquettes sur les limites entre les entités.

Réglage du moteur de placement automatisé

Dans le coin supérieur droit de l’onglet Étiquettes”, vous pouvez utiliser les paramètres |autoPlacement| :sup:`Paramètres de placement automatisé (s’applique à toutes les couches) pour configurer un comportement global et automatique des étiquettes. En cliquant sur le bouton autoPlacement vous disposez des options suivantes :

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

Réglage du moteur de placement automatisé

  • La combobox Méthode de recherche vous offre différentes méthodes de placement pour trouver de bonnes solutions de placement pour l’étiquetage par points, lignes et polygones. Plus de détails dans cet article.
  • Les contrôles Nombre de possibilités définissent combien de positions possibles doivent être calculées pour chaque type d’entité. Plus le nombre de possibilités est élevé, meilleur sera l’étiquetage, mais avec une répercussion sur la rapidité de rendu. Plus le nombre de possibilités est petit, moins les étiquettes sont bien placées, mais elles sont plus vite dessinées.
  • checkbox Dessiner du texte sous forme de contours : contrôle si les étiquettes de texte sont dessinées (et exportées) sous forme d’objets texte appropriés OU uniquement sous forme de contours. S’ils sont exportés en tant qu’objets texte, ils peuvent être édités dans des applications externes (par ex. Inkscape) comme du 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 il est recommandé de dessiner des contours. Notez que lorsque vous exportez un modèle vers svg il y a en fait une priorité pour ce paramètre - donc vous pouvez laisser le rendu du projet sous forme de contours mais pour un fichier:.svg exporter les étiquettes en texte.
  • checkbox Autoriser les étiquettes tronquées en bordure de carte : contrôle si les étiquettes qui se trouvent en bordure de la carte doivent être dessinées. Si cette case est cochée, ces étiquettes s’afficheront (lorsqu’il n’y a aucun moyen de les afficher complètement dans la zone visible). Si cette case n’est pas cochée, les étiquettes partiellement visibles seront ignorées.
  • checkbox Afficher toutes les étiquettes de toutes les couches (y compris les étiquettes en collision). A noter que cette option peut aussi être définie au niveau de la couche (voir Onglet Rendu)
  • checkbox Montrer les candidats (pour le débogage) : contrôle si des cases doivent être dessinées sur la carte montrant tous les candidats générés pour le placement des étiquettes. Il n’est utile que pour déboguer et tester l’effet des différents paramètres. Ceci pourrait être pratique pour un meilleur placement manuel avec les outils de la barre d’outils Étiquettes.

É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, sélectionnez l’option labelingRuleBased Étiquettes basées sur des règles dans la liste déroulante principale de l’onglet Etiquettes et cliquez sur le bouton signPlus en bas de la fenêtre de dialogue. Ensuite, remplissez le dialogue avec une description et une expression pour filtrer les entités. Vous pouvez également définir une plage d’échelle Échelle de visualisation dans laquelle la règle d’étiquette doit être appliquée. Les autres options disponibles dans cette boîte de dialogue sont les options de Paramétrer une étiquette vues précédemment.

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

Paramètres des règles

Un résumé des règles existantes est affiché dans la boîte de dialogue principale (voir figure_labels_rule_based). Vous pouvez ajouter plusieurs règles, les réorganiser ou les imbriquer par glisser-déposer. Vous pouvez également les supprimer avec le bouton signMinus ou les éditer avec le bouton projectProperties ou un double-clic.

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

Étiquetage basé sur des règles

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 Étiquettes simples, cliquez sur l’icône expression à côté de la liste déroulante Étiqueter avec de l’onglet labeling Étiquettes des propriétés de la couche .

Dans la figure_labels_expression, il y a un exemple d’expression pour étiqueter la couche d’arbres d’Alaska avec le type d’arbre et la surface en utilisant le champ “VEGDESC”, du texte descriptif, et la fonction $area en combinaison avec format_number() pour afficher la surface de manière plus adaptée.

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

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.

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

Avec la fonction dataDefined 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 calque (voir Paramétrer une étiquette) :

  1. Activez l’onglet Texte.

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

  3. Sélectionnez :guilabel: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 dataDefined 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 dataDefined Valeur définie par les données dans la section Valeurs définies par des données.

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

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

La barre d’outils des Étiquettes

La barre d’outils Étiquettes fournit des outils pour manipuler les labeling étiquettes et |diagramme| diagrammes , mais seulement si l’option correspondante est activée (sinon, les boutons sont désactivés). Il peut être nécessaire que la couche soit en mode édition.

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

La barre d’outils des Étiquettes

Pour plus de lisibilité, Etiquette a été utilisée ci-dessous pour décrire la barre d’outils, notez que lorsqu’ils sont mentionnés par leur nom, les outils fonctionnent presque de la même manière avec les diagrammes :

  • pinLabels Pin/Unpin Labels And Diagrams that has data-defined position. By clicking or draging an area, you pin label(s). If you click or drag an area holding Shift, label(s) are unpinned. Finally, you can also click or drag an area holding Ctrl to toggle the pin status of label(s).
  • showPinnedLabels Highlight Pinned Labels And Diagrams. If the vector layer of the label is editable, then the highlighting is green, otherwise it’s blue.
  • moveLabel Move Label And Diagram that has data-defined position. You just have to drag the label to the desired place.
  • showHideLabels Show/Hide Labels And Diagrams that has data-defined visbility. If you click or drag an area holding Shift, then label(s) are hidden. When a label is hidden, you just have to click or drag an area around the feature’s point to restore its visibility.
  • rotateLabel Rotate Label. Click the label and move around and you get the text rotated.
  • changeLabelProperties Change Label. It opens a dialog to change the clicked label properties; it can be the label itself, its coordinates, angle, font, size… as long as this property has been mapped to a field.

Avertissement

Label tools overwrite current field values

Using the Label toolbar to customize the labeling actually writes the new value of the property in the mapped field. Hence, be careful to not inadvertently replace data you may need later!

Note

The Auxiliary Storage Properties mechanism may be used to customize labeling (position, and so on) without modifying the underlying data source.

Customize the labels from the map canvas

Combiné avec la Barre d’outils Étiquette, le paramètre Définition de données imposée vous aide à manipuler les étiquettes dans la carte (déplacer, éditer, tourner). Nous décrivons maintenant un exemple utilisant l’option de Définition de données imposée pour la fonction moveLabelDéplacer les étiquettes (voir figure_labels_coordinate_data_defined).

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

  2. Double-cliquez la couche pour ouvrir la fenêtre des Propriétés. Sélectionnez Etiquettes puis Emplacement et enfin radioButtonOn Décalage par rapport au centroïde.

  3. Dans le cadre Donnée définie, cliquez sur l’icône dataDefined 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

    Étiquetage d’une couche vectorielle de polygones avec l’option “Définition de données imposée”

  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 figure_labels_move). La nouvelle position est sauvegardée dans les colonnes xlabel et ylabel de votre table attributaire.

  7. En utilisant The Geometry Generator avec l’expression ci-dessous, vous pouvez également ajouter un symbole de ligne pour relier chaque lac à son étiquette déplacée :

    make_line( centroid( $geometry ), make_point( "xlabel", "ylabel" ) )
    
    ../../../_images/move_label.png

    Déplacement d’étiquettes

Note

The Auxiliary Storage Properties mechanism may be used with data-defined properties without having an editable data source.

Propriétés des Diagrammes

diagram L’onglet Diagrammes permet d’ajouter une couche de graphiques sur une couche vecteur (voir figure_diagrams_attributes).

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 graphique circulaire divisé en tranches pour illustrer les proportions. La longueur de l’arc de chaque tranche est proportionnelle à la valeur qu’elle représente ;
  • |Texte|Diagrammes de texte, un cercle divisé horizontalement montrant les valeurs statistiques à l’intérieur ;
  • and histogram Histogramme.

Dans le coin supérieur droit de l’onglet Diagrammes, le bouton autoPlacementParamètre de placement automatisé (s’applique à toutes les couches) permet de contrôler la position des diagrammes et étiquettes 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:

Attributs

L’onglet Attributs permet de définir les variables à afficher dans le diagramme. Utilisez le bouton signPlus 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.

This label is the default text displayed in the legend of the print layout or of the layer tree.

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

Propriétés du Diagramme - onglet Attributs

Rendu

Rendering defines how the diagram looks like. It provides general settings that do not interfere with the statistic values such as:

  • the graphic’s opacity, its outline width and color;
  • and, depending on the type of diagram:
    • the width of the bar in case of histogram;
    • the circle background color in case of text diagram, and the font used for texts;
    • L’orientation de la ligne située à gauche du premier quartier affiché dans un camembert. Les quartiers sont affichés dans le sens des aiguilles d’une montre.

In this tab, you can also manage and fine tune the diagram visibility with different options:

  • Diagram z-index: controls how diagrams are drawn on top of each other and on top of labels. A diagram with a high index is drawn over diagrams and labels;
  • checkbox Show all diagrams: shows all the diagrams even if they overlap each other;
  • Show diagram: allows only specific diagrams to be rendered;
  • Always Show: selects specific diagrams to always render, even when they overlap other diagrams or map labels;
  • setting the Scale dependent visibility;
  • Discourage diagrams and labels from covering features: defines features to use as obstacles, ie QGIS will try to not place diagrams nor labels over these features.
../../../_images/diagram_tab_appearance.png

Diagram properties - Rendering tab

Taille

Size is the main tab to set how the selected statistics are represented. The diagram size units can be “Millimeter”, “Points”, Pixels, “Map Units” or “Inches”. You can use :

  • Une Taille fixe, une taille unique pour représenter les diagrammes de toutes les entités, à l’exception des histogrammes.
  • Ou une Taille pondérée, basée sur une expression utilisant les attributs de la couche.
../../../_images/diagram_tab_size.png

Propriétés du Diagramme - onglet Taille

Position

L’onglet Emplacement permet de définir la position du diagramme. Selon le type gémétrique de la couche, il présente différentes options de placement:

  • “Sur le point” ou “Autour du point” pour les géométries ponctuelles. La dernière variable impose de paramétrer un rayon maximal.
  • “Sur la ligne” ou “A côté de la ligne” pour les géométries linéaires. Comme pour les entités ponctuelles, la dernière option impose une distance à respecter et l’utilisateur peut indiquer un placement du diagramme relatif à 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 cherchera la position optimale du diagramme. Vous pouvez également utiliser l’orientation de la ligne pour positionner le diagramme.
  • “Sur le centroïde”, “Autour du centroïde” (avec une distance paramétrée), “Sur le périmètre” et n’importe où “A l’intérieur du polygone” sont les options pour les entités polygones.

The diagram can also be placed using feature data to fill the coordinates X and Y fields.

The placement of the diagrams can interact with the labeling, so you can detect and solve position conflicts between diagrams and labels by setting the Priority slider value.

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

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

Options

L’onglet Options offre des paramètres uniquement pour les histogrammes. Vous pouvez choisir si l’orientation de la barre est de type “Monter”, “Descendre”, “Droite” ou “Gauche”.

Légende

From the Legend tab, you can choose to display items of the diagram in the Le panneau Couches, and in the print layout legend, next to the layer symbology:

  • check Show legend entries for diagram attributes to display in the legends the Color and Legend properties, as previously assigned in the Attributes tab;
  • and, when a scaled size is being used for the diagrams, push the Legend Entries for Diagram Size… button to configure the diagram symbol aspect in the legends. This opens the Data-defined Size Legend dialog whose options are described in Légende définie par la taille des données.

When set, the diagram legend items (attributes with color and diagram size) are also displayed in the print layout legend, next to the layer symbology.

Exemple d’utilisation

Nous allons vous montrer un exemple en superposant aux frontières de l’Alaska des données concernant la température issues d’une couche vecteur portant sur le climat. Toutes ces couches sont disponibles dans l’échantillon de données QGIS (voir section Téléchargement des données exemple).

  1. Tout d’abord, cliquez sur le bouton addOgrLayer Ajouter une couche vecteur, naviguez jusqu’au jeu de données exemples de QGIS et ajoutez les deux couches alaska.shp et climate.shp.
  2. Double-cliquez sur la couche climate dans la légende pour ouvrir la fenêtre de Propriétés de la Couche.
  3. Click on the Diagrams tab and from the Diagram type selectString combo box, select “Text diagram”.
  4. Dans l’onglet Apparence, nous choisissons le bleu clair comme couleur de fond et définissons une taille fixe de 18 mm dans l’onglet Taille.
  5. Dans l’onglet Position, l’emplacement défini est Autour du point.
  6. Sur le diagramme, nous souhaiterions afficher les valeurs de trois colonnes T_F_JAN, T_F_JUL et T_F_MEAN. Donc dans le sous-onglet Attributs, sélectionnez T_F_JAN et cliquez sur le bouton signPlus puis faites de même avec les colonnes T_F_JUL et enfin T_F_MEAN.
  7. Now click Apply to display the diagram in the QGIS main window.
  8. Vous pouvez adapter la taille du graphique dans l’onglet Taille. Activez l’option radioButtonOn Taille variable et définissez la taille des diagrammes en fonction de la Valeur maximale d’un attribut et de l’option Taille. Si les diagrammes apparaissent trop petits à l’écran, vous pouvez cocher la case checkbox Augmenter la taille des petits diagrammes et définir la Taille minimale des diagrammes.
  9. Changez les couleurs des attributs en double-cliquant sur les rectangles colorés dans le champ Attributs utilisés. Figure_diagrams_mapped donne un aperçu du résultat.
  10. Pour finir, cliquez sur OK.
../../../_images/climate_diagram.png

Diagrammes issus de données de températures sur une carte

N’oubliez pas que, dans l’onglet Position, en cochant la case checkbox Source de définition de la position, vous pouvez utiliser des valeurs d’attributs pour choisir l’emplacement des diagrammes. Par ailleurs, dans l’onglet Apparence, vous pouvez définir la visibilité en fonction de l’échelle.

La taille et les attributs peuvent aussi être une expression. Utilisez le bouton expression pour ajouter une expression. Voir Expressions pour plus d’informations et des exemples.

Utiliser des valeurs de paramètres définies par les données

Comme mentionné ci-dessus, vous pouvez utiliser des paramètres définis par les données pour améliorer le rendu de vos diagrammes :

  • la position dans le sous-onglet Emplacement en renseignant les champs X et Y.
  • la visibilité dans le sous-onglet Apparence en renseignant le champ Visibilité.

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

Source Fields Properties

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

The layer can be made editable using the toggleEditing Toggle editing mode. At this moment, you can modify its structure using the newAttribute New field and deleteAttribute Delete field buttons.

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

If set in the underlying data source or in the forms properties, the field’s alias is also displayed. An alias is a human readable field name you can use in the feature form or the attribute table. Aliases are saved in the project file.

Depending on the data provider, you can associate a comment with a field, for example at its creation. This information is retrieved and shown in the Comment column and is later displayed when hovering over the field label in a feature form.

Other than the fields contained in the dataset, virtual fields and Auxiliary Storage included, the Source 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. When serving the layer as WMS or WFS, you can also check here which fields could be retrieved.

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

Source Field properties tab

Attributes Form Properties

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

  • the look and the behavior of each field in the feature form or the attribute table (label, widget, constraints…);
  • the form’s structure (custom or autogenerated):
  • extra logic in Python to handle interaction with the form or field widgets.

At the top right of the dialog, you can set whether the form is opened by default when creating new features. This can be configured per layer or globally with the Suppress attribute form pop-up after feature creation option in the Settings ‣ Options ‣ Digitizing menu.

Customizing a form for your data

By default, when you click on a feature with the identify Identify Features tool or switch the attribute table to the form view mode, QGIS displays a basic form with predefined widgets (generally spinboxes and textboxes — each field is represented on a dedicated row by its label next to the widget). If relations are set on the layer, fields from the referencing layers are shown in an embedded frame at the bottom of the form, following the same basic structure.

This rendering is the result of the default Autogenerate value of the Attribute editor layout setting in the Layer properties ‣ Attributes Form tab. This property holds three different values:

  • Autogenerate: keeps the basic structure of « one row - one field » for the form but allows to customize each corresponding widget.
  • Drag-and-drop designer: other than widget customization, the form structure can be made more complex eg, with widgets embedded in groups and tabs.
  • Provide ui file: allows to use a Qt designer file, hence a potentially more complex and fully featured template, as feature form.

The autogenerated form

When the Autogenerate option is on, the Available widgets panel shows lists of fields (from the layer and its relations) that would be shown in the form. Select a field and you can configure its appearance and behavior in the right panel:

The drag and drop designer

Choose Drag and drop designer from the Attribute editor layout combobox and you enable a Form Layout panel next to the Available widgets one. From this panel you can create an editor form with several tabs and named groups to present the attribute fields, as shown for example in figure_fields_form.

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

Formulaire intégré obtenu avec onglets et groupes nommés

To create the form, you can drag and drop fields from the Available Widgets panel to the Form Layout one to have fields added to your custom form and drag and drop fields inside the Form Layout to reorder their position.

You can also use categories (tab or group frames) to better structure the form. The first step is to use the signPlus icon to create a tab in which fields and groups will be displayed (see figure_fields_layout). You can create as many categories as you want. Use signMinus button to remove any unwanted elements. The next step will be to assign to each category the relevant fields, by simple drag and drop. You can use the same fields many times.

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

Fenêtre de création de catégories avec la Mise en page de l’éditeur d’attribut

You can configure tabs or groups with a double-click. QGIS opens a form in which you can:

  • choose to hide or show the item label;
  • rename the category;
  • set over how many columns the fields under the category should be distributed;
  • enter an expression to control the category visibility. The expression will be re-evaluated everytime values in the form change and the tab or groupbox shown/hidden accordingly;
  • show the category as a group box (only available for tabs).

With a double-click on a field label, you can also specify whether the label of its widget should be visible or not in the form.

In case the layer is involved in one or many to many relations (see Créer des relations un ou plusieurs à plusieurs), referencing layers are listed in the Relations frame and their form can be embedded in the current layer form by drag-and-drop. Like the other items, double-click the relation label to configure some options:

  • choose to hide or show the item label;
  • show the link button;
  • show the unlink button.

Using custom ui-file

The Provide ui-file option allows you to use complex dialogs made with Qt-Designer. Using a UI-file allows a great deal of freedom in creating a dialog. Note that, in order to link the graphical objects (textbox, combobox…) to the layer’s fields, you need to give them the same name.

Use the Edit UI to define the path to the file to use.

You’ll find some example in the Creating a new form lesson of the Manuel d’exercice Qgis. For more advanced information, see https://nathanw.net/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.

Enhance your form with custom functions

QGIS forms can have a Python function that is called when the dialog is opened. Use this function to add extra logic to your dialogs. The form code can be specified in three different ways:

  • load from the environment: use a function, for example in startup.py or from an installed plugin
  • load from an external file: a file chooser will appear in that case to allow you to select a Python file from your filesystem
  • provide code in this dialog: a Python editor will appear where you can directly type the function to use.

In all cases you must enter the name of the function that will be called (open in the example below).

Un exemple (dans le module MyForms.py):

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

Reference in Python Init Function like so: open

Configure the field behavior

The main part of the Attributes Form tab helps you set the type of widget used to fill or display values of the field, in the attribute table or the feature form: you can define how user interacts with each field and the values or range of values that are allowed to be added to each.

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

Fenêtre d’édition d’une colonne attributaire

Paramètres généraux

Regardless the type of widget applied to the field, there are some common properties you can set to control whether and how a field can be edited.

General options
  • Alias: a human readable name to use for fields. The alias will be displayed in the feature form, the attribute table, or in the Identify results panel. It can also be used as field name replacement in the expression builder, easing expressions understanding and reviews. Aliases are saved in project file.
  • Comment: displays the field’s comment as shown in the Source Fields tab, in a read-only state. This information is shown as tooltip when hovering over the field label in a feature form.
  • 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.
  • checkbox Label on top: places the field name above or beside the widget in the feature form.
Valeurs par défaut
  • Default value: for new features, automatically populates by default the field with a predefined value or an expression-based one. For example, you can:

    • use $x, $length, $area to automatically populate a field with the feature’s X coordinate, length, area or any geometric information at its creation;
    • increment a field by 1 for each new feature using maximum("field")+1;
    • save the feature creation datetime using now();
    • use variables in expressions, making it easier to e.g. insert the operator name (@user_full_name), the project file path (@project_path), …

    A preview of the resulting default value is displayed at the bottom of the widget.

    Note

    The Default value option is not aware of the values in any other field of the feature being created so it won’t be possible to use an expression combining any of those values i.e using an expression like concat(field1, field2) may not work.

  • checkbox Apply default value on update: whenever the feature attribute or geometry is changed, the default value is recalculated. This could be handy to save values like last user that modifies data, last time it was changed…

Constraints

You can constrain the value to insert in the field. This constraint can be:

  • checkbox Not null: requires the user to provide a value;
  • checkbox Unique: guarantee the inserted value to be unique throughout the field;
  • based on a custom expression: e.g. regexp_match(col0,'A-Za-z') to ensure that the value of the field col0 has only alphabetical letter. A short description can be added to help you remember the constraint.

Whenever a value is added or edited in a field, it’s submitted to the existing constraints and:

  • if it meets all the requirements, a green check is shown beside the field in the form;
  • if it does not meet all the requirements, then a yellow or red cross is displayed near the field. You can hover over the cross to remind which constraints are applied to the field and fix the value:
    • A yellow cross appears when the unmet constraint is an unenforced one and it does not prevent you to save the changes with the « wrong » values;
    • A red 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.

Edit widgets

Based on the field type, QGIS automatically determines and assigns a default widget type to it. You can then replace the widget with any other compatible with the field type. The available widgets are:

  • Checkbox: Displays a checkbox whose state defines the value to insert.
  • Classification: Only available when a categorized symbology is applied to the layer, displays a combo box with the values of the classes.
  • Color: Displays a color widget allowing to select a color; the color value is stored as a html notation in the attribute table.
  • 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.
  • Enumeration: Opens a combo box with predefined values fetched from the database. This is currently only supported by the PostgreSQL provider, for fields of enum type.
  • Attachment: Uses a « Open file » dialog to store file path in a relative or absolute mode. It can also be used to display a hyperlink (to document path), a picture or a web page.
  • Cachée : Un attribut caché sera invisible. L’utilisateur ne pourra pas visualiser son contenu.
  • Key/Value: Displays a two-columns table to store sets of key/value pairs within a single field. This is currently supported by the PostgreSQL provider, for fields of hstore type.
  • List: Displays a single column table to add different values within a single field. This is currently supported by the PostgreSQL provider, for fields of array type.
  • 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.
  • Relation Reference: This widget lets you embed the feature form of the referenced layer on the feature form of the actual layer. See Créer des relations un ou plusieurs à plusieurs.
  • Text Edit (default): This opens a text edit field that allows simple text or multiple lines to be used. If you choose multiple lines you can also choose html content.
  • Unique Values: You can select one of the values already used in the attribute table. If “Editable” is activated, a line edit is shown with autocompletion support, otherwise a combo box is used.
  • Uuid Generator: Generates a read-only UUID (Universally Unique Identifiers) field, if empty.
  • Value Map: A combo box with predefined items. The value is stored in the attribute, the description is shown in the combo box. You can define values manually or load them from a layer or a CSV file.
  • Value Relation: Offers values from a related table in a combobox. You can select layer, key column and value column. Several options are available to change the standard behaviors: allow null value, order by value, allow multiple selections and use of auto-completer. The forms will display either a drop-down list or a line edit field when completer checkbox is enabled.

Astuce

Relative Path in Attachment widget

If the path which is selected with the file browser is located in the same directory as the .qgs project file or below, paths are converted to relative paths. This increases portability of a .qgs project with multimedia information attached.

Propriétés des Jointures

join L’onglet Jointures permet de joindre une table attributaire chargée à une couche vecteur chargée. Après avoir cliqué sur le bouton signPlus, la fenêtre Ajouter une jointure vectorielle apparaît. Vous devez définir une couche de jointure à connecter à la couche cible. Ensuite, vous devez définir un champ de jointure qui sera commun à la table à joindre et à la table attributaire de la couche cible. Vous pouvez enfin spécifier la liste des champs à joindre en cochant la case checkbox Choisir les champs à joindre. Il en résulte que toutes les informations de la table à joindre seront affichés en plus des champs de la table cible. Si vous avez spécifié une liste de champs à joindre, seuls ceux-ci apparaîtront dans la table attributaire de la couche cible.

If the target layer is editable, then some icons will be displayed in the attribute table next to fields, in order to inform their status:

  • joinNotEditable: the join layer is not configured to be editable. If you want to be able to edit join features from the target attribute table, then you have to check the option checkbox Editable join layer.
  • joinedLayerNotEditable: the join layer is well configured to be editable, but its current status is read only.
  • joinHasNotUpsertOnEdit: the join layer is editable but synchronization mechanisms are not activated. If you want to automatically add a feature in the join layer when a feature is created in the target layer, then you have to check the option checkbox Upsert on edit. Symmetrically, the option checkbox Delete cascade may be activated if you want to automatically delete join features.

Moreover, the checkbox Dynamic form option helps to synchronize join fields on the fly, according to the Target field. This way, constraints for join fields are also correctly updated. Note that it’s deactivated by default because it may be very time consuming if you have a lot of features or a myriad of joins.

Otherwise, the checkbox Cache join layer in virtual memory option allows to cache values in memory (without geometries) from the joined layer in order to speed up lookups.

Actuellement, QGIS gère les jointures de tables non spatiales aux formats pris en charge par OGR (par exemple CSV, DBF, Excel), au format texte délimité et issues de PostgreSQL (voir figure_joins).

../../../_images/join_attributes.png

Joindre une table attributaire à une couche vectorielle existante

De plus, la fenêtre de jointure vous permet de :

  • checkbox Créer un index des attributs joins
  • checkbox Choisir les champs à joindre
  • checkbox Personnaliser le préfixe du champ

Auxiliary Storage Properties

The regular way to customize styling and labeling is to use data-defined properties as described in Valeurs définies par des données. However, it may not be possible if the underlying data is read only. Moreover, configuring these data-defined properties may be very time consuming or not desirable! For example, if you want to fully use map tools coming with La barre d’outils des Étiquettes, then you need to add and configure more than 20 fields in your original data source (X and Y positions, rotation angle, font style, color and so on).

The Auxiliary Storage mechanism provides the solution to these limitations and awkward configurations. Auxiliary fields are a roundabout way to automatically manage and store these data-defined properties (labels, diagram, symbology…) in a SQLite database thanks to editable joins. This allows you to store properties for layers that aren’t editable.

A tab is available in vector layer properties dialog to manage auxiliary storage:

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

Auxiliary Storage tab

Labeling

Considering that the data source may be customized thanks to data-defined properties without being editable, labeling map tools described in La barre d’outils des Étiquettes are always available as soon as labeling is activated.

Actually, the auxiliary storage system needs an auxiliary layer to store these properties in a SQLite database (see Auxiliary storage database). Its creation process is run the first time you click on the map while a labeling map tool is currently activated. Then, a window is displayed, allowing you to select the primary key to use for joining (to ensure that features are uniquely identified):

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

Auxiliary Layer creation dialog

As soon as an auxiliary layer is configured for the current data source, you can retrieve its information in the tab:

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

Auxiliary Layer key

The auxiliary layer now has these characteristics:

  • the primary key is ID,
  • there are 0 features using an auxiliary field,
  • there are 0 auxiliary fields.

Now that the auxiliary layer is created, you can edit the layer labels. Click on a label while the changeLabelProperties Change Label map tool is activated, then you can update styling properties like sizes, colors, and so on. The corresponding data-defined properties are created and can be retrieved:

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

Auxiliary Fields

As you can see in the figure above, 21 fields are automatically created and configured for labeling. For example, the FontStyle auxiliary field type is a String and is named labeling_fontstyle in the underlying SQLite database. There is also 1 feature which is currently using these auxiliary fields.

Notice that the icon dataDefineOn is displayed in the Labels properties tab indicating that the data-defined override options are set correctly:

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

Data-defined properties automatically created

Otherwise, there’s another way to create an auxiliary field for a specific property thanks to the dataDefined data-defined override button. By clicking on Store data in the project, an auxiliary field is automatically created for the Opacity field. If you click on this button whereas the auxiliary layer is not created yet, then the window Auxiliary Layer creation dialog is first displayed to select the primary key to use for joining.

Style

Like the method described above for customizing labels, auxiliary fields can also be used to stylize symbols and diagrams. To do this, click on dataDefined Data-defined override and select Store data in the project for a specific property. For example, the Fill color field:

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

Data-defined property menu for symbol

There are different attributes for each symbol (e.g. fill style, fill color, stroke color, etc…), so each auxiliary field representing an attribute requires a unique name to avoid conflicts. After selecting Store data in the project, a window opens and displays the Type of the field and prompts you to enter a unique name for the auxiliary field. For example, when creating a Fill color auxiliary field the following window opens:

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

Name of the auxiliary field for a symbol

Once created, the auxiliary field can be retrieved in the auxiliary storage tab:

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

Auxiliary field symbol

Attribute table and widgets

Auxiliary fields can be edited using the attribute table. However, not all auxiliary fields are initially visible in the attribute table.

Auxiliary fields representing attributes of a layer’s symbology, labeling, appearance, or diagrams will appear automatically in the attribute table. The exception are attributes that can be modified using the Label Toolbar which are hidden by default. Auxiliary fields representing a Color have a widget Color set by default, otherwise auxiliary fields default to the Text Edit widget.

Auxiliary fields that represent attributes that can be modified using the Label toolbar are Hidden in the attribute table by default. To make a field visible, open the Attribute Form properties tab and change the value of an auxiliary field Widget Type from Hidden to another relevant value. For example, change the auxiliary_storage_labeling_size to Text Edit or change auxiliary_storage_labeling_color to the Color widget. Those fields will now be visible in the attribute table.

Auxiliary fields in the attribute table will appear like the following image:

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

Form with auxiliary fields

Management

The Auxiliary Layer menu allows you to manage the auxiliary fields:

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

Auxiliary layer management

The first item Create is disabled in this case because the auxiliary layer is already created. But in case of a fresh work, you can use this action to create an auxiliary layer. As explained in Labeling, a primary key will be needed then.

The Clear action allows to keep all auxiliary fields, but remove their contents. This way, the number of features using these fields will fall to 0.

The Delete action completely removes the auxiliary layer. In other words, the corresponding table is deleted from the underlying SQLite database and properties customization are lost.

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.

Auxiliary storage database

When you save your project with the .qgs format, the SQLite database used for auxiliary storage is saved at the same place but with the extension .qgd.

For convenience, an archive may be used instead thanks to the .qgz format. In this case, .qgd and .qgs files are both embedded in the archive.

Propriétés des Actions

action QGIS est capable d’effectuer des actions basées sur les attributs d’une entité. Il peut s’agir de nombreuses actions, par exemple exécuter un programme avec des arguments construits à partir des attributs d’une entité, ou encore, passer des paramètres à un outil de publication de rapports sur internet.

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

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

Les actions sont utiles si vous voulez exécuter fréquemment une application externe ou charger une page web basée sur une ou plusieurs valeurs de votre couche vecteur. Il en existe six types qui peuvent être utilisés de la sorte :

  • Les actions de type Générique, Mac, Windows et Unix lancent un processus externe.
  • Les actions Python lancent un code Python.
  • Les actions de type Générique et Python sont disponibles quel que soit le système d’exploitation.
  • Les actions Mac, Windows et Unix sont disponibles uniquement depuis les systèmes d’exploitation correspondants (c’est à dire que vous pouvez définir trois actions “Éditer” qui ouvrent un éditeur et les utilisateurs ne verront que l’action correspondant à leur système d’exploitation).

There are several examples included in the dialog. You can load them by clicking on Create Default Actions. To edit any of the examples, double-click its row. One example is performing a search based on an attribute value. This concept is used in the following discussion.

The checkbox Show in Attribute Table allows you to display in the attribute table dialog the checked feature-scoped actions, either as Combo Box or as Separate Buttons (see Configuring the columns).

Définir des Actions

To define an attribute action, open the vector Layer Properties dialog and click on the Actions tab. In the Actions tab, click the signPlus Add a new action to open the Edit Action dialog.

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 using_actions below). 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 4 different choices:

  1. Feature Scope: action is available when right click in the cell within the attribute table.
  2. Field Scope: 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.
  3. Layer Scope: 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.
  4. Canvas: action is available in the main action button in the toolbar.

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 (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=%nam
  • konqueror https://www.google.com/search?q=%%

In the first example, the web browser konqueror is invoked and passed a URL to open. The URL performs a Google search on the value of the nam field from our vector layer. Note that the application or script called by the action must be in the path, or you must provide the full path. To be certain, we could rewrite the first example as: /opt/kde3/bin/konqueror https://www.google.com/search?q=%nam. This will ensure that the konqueror application will be executed when the action is invoked.

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.

Utiliser des Actions

QGIS offers many ways to execute actions you enabled on a layer. Depending on their settings, they can be available:

  • in the drop-down menu of actionRun Run Feature Action button from the Attributes toolbar or Attribute table dialog;
  • when right-clicking a feature with the identify Identify Features tool (see Identifying Features for more information);
  • from the Identify Results panel, under the Actions section;
  • as items of an Actions column in the Attribute Table dialog.

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

As an exercise, we can create an action that does a Google search on the lakes layer. First, we need to determine the URL required to perform a search on a keyword. This is easily done by just going to Google and doing a simple search, then grabbing the URL from the address bar in your browser. From this little effort, we see that the format is https://www.google.com//search?q=QGIS, where QGIS is the search term. Armed with this information, we can proceed:

  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. Click signPlus Add a new action.

  5. Choose the Open action type,

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

  7. Additionally you can add a Short Name or even an Icon.

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

  9. Pour l’action, nous devons fournir le nom du programme externe à lancer. Dans ce cas, nous allons utiliser Firefox. Si le programme n’est pas dans votre path, vous devez fournir le chemin complet.

  10. Following the name of the external application, add the URL used for doing a Google search, up to but not including the search term: https://www.google.com//search?q=

  11. The text in the Action field should now look like this: https://www.google.com//search?q=

  12. Click on the drop-down box containing the field names for the lakes layer. It’s located just to the left of the Insert button.

  13. From the drop-down box, select “NAMES” and click Insert.

  14. Votre texte Action ressemble maintenant à :

    https://www.google.com//search?q=[%NAMES%]

  15. To finalize and add the action, click the OK button.

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

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

L’action est donc entièrement définie et prête à être utilisée. Le texte final de l’action devrait correspondre à ça :

https://www.google.com//search?q=[%NAMES%]

Nous pouvons maintenant utiliser l’action. Fermez la fenêtre Propriétés de la couche et zoomez sur une zone d’intérêt. Assurez-vous que la couche lakes est active puis identifiez un lac. Dans la fenêtre de résultats, vous constatez que notre action est maintenant visible :

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

Sélection de l’entité et choix de l’action

When we click on the action, it brings up Firefox 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 apparaitra dans la fenêtre Identifier les résultats.

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.

Usually, when we create an action to open a file with an external application, we can use absolute paths, or eventually relative paths. In the second case, the path is relative to the location of the external program executable file. But what about if we need to use relative paths, relative to the selected layer (a file-based one, like Shapefile or SpatiaLite)? The following code will do the trick:

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_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" %]')

Propriétés des Infobulles

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

  • The Display name: based on a field or an expression. This is:
    • the label shown on top of the feature information in the Identify tool results;
    • the field used in the locator bar when looking for features in all layers;
    • the feature identifier in the attribute table form view;
    • 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 no HTML Map Tip is set.
  • The HTML Map Tip is specifically created for the map tips: it’s a more complex and full HTML text mixing fields, expressions and html tags (multiline, fonts, images, hyperlink…).
../../../_images/display_html.png

Code HTML pour les infobulles

To activate map tips, select the menu option View ‣ Show Map Tips or click on the mapTips Show Map Tips icon of the Attributes Toolbar. Map tip is a cross-session feature meaning that once activated, it stays on and apply to any layer in any project, even in future QGIS sessions until it’s toggled off.

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

Infobulles basées sur du code HTML

Propriétés de Rendu

Visibilité dépendante de l’échelle

Vous pouvez définir une échelle Maximum (inclusive) et Minimum (exclusive), correspondant à une plage d’échelles pour lesquelles les entités sont visibles. En dehors de cette plage, elles sont cachées. Le bouton mapIdentification Mettre à l’échelle actuelle du canevas permet d’utiliser l’échelle actuelle pour l’une ou l’autre des limites de la plage de visibilité. Voir Rendu dépendant de l’échelle pour plus d’informations.

Simplify geometry

QGIS offers support for on-the-fly feature generalisation. This can improve rendering times when drawing many complex features at small scales. This feature can be enabled or disabled in the layer settings using the checkbox Simplify geometry option. There is also a global setting that enables generalisation by default for newly added layers (see global simplification for more information).

../../../_images/simplify_rendering.png

Fenêtre de simplification de la géométrie d’une couche

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.

While rendering extremely detailed layers (e.g. polygon layers with a huge number of nodes), this 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.

Refresh layer at interval (seconds): set a timer to automatically refresh individual layers at a matching interval. Canvas updates are deferred in order to avoid refreshing multiple times if more than one layer has an auto update interval set.

Depending on the data provider (e.g. PostgreSQL), notifications can be sent to QGIS when changes are applied to the data source, out of QGIS. Use the checkbox Refresh layer on notification option to trigger an update. You can also limit the layer refresh to a specific message set in the checkbox Only if message is text box.

Propriétés des Variables

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

It also allows the user to manage layer-level variables. Click the signPlus button to add a new custom layer-level variable. Likewise, select a custom layer-level variable from the list and click the signMinus button to remove it.

More information on variables usage in the General Tools Storing values in Variables section.

Propriétés des Métadonnées

editMetadata The Metadata tab provides you with options to create and edit a metadata report on your layer. Information to fill concern:

  • the data Identification: basic attribution of the dataset (parent, identifier, title, abstract, language…);
  • the Categories the data belongs to. Alongside the ISO categories, you can add custom ones;
  • the Keywords to retrieve the data and associated concepts following a standard based vocabulary;
  • the Access to the dataset (licenses, rights, fees, and constraints);
  • the Extent of the dataset, either spatial one (CRS, map extent, altitudes) or temporal;
  • the Contact of the owner(s) of the dataset;
  • the Links to ancillary resources and related information;
  • the History of the dataset.

A summary of the filled information is provided in the Validation tab and helps you identify potential issues related to the form. You can then either fix them or ignore them.

Metadata are currently saved in the project file. It can also be saved as an .XML file alongside file based layers or in a local .sqlite database for remote layers (e.g. PostGIS).

Dependencies Properties

dependencies The 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.

In the Dependencies tab, you can select any layers which may externally alter the data in the current layer. Correctly specifying dependent layers allows QGIS to invalidate caches for this layer when the dependent layers are altered.

Propriétés de la Légende

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

  • checkbox Text on symbols: In some cases it can be useful to add extra information to the symbols in the legend. With this frame, you can affect to any of the symbols used in the layer symbology a text that is displayed over the symbol, in both Layers panel and print layout legend. This mapping is done by typing each text next to the symbol in the table widget or filling the table using the Set Labels from Expression button. Text appearance is handled through the font and color selector widgets of the Text Format button.
../../../_images/text_legend_symbols.png

Setting text on symbols (left) and its rendering in the Layers panel (right)

  • a list of widgets you can embed within the layer tree in the Layers panel. The idea is to have a way to quickly access some actions that are often used with the layer (setup transparency, filtering, selection, style or other stuff…).

    By default, QGIS provides transparency widget but this can be extended by plugins registering their own widgets and assign custom actions to layers they manage.

QGIS Server Properties

overlay The QGIS Server tab consists of Description, Attribution, MetadataURL, and LegendUrl sections.

You can add or edit a title and abstract for the layer in the Description section. It’s also possible to 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 DataUrl field.

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

Dans le groupe URL Métadonnées, vous pouvez définir le chemin général d’accès au catalogue de métadonnées XML. Cette information sera stockée dans le fichier de projet QGIS pour les sessions à venir et sera utilisée par QGIS Server.

Dans la section LegendUrl, vous pouvez renseigner l’URL d’une image de légende dans le champ approprié. Vous pouvez utiliser l’option de liste déroulante pour choisir le format de l’image. Pour le moment, seuls les formats png, jpg et jpeg sont pris en compte.

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

QGIS Server tab in vector layers properties dialog

Digitizing Properties

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

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

The QGIS Digitizing tab in the vector layers properties dialog

Automatic Fixes

Options in the Automatic Fixes section will directly affect the vertices of any geometry which is added or modified. If the checkbox Remove duplicate nodes option is checked, any two subsequent vertices with exactly the same coordinates will be removed. If the Geometry precision is set, all vertices will be rounded to the closest multiple of the configured geometry precision. The rounding will happen in the layer coordinate reference system. Z and M values are not rounded. With many map tools, a grid is shown on the canvas while digitizing.

Geometry Checks

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.

Topology Checks

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.

Topology check option Illustration
The checkbox Gap check will check for gaps between neighbouring polygons. ../../../_images/gapcheck.png
The checkbox Overlap check will check for overlaps between neighbouring polygons. ../../../_images/overlapcheck.png
The checkbox Missing vertex check will check for shared boundaries of neighbouring polygons where one border misses a vertex which is present on the other one. ../../../_images/missingvertexcheck.png