La fenêtre de Propriétés de la couche d’une couche vecteur permet d’accéder aux paramètres généraux pour gérer l’apparence des entités de la couche sur la carte (style, étiquetage, diagrammes) et les interactions avec la souris (actions, infobulles, formulaires). Elle fournit également des informations sur la couche.
Pour ouvrir la fenêtre Propriétés de la couche :
Dans le panneau Couches, effectuez un double-clic ou un clic droit et sélectionner Propriétés de la couche depuis le menu contextuel.
Allez dans menu Couche ► Propriétés de la couche … lorsque la couche est sélectionnée.
La fenêtre Propriétés de la couche vecteur choisie propose les onglets suivants :
Les [2]extensions externes que vous installez peuvent éventuellement ajouter des onglets à cette fenêtre. Celles-ci ne sont pas présentées dans ce document. Reportez-vous à leur documentation.
Astuce
Partager tout ou partie des propriétés des styles de la couche
Le menu Style en bas de la fenêtre vous permet d’importer ou exporter toutes ou certaines des propriétés depuis/vers plusieurs destinations (fichier, presse-papier, base de données). Voir Gestion des styles personnalisés.
Note
Vu que les propriétés (symbologie, étiquette, actions, valeurs par défaut, formulaires,…) des couches provenant d’un projet incorporé (Voir Embedding layers from external projects) sont issues et liées au projet d’origine, et pour éviter des changements qui pourraient casser ce fonctionnement, les propriétés de ces couches ne sont pas accessibles.
L’onglet Information, en lecture seule, permet d’avoir rapidement un résumé des informations et métadonnées de la couche courante. Les informations fournies sont :
d’ordre général, comme le nom dans le projet, le chemin, la liste des fichiers auxiliaires, l’heure de la dernière sauvegarde et la taille, le fournisseur utilisé
basées sur le fournisseur de la couche : format de stockage, type de géométrie, encodage de la source de données, extension, nombre d’entités…
Le système de coordonnées de référence : nom, unités, méthode, précision, référence (c’est-à-dire statique ou dynamique)
prises depuis les filled metadata: accès, étendue, liens, contacts, historique…
et relative à sa géométrie (étendue spatiale, SCR…) ou ses attributs (nombre de champs, caractéristiques de chacun…).
Définir un Layer name différent du nom du fichier de la couche qui sera utilisé pour identifier la couche dans le projet (dans le Layers Panel, avec les expressions, dans la légende de la mise en page d’impression, …)
En fonction du format des données, sélectionnez le Data source encoding s’il n’est pas correctement détecté par QGIS.
Affiche le Assigned Coordinate Reference System (CRS). Vous pouvez changer le CRS de la couche, en sélectionnant un CRS récemment utilisé dans la liste déroulante ou en cliquant sur le bouton Sélectionner CRS (voir Sélectionneur de Système de Coordonnées de Référence). N’utilisez ce processus que si le CRS appliqué à la couche est erroné ou si aucun n’a été appliqué. Si vous souhaitez reprojeter vos données dans un autre CRS, utilisez plutôt les algorithmes de reprojection de couches de Processing ou Save it into another layer.
Créer un index spatial (uniquement pour les formats gérés par OGR ).
La boîte de dialogue générateur de requêtes est accessible via le bouton Query Builder en bas de l’onglet Source dans la boîte de dialogue des propriétés de la couche,, sous le groupe Provider feature filter.
Le générateur de requêtes fournit une interface qui vous permet de définir un sous-ensemble des entités de la couche à l’aide d’une clause WHERE de type SQL et d’afficher le résultat dans la fenêtre principale. Tant que la requête est active, seules les entités correspondant à son résultat sont disponibles dans le projet.
Vous pouvez utiliser un ou plusieurs attributs de la couche pour définir le filtre dans le Générateurderequêtes. L’utilisation de plusieurs attributs est illustrée dans Fig. 16.2. Dans l’exemple, le filtre combine les attributs
toa (champ de type DateTime : cast("toa"ascharacter)>'2017-05-17' et cast("toa"ascharacter)<'2019-12-24T18:00:00'),
name (String champ: "name">'S') et
FID (Integer champ: FID>10)
en utilisant les opérateurs AND, OR, NOT et les parenthèses. Cette syntaxe (y compris le format DateTime pour le champ toa) fonctionne pour les jeux de données GeoPackage.
Le filtrage est réalisé au niveau du fournisseur de données (OGR, PostgreSQL, MS SQL Server, SHP…). De ce fait la syntaxe dépend de celui-ci (par exemple, DateTime n’est pas supporté par le format ESRI Shapefile). L’expression complète:
Vous pouvez également ouvrir la boîte de dialogue Générateur de requêtes avec l’aide de l’option Filtrer… dans le menu Couche ou le menu contextuel des couches. Les sections Champs, Valeurs et Opérateurs dans la boîte de dialogue vous aident à construire la requête de type SQL exposée dans la boîte Expression de filtre spécifique au fournisseur.
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 une boîte de message avec le nombre de caractéristiques satisfaisant la requête courante. Le bouton Clear permet d’effacer la requête SQL et de remettre la couche dans son état d’origine (c’est à dire de charger complètement toutes les entités). Il est possible de Save… la requête en tant que fichier .QQF, ou Load… la requête à partir d’un fichier dans la boîte de dialogue.
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 Layers, les couches filtrées sont listées avec une icône Filter à côté d’elles indiquant la requête utilisée lorsque la souris survole le bouton. Un double-clic sur l’icône ouvre la boîte de dialogue Query Builder pour l’éditer. Il est également possible d’utiliser le menu :menuselection:``Layer –> Filter…`.
L’onglet Symbology vous fournit un outil complet pour le rendu et la symbolisation de vos données vectorielles. Vous pouvez utiliser des outils communs à toutes les données vectorielles, ainsi que des outils de symbolisation spéciaux conçus pour les différents types de données vectorielles. Cependant, tous les types partagent la structure de dialogue suivante : dans la partie supérieure, vous avez un widget qui vous aide à préparer la classification et le symbole à utiliser pour les caractéristiques et en bas le widget 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.
Dessiner une entité avec le bon symbole se fait pas une étape de rendu. Quel que soit le type de géométrie, il y a quatre types de rendus : symbole unique, catégorisé, gradué et basé sur des règles. Pour les couches de points, il existe le déplacement de points, le nuage de points et les cartes de chaleurs, tandis que les couches de polygones peuvent être rendues avec les entités fusionnées, les polygones inversés et le rendu 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 vecteur, vous changez de mode de rendu, les changements effectués sur le symbole sont mémorisés. Notez que cela ne fonctionne qu’une seule fois. Si vous changez à nouveau de mode de rendu, les paramètres seront perdus.
Le moteur de rendu Symbole unique est utilisé pour définir et rendre de manière identique toutes les entités de la couche. Voir Le sélecteur de symboles pour plus d’informations sur la représentation des symboles.
Le type de rendu 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.
Le rendu Catégorisé est utilisé pour rendre les caractéristiques d’une couche, en utilisant un symbole défini par l’utilisateur dont l’aspect reflète les valeurs discrètes d’un champ ou d’une expression.
Pour utiliser la symbologie catégorisée pour une couche :
Sélectionnez la Value de la classification : il peut s’agir d’un champ existant ou d’une expression que vous pouvez saisir dans la boîte ou construire à l’aide du bouton associé. L’utilisation d’expressions pour la catégorisation permet d’éviter la création d’un champ uniquement à des fins de symbologie (par exemple, si vos critères de classification sont dérivés d’un ou de plusieurs attributs).
L’expression utilisée pour classer les entités peut être de tout type; par exemple, il peut:
être une comparaison. Dans ce cas, QGIS renvoie les valeurs 1 (True) et 0 (False). Quelques exemples:
être utilisé pour transformer des valeurs linéaires en classes discrètes, par exemple:
CASEWHENx>1000THEN'Big'ELSE'Small'END
combiner plusieurs valeurs discrètes en une seule catégorie, par exemple:
CASEWHENbuildingIN('residence','mobile home')THEN'residential'WHENbuildingIN('commercial','industrial')THEN'Commercial and Industrial'END
Astuce
Même si vous pouvez utiliser n’importe quel type d’expression pour classer vos entités, pour les expressions les plus complexes, il est sans doute plus simple d’utiliser le rendu basé sur des règles.
Configurez le Symbole, qui sera utilisé comme symbole de base pour toutes les classes ;
Indiquez la palette de couleur, c’est-à-dire la gamme de couleurs à partir de laquelle la couleur appliquée à chaque symbole est sélectionnée.
Outre les options courantes du widget de palettes de couleurs, vous pouvez appliquer une Rampe de couleur aléatoire aux catégories. Vous pouvez cliquer sur l’entrée Mélanger les couleurs aléatoires pour régénérer un nouvel ensemble de couleurs aléatoires si vous n’êtes pas satisfait.
Cliquez ensuite sur le bouton Classer pour créer des classes à partir des valeurs distinctes du champ ou de l’expression fourni.
Appliquer les changements si la mise à jour en direct n’est pas utilisée et chaque entité sur le canevas de carte sera rendue avec le symbole de sa classe.
Par défaut, QGIS ajoute une classe toutes les autres valeurs à la liste. Bien qu’elle soit vide au début, cette classe est utilisée comme classe par défaut pour toute entité ne relevant pas des autres classes (par exemple, lorsque vous créez des entités avec de nouvelles valeurs pour le champ / l’expression de classification).
D’autres modifications peuvent être apportées à la classification par défaut :
Vous pouvez Ajouter de nouvelles catégories, Supprimer les catégories sélectionnées ou Tout supprimer.
Une classe peut être désactivée en décochant la case à gauche du nom de la classe; les entités correspondantes sont masquées sur la carte.
Glissez-déposez les lignes pour réorganiser les classes
Pour modifier le symbole, la valeur ou la légende d’une classe, double-cliquez sur l’élément.
Un clic droit sur les éléments sélectionnés affiche un menu contextuel pour:
Copier le Symbole et Coller le symbole, un moyen pratique d’appliquer la représentation d’un élément à d’autres
Modifier la couleur… du ou des symboles sélectionnés
Modifier l’opacité… du ou des symboles sélectionnés
Modifier l’unité de sortie… du ou des symboles sélectionnés
Modifier la largeur… du ou des symboles de ligne sélectionnés
Modifier la taille… du ou des symboles de ligne sélectionnés
Modifier l’angle… du ou des symboles de points sélectionnés
Fusionner les catégories : regroupe plusieurs catégories sélectionnées en une seule. Cela permet un style plus simple de couches avec un grand nombre de catégories, où il peut être possible de regrouper de nombreuses catégories distinctes en un ensemble de catégories plus petites et plus gérables qui s’appliquent à plusieurs valeurs.
Astuce
Étant donné que le symbole conservé pour les catégories fusionnées est celui de la catégorie la plus élevée de la sélection, vous souhaiterez peut-être déplacer la catégorie dont vous souhaitez réutiliser le symbole vers le haut avant la fusion.
Annuler la fusion des catégories précédemment fusionnées
Les classes créées apparaissent également dans une hiérarchie arborescente dans le panneau Layers. Double-cliquez sur une entrée de la légende de la carte pour modifier le symbole qui lui est attribué. Cliquez avec le bouton droit de la souris et vous obtiendrez more options.
Le menu Avancé donne accès aux options pour accélérer la classification ou affiner le rendu des symboles:
Correspondance avec les symboles enregistrés : utiliser la bibliothèque de symboles attribue à chaque catégorie un symbole dont le nom représente la valeur de classification de la catégorie
Correspondance avec les symboles du fichier …: Fourni un fichier avec des symboles, attribue à chaque catégorie un symbole dont le nom représente la valeur de classification de la catégorie
Le rendu gradué 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 :
La Value de la classification : il peut s’agir d’un champ existant ou d’une :ref:`expression ` que vous pouvez saisir dans la boîte ou construire à l’aide du bouton associé. L’utilisation d’expressions pour la graduation permet d’éviter la création d’un champ uniquement à des fins de symbologie (par exemple, si vos critères de classification sont dérivés d’un ou plusieurs attributs).
le symbole (en utilisant la fenêtre de Sélection de symbole)
le format de la légende et la précision des valeurs numériques
la méthode à utiliser pour modifier la couleur ou la taille des symboles
les couleurs (en utilisant la liste des palettes de couleur), si la méthode couleur est sélectionnée
la taille (en choisissant une plage de valeurs et les unités)
Ensuite vous pouvez utiliser l’onglet Histogramme qui permet d’afficher un histogramme interactif des valeurs du champ ou de l’expression utilisé pour le rendu. Les classes peuvent être définies ou ajoutées depuis l’histogramme.
Note
Vous pouvez utiliser le panneau Statistiques pour obtenir plus d’informations sur votre couche vecteur. Voir Panneau de résumé statistiques.
De retour dans l’onglet Classes, vous pouvez choisir le nombre de classes et la méthode de classification (depuis la liste déroulante Mode). Les modes disponibles sont :
Nombre égal (Quantile) : chaque classe aura le même nombre d’éléments (comme dans une boîte à moustache).
Intervalle égal : chaque classe aura la même taille (par exemple, avec les valeurs de 1 à 16 et quatre classes, chaque classe aura une taille de quatre).
Intervalle fixe : chaque classe aura une plage de valeurs fixe (par exemple, avec les valeurs de 1 à 16 et une taille d’intervalle de 4, les classes seront 1-4, 5-8, 9-12 et 13-16).
Échelle logarithmique : convient aux données présentant un large éventail de valeurs. Des classes étroites pour les valeurs faibles et des classes larges pour les valeurs élevées (par exemple, pour les nombres décimaux avec une plage [0..100] et deux classes, la première classe ira de 0 à 10 et la seconde de 10 à 100).
Ruptures naturelles (Jenks) : la variance au sein de chaque classe est minimisée tandis que la variance entre les classes est maximisée.
Pretty Breaks : calcule une séquence d’environ n+1 valeurs nice équidistantes qui couvrent la plage des valeurs de x. Les valeurs sont choisies de manière à être 1, 2 ou 5 fois une puissance de 10. (basé sur pretty de l’environnement statistique R https://www.rdocumentation.org/packages/base/topics/pretty).
Écart-type : les classes sont construites en fonction le l’écart-type calculé sur l’ensemble des valeurs;
La zone déroulante dans la partie centrale du menu Symbologie répertorie les classes ainsi que leurs étendues, étiquettes et symboles de rendu.
Cliquez sur le bouton Classer pour générer les classes selon le mode choisi. Chaque classe peut être désactivée en décochant la case située à gauche du symbole de classe.
Pour changer le symbole, la valeur et / ou la légende, double-cliquez sur l’élément à modifier.
Un clic droit sur les éléments sélectionnés affiche un menu contextuel pour:
Copier le Symbole et Coller le symbole, un moyen pratique d’appliquer la représentation d’un élément à d’autres
Modifier la couleur… du ou des symboles sélectionnés
Modifier l’opacité… du ou des symboles sélectionnés
Modifier l’unité de sortie… du ou des symboles sélectionnés
Modifier la largeur… du ou des symboles de ligne sélectionnés
Modifier la taille… du ou des symboles de ligne sélectionnés
Modifier l’angle… du ou des symboles de points sélectionnés
L’exemple dans Fig. 16.5 montre la boîte de dialogue de rendu gradué pour la couche major_rivers de l’ensemble de données d’échantillon QGIS.
Les classes créées apparaissent également dans une hiérarchie arborescente dans le panneau Layers. Double-cliquez sur une entrée de la légende de la carte pour modifier le symbole qui lui est attribué. Cliquez avec le bouton droit de la souris et vous obtiendrez more options.
Les représentations par symbole proportionnel et analyse multivariée ne sont pas disponibles dans la liste déroulante du rendu de style. Toutefois, les options de valeurs définies par les données appliquées sur l’une des options de rendu précédentes vous permettent d’afficher vos données de point et de ligne avec de telles représentations.
Définissez ensuite le symbole à appliquer aux entités.
Sélectionnez l’élément au niveau supérieur de l’arborescence des symboles et utilisez le boutonDéfinition de données imposée à droite de Taille (pour une couche de points) ou d”Épaisseur (pour une couche linéaire) .
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.
Vous pouvez choisir d’afficher les symboles proportionnels dans le Panneau des couches et dans la Légende de mise en page : dépliez la liste déroulante Avancé en bas de la fenêtre principale de l’onglet Symbologie et sélectionnez Légende pour la Taille définie par des données pour configurer les objets légende (voir Légende de la Taille définie par des données pour plus de détails).
Créer une analyse multivariée
Un rendu d’analyse multivariée vous aide à évaluer la relation entre deux ou plusieurs variables, par exemple, l’une peut être représenté par une palette de couleurs alors que l’autre est représentée par une variation de taille.
La façon la plus simple de créer une analyse multivariée dans QGIS est de :
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.
Appliquez ensuite une symbologie proportionnelle sur les classes :
Cliquez sur le bouton Modifier au-dessus du cadre de classification : vous obtenez la boîte de dialogue Le sélecteur de symboles.
Redimensionnez la taille ou la largeur de la couche de symbole à l’aide du widget Valeur définie par des données comme expliqué au-dessus.
Comme pour les symboles proportionnels, la symbologie mise à l’échelle peut être ajoutée à la couche, au dessus des symboles de classes catégorisées ou graduées en utilisant la fonction de légende pour la Taille définie par des données. Les deux représentations sont également disponibles dans la légende de la mise en page d’impression.
Fig. 16.6 Exemple d’analyse multivariée avec légende des symboles proportionnels.
Les règles sont des expressions QGIS utilisées pour distinguer les entités en fonction de leurs attributs ou propriétés afin de leur appliquer des paramètres de rendu spécifiques. Les règles peuvent être imbriquées, et les éléments appartiennent à une classe s’ils appartiennent à tous les niveaux d’imbrication supérieurs.
Le moteur de rendu Rule-based est donc conçu pour rendre toutes les caractéristiques d’une couche, en utilisant des symboles dont l’aspect reflète l’assignation d’une entité sélectionnée à une classe finement ajustée.
Pour créer une règle :
Double-cliquez sur une ligne pour l’activer (par défaut, QGIS ajoute un symbole sans règle associée à l’ouverture du mode de rendu) ou cliquez sur le bouton Éditer la règle ou Ajouter une règle.
Dans la boîte de dialogue Éditer une règle qui s’ouvre, vous pouvez définir un libellé pour vous aider à identifier chaque règle. C’est l’étiquette qui sera affichée dans le Panneau des couches et aussi dans la légende du composeur d’impression.
Entrez une expression dans la zone de texte à côté de l’option Filtre ou appuyez sur le bouton à côté pour ouvrir la boîte de dialogue du Constructeur de Chaîne d’Expression.
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.
Vous pouvez saisir un libellé plus long pour compléter la description de la règle.
Vous pouvez utiliser l’option Échelle de visualisation pour définir les échelles auxquelles la règle doit être visible.
Vous pouvez enfin configurer le symbole à afficher pour ces entités.
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.
Le moteur de rendu basé sur des règles peut être combiné avec des moteurs de rendu catégorisés ou gradués. En sélectionnant une règle, vous pouvez organiser ses caractéristiques en sous-classes en utilisant le menu déroulant Refine selected rules. Les classes affinées apparaissent comme des sous-éléments de la règle, dans une hiérarchie arborescente et comme leur parent, vous pouvez définir la symbologie et la règle de chaque classe. L’affinage automatique des règles peut être basé sur :
échelles : à partir d’une liste d’échelles, cette option crée un ensemble de classes auxquelles s’appliquent les différentes échelles définies par l’utilisateur. Chaque nouvelle classe basée sur une échelle peut avoir sa propre symbologie et sa propre expression de définition. Il peut s’agir par exemple d’un moyen pratique d’afficher les mêmes caractéristiques avec différents symboles à différentes échelles, ou de n’afficher qu’un ensemble de caractéristiques en fonction de l’échelle (par exemple, les aéroports locaux à grande échelle contre les aéroports internationaux à petite échelle).
categories** : applique un categorized renderer aux éléments relevant de la règle sélectionnée.
ou intervalles : applique un graduated renderer aux éléments tombant dans la règle sélectionnée.
Les classes raffinées apparaissent comme des sous-éléments de la règle, dans une hiérarchie arborescente et, comme ci-dessus, vous pouvez définir la symbologie de chaque classe. Les symboles des règles imbriquées sont empilés les uns sur les autres, il faut donc les choisir avec soin. Il est également possible de décocher Symbols dans le dialogue Edit rule pour éviter de rendre un symbole particulier dans la pile.
Dans la boîte de dialogue Éditer une règle, vous pouvez éviter d’écrire toutes les règles et utiliser l’option Sinon pour récupérer toutes les entités qui ne correspondent à aucune des autres règles de même niveau. Ceci peut aussi être réalisé en écrivant Else dans la colonne Règle de la boîte de dialogue Propriétés de la couche ► Symbologie ► Ensemble de règles.
Un clic droit sur les éléments sélectionnés affiche un menu contextuel pour:
Copier et Coller, un moyen pratique de créer de nouveaux éléments à partir d’éléments existants
Copier le Symbole et Coller le symbole, un moyen pratique d’appliquer la représentation d’un élément à d’autres
Modifier la couleur… du ou des symboles sélectionnés
Modifier l’opacité… du ou des symboles sélectionnés
Modifier l’unité de sortie… du ou des symboles sélectionnés
Modifier la largeur… du ou des symboles de ligne sélectionnés
Modifier la taille… du ou des symboles de ligne sélectionnés
Modifier l’angle… du ou des symboles de points sélectionnés
Refine Current Rule : ouvre un sous-menu qui permet d’affiner la règle courante avec échelles, catégories ou intervalles. Identique à la sélection du corresponding menu au bas de la boîte de dialogue.
Décocher une ligne dans la boîte de dialogue du moteur de rendu basé sur les règles masque dans le canevas de la carte les caractéristiques de la règle spécifique et des règles imbriquées.
Les règles créées apparaissent également sous la forme d’une arborescence dans la légende de la carte. Double-cliquez sur une entrée dans la légende de la carte pour modifier le symbole attribué. Cliquez avec le bouton droit de la souris et vous obtiendrez more options.
L’exemple de la figure Fig. 16.7 montre le rendu basé sur des règles pour la couche des rivières du jeu de données de QGIS.
Fig. 16.7 Options du mode de rendu par Ensemble de Règles
Le moteur de rendu Point Displacement prend les éléments ponctuels tombant dans une distance les uns des autres dont la tolérance est donnée et place leurs symboles autour de leur barycentre, en suivant différentes méthodes de placement. Cela peut être un moyen pratique de visualiser toutes les caractéristiques d’une couche de points, même si elles ont la même localisation (par exemple, les commodités d’un bâtiment).
Pour configurer un moteur de rendu par déplacement de points, vous devez :
Définir le Center symbol : l’aspect du point virtuel au centre.
Sélectionnez le type de Renderer : comment vous voulez classer les entités dans la couche (unique, catégorisé, basé sur des règles…).
Appuyez sur le bouton Renderer Settings… pour configurer la symbologie des éléments en fonction du moteur de rendu sélectionné.
Indique la tolérance de la Distance dans laquelle des éléments proches sont considérés comme se chevauchant puis déplacés sur le même point virtuel. Prend en charge les unités de symbole communes.
Configurez les 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.
Les symboles déplacés sont placés sur les Lignes de déplacement. Bien que l’espacement minimal des lignes de déplacement dépende du moteur de rendu des symboles ponctuels, vous pouvez toujours personnaliser certains de leurs paramètres tels que Stroke width, :guilabel:`Stroke color et :guilabel:`Size adjustment`(par exemple, pour ajouter plus d’espacement entre les points rendus).
Utilisez les options du groupe Labels pour effectuer l’étiquetage des points : les étiquettes sont placées près du symbole déplacé, et non à la position réelle de l’élément.
Sélectionnez l’attribut Label attribute : un champ de la couche à utiliser pour l’étiquetage.
Indiquez la taille et les propriétés de la Police d’étiquette
Piochez une Couleur d’étiquette
Définir un Label distance factor : pour chaque élément ponctuel, décale l’étiquette du centre du symbole proportionnellement à la taille de la diagonale du symbole.
Activez Use scale dependent labeling si vous voulez afficher les étiquettes uniquement sur des échelles plus grandes que l’échelle Minimum map scale donnée.
Le rendu de déplacement de points ne modifie pas la géométrie des entités, ce qui signifie que les points ne sont pas déplacés de leur position. Ils sont toujours situés à leur emplacement initial. Les modifications ne sont que visuelles, à des fins de rendu. Utilisez plutôt l’algorithme de traitement Déplacement des points si vous voulez déplacer les points.
Contrairement au moteur de rendu Point Displacement qui éclate le placement des points les plus proches ou superposés, le moteur de rendu Point Cluster regroupe les points proches en un seul symbole de marqueur. Les points situés à une distance spécifiée les uns des autres sont fusionnés en un seul symbole. L’agrégation des points est basée sur la formation du groupe le plus proche, plutôt que de leur assigner le premier groupe à l’intérieur de la distance de recherche.
A partir de la fenêtre principale, vous pouvez :
Définit le symbole représentant le groupe de points dans le Cluster symbol ; le rendu par défaut affiche le nombre de caractéristiques agrégées grâce à la variable <general_tools_variables>``@cluster_size sur la couche Symbole de police de la symbologie.
Sélectionnez le type de Renderer, c’est-à-dire la façon dont vous souhaitez classer les caractéristiques dans la couche (unique, catégorisée, basée sur des règles…).
Appuyez sur le bouton Renderer Settings… pour configurer la symbologie des entités comme d’habitude. Notez que cette symbologie n’est visible que sur les éléments qui ne sont pas regroupés, le Symbole de regroupement étant appliqué dans le cas contraire. De plus, lorsque tous les éléments ponctuels d’une grappe appartiennent à la même classe de rendu, et donc se voient appliquer la même couleur, cette couleur représente la variable @cluster_color` de la grappe.
Indique la Distance maximale à prendre en compte pour le regroupement des caractéristiques. Prend en charge les unités de distance communes.
Le rendu de regroupement de points ne modifie pas la géométrie des entités, ce qui signifie que les points ne sont pas déplacés de leur position. Ils sont toujours situés à leur emplacement initial. Les modifications ne sont que visuelles, à des fins de rendu. Utilisez plutôt l’algorithme de traitement Partitionnement en K-moyennes ou Mise en cluster DBSCAN si vous voulez regrouper des entités en cluster.
Merged Features permet de « dissoudre » les éléments de surface et de ligne en un seul objet avant le rendu afin de s’assurer que les symboles complexes ou les éléments qui se chevauchent sont représentés par un symbole cartographique uniforme et contigu.
Le rendu en 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.
Fig. 16.10 Fenêtre du mode de rendu en Polygones Inversés
Avec le rendu de 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.
L’utilisation du rendu 2.5D permet de créer un effet 2.5D sur les entités de votre couche. Commencez par choisir une valeur de Hauteur (en unités cartographiques). Vous pouvez utiliser une valeur fixe, l’un des champs de votre couche ou une expression. Vous devez également choisir un Angle (en degrés) pour recréer la position du spectateur (0° à l’ouest, sens croissant dans le sens inverse des aiguilles d’une montre). Utilisez les options de configuration avancées pour définir la Couleur du toit et la Couleur de mur. Si vous souhaitez simuler le rayonnement solaire sur les façades des entités, cocher la case 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).
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.
Le moteur de rendu Embedded Symbols permet d’afficher la symbologie “native” d’une source de données fournie. C’est principalement le cas avec les jeux de données KML et TAB qui ont une symbologie prédéfinie.
Dans l’onglet Symbologie, vous pouvez également définir des options qui agissent sur toutes les entités de la couche :
Opacité: Vous pouvez rendre la couche sous-jacente dans le canevas de carte visible avec cet outil. Utilisez le curseur pour adapter la visibilité de votre couche vecteur à vos besoins. Vous pouvez également définir avec précision le pourcentage de visibilité dans le menu à côté du curseur.
Blending mode at the Layer and Feature levels:
You can achieve special rendering effects with these tools that you may previously
only know from graphics programs. The pixels of your overlaying and
underlaying layers are mixed through the settings described in Modes de fusion.
Appliquer les effets sur les entités de la couche avec le bouton Effets.
Le Contrôle de l’ordre de rendu des couches vous permet de définir l’index z qui déterminera l’ordre de rendu des entités, à partir de leurs attributs. Activez la case à cocher et cliquez sur le bouton sur le côté. Vous obtiendrez une boîte de dialogue Définir l’ordre dans laquelle vous:
choisissez un champ ou construisez une expression à appliquer aux entités de la couche.
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.
Définissez l’ordre de rendu des entités ayant la valeur NULL: en premier ou en dernier.
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…
Pour les moteurs de rendu qui permettent l’empilement des couches de symbole (seul carte de chaleur ne le permet pas), il existe une option pour contrôler l’ordre de rendu de chaque niveau de symbole.
Pour la plupart des moteurs de rendu, vous pouvez accéder à l’option des niveaux de symbole en cliquant sur le bouton Avancé situé sous la liste des symboles enregistrés puis en choisissant Niveaux de symboles. Pour le moteur de rendu Ensemble de règles, l’option est directement activée par le bouton Niveaux de symboles… alors que pour le moteur de rendu Rendu Déplacement de point, le même bouton est à l’intérieur de la boîte de dialogue Paramètres du moteur de rendu.
Pour activer les niveaux de symbole, sélectionnez 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.
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.
Fig. 16.15 Différence de rendu selon que les niveaux de symboles sont activés (A) ou non (B)
Pour ouvrir la fenêtre de Légende de la Taille définie par des données pour le rendu des symboles, sélectionnez l’option éponyme dans le bouton Avancé sous la liste des symboles enregistrés. Pour les diagrammes, l’option est disponible sous l’onglet Légende. La fenêtre fournit les options suivantes pour :
sélectionner le type de légende : Légende non activée, Éléments de légende séparés et Légende repliée. Pour cette dernière option, vous pouvez sélectionner si les éléments de légende seront alignés En bas ou Au centre ;
Prévisualiser le symbole :ref:`symbol to use ` pour la représentation de la légende ;
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 Taille manuelle des classes. Utilisez les boutons et pour définir vos valeurs et étiquettes de classes personnalisées.
En cas de légende repliée, il est possible de :
Align symbols au centre ou en bas
configure le guide horizontal Line symbol depuis le symbole jusqu’au texte de légende correspondant.
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 définissez les paramètres.
Fig. 16.16 Options de la Légende définie par la taille des données
Note
Actuellement, la légende définie par la taille les données ne peut être appliquée à la couche de points qu’à l’aide d’une symbologie unique, catégorisée ou graduée.
Pour permettre à n’importe quel symbole de devenir un animated symbol, vous pouvez utiliser le panneau Animation settings. Dans ce panneau, vous pouvez activer l’animation pour le symbole et définir une fréquence d’images spécifique pour le dessin du symbole.
Commencez par aller au niveau supérieur du symbole et sélectionnez Advanced menu en bas à droite de la boîte de dialogue.
Trouver l’option Animation settings`.
Cochez la case Is Animated pour activer l’animation du symbole.
Configurer le Frame rate, c’est à dire la vitesse à laquelle l’animation sera jouée
Vous pouvez maintenant utiliser la variable @symbol_frame` dans n’importe quelle propriété définie par les données du sous-symbole afin d’animer cette propriété.
Par exemple, définir la rotation du symbole avec l’expression @symbol_frame%360 fera tourner le symbole dans le temps, la vitesse de rotation étant dictée par le taux de rafraîchissement du symbole :
Fig. 16.17 Définition de la rotation du symbole en fonction d’une expression définie par les données
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”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 Effets et en cliquant sur le bouton Personnaliser les effets qui ouvrira la boîte de dialogue Propriétés des effets (voir Fig. 16.18). Les types d’effet suivants avec leurs options personnalisées sont disponibles :
Source: Dessine l’entité dans son style originel selon la configuration des propriétés de la couche. L”Opacité de ce style peut être ajustée, tout comme le mode de fusion et le mode de dessin. Il s’agit là de propriétés communes à tous les types d’effets.
Flou: Ajoute un effet de flou à la couche vecteur. Les options modifiables sont Type de flou (Flou par empilement or Flou gaussien), la force et la transparence de l’effet de flou.
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 Niveau de gris pour sélectionner comment le créer : les options sont “Par clarté”, “Par luminosité”,”En moyenne” et “Off”.
Si 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 .
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.
Fig. 16.21 Effets: boîte de dialogue de l’ombre portée.
Ombre intérieure: Cet effet est semblable à l’effet Ombre portée mais il ajoute l’effet d’ombre à l’intérieur des limites de l’entité. Les options disponibles pour la personnalisation sont identiques à celles de l’effet Ombre portée.
Fig. 16.22 Effets: boîte de dialogue de l’ombre intérieure.
Luminescence interne: Ajoute un effet de luminescence à l’intérieur de l’entité. Cet effet peut être personnalisé en ajustant la diffusion (Rayon) de la luminescence ou le Rayon de floutage. Le dernier indique la proximité depuis la limite de l’entité où vous souhaitez ajouter le floutage. De plus, il existe des options pour personnaliser la couleur du floutage à l’aide d’une couleur simple ou d’une palette.
Fig. 16.23 Effets: boîte de dialogue de luminescence interne.
Luminescence externe: Cet effet est semblable à l’effet Luminescence interne mais il ajoute l’effet de luminescence à l’extérieur des limites de l’entité. Les options disponibles pour la personnalisation sont identiques à celles de l’effet Luminescence interne.
Fig. 16.24 Effets: boîte de dialogue de luminescence externe.
Transformer: Ajoute la possibilité de transformer la forme du symbole. Les premières options disponibles sont les Mirroir horizontal and Mirroir vertical qui créé une réflexion sur les axes horizontal et/ou vertical. Les 4 autres options sont:
Cisaille: déforme l’entité le long de l’axe x et/ou y.
Échelle: grossit ou réduit l’entité le long des axes x et/ou y d’un pourcentage donné.
Rotation: tourne l’entité autour de son centre.
et Translation qui déplace l’objet d’une distance donnée sur l’axe x et/ou l’axe y.
Fig. 16.25 Effets: boîte de dialogue Transformer.
Plusieurs effets peuvent être utilisés simultanément. Vous pouvez activer/désactiver un effet en cochant sa case dans la liste des effets. Vous pouvez modifier le type d’effet en utilisant l’option Type d’effet. Vous pouvez modifier l’ordre des effets en utilisant les boutons Monter et Descendre et également ajouter/supprimer des effets en utilisant les boutons Ajouter un nouvel effet and 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 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).
L’onglet Étiquettes vous offre toutes les fonctionnalités nécessaires et appropriées pour configurer un étiquetage intelligent sur les couches vecteur. Cette fenêtre est également accessible à partir du panneau Style de couche, ou en utilisant le bouton Options d’étiquetage des couches de la barre d’outils Étiquettes.
La première étape consiste à choisir la méthode d’étiquetage dans la liste déroulante. Les méthodes disponibles sont :
Pas d’étiquette : la valeur par défaut, n’affichant aucune étiquette de la couche
Étiquettes simples : Affiche les étiquettes sur la carte en utilisant un seul attribut ou une expression
et Bloquant : n’affiche pas d’étiquette mais définit la couche comme un obstacle pour les étiquettes des autres couches.
Les étapes suivantes supposent que vous sélectionnez l’option Étiquettes simples, ouvrant la fenêtre suivante.
Fig. 16.26 Paramètres d’étiquetage des couches - Étiquettes simples
En haut de la fenêtre, la liste déroulante Valeur est activée. Vous pouvez sélectionner une colonne d’attribut à utiliser pour l’étiquetage. Par défaut, le champ d’infobulle est utilisé. Cliquez sur si vous souhaitez définir des étiquettes basées sur des expressions - Voir Définir des étiquettes basées sur des expressions.
Note
Labels with their formatting can be displayed as entries in the legends,
if enabled in the Legend tab.
Voici les options affichées pour personnaliser les étiquettes, sous différents onglets :
Vous pouvez utiliser les paramètres de placement automatique pour configurer un comportement automatisé des étiquettes au niveau du projet. Dans le coin supérieur droit de l’onglet etiquettes, cliquez sur le bouton Paramètres de placement automatique (s’applique à tous les calques), ouvrant une boîte de dialogue avec les options suivantes :
Fig. 16.27 Réglage du moteur de placement automatique
Nombre de candidats : calcule et attribue aux éléments linéaires et polygonaux le nombre de placements possibles des étiquettes en fonction de leur taille. Plus une entités est longue ou large, plus elle a de candidats, et ses étiquettes peuvent être mieux placées avec moins de risque de collision.
Rendu du texte : définit la valeur par défaut des widgets de rendu d’étiquette lors de l’export du canevas de la carte ou d’une mise en page au format PDF ou SVG. Si Toujours exporter les étiquettes en texte est sélectionné, les étiquettes peuvent être modifiées dans des applications externes (par exemple Inkscape) en tant que texte normal. MAIS l’effet secondaire est que la qualité du rendu est diminuée, et il y a des problèmes avec le rendu lorsque certains paramètres de texte comme les tampons sont en place. C’est pourquoi Toujours exporter les étiquettes en vecteur (recommandé) qui exporte les étiquettes sous forme de contours, est recommandé.
Autoriser les étiquettes tronquées en bordure de la carte : contrôle si les étiquettes qui se trouvent partiellement en dehors de l’étendue de la carte doivent être affichées. Si cochée, ces étiquettes seront affichées (lorsqu’il n’y a aucun moyen de les placer entièrement dans la zone visible). Si cette case n’est pas cochée, les étiquettes partiellement visibles seront ignorées. Notez que ce paramètre n’a aucun effet sur l’affichage des étiquettes dans la mise en page de carte.
Afficher toutes les étiquettes de toutes les couches (y compris les étiquettes en collision). Notez que cette option peut également être définie par couche (voir Onglet Rendu)
Afficher les étiquettes non placées : permet de déterminer si des étiquettes importantes manquent dans les cartes (par exemple en raison de chevauchements ou d’autres contraintes). Elles sont affichées en utilisant une couleur personnalisable.
Afficher les possibilités (pour le débogage) : contrôle si les rectangles d’emprise doivent être dessinés sur la carte montrant toutes les possibilités générées pour le placement des étiquettes. Comme son nom l’indique, il n’est utile que pour le débogage et le test de l’effet des différents paramètres d’étiquetage. Cela pourrait être pratique pour un meilleur placement manuel avec les outils de la barre d’outils Étiquettes.
Version de l’étiquetage du projet : QGIS prend en charge deux versions différentes du placement automatique des étiquettes :
Version 1 : l’ancien système (utilisé par les versions 3.10 et antérieures de QGIS, et lors de l’ouverture de projets créés dans ces versions dans QGIS 3.12 ou plus). La version 1 traite les priorités des étiquettes et des obstacles comme des « guides approximatifs » uniquement, et il est possible qu’une étiquette de faible priorité soit placée sur un obstacle de haute priorité dans cette version. En conséquence, il peut être difficile d’obtenir les résultats d’étiquetage souhaités en utilisant cette version et elle n’est donc recommandée que pour la compatibilité avec les anciens projets.
Version 2 (recommandée) : c’est le système par défaut dans les nouveaux projets créés dans QGIS 3.12 ou plus. Dans la version 2, la logique dictant quand les étiquettes sont autorisées à chevaucher obstacles a été retravaillée. La nouvelle logique interdit aux étiquettes de chevaucher tout obstacle dont le poids est supérieur à la priorité de l’étiquette. En conséquence, cette version donne des résultats d’étiquetage beaucoup plus prévisibles et plus faciles à comprendre.
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 :
Select the Rule-based labeling option in the main
drop-down list from the Labels tab
Click the Add rule button at the bottom of the dialog.
Remplissez la nouvelle fenêtre comme suit :
Description: a text used to identify the rule in the
Labels tab and as a label legend entry
in the print layout legend
Filter: an expression to select the features to apply the label
settings to
If there are rules already set, the Else option can be
used to select all the features not matching any filter of the rules
in the same group.
You can set a scale range in which the label
rule should be applied.
The options available under the Labels group box are
the usual label settings. Configure them and press
OK.
A summary of existing rules is shown in the main dialog (see Fig. 16.29).
You can add multiple rules, reorder or imbricate them with a drag-and-drop.
You can as well remove them with the button or edit them with
button or a double-click.
Que vous choisissiez un type d’étiquetage simple ou basé sur des règles, QGIS permet d’utiliser des expressions pour étiqueter les entités.
En supposant que vous utilisez la méthode :guilabel: Étiquettes simples, cliquez sur près de la liste déroulante Valeur dans l’onglet Étiquettes de la fenêtre des propriétés.
Dans Fig. 16.30, vous voyez un exemple d’expression pour étiqueter la couche des arbres d’Alaska avec le type d’arbre et la surface, en se basant sur le champ “VEGDESC”, un texte descriptif, et la fonction $area en combinaison avec format_number() pour rendre le tout plus joli.
Fig. 16.30 Utiliser des expressions pour l’étiquetage
Les Étiquettes basées sur des expressions sont faciles à utiliser. vous devez simplement faire attention aux points suivants :
Vous pouvez avoir besoin de combiner tous les éléments (chaînes, champs et fonctions) avec une fonction de concaténation de chaînes de caractères telle que concat, + ou ||. Sachez que dans certaines situations (lorsqu’il s’agit de valeurs nulles ou numériques), tous ces outils ne répondront pas de la même façon à vos besoins.
Les chaînes de caractères doivent être écrites en utilisant des “guillemets simples”.
Les champs doivent être écrits avec des « guillemets doubles » ou sans guillemets.
Examinons quelques exemples :
Étiquette basée sur deux champs “nom” et” place” avec une virgule comme séparateur: :
"name"||', '||"place"
Renvoie
JohnSmith,Paris
É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
MynameisJohnSmithandIliveinParis
É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
MynameisJohnSmithandIliveinParis
Ou, si le champ “lieu” est NULL, renvoie : :
MynameisJohnSmith
É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
MynameisJohnSmithIliveinParis
É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
TheareaofParishasasizeof10500ha
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
Thisplaceisatown
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.
Avec la fonction Valeurs définies par des données, les réglages de l’étiquetage sont remplacés par des entrées dans la table d’attributs ou des expressions basées sur celles-ci. Cette fonction peut être utilisée pour définir des valeurs pour la plupart des options d’étiquetage décrites ci-dessus.
Par exemple, en utilisant l’échantillon de données de QGIS sur l’Alaska, étiquetons la couche airports avec leur nom, en fonction de leur USE militaire, c’est-à-dire si l’aéroport est accessible à :
les militaires, puis l’afficher en gris, taille 8 ;
les autres seront affichés en bleu, taille 10.
Pour ce faire, après avoir activé l’étiquetage sur le champ NOM de la couche (voir Paramétrer une étiquette) :
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 Valeur définie par des données dans la section Valeurs définies par des données.
Fig. 16.31 Les étiquettes des aéroports sont formatées en fonction de leurs attributs
Astuce
Utilisez le remplacement défini par les données pour étiqueter chaque partie des entités en plusieurs parties
Il existe une option pour définir l’étiquetage des entités en plusieurs parties indépendamment des propriétés de vos étiquettes. Allez dans Rendu, Optionsdesentités, puis cliquez sur dans Valeur définie par des données à côté de la case à cocher Étiqueter toutes les parties d’une entité multi-partie et définissez les étiquettes comme décrit dans Valeurs définies par des données.
Highlight Pinned Labels, Diagrams and Callouts.
If the vector layer of the item is editable, then the highlighting is green,
otherwise it’s blue.
Toggle Display of Unplaced Labels: Allows to
determine whether any important labels are missing from the maps (e.g. due
to overlaps or other constraints). They are displayed with a customizable
color (see Réglage du moteur de placement automatique).
Pin/Unpin Labels and Diagrams. By clicking or draging an
area, you pin overlaid items. If you click or drag an area holding Shift,
the items are unpinned. Finally, you can also click or drag an area holding
Ctrl to toggle their pin status.
Show/Hide Labels and Diagrams. If you click on the items,
or click and drag an area holding Shift, they are hidden.
When an item is hidden, you just have to click on the feature to restore its
visibility. If you drag an area, all the items in the area will be restored.
Move a Label, Diagram or Callout: click to select
the item and click to move it to the desired place. The new coordinates are
stored in auxiliary fields.
Selecting the item with this tool and hitting the Delete key
will delete the stored position value.
Rotate a Label. Click to select the label and click again
to apply the desired rotation. Likewise, the new angle is stored in an auxiliary
field. Selecting a label with this tool and hitting the
Delete key will delete the rotation value of this label.
Modifier les propriétés de l’étiquette. Il ouvre une boîte de dialogue pour modifier les propriétés de l’étiquette cliquée ; il peut s’agir de l’étiquette elle-même, de ses coordonnées, de son angle, de sa police, de sa taille, de son alignement multiligne … tant que cette propriété a été associée à un champ. Ici, vous pouvez régler l’option sur Étiqueter chaque partie d’une entité.
Avertissement
Les outils d’étiquetage écrasent les valeurs actuelles des attributs
L’utilisation de la Barre d’outils étiquetage pour personnaliser l’étiquetage écrit en fait la nouvelle valeur de la propriété dans le champ mappé. Par conséquent, veillez à ne pas remplacer par inadvertance les données dont vous pourriez avoir besoin plus tard!
Note
Le mécanisme Onglet Stockage auxiliaire peut être utilisé pour personnaliser l’étiquetage (position, etc.) sans modifier la source de données sous-jacente.
Combined with the Label Toolbar, the data defined override setting
helps you manipulate labels in the map canvas (move, edit, rotate).
We now describe an example using the data-defined override function for the
Move Label, Diagram or Callout function
(see Fig. 16.33).
Importez la couche lakes.shp depuis le jeu de données test de QGIS.
Double-cliquez sur la couche pour ouvrir la fenêtre des Propriétés. Sélectionnez Étiquettes puis Position et enfin Décalé du centroïde.
Dans le cadre Définie par les données, cliquez sur l’icône 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.
Fig. 16.33 Étiquetage d’une couche vecteur de polygones avec des paramètres définis par les données
Zoomez sur un lac.
Rendez la couche modifiable à l’aide du bouton Basculer en mode édition.
Sélectionnez l’outil de la barre d’outils des Étiquettes. Vous pouvez maintenant déplacer l’étiquette manuellement vers une autre position (voir Fig. 16.34). La nouvelle position est sauvegardée dans les colonnes xlabel et ylabel de votre table attributaire.
Il est aussi possible d’ajouter une ligne reliant chaque lac à son étiquette déplacée, en utilisant:
The Diagrams tab allows you to add a graphic overlay to
a vector layer (see Fig. 16.35).
Cet onglet permet de générer :
Aucun diagramme: La valeur par défaut, pas de diagramme sur les entités de la couche;
Diagramme en camembert, un diagramme circulaire divisé en tranches pour illustrer une proportion numérique. La longueur de l’arc de chaque tranche est proportionnelle à la quantité qu’elle représente ;
Diagramme de texte, un cercle divisé horizontalement et contenant des valeurs statistiques ;
Histogramme, barres de couleurs variables pour chaque attribut alignées les unes à côté des autres.
Barres empilées, Empile verticalement ou horizontalement des barres de couleurs différentes pour chaque attribut.
Dans le coin supérieur droit de l’onglet Diagrammes, le bouton Paramètre de placement automatisé (s’applique à toutes les couches) permet de contrôler la position des étiquettes des diagrammes sur la carte.
Astuce
Basculer rapidement entre les types de diagrammes
Étant donné que les paramètres sont presque tous communs aux différents types de diagramme, lorsque vous paramétrez votre diagramme, vous pouvez facilement modifier le type de diagramme et retenir celui qui est le plus adapté à vos données sans perdre aucun paramètre.
Pour chaque type de diagramme, les propriétés sont divisées en plusieurs onglets:
L’onglet Attributs permet de définir les variables à afficher dans le diagramme. Utilisez le bouton Ajouter un élément pour ajouter les champs sélectionnés dans le panneau Attributs utilisés. Les attributs générés avec les Expressions peuvent également être utilisés.
Vous pouvez déplacer en haut et en bas n’importe quelle ligne avec un clic et un déplacement, pour trier l’affichage des attributs. Vous pouvez également modifier l’étiquette dans la colonne “Légende” ou la couleur de l’attribut en double-cliquant sur l’élément.
Cette étiquette est le texte par défaut affiché dans la légende de la mise en page d’impression ou de l’arborescence des couches.
Rendu définit à quoi ressemble le diagramme. Il fournit des paramètres généraux qui n’interfèrent pas avec les valeurs statistiques telles que:
l’opacité du graphique, sa largeur et sa couleur de contour;
Selon le type de diagramme :
pour les histogrammes et les barres empilées, la largeur de la barre et l’espacement entre les barres. Vous pouvez définir l’espacement à 0 pour les barres empilées. En outre, le symbole de ligne d’axe peut être rendu visible sur le canevas de la carte et personnalisé à l’aide des propriétés de symbole linéaire.
pour le diagramme de texte, la couleur de fond du cercle et la police utilisée pour les textes ;
pour les diagrammes en camembert, l’angle Début de la première tranche et leur Direction (sens horaire ou non).
Dans cet onglet, vous pouvez également gérer et affiner la visibilité du diagramme avec différentes options:
Diagramme z-index: contrôle la façon dont les diagrammes sont dessinés les uns sur les autres et sur les étiquettes. Un diagramme avec un indice élevé est tracé au-dessus des diagrammes et des étiquettes;
Afficher tous les diagrammes: affiche tous les diagrammes même s’ils se chevauchent;
Voir diagramme: permet de ne visualiser que des diagrammes spécifiques;
Toujours visible: sélectionne des diagrammes spécifiques à toujours afficher, même lorsqu’ils chevauchent d’autres diagrammes ou étiquette de carte;
taille est l’onglet principal permettant de définir la manière dont les statistiques sélectionnées sont représentées. L’unité de la taille du diagramme peut être “Millimètres”, “Points”, “Pixels”, “Unités de carte” ou “Pouces”. Vous pouvez utiliser :
taille fixe, une taille unique pour représenter le graphique de toutes les entités (non disponible pour les histogrammes)
ou Taille à l’échelle, en fonction d’une expression utilisant les attributs de la couche :
Dans attribut, sélectionnez un champ ou construisez une expression.
Appuyez sur Trouver pour récupérer la Valeur Maximale de l’attribut ou indiquez une valeur personnalisée dans le widget.
For histogram and stacked bars, enter a Bar length value,
used to represent the Maximum value of the attributes.
For each feature, the bar length will then be scaled linearly to keep
this matching.
Pour les diagrammes circulaires et les diagrammes textuels, entrez une valeur taille, utilisée pour représenter la Valeur maximale des attributs. Pour chaque élément, l’aire ou le diamètre du cercle sera ensuite mis à l’échelle de manière linéaire afin de conserver cette correspondance (à partir de 0). Une taille Minimum peut toutefois être définie pour les petits diagrammes.
Fig. 16.37 Propriétés du Diagramme - onglet Taille
Placement définit la position du diagramme. Selon le type de géométrie de la couche, il offre différentes options pour le placement (plus de détails dans Placement) :
autour point ou sur point pour les géométries ponctuelles. La première variable nécessite un rayon à suivre.
autour de la ligne ou sur la ligne pour la géométrie de ligne. Comme pour les entités ponctuelles, la première variable requiert une distance à respecter et vous pouvez spécifier le placement du diagramme par rapport à l’entité (“au-dessus”, “sur” et/ou “en dessous” de la ligne). Il est possible de sélectionner plusieurs options à la fois. Dans ce cas, QGIS recherchera la position optimale du diagramme. Rappelez-vous que vous pouvez également utiliser l’orientation de la ligne pour la position du diagramme.
autour du centroïde (donné une Distance), sur le centroïde, en utilisant le périmètre et dans le polygone représentent les options pour les entités polygones.
Le groupe coordonnées permet de contrôler directement le placement des diagrammes, élément par élément, en utilisant leurs attributs ou une expression pour définir les coordonnées X et Y. Ces informations peuvent également être renseignées à l’aide de l’outil Déplacer des étiquettes et des diagrammes.
Dans la section priorité, vous pouvez définir le rang de priorité de placement de chaque diagramme, c’est-à-dire que s’il y a différents diagrammes ou étiquettes candidats pour le même emplacement, l’élément ayant la priorité la plus élevée sera affiché et les autres pourront être laissés de côté.
décourager les diagrammes et les étiquettes qui recouvrent l’entité définit les entités à utiliser comme obstacles, c’est-à-dire que QGIS essaiera de ne pas placer de diagrammes ni d’étiquettes sur ces entités. Le rang de priorité est ensuite utilisé pour évaluer si un diagramme peut être omis en raison d’un obstacle plus important.
Fig. 16.38 Onglet Diagrammes de la fenêtre de Propriétés d’une couche vecteur, sous-onglet Emplacement
L’onglet Options comporte des paramètres pour les histogrammes et les barres empilées. Vous pouvez choisir si l’orientation de la barre doit être Haut, Bas, Droit ou Gauche, pour les diagrammes horizontaux et verticaux.
A partir de l’onglet Légende, vous pouvez choisir d’afficher les éléments du diagramme dans le panneau Couches, et dans la légende de mise en page, à côté de la symbologie de la couche :
vérifier Afficher les entrées de légende pour les attributs du diagramme pour afficher dans les légendes les propriétés Couleur et Légende, comme précédemment assignées dans l’onglet Attributs;
et, lorsqu’une mise à l’échelle est utilisée pour les diagrammes, appuyez sur le bouton Entrée de légende pour la taille du diagramme… pour configurer l’aspect du symbole du diagramme dans les légendes. Cela ouvre la boîte de dialogue Définir la taille de la légende dont les options sont décrites dans Légende de la Taille définie par des données.
Une fois définis, les éléments de légende du diagramme (attributs avec couleur et taille de diagramme) sont également affichés dans la légende de la disposition d’impression, à côté de la symbologie des couches.
The Masks tab helps you configure the current layer
symbols overlay with other symbol layers or labels, from any layer.
This is meant to improve the readability of symbols and labels whose colors
are close and can be hard to decipher when overlapping; it adds a custom and
transparent mask around the items to « hide » parts of the symbol layers of
the current layer.
Les Couches de symboles masqués : liste dans une structure arborescente toutes les couches de symboles de la couche courante. Vous pouvez y sélectionner les éléments de la couche de symboles que vous souhaitez « couper » de manière transparente lorsqu’ils recouvrent les sources du masque sélectionné.
l’onglet Sources du masque : liste toutes les étiquettes de masque et les couches de symboles de masque définies dans le projet. Sélectionnez les éléments qui génèrent le masque sur les couches de symboles masqués sélectionnées.
Fig. 16.39 Propriétés de la couche - Onglet masque
The 3D View tab provides settings for vector layers that should
be depicted in the 3D Map view tool.
Pour afficher une couche en 3D, sélectionnez dans la liste déroulante en haut de l’onglet, soit:
Symbole simple : les éléments sont rendus en utilisant un symbole 3D commun dont les propriétés peuvent être définies par des données ou non. Plus de détails dans définir un symbole 3D pour chaque type de géométrie.
Basé sur des règles: plusieurs configurations de symboles peuvent être définies et appliquées de manière sélective en fonction des filtres d’expression et de la plage d’échelle. Plus de détails sur le rendu basé sur des règles.
Prefer theElevationtab for symbol elevation and terrain settings
Features” elevation and altitude related properties (Altitude clamping,
Altitude binding, Extrusion or Height)
in the 3D View tab inherit their default values from the layer’s
Elevation properties and should preferably be set
from within the Elevation tab.
Pour de meilleures performances, les données des couches vecteur sont chargées en arrière-plan, en utilisant le multithreading, et rendues dans des tuiles dont la taille peut être contrôlée à partir de la section Rendu des couches de l’onglet :
Comptage des niveaux de zoom : détermine la profondeur du quadtree. Par exemple, un niveau de zoom signifie qu’il y aura une seule tuile pour la couche entière. Trois niveaux de zoom signifient qu’il y aura 16 tuiles au niveau de la feuille (chaque niveau de zoom supplémentaire multiplie ce nombre par 4). La valeur par défaut est 3 et la valeur maximale est 8.
Show bounding boxes of tiles: especially useful if
there are issues with tiles not showing up when they should.
The Fields tab provides information on
fields related to the layer and helps you organize them.
La couche peut être rendue modifiable éditable en utilisant le Basculer en mode édition. À ce moment, vous pouvez modifier la structure en utilisant les boutons Nouveau champ et Supprimer le champ.
When creating New field, the Comment option is
available only for data sources that allow editing comments
(See Database entries for more details).
You can also set aliases within Add Field dialog, for supported
OGR formats (GeoPackage and ESRI File Geodatabase).
You can also rename fields by double-clicking its name. This is only supported
for data providers like PostgreSQL, Oracle, Memory layer and some GDAL layers
depending on the GDAL version.
S’il est défini dans la source de données sous-jacente ou dans les Propriétés des formulaires d’attributs, l’alias du champ est également affiché. Un alias est un nom de champ lisible par l’homme que vous pouvez utiliser dans le formulaire d’entité ou la table attributaire. Les alias sont enregistrés dans le fichier de projet.
Outre les champs contenus dans le jeu de données, l’onglet Champs liste également les éventuels champs virtuels, champs de stockage auxiliaire et champs joints. Vous pouvez distinguer les différents types de champs grâce à la couleur d’arrière-plan qui leur est assignée.
For each listed field, the dialog also lists read-only characteristics such as
its Type, Type name, Length and
Precision`.
Selon le fournisseur de données, vous pouvez associer un commentaire à un champ, par exemple lors de sa création. Ces informations sont récupérées et affichées dans la colonne Commentaire et sont affichées plus tard lorsque vous survolez l’étiquette de l’attribut dans un formulaire d’entité.
Under the Configuration column, you can set how the field should
behave in certain circumstances:
Notsearchable: check this option if you do not want this field to be
queried by the search locator bar
DonotexposeviaWMS: check this option if you do not want to display
this field if the layer is served as WMS from QGIS server
DonotexposeviaWFS: check this option if you do not want to display
this field if the layer is served as WFS from QGIS server
The Attributes Form tab helps you set up the form to
display when creating new features or querying existing one. You can define:
l’apparence et le comportement de chaque champ du formulaire d’entité ou de la table attributaire (étiquette, widget, contraintes …);
la structure du formulaire (personnalisé ou généré automatiquement):
logique supplémentaire en Python pour gérer l’interaction avec les widgets de formulaire ou de champ.
En haut à droite de la boîte de dialogue, vous pouvez définir si le formulaire est ouvert par défaut lors de la création de nouvelles entités. Ceci peut être configuré par couche ou globalement avec l’option Ne pas afficher la fenêtre contextuelle du formulaire d’attribut après la création de l’entité dans le menu Préférences ► Options ► Numérisation.
Par défaut, lorsque vous cliquez sur une entité avec l’outil Identifier les entités ou basculez la table attributaire en mode vue formulaire, QGIS affiche un formulaire de base avec des widgets prédéfinis (généralement des boîtes de sélection et des zones de texte — chaque champ est représenté sur une ligne dédiée par son étiquette à côté du widget). Si des relations sont définies sur la couche, les champs des couches de référence sont affichés dans un cadre incorporé au bas du formulaire, suivant la même structure de base.
Ce rendu est le résultat de la valeur par défaut Autogénérer du paramètre Éditeur de mise en forme d’attributs dans l’onglet Propriétés de la couche ► Formulaire d’attributs. Cette propriété contient trois valeurs différentes:
Générationautomatique: conserve la structure de base « d’une ligne - un champ » pour le formulaire mais permet de personnaliser chaque widget correspondant.
Drag-and-dropdesigner: other than widget customization, the form
structure can be made more complex eg, with widgets embedded in groups and
tabs.
Fournirunfichierui: permet d’utiliser un fichier de conception Qt, donc un modèle potentiellement plus complexe et complet, comme formulaire d’entité.
Lorsque l’option Générationautomatique est activée, le panneau Widgets disponibles affiche les listes de champs (de la couche et de ses relations) qui seraient affichés dans le formulaire. Sélectionnez un champ et vous pouvez configurer son apparence et son comportement dans le panneau de droite :
The drag and drop designer allows you to create a form with several containers
(tabs or groups) to present the attribute fields or other widgets that are not
directly linked to a particular field (like the HTML/QML widgets or the
actions defined for the layer), as shown for example in
Fig. 16.43.
Fig. 16.43 Formulaire intégré obtenu avec onglets et groupes nommés
Choisissez Conceptionparglisser-déposer dans la combobox Sélectionner l’éditeur de mise en forme d’attribut. Ceci active le panneau Disposition du formulaire à côté du panneau Contrôles disponibles, rempli des champs existants. Le champ sélectionné affiche ses propriétés dans un troisième panneau.
Select fields you do not want to use in your Form Layout
panel and hit the button to remove them.
You can also toggle the selection with the Invert selection button.
Drag and drop fields from the first panel to the Form Layout one to re-add them.
The same field can be added multiple times.
Faites glisser et déposez les champs dans le panneau Présentation du formulaire pour réorganiser leur position.
Add containers to associate fields that belong to the same category
and better structure the form.
The first step is to use the Add a new tab or group to the form layout icon.
Fields and other groups will be displayed in it.
Définissez ensuite les propriétés du conteneur, c’est-à-dire:
the Label: the title that will be used for the container
the Container Type: it can be a Tab,
Group box in container (a collapsible group box inside a tab or another group)
or a Row (a container type that allows you to arrange your widgets in a horizontal row,
automatically determining the number of columns based on the number of widgets),
the Within: this optional feature allows you to select an existing container
in which the new container (Group box in container or Row) will be embedded.
and the Number of columns the embedded fields should be distributed over
Fig. 16.44 Boîte de dialogue pour créer des conteneurs avec la disposition de l’éditeur d’attributs
Ces propriétés, ainsi que d’autres, peuvent être mises à jour ultérieurement en sélectionnant l’élément et, dans le troisième panneau:
masquer ou afficher l’étiquette du conteneur
renommer le conteneur
définir le nombre de colonnes
entrez une expression pour contrôler la visibilité du conteneur. L’expression sera réévaluée à chaque fois que les valeurs du formulaire changent, et l’onglet ou la zone de groupe affichés / masqués en conséquence
Show as Group Box: converts a tab into a top-level group box
and vice versa
Pour un cadre de groupe, définir si à l’ouverture du formulaire, il doit s’afficher Replié pour toutes les entités, ou seulement pour celles remplissant une condition (Contrôler le repli à l’aide d’une expression).
configure the Style look of the container, with custom Background color,
label color and font properties
You can create and embed as many containers as you want by pressing again
the Add a new tab or group to the form layout icon.
The next step is to assign the relevant fields to each container,
by simple drag and drop. Group boxes and tabs can also be moved the same way.
In case the layer is involved in a one or many to many relation, drag-and-drop the relation name from the
Available Widgets panel to the Form Layout panel.
The associated layer attribute form will be embedded at the chosen place
in the current layer’s form. As for the other items, select the relation label
to configure some properties:
masquer ou afficher l’étiquette de relation
afficher le bouton de lien
afficher le bouton de dissociation
In case the layer has one or more actions enabled for
Layer or Feature scope, the actions will be listed under Actions
and you can drag and drop them as with the other fields.
The associated action will be embedded at the chosen place
in the current layer’s form.
Further customize the form by adding one or more widgets from Other Widgets
(see Other Widgets)
Appliquer la boîte de dialogue des propriétés de la couche
Ouvrez un formulaire d’attribut d’entité (par exemple, en utilisant l’outil Identifier les entités) et il devrait afficher le nouveau formulaire.
The drag and drop designer offers a number of widgets that are not connected to a particular field.
They can be used to enhance the appearance of the form or to display dynamically calculated values.
HTML Widget: embeds an HTML page, the HTML source may contain the result of dynamically calculated expressions.
HTML widgets can be used for example to display images stored as BLOB in a field
(let’s call it photo):
In the Drag-and-dropdesigner mode, add a HTML Widget
to your Form Layout.
Double-click on the HTML Widget to configure it.
Change the default Title or hide it.
Press the button and enter the following QGIS expression:
Ensure that you replace photo with your own BLOB field name.
The above expression creates a string with HTML image tag in which the BLOB file is encoded.
Apply the dialog and then press the button.
QGIS automatically applies HTML formatting and functions to evaluate your expression,
resulting in following code:
A preview of your image is displayed on the right.
QML Widget: embeds a QML page, the QML source may contain the result of dynamically calculated expressions.
Text Widget: displays a text widget which supports basic HTML markup
and may contain the result of dynamically calculated expressions.
Spacer Widget: inserts an empty transparent rectangle, increasing the vertical distance between two widgets.
Astuce
Display Dynamic Content
The widgets mentioned above (except the Spacer Widget) support expressions that can be used to display
content that dynamically changes whenever another field in the form changes.
This can be achieved using the current_value('field_name') function in the expression to examine
the value of another field.
L’option Fournirunfichierui vous permet d’utiliser des dialogues complexes créés avec Qt-Designer. L’utilisation d’un fichier ui permet une grande liberté dans la création d’une boîte de dialogue. Notez que, pour lier les objets graphiques (zone de texte, combobox …) aux champs de la couche, vous devez leur donner le même nom.
Utilisez Edit UI pour définir le chemin d’accès au fichier à utiliser.
Les fichiers UI peuvent également être hébergés sur un serveur distant. Dans ce cas, vous fournissez l’URL du formulaire au lieu du chemin d’accès au fichier dans Edit UI.
Les formulaires QGIS peuvent avoir une fonction Python qui est appelée lorsque la boîte de dialogue est ouverte. Utilisez cette fonction pour ajouter une logique supplémentaire à vos boîtes de dialogue. Le code du formulaire peut être spécifié de trois manières différentes:
chargerdepuisl'environnement: utiliser une fonction, par exemple dans: file: startup.py ou depuis un plugin installé
chargeràpartird'unfichierexterne: un sélecteur de fichier vous permettra de sélectionner un fichier Python dans votre système de fichiers ou d’entrer une URL pour un fichier distant.
fournirducodedanscetteboîtededialogue: un éditeur Python apparaîtra où vous pourrez directement taper la fonction à utiliser.
Dans tous les cas, vous devez saisir le nom de la fonction qui sera appelée (ouvrir dans l’exemple ci-dessous).
Un exemple (dans le module MyForms.py) :
defopen(dialog,layer,feature):geom=feature.geometry()control=dialog.findChild(QWidget,"My line edit")
Référence dans la fonction Python Init comme ceci: open
La partie principale de l’onglet Formulaire d’attributs vous aide à définir le type de widget utilisé pour remplir ou afficher les valeurs du champ, dans la table d’attributs ou le formulaire de l’entité: vous pouvez définir comment l’utilisateur interagit avec chaque champ et les valeurs ou plage de valeurs pouvant être ajoutées à chacune.
Fig. 16.45 Fenêtre d’édition d’une colonne attributaire
Quel que soit le type de widget appliqué au champ, il existe des propriétés communes que vous pouvez définir pour contrôler si et comment un champ peut être modifié.
Alias: un nom lisible par l’homme à utiliser pour les champs. L’alias sera affiché dans le formulaire d’entité, la table attributaire ou dans le panneau Identifier les résultats. Il peut également être utilisé comme remplacement de nom de champ dans Générateur d’expressions, facilitant la compréhension et la révision des expressions. Les alias sont enregistrés dans le fichier de projet.
Commentaire: affiche le commentaire du champ comme indiqué dans l’onglet Champs, en lecture seule. Ces informations sont affichées sous forme d’infobulle lors du survol de l’étiquette de champ dans un formulaire d’entité.
Editable: uncheck this option to set the field read-only
(not manually modifiable) even when the layer is in edit mode. Note that
checking this setting doesn’t override any edit limitation from the provider.
This option can be controlled by a data-defined property thanks to the
Data-defined override button.
Reuse last entered value: remembers the last value
entered in this field and uses it as default for the next feature being edited
in the layer.
Etiquette en haut: place le nom du champ au-dessus ou à côté du widget dans le formulaire d’entité.
Vous pouvez contraindre la valeur à insérer dans le champ. Cette contrainte peut être:
Not null: oblige l’utilisateur à fournir une valeur;
Unique: garantit que la valeur insérée est unique sur tout le champ;
basée sur une expression personnalisée : par exemple, notregexp_match(col0,'[^A-Za-z]') garantira que la valeur du champ col0 ne comporte que des lettres de l’alphabet. Une courte description peut être ajoutée pour vous aider à vous souvenir de la contrainte.
Chaque fois qu’une valeur est ajoutée ou modifiée dans un champ, elle est soumise aux contraintes existantes et:
s’il répond à toutes les exigences, une coche verte est affichée à côté du champ dans le formulaire;
s’il ne répond pas à toutes les exigences, une croix jaune ou orange s’affiche près du champ. Vous pouvez survoler la croix pour rappeler quelles contraintes sont appliquées au champ et en corriger la valeur:
A yellow cross appears when the unmet constraint is an unenforced one (softconstraint)
and it does not prevent you to save the changes with the « wrong » values;
An orange cross can not be ignored and does not allow you to save your
modifications until they meet the constraints. It appears when the
Enforce constraint option is checked (hardconstraint).
Valeur par défaut: pour les nouvelles entités, remplit automatiquement par défaut le champ avec une valeur prédéfinie ou basée sur une expression. Par exemple, vous pouvez :
utilisez $x, $length, $area pour remplir automatiquement un champ avec les coordonnées X, la longueur, la surface ou toute information géométrique de l’entité lors de sa création;
incrémenter un champ de 1 pour chaque nouvelle entité en utilisant maximum("field")+1;
enregistrer la date de création d’une entité en utilisant now();
utiliser des variables dans les expressions, ce qui facilite par exemple l’insertion du nom de l’opérateur (@user_full_name), le chemin du fichier projet (@project_path), …
Un aperçu de la valeur par défaut résultante s’affiche en bas du widget.
Note
L’option Valeurpardéfaut ne connaît pas les valeurs dans aucun autre champ de l’entité en cours de création, il ne sera donc pas possible d’utiliser une expression combinant l’une de ces valeurs, c’est-à-dire en utilisant une expression comme concat(field1,field2) peut ne pas fonctionner.
Appliquer la valeur par défaut à la mise à jour: chaque fois que l’attribut d’entité ou la géométrie est modifié, la valeur par défaut est recalculée. Cela pourrait être pratique pour enregistrer des valeurs comme le dernier utilisateur qui modifie les données, la dernière fois qu’elles ont été modifiées …
Policies allows you to determine how values are assigned to the field when Splitting features:
Duplicate Values: Keeps the existing value of the field for the resulting split features.
Use Default Value: Resets the field by recalculating its default value.
If no default value clause exists, the existing value is kept for the resulting split features.
Remove Value: Clears the field to an unset state.
Use Ratio Geometries: Recalculates the field value for all split portions
by multiplying the existing value by ratio of the split parts lengths or areas.
En fonction du type de champ, QGIS détermine et lui attribue automatiquement un type de widget par défaut. Vous pouvez ensuite remplacer le widget par tout autre compatible avec le type de champ. Les widgets disponibles sont:
Binary (BLOB): Available only for binary fields, it displays by default a label
with the size of the embedded data, if not empty.
A drop-down button next to the label allows to:
Embed file, replacing or filling the field
Clear contents, removing any data in the field
Save contents to file, exporting the data as a file on disk
It is also possible to preview the embedded binary file in the field,
if combined in a drag-and-drop form with e.g. a QML or HTML widget.
Checkbox : affiche une case à cocher dont l’état définit la valeur à insérer.
Classification : Disponible uniquement lorsqu’une symbologie catégorisée est appliquée à la couche, affiche une zone de liste déroulante avec les valeurs des classes.
Couleur : Affiche un widget couleur permettant de sélectionner une couleur; la valeur de la couleur est stockée sous forme de notation html dans la table attributaire.
Date/Heure : Affiche un champ de type date/heure qui peut ouvrir un calendrier permettant de choisir une date, une heure ou les deux. Le champ doit être de type texte. Vous pouvez choisir un format personnalisé, l’affichage d’un calendrier, etc.
Énumération : ouvre une zone de liste déroulante avec des valeurs prédéfinies extraites de la base de données. Ceci n’est actuellement pris en charge que par le fournisseur PostgreSQL, pour les champs de type enum.
Attachment: Uses a « Open file » dialog to store file path in a
relative or absolute mode. It can be used to display a hyperlink (to
document path), a picture or a web page. User can also configure an
external storage system to fetch/store resources.
Astuce
Widget Chemin relatif dans la pièce jointe
Si le chemin sélectionné avec le navigateur de fichiers se trouve dans le même répertoire que le fichier de projet .qgs ou dans un sous-dossier de ce dernier, les chemins sont convertis en chemins relatifs. Cela augmente la portabilité d’un projet .qgs avec des informations multimédias attachées.
Cachée : Un attribut caché sera invisible. L’utilisateur ne pourra pas visualiser son contenu.
Clé/valeur : affiche un tableau à deux colonnes pour stocker des ensembles de paires clé/valeur dans un seul champ. Ceci est actuellement pris en charge par le fournisseur PostgreSQL, pour les champs de type hstore.
JSON View: Displays JSON data in a syntax highlighted text edit or in
tree view. This widget is currently read only. Several options are available
to change how the data is displayed. “Default view” specify if the widget should
appear in Text or Tree mode. “Format JSON” has three options which are related
to the tree view only:
Indented: Display data in a human readable form with newlines and four space characters for indentation.
Compact: Display data in a one-line size optimized string without newlines or spaces.
Disabled: Display data as it comes from the provider.
Liste : affiche une liste à valeurs multiples à ajouter dans un seul champ. Ceci est actuellement pris en charge par le fournisseur PostgreSQL, pour les champs de type array.
Plage : Vous permet de spécifier une plage de valeurs numériques disponibles. Il peut s’agir d’une barre coulissante ou d’une zone de texte éditable.
Référence de relation : Il s’agit du widget par défaut attribué au champ de référencement (c’est-à-dire la clé étrangère dans la couche enfant) lorsqu’une relation est définie. Il fournit un accès direct au formulaire de l’entité parent qui, à son tour, intègre la liste et le formulaire de ses enfants.
Edition de texte (par défaut) : ceci ouvre un champ d’édition de texte qui permet d’utiliser du texte simple ou plusieurs lignes. Si vous choisissez plusieurs lignes, vous pouvez également choisir un contenu html.
Valeurs uniques : Vous pouvez sélectionner l’une des valeurs déjà utilisée dans la table attributaire. Si «Modifiable» est activé, un champ d’édition de texte est affiché avec prise en charge de la saisie semi-automatique, sinon c’est une zone de liste déroulante qui est utilisée.
Génération uuid : Génère un champ UUID (Universally Unique Identifiers) en lecture seule, si il est vide.
Valeur de carte : une zone de liste déroulante avec des éléments prédéfinis. La valeur est stockée dans l’attribut, la description est affichée dans la zone de liste déroulante. Vous pouvez définir des valeurs manuellement ou les charger à partir d’une couche ou d’un fichier CSV.
Valeur relationnelle : offre les valeurs d’une table associée dans une zone de liste déroulante. Vous pouvez sélectionner une couche, une colonne clé et une colonne de valeur. Plusieurs options sont disponibles pour modifier les comportements standards : autoriser la valeur nulle, classer par valeur, autoriser les sélections multiples et utiliser l’auto-complétion. Les formulaires afficheront une liste déroulante ou un champ d’édition de texte lorsque la case à cocher « Compléter » est activée.
If a layer that is stored in PostgreSQL, GeoPackage or SpatiaLite is
configured to use a value relation widget, but the required layer is
not already loaded into the project, QGIS will automatically search for
the layer in the same database/connection.
L’onglet Jointures vous permet d’associer des entités de la couche actuelle à des entités d’une autre couche vecteur (ou table) chargée. La jointure est basée sur un attribut partagé par les couches, dans une relation de un à un. Pour plus de détails sur les jointures, veuillez vous référer à Joindre des entités de deux couches.
La manière habituelle de personnaliser le style et l’étiquetage consiste à utiliser des propriétés définies par les données comme décrit dans Valeurs définies par des données. Cependant, cela peut ne pas être possible si les données sous-jacentes sont en lecture seule. De plus, la configuration de ces propriétés définies par les données peut prendre beaucoup de temps ou n’est pas souhaitable! Par exemple, si vous souhaitez utiliser pleinement les outils cartographiques fournis avec La barre d’outils Étiquettes, vous devez ajouter et configurer plus de 20 champs dans votre source de données d’origine (positions X et Y, angle de rotation, style de police, couleur …).
Le mécanisme de stockage auxiliaire fournit la solution à ces limitations et configurations maladroites. Les champs auxiliaires sont un moyen détourné de gérer et de stocker automatiquement ces propriétés définies par les données (étiquettes, diagramme, symbologie …) dans une base de données SQLite grâce à des jointures modifiables. Cela vous permet de stocker les propriétés des couches qui ne sont pas modifiables.
Un onglet est disponible dans la fenêtre des propriétés de la couche vecteur pour gérer le stockage auxiliaire :
Étant donné que la source de données peut être personnalisée grâce à des propriétés définies par les données sans être modifiable, les outils d’étiquetage sur la carte décrits dans La barre d’outils Étiquettes sont toujours disponibles dès que l’étiquetage est activé.
En fait, le système de stockage auxiliaire a besoin d’une couche auxiliaire pour stocker ces propriétés dans une base de données SQLite (voir Stockage auxiliaire en base de données). Son processus de création est exécuté la première fois que vous cliquez sur la carte alors qu’un outil de carte d’étiquetage est actuellement activé. Ensuite, une fenêtre s’affiche, vous permettant de sélectionner la clé primaire à utiliser pour la jointure (pour vous assurer que les entités sont identifiées de manière unique) :
Fig. 16.47 Fenêtre de création de couche auxiliaire
Dès qu’une couche auxiliaire est configurée pour la source de données actuelle, vous pouvez récupérer ses informations dans l’onglet :
La couche auxiliaire présente désormais ces caractéristiques :
la clé primaire est ID,
il y a 0 entités utilisant un champ auxiliaire,
il y a 0 champ auxiliaire.
Maintenant que la couche auxiliaire est créée, vous pouvez modifier les étiquettes de la couche. Cliquez sur une étiquette pendant que l’outil Changer d’étiquette est activé, vous pouvez alors mettre à jour les propriétés de style comme les tailles, les couleurs, etc. Les propriétés définies par les données correspondantes sont créées et peuvent être récupérées:
Comme vous pouvez le voir sur la figure ci-dessus, 21 champs sont automatiquement créés et configurés pour l’étiquetage. Par exemple, le type de champ auxiliaire FontStyle est une chaîne et est nommé labeling_fontstyle dans la base de données SQLite sous-jacente. Il existe également 1 entité qui utilise actuellement ces champs auxiliaires.
Notez que l’icône s’affiche dans l’onglet Étiquettes indiquant que les options de substitution définies par les données sont correctement définies :
Fig. 16.50 Propriétés définies par les données créées automatiquement
Sinon, il existe une autre façon de créer un champ auxiliaire pour une propriété spécifique grâce au bouton Valeur définie par des données. En cliquant sur:guilabel:Stocker les données dans le projet, un champ auxiliaire est automatiquement créé pour le champ Opacité. Si vous cliquez sur ce bouton alors que la couche auxiliaire n’est pas encore créée, une fenêtre (Fig. 16.47) s’affiche d’abord pour sélectionner la clé primaire à utiliser pour la jointure.
Comme la méthode décrite ci-dessus pour personnaliser les étiquettes, les champs auxiliaires peuvent également être utilisés pour styliser les symboles et les diagrammes. Pour ce faire, cliquez sur Valeur définie par des données et sélectionnez Stocker les données dans le projet pour une propriété spécifique. Par exemple, le champ Couleur de remplissage :
Fig. 16.51 Menu des propriétés des valeurs définies par des données pour le symbole
Il existe différents attributs pour chaque symbole (par exemple, le style de remplissage, la couleur de remplissage, la couleur de trait, etc.), de sorte que chaque champ auxiliaire représentant un attribut nécessite un nom unique pour éviter les conflits. Après avoir sélectionné Stocker les données dans le projet, une fenêtre s’ouvre et affiche le Type du champ et vous invite à entrer un nom unique pour le champ auxiliaire. Par exemple, lors de la création d’un champ auxiliaire Couleur de remplissage, la fenêtre suivante s’ouvre :
Les champs auxiliaires peuvent être modifiés en utilisant la table attributaire. Cependant, tous les champs auxiliaires ne sont pas initialement visibles dans la table attributaire.
Les champs auxiliaires représentant les attributs de la symbologie, de l’étiquetage, de l’apparence ou des diagrammes d’une couche apparaissent automatiquement dans la table d’attributs. Les attributs pouvant être modifiés à l’aide de la barre d’outils Etiquettes sont masqués par défaut. Les champs auxiliaires représentant une couleur ont un widget Couleur défini par défaut, sinon les champs auxiliaires sont définis par défaut sur le widget Text Edit.
Les champs auxiliaires qui représentent des attributs qui peuvent être modifiés à l’aide d’outils de la Barre d’outils Étiquettes sont Masqués dans la table des attributs par défaut. Pour rendre un champ visible, ouvrez l’onglet Formulaire d’attributs dans les propriétés et modifiez le Type de widget d’un champ auxiliaire de masqué à une autre valeur pertinente. Par exemple, changez auxiliary_storage_labeling_size en Édition de texte ou remplacez auxiliary_storage_labeling_color par le type Couleur. Ces champs seront désormais visibles dans la table attributaire.
Les champs auxiliaires de la table attributaire apparaîtront comme dans l’image suivante:
Le premier élément Créer est désactivé dans ce cas car la couche auxiliaire est déjà créée. Mais en cas de nouveau travail, vous pouvez utiliser cette action pour créer une couche auxiliaire. Comme expliqué dans Étiquetage, une clé primaire sera alors nécessaire.
L’action Effacer permet de conserver tous les champs auxiliaires, mais de supprimer leur contenu. De cette façon, le nombre d’entités utilisant ces champs tombera à 0.
L’action Supprimer supprime complètement la couche auxiliaire. En d’autres termes, la table correspondante est supprimée de la base de données SQLite sous-jacente et la personnalisation des propriétés est perdue.
Finally, the Export action allows to save the auxiliary layer as a
new vector layer. Note that geometries are not stored
in auxiliary storage. However, in this case, geometries are exported from the
original data source too.
Lorsque vous enregistrez votre projet au format .qgs, la base de données SQLite utilisée pour le stockage auxiliaire est enregistrée au même endroit mais avec l’extension .qgd.
Pour plus de commodité, une archive peut être utilisée à la place grâce au format .qgz. Dans ce cas, les fichiers .qgd et .qgs sont tous deux intégrés dans l’archive.
The Actions tab provides the ability to perform an action
based on the attributes of a feature.
This can be used to perform any number of actions, for example,
running a program with arguments built from the attributes of a feature
or passing parameters to a web reporting tool.
Fig. 16.56 Vue d’ensemble de la fenêtre Actions avec quelques exemples d’actions
Actions are useful when you frequently want to run an external application
or view a web page based on one or more values in your vector layer.
They are of different types and can be used like this:
Generic, macOS, Windows
and Unix actions start an external process.
Python actions execute a Python expression.
Generic and Python actions are visible everywhere.
macOS, Windows and Unix
actions are visible only on the respective platform
(i.e., you can define three « Edit » actions to open an editor and the users can only
see and execute the one « Edit » action for their platform to run the editor).
Open URL: Uses a HTTP GET request to open a provided URL.
Submit URL (urlencoded or JSON):
Same as the Open URL action but using a HTTP POST request.
Data are posted to a URL, using « application/x-www-form-urlencoded »
or « application/json » if the body is a valid JSON.
Submit URL (multipart): Same as the Open URL action
but using a HTTP POST request.
Data are posted to a URL, using « multipart/form-data ».
Plusieurs exemples sont inclus dans la boîte de dialogue. Vous pouvez les charger en cliquant sur Créer des actions par défaut. Pour modifier l’un des exemples, double-cliquez sur sa ligne. Un exemple est d’effectuer une recherche basée sur une valeur d’attribut. Ce concept est utilisé dans la discussion suivante.
L’option Afficher dans la table des attributs vous permet de sélectionner et afficher dans la table d’attributs des actions basées sur des entités, soit via une Zone de liste déroulante, soit comme des Boutons séparés (voir Configurer les colonnes).
Pour définir une action d’attribut, ouvrez la boîte de dialogue Propriétés de la couche et cliquez sur l’onglet Actions. Dans l’onglet Actions, cliquez sur le Ajouter une nouvelle action pour ouvrir la boîte de dialogue Modifier l’action.
Select the action Type and provide a descriptive name
for the action. The action itself must contain the name of the application
that will be executed when the action is invoked.
You can add one or more attribute field values as arguments to the application.
When the action is invoked, any set of characters that start with a %
followed by the name of a field will be replaced by the value of that field.
The special characters %% will be replaced by the value of the field
that was selected from the identify results or attribute table (see Utiliser des Actions).
Double quote marks can be used to group text into a single argument to the program, script or command.
Double quotes will be ignored if preceded by a backslash.
Actions can invoke a single process, with arguments, so Boolean operators (such as &, &&, ;, |) will not work.
In UNIX-like operating systems multiple commands can be executed via bash-c.
The Action Scopes allows you to define where the action should be available.
You have following choices:
Field: action is available when right click in the cell
within the attribute table, in the feature form and in the default action
button of the main toolbar.
Feature: action is available when right click in the cell
within the attribute table.
Canvas : l’action est disponible dans le bouton d’action principal de la barre d’outils.
Form: action is available only in a feature form designed
using the drag-and-drop mode.
Layer: action is available in the action button in the attribute table toolbar.
Be aware that this type of action involves the entire layer and not the single features.
Si vous avez des noms de champs qui sont contenus dans d’autres noms de champs (par exemple, col1 et col10), vous devez l’indiquer en entourant le nom de champ (y compris avec le caractère %) par des crochets (par exemple [%col10]). Ceci évitera de prendre le nom de champ %col10 pour %col1 avec un 0 à la fin. Les crochets seront retirés quand QGIS substituera le nom par la valeur du champ. Si vous voulez que le champ à substituer soit entouré de crochets, utilisez un deuxième jeu de crochets comme ceci : [[%col10]].
En utilisant l’outil Identifier les entités, vous ouvrez la fenêtre Identifier les résultats. Elle inclut une entrée (Dérivé) qui contient des informations pertinentes selon le type de couche. Les valeurs de cette entrée sont accessibles de la même manière que les autres champs en ajoutant (Derived). avant le nom du champ. Par exemple, une couche de points a un champ X et Y et leurs valeurs peuvent être utilisées dans l’action avec %(Derived).X et %(Derived).Y. Les attributs dérivés sont disponibles uniquement depuis la fenêtre Identifier les résultats mais pas par la Table d’attributs.
Deux exemples d’action sont proposés ci-dessous :
konquerorhttps://www.google.com/search?q=%nam
konquerorhttps://www.google.com/search?q=%%
Dans le premier exemple, le navigateur Web konqueror est appelé et reçoit une URL à ouvrir. L’URL effectue une recherche Google sur la valeur du champ nam de notre couche vecteur. Notez que l’application ou le script appelé par l’action doit se trouver dans le chemin ou vous devez fournir le chemin complet. Pour être certain, nous pourrions réécrire le premier exemple comme suit: /opt/kde3/bin/konquerorhttps://www.google.com/search?q=%nam. Cela garantira que l’application konqueror sera exécutée lorsque l’action sera invoquée.
Le deuxième exemple utilise la notation %% dont la valeur ne dépend pas d’un champ en particulier. Quand l’action est invoquée, %% sera remplacé par la valeur du champ sélectionné dans les résultats de l’identification ou dans la table d’attributs.
QGIS propose de nombreuses façons d’exécuter les actions que vous avez activées sur une couche. Selon leurs paramètres, ils peuvent être disponibles:
dans le menu déroulant du bouton Exécuter l’action à partir de la Barre d’outils Attributs ou la Table d’attributs ;
lorsque vous cliquez avec le bouton droit sur une entité avec l’outil Identifier des entités (voir Identifier les entités pour plus d’informations) ;
dans le panneau Résultats de l’identification, sous la section Actions ;
comme éléments d’une colonne Actions dans la boîte de dialogue Table d’attributs.
Si vous faites appel à une action qui utilise la notation %%, faites un clic droit sur la valeur du champ que vous souhaitez passer à l’application ou au script, dans la fenêtre Identifier les résultats ou dans la Table attributaire.
Voici un autre exemple qui récupère des données d’une couche vecteur et qui les insère dans un fichier utilisant bash et la commande echo (cela ne marchera que sur et peut-être ). 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 :
À titre d’exercice, nous pouvons créer une action qui effectue une recherche Google sur la couche lakes. Tout d’abord, nous devons déterminer l’URL nécessaire pour effectuer une recherche sur un mot clé. Pour ce faire, il suffit d’aller sur Google et de faire une recherche simple, puis de saisir l’URL dans la barre d’adresse de votre navigateur. Grâce à ce petit effort, nous voyons que le format est https://www.google.com/search?q=QGIS, où QGIS est le terme de recherche. Armés de ces informations, nous pouvons poursuivre :
Assurez-vous que la couche lakes est chargée.
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.
Cliquez sur l’onglet Actions
Cliquez sur Ajouter une nouvelle action.
Choose the Open URL action type,
Entrez un nom pour l’action, par exemple RechercheGoogle.
De plus, vous pouvez ajouter un Nom court ou même une Icône.
Choose the Action Scopes.
See Définir des Actions for further information.
Leave the default settings for this example.
For the action, add the URL used for doing a Google search, up to but not including the search term:
https://www.google.com/search?q=
The text in the Action field should now look like this:
https://www.google.com/search?q=
Cliquez sur la liste déroulante contenant les noms de champs pour la couche lacs. Il est situé juste à gauche du bouton Insérer.
From the drop-down box, select NAMES and click Insert.
Your action text now looks like this:
https://www.google.com/search?q=[%NAMES%]
Pour finaliser et ajouter l’action, cliquez sur le bouton OK.
Fig. 16.57 Fenêtre de création de l’action décrite dans l’exemple
This completes the action, and it is ready to use.
Close the Layer Properties dialog and zoom in to an area of interest.
Make sure the lakes layer is active and identify a lake.
In the result box you’ll now see that our action is visible:
Fig. 16.58 Sélection de l’entité et choix de l’action
When we click on the action, it brings up our default browser and navigates to the URL
https://www.google.com/search?q=Tustumena. It is also possible to add further
attribute fields to the action. Therefore, you can add a + to the end of
the action text, select another field and click on Insert Field. In
this example, there is just no other field available that would make sense
to search for.
Vous pouvez définir de multiples actions pour une couche et chacune apparaîtra dans la fenêtre des Résultats de l’identification.
Depuis la table attributaire, vous pouvez aussi faire appel à des actions via un simple clic droit sur une cellule et sélection de l’action dans la fenêtre qui s’ouvre.
Vous pouvez imaginer toutes sortes d’utilisations pour ces actions. Par exemple, si vous avez une couche de points contenant la localisation d’images ou de photos ainsi qu’un nom de fichier, vous pouvez créer une action qui lancera un visualiseur pour afficher les images. Vous pouvez également utiliser les actions pour lancer des rapports sur internet pour un champ attributaire ou une combinaison de champs, en les spécifiant de la même manière que dans l’exemple d’une recherche Google.
Nous pouvons également fournir des exemples plus complexes, notamment sur la manière d’utiliser des actions Python.
Habituellement, lorsque nous créons une action pour ouvrir un fichier avec une application externe, nous pouvons utiliser des chemins absolus, ou éventuellement des chemins relatifs. Dans le second cas, le chemin est relatif à l’emplacement du fichier exécutable du programme externe. Mais qu’en est-il si nous devons utiliser des chemins relatifs, par rapport à la couche sélectionnée (une couche basée sur un fichier, comme Shapefile ou SpatiaLite) ? Le code suivant fera l’affaire :
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) :
The Display tab helps you configure fields to use for
feature identification:
The Display name: based on a field or an expression.
By default, this is set to the first field in the layer if no field with <name> component exists.
This is used as:
l’étiquette affichée en en-tête des informations sur les entités dans les résultats de l’outil Identifier;
le champ utilisé dans le locator bar lors de la recherche d’entités dans toutes les couches
l’identifiant de l’entité dans la vue formulaire de la table attributaire
l’identifiant de l’entité lorsque la carte ou la mise page est exportée dans un format multicouche comme le GeoPDF
the map tip information, i.e. the message displayed in the map canvas
when hovering over a feature of the active layer with the Show Map Tips icon pressed.
Applicable when Enable Map Tips is active
and no HTML Map Tip is set.
Enable Map Tips controls whether to display map tips for the layer
The HTML Map Tip provides a complex and full HTML text editor for map tips,
mixing QGIS expressions and html styles and tags (multiline, fonts, images, hyperlink, tables, …).
You can check the result of your code sample in the Preview frame
(also convenient for previewing the Display name output).
Select the menu option View ► Show Map Tips
or click on the Show Map Tips icon of the Attributes Toolbar.
Make sure that the layer you target is active
and has the Enable Map Tips property checked.
Move over a feature, and the corresponding information will be displayed over.
Map tip is a cross-layer feature meaning that once activated,
it stays on and applies to any map tip enabled layer in the project until it’s toggled off.
Sous Scale dependent visibility, vous pouvez définir les échelles:guilabel:Maximum (inclusive) et Minimum (exclusive), définissant une gamme d’échelles dans laquelle les éléments seront visibles. En dehors de cette plage, ils sont cachés. Le bouton Set to current canvas scale vous permet d’utiliser l’échelle actuelle du canevas de la carte comme limite de la plage de visibilité. Voir Sélecteur de visibilité définie par l’échelle pour plus d’informations.
Note
Vous pouvez aussi activer l’échelle de visibilité sur une couche depuis le panneau de couches. Clic-droit sur la couche et dans le menu contextuel, sélectionner Définir l’échelle de visibilité.
QGIS prend en charge la simplification des entités à la volée. Cela peut améliorer les délais de rendu lors du dessin de nombreuses entités complexes à petite échelle. Cette fonction peut être activée ou désactivée dans les paramètres de la couche à l’aide de l’option Simplifier la géométrie. Il existe également un paramètre global qui permet la simplification par défaut pour les couches nouvellement ajoutées (voir simplification globale pour plus d’informations).
Note
La simplification d’entité peut engendrer des artefacts dans les sorties d’affichage dans certains cas. Il peut s’agir de trous entre les polygones et d’affichage imprécis lors de l’utilisation de couches de symboles basées sur des décalages.
The Fixed reference scale indicates the map scale
at which symbology and labeling sizes which uses paper-based units (such as millimeters or points) relate to.
The sizes will be scaled accordingly whenever the map is viewed at a different scale.
For instance, a line layer using a 2mm wide line with a 1:2000 Reference scale set
will be rendered using 4mm wide lines when the map is viewed at 1:1000.
The Selections group allows you to control whether a specific color or symbol should be used
in place of the defaults (Project properties ► General ► Selection color)
for a particular layer.
This is useful to improve the visibility of selected features with certain symbology:
Use default selection color
Override color for selected features: e.g. if the layer uses a yellow color by default
and the standard yellow selection is not visible.
Override symbol for selected features: e.g. if a line layer uses a thin symbol,
and coloring the lines might not make them visible enough, overriding the symbol with a thicker line can help.
Also, if the layer uses raster symbology or gradient fills/lines/shapeburst with color ramp symbology,
then the default selection color is not applied at all;
being able to set a specific simpler symbol to use for selected features in the layer can help.
Rendering extremely detailed layers (e.g. polygon layers with a huge number of nodes),
can cause layout exports in PDF/SVG format to be huge as all nodes are included in the exported file.
This can also make the resultant file very slow to work with/open in other programs.
En cochant la case Force l’affichage de la couche en tant que raster, les couches sont rasterisées de manière à ce que les fichiers exportés n’incluent pas l’ensemble des noeuds des couches et que le rendu se fasse plus rapidement.
You can also do this by forcing the layout to export as a raster,
but that is an all-or-nothing solution, given that the rasterisation is applied to all layers.
Alternatively, you can rely on geometry simplification in layout export settings.
Refresh layer at interval: controls whether and how regular a layer can be refreshed.
Available Configuration options are:
Reload data: the layer will be completely refreshed.
Any cached data will be discarded and refetched from the provider.
This mode may result in slower map refreshes.
Redraw layer only: this mode is useful for animation
or when the layer’s style will be updated at regular intervals.
Canvas updates are deferred in order to avoid refreshing multiple times
if more than one layer has an auto update interval set.
It is also possible to set the Interval (seconds) between consecutive refreshments.
Selon le fournisseur de données (par exemple PostgreSQL), les notifications peuvent être envoyées à QGIS lorsque des modifications sont appliquées à la source de données, hors de QGIS. Utilisez la Actualiser la couche sur notification pour déclencher une mise à jour. Vous pouvez également limiter l’actualisation de la couche à un ensemble de messages spécifique dans la Seulement si le message est.
The Temporal tab provides options to control
the rendering of the layer over time. Such dynamic rendering requires the
temporal navigation to be enabled over the map canvas.
Check the Dynamic Temporal Control option to
configure the vector layer temporal rendering.
Depending on the structure of your dataset, you may want to use one of the
provided Configuration options:
Fixed time range: all the features are rendered if the
map canvas temporal frame overlaps the given Start date and
End date range.
Single field with date/time: features are rendered if their
Field’s value falls within the map canvas temporal frame.
An Event duration can be set.
With checking the Accumulate features over time option,
all features which occur before or within the map’s temporal range will
continue to be rendered. The event duration is thus ignored.
Separate fields for start and end date/time: features are rendered
if the range specified by their Start field and End field
values overlaps the map canvas temporal.
Separate fields for start and event duration: features are rendered
if the range defined by their Start field and Event duration field
values overlaps the map canvas temporal.
Start and end date/time from expressions: features are rendered
if the time range specified by the fields Start expression and
End expression overlaps the map canvas temporal.
Redraw layer only: the layer is redrawn at each new animation
frame but no time-based filtering is applied to the features.
It’s useful when the layer uses time-based expression values for renderer
settings (e.g. data-defined symbology).
It is also possible to set the Limits of the features time range as:
The Variables tab lists all the variables available at
the layer’s level (which includes all global and project’s variables).
Il permet également à l’utilisateur de gérer les variables au niveau de la couche. Cliquez sur pour ajouter une nouvelle variable au niveau de la couche personnalisée. De même, sélectionnez une variable au niveau de la couche personnalisée dans la liste et cliquez sur pour la supprimer.
L’onglet Elevation fournit des options pour contrôler les propriétés d’élévation de la couche dans une 3D map view et son apparence dans les profile tool charts. Plus précisément, vous pouvez définir :
Elevation Clamping: defines how and whether the features altitude
should be:
Clamped to terrain: takes elevation directly from the terrain
height and ignores any existing Z values in the features. A data-defined
Offset value from the terrain can also be filled.
Relative to terrain: any existing Z values in the features
are added to the terrain height. A Scale factor followed by
a data-defined Offset can be used to adjust the elevation.
This option is not available for 2D geometry layers.
Absolute: ignores the terrain height and directly takes Z values
from the features for the elevation. A Scale factor followed
by a data-defined Offset can be used to adjust the elevation.
For 2D geometry layers (with no Z values), a data-defined
Base height can instead be set.
Enable extrusion: you can set a Height
to control how high features vertically extend above their base.
This is convenient to indicate that a 2D geometry layers, e.g. a polygon
building footprints layer, actually represents 3D objects.
Elevation Binding: only relevant when combining an
Elevation clamping relying on the terrain with a line or
polygon layer, this option controls how feature elevation is set relative
to the terrain height. The terrain can be sampled:
at the feature’s Centroid, with the centroid height being
added to each vertex’s z value
at every individual Vertex before being added to the vertex’s
z value
Profile Chart Appearance: controls how features are rendered
when drawing a profile chart. Two main Interpretation modes
are available:
as Individual features: samples discrete positions where
the cross section profile line intersects the vector features.
That intersection can be represented as point, line or surface
depending on the layer type and whether an extrusion is applied.
With checking Respect layer symbology,
features will be rendered on the profile chart with their corresponding
layer styling (allowing e.g. categorized
classes to be visible on the profile chart).
If the profile symbol type does not match the layer’s renderer symbol types,
only the symbol color from the renderer is applied to the profile symbol.
Depending on the layer settings, profile symbols can be represented with
a custom style, using:
Marker style: for non-extruded point and line
features, and for non-extruded polygon features touched by the profile line
Line style: for extruded point and line features,
and for non-extruded polygon features intersected by the profile line
as Continuous Surface (e.g. contours): the elevation chart
will be rendered as a surface instead of separate features by joining
the sampled elevation results into a continuous line. This can enhance
visualisation and is designed for vector layers which represent a
continuous elevation surface, e.g. contour lines or surveyed elevation points.
The profile Style can be set as:
une surface d’élévation rendue à l’aide d’un symbole de remplissage soit au-dessus (Fill above), soit au-dessous (Fill below) de la ligne de courbe d’élévation. La symbologie de la surface est représentée à l’aide de :
L’onglet Métadonnées vous offre des options pour créer et modifier un rapport de métadonnées sur votre couche. Voir Métadonnées pour plus d’informations.
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.
Dans l’onglet Dépendances, vous pouvez sélectionner toutes les couches susceptibles de modifier de manière externe les données de la couche actuelle. La spécification correcte des couches dépendantes permet à QGIS d’invalider les caches de cette couche lorsque les couches dépendantes sont modifiées.
The Legend properties tab provides you with advanced
settings for the Layers panel and/or the print
layout legend. These options include:
Depending on the symbology applied to the layer, you may end up with several
entries in the legend, not necessarily readable/useful to display.
The Legend placeholder image helps you select an image for replacement, displayed both in the
Layers panel and the print layout legend.
Show label legend: Displays overviews of the different
label settings as entries in the legends.
The label style is previewed along with the description.
le Texte sur les symboles: Dans certains cas, il peut être utile d’ajouter des informations supplémentaires aux symboles dans la légende. Avec ce cadre, vous pouvez affecter à l’un des symboles utilisés dans la symbologie des couches un texte qui s’affiche sur le symbole, à la fois dans couches et dans la légende de mise en page d’impression. Ce mappage se fait en tapant chaque texte à côté du symbole dans le widget de tableau ou en remplissant le tableau à l’aide du bouton Définir les étiquettes à partir de l’expression. L’apparence du texte est gérée par les widgets de sélection de police et de couleur du bouton Format du texte.
Fig. 16.64 Définition du texte sur les symboles (à gauche) et son rendu dans le panneau Couches (à droite)
une liste de widgets que vous pouvez intégrer dans l’arborescence des couches dans le panneau Couches. L’idée est d’avoir un moyen d’accéder rapidement à certaines actions qui sont souvent utilisées avec la couche (configuration de la transparence, filtrage, sélection, style ou autre …).
Par défaut, QGIS fournit un widget de transparence mais cela peut être étendu par des plugins enregistrant leurs propres widgets et assignant des actions personnalisées aux couches qu’ils gèrent.
The QGIS Server tab consists of Description,
Attribution, Metadata URL, and Legend URL
sections.
From the Description section, you can change the Short name
used to reference the layer in requests (to learn more about short names, read
Nom court). You can also add or edit a Title and
Abstract for the layer, or define a Keyword list here. These
keyword lists can be used in a metadata catalog. If you want to use a title from an
XML metadata file, you have to fill in a link in the Data URL field.
Utilisez le groupe Attribution pour récupérer les données d’attributs depuis un catalogue de métadonnées XML.
In Metadata URL, you can add the general paths to the XML metadata
catalog. This information will be saved in the QGIS project file for subsequent
sessions and will be used for QGIS Server.
In the Legend URL section, you can provide the url of a legend image
in the url field. You can use the Format drop-down option to apply the appropriate
format of the image. Currently png, jpg and jpeg image formats are supported.
Fig. 16.65 Onglet QGIS Server dans la boîte de dialogue des propriétés des couches vecteur
Les options de la section Corrections automatiques affecteront directement les sommets de toute géométrie ajoutée ou modifiée. Si la Supprimer les sommets en double est cochée, les deux sommets suivants avec exactement les mêmes coordonnées seront supprimés. Si Précision de la géométrie est définie, tous les sommets seront arrondis au multiple le plus proche de la précision géométrique configurée. L’arrondi aura lieu dans le système de référence de coordonnées de la couche. Les valeurs Z et M ne sont pas arrondies. Avec de nombreux outils cartographiques, une grille s’affiche sur le canevas lors de la numérisation.
Fig. 16.67 Moving the top vertex snaps all the vertices to the grid
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 Is valid check will run basic validity checks like self intersection on
geometries.
In the Topology checks section, additional topology validation
checks can be activated. Topology checks will be executed when the user
saves the layer. Check errors will be reported in the Geometry validation
panel. As long as validation errors are present, the layer can not be saved.
Topology checks are executed in the area of the bounding box of the modified
features. Since other features may be present in the same area, topological
errors concerning these features are reported as well as errors introduced
in the current edit session.
Option de vérification de la topologie
Illustration
La vérification Interstice vérifiera les écarts entre les polygones voisins.
La vérification Recouvre vérifiera les chevauchements entre les polygones voisins.
La vérification Sommet manquant vérifiera les limites partagées des polygones voisins où à une limite manque un sommet qui est présent sur l’autre.
Parfois, il est souhaitable de conserver les espaces à l’intérieur d’une zone dans une couche de polygones qui autrement est entièrement couverte par des polygones. Par exemple, une couche d’utilisation des terres peut avoir des trous acceptables pour les lacs. Il est possible de définir des zones qui sont ignorées dans la vérification de l’écart. Étant donné que les espaces à l’intérieur de ces zones sont autorisés, nous les désignerons comme des zones d’Écarts autorisés.
Dans les options pour les vérifications d’écart sous Écarts autorisés, une couche d’écarts autorisés peut être configurée.
Chaque fois que la vérification des écarts est exécutée, les écarts qui sont couverts par un ou plusieurs polygones dans la couche de lacunes autorisées ne sont pas signalés comme des erreurs de topologie.
Il est également possible de configurer un Tampon supplémentaire. Ce tampon est appliqué à chaque polygone sur la couche de lacunes autorisées. Cela permet de rendre les tests moins sensibles à de petits changements dans les contours aux limites des lacunes.
Lorsque les Écarts autorisés sont activés, un bouton supplémentaire ( Ajouter un écart autorisé) pour les erreurs d’écart détectées est disponible dans le dock de validation de la géométrie, où les écarts sont signalés pendant la numérisation. Si le bouton Ajout d’un interstice aux exceptions autorisées est enfoncé, un nouveau polygone avec la géométrie de l’écart détecté est inséré dans la Couche des interstices autorisés. Cela permet de signaler rapidement les écarts comme autorisés.
The Geometry Validation panel is triggered when any of the abovementioned
digitizing checks finds an error. The dialog provides you with the list of errors
and their description, and you can to browse the list using the keyboard arrows or
dedicated arrows.
You’ll need to address all the issues before you can save edits to the layer.
To do so: