14.1. Fenêtre Propriétés d’une couche vecteur
La fenêtre de Propriétés d’une couche vecteur permet d’accéder aux paramètres généraux pour gérer l’apparence des entités de la couche sur la carte (style, étiquetage, diagrammes) et les interactions avec la souris (actions, infobulles, formulaires). Elle fournit également des informations sur la couche.
Pour ouvrir la fenêtre Propriétés de la couche :
Dans le panneau Couches, effectuez un double-clic ou un clic droit et sélectionner Propriétés de la couche depuis le menu contextuel.
Allez dans menu
lorsque la couche est sélectionnée.
La fenêtre Propriétés de la couche vecteur choisie propose les onglets suivants :
Symbologie[1] |
||
Étiquettes[1] |
Masque[1] |
Vue 3D[1] |
onglets d”Extensions externes[2] |
[1] Aussi disponible dans le panneau Style de Couche
Les [2] extensions externes que vous installez peuvent éventuellement ajouter des onglets à cette fenêtre. Celles-ci ne sont pas présentées dans ce document. Reportez-vous à leur documentation.
Astuce
Partager tout ou partie des propriétés des styles de la couche
Le menu Gestion des styles personnalisés.
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). VoirNote
Vu que les propriétés (symbologie, étiquette, actions, valeurs par défaut, formulaires,…) des couches provenant d’un projet incorporé (Voir Inclusion de projets) sont issues et liées au projet d’origine, et pour éviter des changements qui pourraient casser ce fonctionnement, les propriétés de ces couches ne sont pas accessibles.
14.1.1. Onglet Information
L’onglet Information , en lecture seule, permet de connaitre rapidement les informations et métadonnées résumées sur la couche courante. Les informations fournies sont :
suivant le fournisseur de la couche (format et chemin de stockage, type de géométrie , encodage, emprise …);
extrait des Propriétés des metadonnées (accès, liens, contacts, historique..);
soit en fonction de sa géométrie (emprise spatiale, SCR…) ou de ses attributs (nombre de champs, caractéristiques de chacun…).
14.1.2. Onglet Source
Utilisez cet onglet pour définir les paramètres de la couche vecteur.
Outre le Nom de la couche qui sera affiché dans le Panneau couches, les options sont:
14.1.2.1. Système de Coordonnées de Référence
Affiche le Système de Coordonnées de Référence de la couche. Vous pouvez modifier le SCR de la couche en sélectionnant un SCR récemment utilisé dans la liste déroulante ou en cliquant sur le bouton Sélectionner le SCR (voir Sélectionneur de Système de Coordonnées de Référence). Utilisez ce processus uniquement si le SCR appliqué à la couche est incorrect ou si aucun n’a été appliqué. Si vous souhaitez reprojeter vos données dans un autre SCR, utilisez plutôt des algorithmes de reprojection de couches dans la boite à outils de traitement ou Enregistrez la dans une nouvelle couche.
Créer un index spatial (uniquement pour les formats gérés par OGR ).
Mise à jour de l’emprise de la couche.
14.1.2.2. Constructeur de requêtes
Le Constructeur de requête est accessible par le bouton en bas de l’onglet Source dans les Propriétés de la couche, sous le groupe Filtre d’entités du fournisseur de données.
Le générateur de requêtes fournit une interface qui vous permet de définir un sous-ensemble des entités de la couche à l’aide d’une clause WHERE de type SQL et d’afficher le résultat dans la fenêtre principale. Tant que la requête est active, seules les entités correspondant à son résultat sont disponibles dans le projet.
Vous pouvez utiliser un ou plusieurs attributs de la couche pour définir le filtre dans le Générateur de requêtes
. L’utilisation de plusieurs attributs est illustrée dans Fig. 14.2. Dans l’exemple, le filtre combine les attributs
toa
(champ de typeDateTime
:cast("toa" as character) > '2017-05-17'
etcast("toa" as character) < '2019-12-24T18:00:00'
),name
(String
champ:"name" > 'S'
) etFID
(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 filtre est réalisé au niveau du fournisseur de données (OGR, PostgreSQL, MSSQL …). La syntaxe dépend donc du fournisseur de données (DateTime n’est par exemple pas pris en charge pour le format ESRI Shapefile). L’expression complète
cast("toa" as character) > '2017-05-17' AND
cast("toa" as character) < '2019-12-24T18:00:00' AND
NOT ("name" > 'S' OR FID > 10)
Vous pouvez également ouvrir la boîte de dialogue Générateur de requêtes avec l’aide de l’option Filtrer… dans le menu 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 un message avec le nombre d’entités satisfaisant la requête. Utilisez le bouton Effacer pour effacer la requête SQL et réinitialiser la couche à son état d’origine (c’est-à-dire, charger toutes les entités).
Lorsqu’un filtre est appliqué, QGIS traite le sous-ensemble résultant comme s’il s’agissait de la couche entière. Par exemple, si vous avez appliqué le filtre ci-dessus pour « Borough » ("TYPE_2" ='Borough'
), vous ne pouvez pas afficher, interroger, sauvegarder ou modifier la ville Anchorage
, car c’est une “municipalité” et ne fait donc pas partie du sous-ensemble Borough (Arrondissement).
Astuce
Les couches filtrées sont indiquées dans le panneau des couches.
Dans le panneau Couches, la couche filtrée apparaît avec une icône Filtre sur le côté affichant la requête utilisée lorsque vous la survolez avec la souris. Double-cliquez sur l’icône pour ouvrir la boîte de dialogue Constructeur de requête afin de modifier le filtre.
14.1.3. Onglet Symbologie
L’onglet Symbologie vous offre un outil complet pour symboliser vos données vecteur. Vous pouvez utiliser des outils communs à toutes les données vecteur, ainsi que des outils de symbolisation spéciaux qui ont été conçus pour les différents types de données vecteur. Ainsi, tous les types de vecteur partagent la structure de dialogue suivante : dans la partie supérieure, vous pouvez définir la classification et le symbole à utiliser pour les entités et dans la partie inférieure, le Rendu de couche.
Astuce
Passer rapidement d’un style de représentation à un autre pour une couche
En utilisant le menu 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.
en bas de la boîte de dialogueAstuce
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
pour spécifier le nom du fichier de sortie et son format. Dans la boîte de dialogue, utilisez l’option pour enregistrer la symbologie comme ou comme . Si vous avez utilisé des couches de symboles, il est recommandé d’utiliser le deuxième paramètre.14.1.3.1. Rendu d’entités
Le moteur de rendu est responsable du dessin de chaque entité avec le symbole correct. Quel que soit le type de géométrie de la couche, il existe quatre types communs de rendus : symbole unique, catégorisé, gradué et basé sur des règles. Pour les couches de points,le déplacement de point et le rendu par carte de chaleur sont disponibles, tandis que les couches de polygones peuvent également être affichées avec les polygones inversés et le 2.5D.
Il n’y a pas de rendu de couleur continue, car il s’agit en fait d’un cas particulier du rendu gradué. Les rendus catégorisé et gradué peuvent être créés en spécifiant un symbole et un dégradé de couleurs qui définissent les couleurs pour les symboles de manière appropriée. Pour chaque type de données (points, lignes et polygones), des types de couches de symboles vectoriels sont disponibles. Selon le moteur de rendu choisi, la boite de dialogue fournit différentes sections supplémentaires.
Note
Si, en travaillant sur le style d’une couche vecteur, vous changez de mode de rendu, les changements effectués sur le symbole sont mémorisés. Notez que cela ne fonctionne qu’une seule fois. Si vous changez à nouveau de mode de rendu, les paramètres seront perdus.
Rendu Symbole Unique
Le moteur de rendu 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.
Aucun rendu de symbole
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.
Rendu Catégorisé
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 classification Valeur: il peut s’agir d’un champ existant ou d’une expression que vous pouvez taper dans la case ou construire en utilisant le bouton associé. L’utilisation d’expressions pour la catégorisation évite d’avoir à créer un champ ad hoc à des fins de symbologie (par exemple, si vos critères de classification sont dérivés d’un ou 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) et0
(False). Quelques exemples:myfield >= 100 $id = @atlas_featureid myfield % 2 = 0 within( $geometry, @atlas_geometry )
combiner différents attributs :
concat( field_1, ' ', field_2 )
être un calcul sur les attributs :
myfield % 2 year( myfield ) field_1 + field_2 substr( field_1, -3 )
être utilisé pour transformer des valeurs linéaires en classes discrètes, par exemple:
CASE WHEN x > 1000 THEN 'Big' ELSE 'Small' END
combiner plusieurs valeurs discrètes en une seule catégorie, par exemple:
CASE WHEN building IN ('residence', 'mobile home') THEN 'residential' WHEN building IN ('commercial', 'industrial') THEN 'Commercial and Industrial' END
Astuce
Même si vous pouvez utiliser n’importe quel type d’expression pour classer vos entités, pour les expressions les plus complexes, il est sans doute plus simple d’utiliser le rendu basé sur des règles.
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
Correspondance avec les symboles enregistrés : utiliser la bibliothèque de symboles attribue à chaque catégorie un symbole dont le nom représente la valeur de classification de la catégorie
Correspondance avec les symboles du fichier …: Fourni un fichier avec des symboles, attribue à chaque catégorie un symbole dont le nom représente la valeur de classification de la catégorie
Niveaux de symboles.. pour définir l’ordre de rendu des symboles.
Astuce
Éditez les catégories directement à partir du panneau Couches
Lorsqu’une symbologie de couche est basée sur un mode catégorizé, gradué ou ensemble de règles, vous pouvez éditer chacune des catégories depuis le panneau Couches. Faites un clic droit sur un sous-élément de la couche et vous obtiendrez :
Modifiez la couleur du symbole grâce à la roue du sélecteur de couleurs .
Editer le symbole… à partir du dialogue sélecteur de symboles
Copier le symbole
coller le symbole
Rendu Gradué
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 valeur (à l’aide de la zone de liste des champs ou de la fonction Définir l’expression)
le symbole (en utilisant la fenêtre de Sélection de symbole)
le format de la légende et la précision des valeurs numériques
la méthode à utiliser pour modifier la couleur ou la taille des symboles
les couleurs (en utilisant la liste des palettes de couleur), si la méthode couleur est sélectionnée
la taille (en choisissant une plage de valeurs et les unités)
Ensuite vous pouvez utiliser l’onglet Histogramme qui permet d’afficher un histogramme interactif des valeurs du champ ou de l’expression utilisé pour le rendu. Les classes peuvent être définies ou ajoutées depuis l’histogramme.
Note
Vous pouvez utiliser le panneau Statistiques pour obtenir plus d’informations sur votre couche vecteur. Voir Panneau de résumé statistiques.
De retour dans l’onglet Classes, vous pouvez choisir le nombre de classes et la méthode de classification (depuis la liste déroulante Mode). Les modes disponibles sont :
Nombre égal (Quantile) : chaque classe aura le même nombre d’éléments (comme dans une boîte à moustache).
Intervalle égal : chaque classe aura la même taille (par exemple, avec les valeurs de 1 à 16 et quatre classes, chaque classe aura une taille de quatre).
Échelle logarithmique : convient aux données présentant un large éventail de valeurs. Des classes étroites pour les valeurs faibles et des classes larges pour les valeurs élevées (par exemple, pour les nombres décimaux avec une plage [0..100] et deux classes, la première classe ira de 0 à 10 et la seconde de 10 à 100).
Ruptures naturelles (Jenks) : la variance au sein de chaque classe est minimisée tandis que la variance entre les classes est maximisée.
Pretty Breaks : calcule une séquence d’environ n+1 valeurs nice équidistantes qui couvrent la plage des valeurs de x. Les valeurs sont choisies de manière à être 1, 2 ou 5 fois une puissance de 10. (basé sur pretty de l’environnement statistique R https://www.rdocumentation.org/packages/base/topics/pretty).
Écart-type : les classes sont construites en fonction le l’écart-type calculé sur l’ensemble des valeurs;
La zone déroulante dans la partie centrale du menu Symbologie répertorie les classes ainsi que leurs étendues, étiquettes et symboles de rendu.
Cliquez sur le bouton Classer pour générer les classes selon le mode choisi. Chaque classe peut être désactivée en décochant la case située à gauche du symbole de classe.
Pour changer le symbole, la valeur et / ou la légende, double-cliquez sur l’élément à modifier.
Un clic droit sur les éléments sélectionnés affiche un menu contextuel pour:
Copier le Symbole et Coller le symbole, un moyen pratique d’appliquer la représentation d’un élément à d’autres
Modifier la couleur… du ou des symboles sélectionnés
Modifier l’opacité… du ou des symboles sélectionnés
Modifier l’unité de sortie… du ou des symboles sélectionnés
Modifier la largeur… du ou des symboles de ligne sélectionnés
Modifier la taille… du ou des symboles de ligne sélectionnés
Modifier l’angle… du ou des symboles de points sélectionnés
L’exemple dans Fig. 14.5 montre la boîte de dialogue de rendu gradué pour la couche major_rivers de l’ensemble de données d’échantillon QGIS.
Astuce
Cartes thématiques utilisant une expression
Les cartes thématiques faites avec le rendu Catégorisé ou Gradué peuvent être créées en utilisant le résultat d’une expression. Dans la fenêtre Propriétés des couches vecteur, le sélecteur de colonne accueille une fonction Définir une expression de colonne. Vous n’avez donc pas besoin d’écrire l’attribut de la classification dans une nouvelle colonne de votre table si vous souhaitez que l’attribut de classification soit un composite de plusieurs champs, ou une formule quelconque.
Symboles Proportionnels et Analyse Multivariée
Les représentations par symbole proportionnel et analyse multivariée ne sont pas disponibles dans la liste déroulante du rendu de style. Toutefois, les options de valeurs définies par les données appliquées sur l’une des options de rendu précédentes vous permettent d’afficher vos données de point et de ligne avec de telles représentations.
Créer des Symboles Proportionnels
Pour appliquer un rendu proportionnel :
Appliquez d’abord à la couche un rendu de symbole unique.
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 bouton Dé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.
Si nécessaire, utilisez l’option Assistant… du menu pour appliquer une transformation (exponentielle, flannery…) à la mise à l’échelle de la taille du symbole (voir Utilisation de l’interface d’assistant pour les valeurs définies par les données pour plus de détails).
Vous pouvez choisir d’afficher les symboles proportionnels dans le Panneau des couches et dans la Légende de mise en page : dépliez la liste déroulante Avancé en bas de la fenêtre principale de l’onglet Symbologie et sélectionnez Légende pour la Taille définie par des données pour configurer les objets légende (voir Légende de la Taille définie par des données pour plus de détails).
Créer une analyse multivariée
Un rendu d’analyse multivariée vous aide à évaluer la relation entre deux ou plusieurs variables, par exemple, l’une peut être représenté par une palette de couleurs alors que l’autre est représentée par une variation de taille.
La façon la plus simple de créer une analyse multivariée dans QGIS est de :
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.
Ensemble de règles
Le moteur de rendu Ensemble de règles est utilisé pour afficher toutes les entités d’une couche en utilisant un ensemble de règles prédéfinies dont l’aspect reflète la manière dont une entité a été classée en fonction de ses attributs. Les règles sont définies par des expressions SQL et peuvent être imbriquées. La fenêtre permet de regrouper les règles par type de filtre ou échelle de validité et vous pouvez activer le rendu selon les niveaux de symboles ou arrêter le rendu à la première règle validée pour chaque entité.
Pour créer une règle :
Utilisez une ligne existante en double-cliquant dessus (par défaut, QGIS ajoute un symbole sans règle lorsque le mode de rendu est activé) ou cliquez sur le bouton Éditer la règle courante 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.
En sélectionnant une règle, vous pouvez également organiser ses caractéristiques en sous-classes en utilisant le menu déroulant Affiner les règles sélectionnées. L’affinement automatisé des règles peut être basé sur :
Les échelles ;
Les catégories: en appliquant un rendu catégorisé;
ou des intervalles: en appliquant un rendu gradué.
Les classes affinées apparaissent dans l’arborescence comme des sous-éléments de la règle et vous pouvez définir une symbologie pour chaque classe, comme vu au dessus.
Dans la boîte de dialogue Éditer une règle, vous pouvez éviter d’écrire toutes les règles et utiliser l’option 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 .
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
Affiner la règle actuelle: ouvrez un sous-menu qui permet d’affiner la règle actuelle avec échelles, catégories (rendu catégorisé) ou Plages (rendu gradué).
Les règles créées apparaissent également dans la légende de la carte. Double-cliquez sur les règles dans la légende de la carte pour que l’onglet Symbologie des propriétés de la couche affiche la règle qui gère l’affichage du symbole.
L’exemple de la figure Fig. 14.8 montre le rendu basé sur des règles pour la couche des rivières du jeu de données de QGIS.
Rendu Déplacement de point
Le rendu de Déplacement de point permet une visualisation de tous les points d’une couche, même si ceux-ci se superposent. Pour ce faire, le moteur de rendu sélectionne les points se trouvant dans une Distance donnée et les place autour de leur barycentre en suivant différentes Méthodes de placement :
Anneau : place tous les éléments sur un cercle dont le rayon dépend du nombre d’éléments à afficher.
Anneaux concentriques : utilise un ensemble de cercles concentriques pour montrer les entités.
Grille : génère une grille régulière avec un symbole de point à chaque intersection.
Le bouton Symbole du centre vous permet de personnaliser le symbole et la couleur du point central. Pour les symboles de points distribués, vous pouvez appliquer n’importe laquelle des options Aucun symbole, Symbole unique, Catégorisé, Gradué ou Ensemble de règles en utilisant la liste déroulante Moteur de rendu et les personnaliser en utilisant le bouton Paramètres du moteur de rendu.
Bien que l’espacement minimal des Lignes de déplacement dépende de celui du moteur de rendu des symboles de points, vous pouvez toujours personnaliser certains de ses paramètres tels que la Largeur de trait, la Couleur de trait et le Réglage de la taille (par exemple pour augmenter l’espacement entre les points).
Utilisez les options du groupe Étiquettes pour effectuer l’étiquetage des points : les étiquettes sont placées à une position décalée du symbole, et non à la position réelle de l’élément. Outre l’option Attribut de l’étiquette, Police de l’étiquette et Couleur de l’étiquette, vous pouvez définir la commande Utiliser un étiquetage dépendant de l’échelle pour afficher les étiquettes.
Note
Le rendu de déplacement de points ne modifie pas la géométrie des entités, ce qui signifie que les points ne sont pas déplacés de leur position. Ils sont toujours situés à leur emplacement initial. Les modifications ne sont que visuelles, à des fins de rendu. Utilisez plutôt l’algorithme de traitement Déplacement des points si vous voulez déplacer les points.
Rendu Groupe de points
Contrairement au rendu Déplacement de points qui répartit les points les plus proches ou superposés, le rendu Groupe de points regroupe les points proches dans un seul symbole. Sur la base d’une Distance spécifiée, les points qui se trouvent à l’intérieur du rayon sont fusionnés en un seul symbole. L’agrégation des points est faite en fonction du groupe le plus proche pouvant être formé, plutôt que de simplement leur assigner le premier groupe à l’intérieur de la distance de recherche.
A partir de la fenêtre principale, vous pouvez :
définir le symbole pour représenter le groupe de points dans le Symbole du cluster; le rendu par défaut affiche le nombre d’éléments agrégés grâce à la variable
@cluster_size
définie dans la « définition de données imposée » du symbole de police.utilisez la liste déroulante Moteur du rendu pour appliquer n’importe quel autre type de rendu à la couche (unique, catégorisé, basé sur des règles…). Ensuite, appuyez sur le bouton Paramètres du moteur de rendu… pour configurer la symbologie comme d’habitude. Notez que ce moteur de rendu n’est visible que sur les éléments qui ne sont pas regroupés. De plus, lorsque la couleur du symbole est la même pour tous les points à l’intérieur d’un cluster, cette couleur définit la variable
@cluster_color
du groupe.
Note
Le rendu de regroupement de points ne modifie pas la géométrie des entités, ce qui signifie que les points ne sont pas déplacés de leur position. Ils sont toujours situés à leur emplacement initial. Les modifications ne sont que visuelles, à des fins de rendu. Utilisez plutôt l’algorithme de traitement Partitionnement en K-moyennes ou Mise en cluster DBSCAN si vous voulez regrouper des entités en cluster.
Rendu Polygones inversés
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.
Rendu Carte de chaleur
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.
Rendu 2.5D
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).
Astuce
Utilisation de l’effet 2.5D avec d’autres styles de rendu
Quand vous avez terminé de définir le style rendu 2.5D, vous pouvez le convertir en un autre rendu (symbole unique, catégorisé, gradué). Les effets 2.5D seront conservés et toutes les autres options spécifiques au rendu seront disponibles (de cette façon, vous pouvez par exemple catégoriser des symboles avec une belle représentation 2.5D ou ajouter un style complémentaire à vos symboles 2.5D). Pour vous assurer que l’ombre et le «bâtiment» lui-même n’interfèrent pas avec d’autres entités voisines, vous pouvez activer les niveaux de symboles (
). 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.14.1.3.2. Rendu de couche
Dans l’onglet Symbologie, vous pouvez également définir des options qui agissent sur toutes les entités de la couche :
Opacité : 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…
14.1.3.3. Autres Paramètres
Niveaux de symbole
Pour les moteurs de rendu qui permettent l’empilement des couches de symbole (seul carte de chaleur ne le permet pas), il existe une option pour contrôler l’ordre de rendu de chaque niveau de symbole.
Pour la plupart des moteurs de rendu, vous pouvez accéder à l’option des niveaux de symbole en cliquant sur le bouton Avancé situé sous la liste des symboles enregistrés puis en choisissant Niveaux de symboles. Pour le moteur de rendu Ensemble de règles, l’option est directement activée par le bouton Niveaux de symboles… alors que pour le moteur de rendu Rendu Déplacement de point, le même bouton est à l’intérieur de la boîte de dialogue Paramètres du moteur de rendu.
Pour activer les niveaux de symbole, sélectionnez 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.
Note
Si les niveaux de symbole sont désactivés, les symboles complets seront dessinés en fonction de l’ordre des entités. Les symboles situés au dessus masqueront ceux situés en dessous. Des symboles de même niveau ne seront pas « fusionnés » ensemble.
Légende de la Taille définie par des données
Lorsqu’une couche est rendue en symboles proportionnels ou analyse multivariée ou lorsqu’un diagramme de taille variable est appliqué à la couche, vous pouvez autoriser l’affichage des symboles mis à l’échelle à la fois dans le panneau des couches et la légende d’une mise en page.
Pour ouvrir la fenêtre de Légende de la Taille définie par des données pour le rendu des symboles, sélectionnez l’option éponyme dans le bouton Avancé sous la liste des symboles enregistrés. Pour les diagrammes, l’option est disponible sous l’onglet Légende. La fenêtre fournit les options suivantes pour :
sélectionner le type de légende : 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 ;
définir le symbole à utiliser 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.
Un aperçu de la légende est affiché dans le panneau droit de la boîte de dialogue et mis à jour au fur et à mesure que vous réglez les paramètres. Pour la légende repliée, une ligne de repère horizontale est tracée entre le bord supérieur du symbole et le texte de légende correspondant.
Note
Actuellement, la légende définie par la taille les données ne peut être appliquée à la couche de points qu’à l’aide d’une symbologie unique, catégorisée ou graduée.
Effets
Pour améliorer le rendu de la couche et éviter (ou au moins réduire) d’utiliser un autre logiciel pour l’édition finale des cartes, QGIS fournit une autre fonctionnalité puissante: les options d” 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 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.
, sous le groupeLes 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. 14.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
( or ), 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. a aussi la possibilité de changer le rayon de floutage et le Couleur de l’ombre.
Ombre intérieure: Cet effet est semblable à l’effet
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 .Luminescence interne: Ajoute un effet de luminescence à l’intérieur de l’entité. Cet effet peut être personnalisé en ajustant la
(Rayon) de la luminescence ou le . 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.Luminescence externe: Cet effet est semblable à l’effet
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 .Transformer: Ajoute la possibilité de transformer la forme du symbole. Les premières options disponibles sont les
and qui créé une réflexion sur les axes horizontal et/ou vertical. Les 4 autres options sont:: déforme l’entité le long de l’axe x et/ou y.
: grossit ou réduit l’entité le long des axes x et/ou y d’un pourcentage donné.
: tourne l’entité autour de son centre.
et
qui déplace l’objet d’une distance donnée sur l’axe x et/ou l’axe y.
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).
14.1.4. Onglet Étiquettes
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.
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.
Voici les options affichées pour personnaliser les étiquettes, sous différents onglets :
La manière de définir chaque propriété est décrite ici : Paramétrer une étiquette.
14.1.4.1. Réglage du moteur de placement automatique
Vous pouvez utiliser les paramètres de placement automatique pour configurer un comportement automatisé des étiquettes au niveau du projet. Dans le coin supérieur droit de l’onglet etiquettes, cliquez sur le bouton Paramètres de placement automatique (s’applique à tous les calques), ouvrant une boîte de dialogue avec les options suivantes :
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.
14.1.4.2. Étiquettes basées sur des règles
Avec l’étiquetage basé sur des règles, plusieurs configurations d’étiquettes peuvent être définies et appliquées sélectivement sur la base des filtres d’expression et de la plage d’échelle, comme dans Ensemble de règles.
Pour créer une règle, sélectionnez l’option Étiquettes basées sur des règles dans la liste déroulante principale de l’onglet Etiquettes et cliquez sur le bouton en bas de la fenêtre de dialogue. Ensuite, remplissez le dialogue avec une description et une expression pour filtrer les entités. Vous pouvez également définir une plage d’échelle Échelle de visualisation dans laquelle la règle d’étiquette doit être appliquée. Les autres options disponibles dans cette boîte de dialogue sont les options de Paramétrer une étiquette vues précédemment.
Un résumé des règles existantes est affiché dans la boîte de dialogue principale Fig. 14.29). Vous pouvez ajouter plusieurs règles, les réorganiser ou les imbriquer par glisser-déposer. Vous pouvez également les supprimer avec le bouton ou les éditer avec le bouton ou un double-clic.
14.1.4.3. Définir des étiquettes basées sur des expressions
Que vous choisissiez un type d’étiquetage simple ou basé sur des règles, QGIS permet d’utiliser des expressions pour étiqueter les entités.
En supposant que vous utilisez la méthode :guilabel: Étiquettes simples, cliquez sur près de la liste déroulante Valeur dans l’onglet Étiquettes de la fenêtre des propriétés.
Dans Fig. 14.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.
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
John Smith, 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
My name is John Smith and I live in Paris
Étiquette basée sur deux champs “nom” et “lieu” avec d’autres textes combinant différentes fonctions de concaténation :
concat('My name is ', name, ' and I live in ' || place)
Renvoie
My name is John Smith and I live in Paris
Ou, si le champ “lieu” est NULL, renvoie : :
My name is John Smith
Étiquette multi-ligne basée sur deux champs “nom” et “lieu” avec un texte descriptif :
concat('My name is ', "name", '\n' , 'I live in ' , "place")
Renvoie
My name is John Smith I live in Paris
Étiquette basée sur un champ et la fonction $area pour afficher le nom du lieu et sa superficie arrondie dans une unité de surface :
'The area of ' || "place" || ' has a size of ' || round($area/10000) || ' ha'
Renvoie
The area of Paris has a size of 10500 ha
Créer une condition CASE ELSE. Si la valeur de la population dans le champ « population » est <= 50000 c’est une localité (town), sinon c’est une ville (city) :
concat('This place is a ', CASE WHEN "population" <= 50000 THEN 'town' ELSE 'city' END)
Renvoie
This place is a town
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.
14.1.4.4. Utiliser des valeurs de paramètres définies par les données pour l’étiquetage
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) :
Activez l’onglet Texte.
Sélectionnez Editer… et tapez:
CASE WHEN "USE" like '%Military%' THEN 8 -- because compatible values are 'Military' -- and 'Joint Military/Civilian' ELSE 10 END
Appuyez sur OK pour valider. La boîte de dialogue se ferme et le bouton devient ce qui signifie qu’une règle est exécutée.
Cliquez ensuite sur le bouton à côté de la propriété de couleur, tapez l’expression ci-dessous et validez:
CASE WHEN "USE" like '%Military%' THEN '150, 150, 150' ELSE '0, 0, 255' END
De même, vous pouvez personnaliser toute autre propriété de l’étiquette, comme vous le souhaitez. Voir plus de détails sur la description et la manipulation du widget Valeur définie par des données dans la section Valeurs définies par des données.
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, Options des entité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.
La barre d’outils Étiquettes
La barre d’outils Etiquette fournit quelques outils pour manipuler les propriétés d’une étiquette ou d’un diagramme.
Pour plus de lisibilité, le terme étiquette
a été utilisé ci-dessous pour décrire la barre d’outils, notez que lorsqu’il est mentionné dans leur nom, les outils fonctionnent presque de la même manière avec les diagrammes :
Mettre en évidence les étiquettes et diagrammes épinglés. Si la couche vecteur de l’étiquette est modifiable, alors la surbrillance est verte, sinon elle est bleue.
Bascule l’affichage des étiquettes non placées: Permet de déterminer si des étiquettes importantes sont manquantes dans les cartes (par exemple en raison de chevauchements ou d’autres contraintes). Ils sont affichés avec une couleur personnalisable (voir Réglage du moteur de placement automatique).
Épingler/Détacher les étiquettes et les diagrammes. En cliquant ou en faisant glisser une zone, vous épinglez une ou plusieurs étiquette(s). Si vous cliquez ou faites glisser une zone en maintenant Shift, le(s) label(s) est (sont) déconnecté(s). Enfin, vous pouvez également cliquer ou faire glisser une zone en maintenant la touche Ctrl pour faire basculer l’état de l’épinglage du ou des libellés.
Afficher/Masquer les étiquettes et diagrammes. Si vous cliquez sur les étiquettes, ou si vous cliquez et faites glisser une zone en maintenant Shift, elles sont cachées. Lorsqu’un libellé est caché, il suffit de cliquer sur l’élément pour lui redonner sa visibilité. Si vous faites glisser une zone, tous les libellés de la zone seront restaurés.
Déplacer l’étiquette ou le diagramme. Il suffit de faire glisser l’étiquette à l’endroit souhaité.
Pivoter l’étiquette. Cliquez sur l’étiquette et déplacez-vous pour faire pivoter le texte.
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.
Personnaliser les étiquettes à partir du canevas de la carte
Combiné avec la Barre d’outils Étiquettes, la définition de paramètre par les données vous aide à manipuler les étiquettes dans la carte (déplacer, éditer, tourner). Nous décrivons ici un exemple utilisant l’option de définition d’un paramètre par les données pour la fonction Déplacer les étiquettes (voir Fig. 14.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 etylabel
pour Y. Les icônes prennent alors une surbrillance jaune.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. 14.34). La nouvelle position est sauvegardée dans les colonnes
xlabel
etylabel
de votre table attributaire.Il est aussi possible d’ajouter une ligne reliant chaque lac à son étiquette déplacée, en utilisant:
la propriété Connecteurs de l’étiquette
ou une couche de symbole de type générateur de géométrie avec l’expression ci-après:
make_line( centroid( $geometry ), make_point( "xlabel", "ylabel" ) )
Note
Le mécanisme Onglet Stockage auxiliaire peut être utilisé avec des propriétés définies par les données sans avoir de source de données modifiable.
14.1.5. Onglet Diagrammes
L’onglet Diagrammes permet d’ajouter une couche de graphiques sur une couche vecteur (voir Fig. 14.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:
14.1.5.1. Attributs
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.
14.1.5.2. Rendu
Rendu définit à quoi ressemble le diagramme. Il fournit des paramètres généraux qui n’interfèrent pas avec les valeurs statistiques telles que:
l’opacité du graphique, sa largeur et sa couleur de contour;
Selon le type de diagramme :
pour les histogrammes et les barres empilées, la largeur de la barre et l’espacement entre les barres. Vous pouvez définir l’espacement à
0
pour les barres empilées. En outre, le symbole de ligne d’axe peut être rendu visible sur le canevas de la carte et personnalisé à l’aide des propriétés de symbole linéaire.pour le diagramme de texte, la couleur de fond du cercle et la police utilisée pour les textes ;
pour les diagrammes en camembert, l’angle Début de la première tranche et leur Direction (sens horaire ou non).
l’utilisation des effets de rendu sur les graphiques.
Dans cet onglet, vous pouvez également gérer et affiner la visibilité du diagramme avec différentes options:
Diagramme z-index: contrôle la façon dont les diagrammes sont dessinés les uns sur les autres et sur les étiquettes. Un diagramme avec un indice élevé est tracé au-dessus des diagrammes et des étiquettes;
Afficher tous les diagrammes: affiche tous les diagrammes même s’ils se chevauchent;
Voir diagramme: permet de ne visualiser que des diagrammes spécifiques;
Toujours visible: sélectionne des diagrammes spécifiques à toujours afficher, même lorsqu’ils chevauchent d’autres diagrammes ou étiquette de carte;
définition de Visibilité dépendante de l’échelle ;
14.1.5.3. Taille
taille est l’onglet principal permettant de définir la manière dont les statistiques sélectionnées sont représentées. L”unité 1 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.
Pour les histogrammes et les barres empilées, entrez une valeur Longueur de la barre, utilisée pour représenter la Valeur maximale des attributs. Pour chaque entité, la longueur de la barre sera ensuite mise à l’échelle de façon linéaire pour conserver cette correspondance.
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.
14.1.5.4. Position
Placement définit la position du diagramme. Selon le type de géométrie de la couche, il offre différentes options pour le placement (plus de détails dans Placement) :
autour point ou sur point pour les géométries ponctuelles. La première variable nécessite un rayon à suivre.
autour de la ligne ou sur la ligne pour la géométrie de ligne. Comme pour les entités ponctuelles, la première variable requiert une distance à respecter et vous pouvez spécifier le placement du diagramme par rapport à l’entité (“au-dessus”, “sur” et/ou “en dessous” de la ligne). Il est possible de sélectionner plusieurs options à la fois. Dans ce cas, QGIS recherchera la position optimale du diagramme. Rappelez-vous que vous pouvez également utiliser l’orientation de la ligne pour la position du diagramme.
autour du centroïde (donné une Distance), sur le centroïde, en utilisant le périmètre et dans le polygone représentent les options pour les entités polygones.
Le groupe coordonnées permet de contrôler directement le placement des diagrammes, élément par élément, en utilisant leurs attributs ou une expression pour définir les coordonnées X et Y. Ces informations peuvent également être renseignées à l’aide de l’outil Déplacer des étiquettes et des diagrammes.
Dans la section priorité, vous pouvez définir le rang de priorité de placement de chaque diagramme, c’est-à-dire que s’il y a différents diagrammes ou étiquettes candidats pour le même emplacement, l’élément ayant la priorité la plus élevée sera affiché et les autres pourront être laissés de côté.
décourager les diagrammes et les étiquettes qui recouvrent l’entité définit les entités à utiliser comme obstacles, c’est-à-dire que QGIS essaiera de ne pas placer de diagrammes ni d’étiquettes sur ces entités. Le rang de priorité est ensuite utilisé pour évaluer si un diagramme peut être omis en raison d’un obstacle plus important.
14.1.5.5. Options
L’onglet Options comporte des paramètres pour les histogrammes et les barres empilées. Vous pouvez choisir si l’orientation de la barre doit être Haut, Bas, Droit ou Gauche, pour les diagrammes horizontaux et verticaux.
14.1.5.6. Légende
A partir de l’onglet Légende, vous pouvez choisir d’afficher les éléments du diagramme dans le panneau Couches, et dans la légende de mise en page, à côté de la symbologie de la couche :
vérifier Afficher les entrées de légende pour les attributs du diagramme pour afficher dans les légendes les propriétés
Couleur
etLé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.
14.1.6. Propriétés Masques
L’onglet Masques vous aide à configurer la superposition des symboles de la couche courante avec d’autres couches de symboles ou d’étiquettes, à partir de n’importe quelle couche. Ceci a pour but d’améliorer la lisibilité des symboles et des étiquettes dont les couleurs sont proches et peuvent être difficiles à déchiffrer lorsqu’ils se superposent ; il ajoute un masque personnalisé et transparent autour des éléments pour « cacher » certaines parties des couches de symboles de la couche actuelle.
Pour appliquer des masques sur le calque actif, vous devez d’abord activer dans le projet soit masques de couches de symbole, soit masques d’étiquettes. Ensuite, dans l’onglet Masques, cochez :
Les Couches de symboles masqués : liste dans une structure arborescente toutes les couches de symboles de la couche courante. Vous pouvez y sélectionner les éléments de la couche de symboles que vous souhaitez « couper » de manière transparente lorsqu’ils recouvrent les sources du masque sélectionné.
l’onglet Sources du masque : liste toutes les étiquettes de masque et les couches de symboles de masque définies dans le projet. Sélectionnez les éléments qui génèrent le masque sur les couches de symboles masqués sélectionnées.
14.1.7. Propriétés de la vue 3D
L’onglet Vue 3D fournit des paramètres pour les couches vecteur qui devraient être représentées dans la vue cartographique 3D.
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 est8
.voir l’étendue des tuiles : particulièrement utile s’il y a des problèmes avec les tuiles qui ne s’affichent pas quand elles le devraient.
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.
14.1.8. Onglet Champs
L’onglet Champs fournit des informations sur les champs liés à la couche et vous aide à les organiser.
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.
Vous pouvez également renommer des champs en double-cliquant sur son nom. Ceci n’est pris en charge que pour les fournisseurs de données tels que PostgreSQL, Oracle, la couche mémoire et certaines couches OGR selon le format et la version des données OGR.
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.
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é.
Outre les champs contenus dans les données, champs virtuels et Stockage auxiliaire inclus, l’onglet Champs répertorie également les champs issus des couches jointes. Selon l’origine du champ, une couleur d’arrière-plan différente lui est appliquée.
Pour chaque champ répertorié, la boîte de dialogue répertorie également les caractéristiques en lecture seule telles que son type
, le nom du type
, sa longueur
et sa précision
. Lorsque vous servez la couche en tant que WMS
ou WFS
, vous pouvez également choisir ici quels champs peuvent être récupérés.
14.1.9. Onglet Formulaire d’attributs
L’onglet Formulaire d’attributs vous aide à configurer le formulaire à afficher lors de la création de nouvelles entités ou de l’interrogation d’une fonctionnalité existante. Vous pouvez définir:
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 .
14.1.9.1. Personnaliser un formulaire pour vos données
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 . Cette propriété contient trois valeurs différentes:
Génération automatique
: conserve la structure de base « d’une ligne - un champ » pour le formulaire mais permet de personnaliser chaque widget correspondant.Conception par glisser-déposer
: outre la personnalisation des widgets, la structure du formulaire peut être rendue plus complexe, par exemple, avec des widgets intégrés dans des groupes et des onglets.Fournir un fichier ui
: permet d’utiliser un fichier de conception Qt, donc un modèle potentiellement plus complexe et complet, comme formulaire d’entité.
Le formulaire généré automatiquement
Lorsque l’option Génération automatique
est activée, le panneau Widgets disponibles affiche les listes de champs (de la couche et de ses relations) qui seraient affichés dans le formulaire. Sélectionnez un champ et vous pouvez configurer son apparence et son comportement dans le panneau de droite :
en ajoutant étiquette personnalisée et contrôles automatisés au champ ;
en définissant un widget particulier à utiliser.
Le glisser-déposer
Le concepteur de glisser-déposer vous permet de créer un formulaire avec plusieurs conteneurs (onglets ou groupes) pour présenter les champs d’attribut, comme illustré par exemple dans Fig. 14.42.
Choisissez
Conception par glisser-déposer
dans la combobox Sélectionner l’éditeur de mise en forme d’attribut. Ceci active le panneau Disposition du formulaire à côté du panneau Contrôles disponibles, rempli des champs existants. Le champ sélectionné affiche ses propriétés dans un troisième panneau.Sélectionnez les champs que vous ne souhaitez pas utiliser dans votre panneau Présentation du formulaire et cliquez sur pour les supprimer. Faites glisser et déposez les champs de l’autre panneau pour les ajouter à nouveau. Le même champ peut être ajouté plusieurs fois.
Faites glisser et déposez les champs dans le panneau Présentation du formulaire pour réorganiser leur position.
Ajoutez des conteneurs (onglets ou cadres de groupe) pour associer des champs appartenant à la même catégorie et mieux structurer le formulaire.
La première étape consiste à utiliser icone pour créer un onglet dans lequel les champs et les groupes seront affichés
Définissez ensuite les propriétés du conteneur, c’est-à-dire:
le nom
le type, c’est-à-dire un onglet ou un groupe dans un conteneur (un groupe à l’intérieur d’un onglet ou d’un autre groupe)
et le nombre de colonnes les champs intégrés doivent être répartis sur
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
afficher le conteneur sous forme de zone de groupe (uniquement disponible pour les onglets).
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
ajouter une couleur d’arrière-plan
Vous pouvez créer autant de conteneurs que vous le souhaitez; appuyez sur le à nouveau pour créer un autre onglet ou un cadre de groupe sous un onglet existant.
L’étape suivante consiste à attribuer les champs pertinents à chaque conteneur, par simple glisser-déposer. Les groupes et les onglets peuvent également être déplacés de la même manière.
Personnalisez le widget des champs à utiliser
Dans le cas où la couche est impliquée dans une relation un ou plusieurs à plusieurs, faites glisser le nom de la relation du panneau Contrôles disponibles vers le panneau Disposition du formulaire. Le formulaire d’attribut défini pour la couche associée sera incorporée à l’endroit choisi dans le formulaire de la couche actuelle. Comme pour les autres éléments, sélectionnez l’étiquette de relation pour configurer certaines propriétés :
masquer ou afficher l’étiquette de relation
afficher le bouton de lien
afficher le bouton de dissociation
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.
Utilisation d’un fichier ui personnalisé
L’option Fournir un fichier ui
vous permet d’utiliser des dialogues complexes créés avec Qt-Designer. L’utilisation d’un fichier ui permet une grande liberté dans la création d’une boîte de dialogue. Notez que, pour lier les objets graphiques (zone de texte, combobox …) aux champs de la couche, vous devez leur donner le même nom.
Utilisez Edit UI pour définir le chemin d’accès au fichier à utiliser.
Les fichiers UI peuvent également être hébergés sur un serveur distant. Dans ce cas, vous fournissez l’URL du formulaire au lieu du chemin d’accès au fichier dans Edit UI.
Vous trouverez un exemple dans la leçon Créer un nouveau formulaire de Manuel d’exercice Qgis. Pour plus d’informations, voir https://woostuff.wordpress.com/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.
Améliorez votre formulaire avec des fonctions personnalisées
Les formulaires QGIS peuvent avoir une fonction Python qui est appelée lorsque la boîte de dialogue est ouverte. Utilisez cette fonction pour ajouter une logique supplémentaire à vos boîtes de dialogue. Le code du formulaire peut être spécifié de trois manières différentes:
charger depuis l'environnement
: utiliser une fonction, par exemple dans: file: startup.py ou depuis un plugin installécharger à partir d'un fichier externe
: un sélecteur de fichier vous permettra de sélectionner un fichier Python dans votre système de fichiers ou d’entrer une URL pour un fichier distant.fournir du code dans cette boîte de dialogue
: un éditeur Python apparaîtra où vous pourrez directement taper la fonction à utiliser.
Dans tous les cas, vous devez saisir le nom de la fonction qui sera appelée (ouvrir
dans l’exemple ci-dessous).
Un exemple (dans le module MyForms.py) :
def open(dialog,layer,feature):
geom = feature.geometry()
control = dialog.findChild(QWidget,"My line edit")
Référence dans la fonction Python Init comme ceci: open
14.1.9.2. Configurer le comportement du champ
La partie principale de l’onglet Formulaire d’attributs vous aide à définir le type de widget utilisé pour remplir ou afficher les valeurs du champ, dans la table d’attributs ou le formulaire de l’entité: vous pouvez définir comment l’utilisateur interagit avec chaque champ et les valeurs ou plage de valeurs pouvant être ajoutées à chacune.
Paramètres généraux
Quel que soit le type de widget appliqué au champ, il existe des propriétés communes que vous pouvez définir pour contrôler si et comment un champ peut être modifié.
Affichage du widget
Afficher l’étiquette : indique si le nom du champ doit être affiché dans le formulaire (uniquement dans le mode de conception glisser-déposer).
Options générales
Alias: un nom lisible par l’homme à utiliser pour les champs. L’alias sera affiché dans le formulaire d’entité, la table attributaire ou dans le panneau Identifier les résultats. Il peut également être utilisé comme remplacement de nom de champ dans Générateur d’expressions, facilitant la compréhension et la révision des expressions. Les alias sont enregistrés dans le fichier de projet.
Commentaire: affiche le commentaire du champ comme indiqué dans l’onglet Champs, en lecture seule. Ces informations sont affichées sous forme d’infobulle lors du survol de l’étiquette de champ dans un formulaire d’entité.
Editable: décochez cette option pour définir le champ en lecture seule (non modifiable manuellement) même lorsque la couche est en mode édition. Notez que la vérification de ce paramètre ne remplace aucune limitation de modification du fournisseur.
Etiquette en haut: place le nom du champ au-dessus ou à côté du widget dans le formulaire d’entité.
Valeurs par défaut
Valeur par défaut: pour les nouvelles entités, remplit automatiquement par défaut le champ avec une valeur prédéfinie ou basée sur une expression. Par exemple, vous pouvez :
utilisez
$x
,$length
,$area
pour remplir automatiquement un champ avec les coordonnées X, la longueur, la surface ou toute information géométrique de l’entité lors de sa création;incrémenter un champ de 1 pour chaque nouvelle entité en utilisant
maximum ("field")+1
;enregistrer la date de création d’une entité en utilisant
now()
;utiliser des variables dans les expressions, ce qui facilite par exemple l’insertion du nom de l’opérateur (
@user_full_name
), le chemin du fichier projet (@project_path
), …
Un aperçu de la valeur par défaut résultante s’affiche en bas du widget.
Note
L’option
Valeur par défaut
ne connaît pas les valeurs dans aucun autre champ de l’entité en cours de création, il ne sera donc pas possible d’utiliser une expression combinant l’une de ces valeurs, c’est-à-dire en utilisant une expression commeconcat(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 …
Contraintes
Vous pouvez contraindre la valeur à insérer dans le champ. Cette contrainte peut être:
Unique: garantit que la valeur insérée est unique sur tout le champ;
basée sur une expression personnalisée : par exemple,
not regexp_match(col0,'[^A-Za-z]')
garantira que la valeur du champ col0 ne comporte que des lettres de l’alphabet. Une courte description peut être ajoutée pour vous aider à vous souvenir de la contrainte.
Chaque fois qu’une valeur est ajoutée ou modifiée dans un champ, elle est soumise aux contraintes existantes et:
s’il répond à toutes les exigences, une coche verte est affichée à côté du champ dans le formulaire;
s’il ne répond pas à toutes les exigences, une croix jaune ou orange s’affiche près du champ. Vous pouvez survoler la croix pour rappeler quelles contraintes sont appliquées au champ et en corriger la valeur:
Une croix jaune apparaît lorsque la contrainte non satisfaite n’est pas appliquée et ne vous empêche pas d’enregistrer les modifications avec les «mauvaises» valeurs;
Une croix orange ne peut être ignorée et ne vous permet pas d’enregistrer vos modifications tant qu’elles ne répondent pas aux contraintes. Elle apparaît lorsque la Appliquer la contrainte est cochée.
Éditer les widgets
En fonction du type de champ, QGIS détermine et lui attribue automatiquement un type de widget par défaut. Vous pouvez ensuite remplacer le widget par tout autre compatible avec le type de champ. Les widgets disponibles sont:
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
.Pièce jointe : utilise une boîte de dialogue « Ouvrir un fichier » pour stocker le chemin du fichier en mode relatif ou absolu. Il peut également être utilisé pour afficher un lien hypertexte (vers le chemin du document), une image ou une page Web.
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
.Liste : affiche une liste à valeurs multiples à ajouter dans un seul champ. Ceci est actuellement pris en charge par le fournisseur PostgreSQL, pour les champs de type
array
.Plage : Vous permet de spécifier une plage de valeurs numériques disponibles. Il peut s’agir d’une barre coulissante ou d’une zone de texte éditable.
Référence de relation : Il s’agit du widget par défaut attribué au champ de référencement (c’est-à-dire la clé étrangère dans la couche enfant) lorsqu’une relation est définie. Il fournit un accès direct au formulaire de l’entité parent qui, à son tour, intègre la liste et le formulaire de ses enfants.
Edition de texte (par défaut) : ceci ouvre un champ d’édition de texte qui permet d’utiliser du texte simple ou plusieurs lignes. Si vous choisissez plusieurs lignes, vous pouvez également choisir un contenu html.
Valeurs uniques : Vous pouvez sélectionner l’une des valeurs déjà utilisée dans la table attributaire. Si «Modifiable» est activé, une modification de ligne est affichée avec prise en charge de la saisie semi-automatique, sinon une zone de liste déroulante est utilisée.
Génération uuid : Génère un champ UUID (Universally Unique Identifiers) en lecture seule, si il est vide.
Valeur de carte : une zone de liste déroulante avec des éléments prédéfinis. La valeur est stockée dans l’attribut, la description est affichée dans la zone de liste déroulante. Vous pouvez définir des valeurs manuellement ou les charger à partir d’une couche ou d’un fichier CSV.
Relation de valeur : offre les valeurs d’une table associée dans une zone de liste déroulante. Vous pouvez sélectionner une couche, une colonne clé et une colonne de valeur. Plusieurs options sont disponibles pour modifier les comportements standard: autoriser la valeur nulle, classer par valeur, autoriser les sélections multiples et utiliser l’auto-completon Les formulaires afficheront une liste déroulante ou un champ d’édition de ligne lorsque la case à cocher « Compléter » est activée.
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.
14.1.10. Onglet Jointures
L’onglet Jointures vous permet d’associer des entités de la couche actuelle (appelée couche cible
) à des entités d’une autre couche vecteur (ou table) chargée. La jointure est basée sur un attribut partagé par les couches. Les couches peuvent être sans géométrie (tables) ou non, mais leur attribut de jointure doit être du même type.
Pour créer une jointure :
Cliquez sur le bouton Ajouter une nouvelle jointure. La boîte de dialogue Ajouter une jointure vecteur apparaît.
Sélectionnez la Couche de jointure que vous souhaitez connecter avec la couche vecteur cible
Spécifiez le Champ de jointure et le Champ dans la couche cible qui sont communs à la fois à la couche de jointure et à la couche cible
Appuyez sur OK et un résumé des paramètres sélectionnés est ajouté à l’onglet Jointure.
Les étapes ci-dessus créeront une jointure, où TOUS les attributs de la première entité correspondante dans la couche de jointure sont ajoutés à l’entité de la couche cible. QGIS propose plus d’options pour modifier la jointure:
Mettre la couche jointe en cache dans la mémoire virtuelle : permet de mettre en cache les valeurs (sans géométrie) de la couche jointe afin d’accélérer les recherches.
Formulaire dynamique : aide à synchroniser les champs de jointure à la volée, selon le Champ dans la couche cible. De cette façon, les contraintes des champs de jointure sont également correctement mises à jour. Notez qu’il est désactivé par défaut car cela peut prendre beaucoup de temps si vous avez beaucoup d’entités ou une myriade de jointures.
Si la couche cible est modifiable, certaines icônes seront affichées dans la table attributaire à côté des champs, afin de renseigner leur statut :
: la couche de jointure n’est pas configurée pour être modifiable. Si vous souhaitez pouvoir modifier les fonctions de jointure à partir de la table d’attributs cible, vous devez cocher l’option Couche de jointure modifiable
: la couche de jointure est bien configurée pour être modifiable, mais son état actuel est en lecture seule.
: la couche de jointure est modifiable, mais les mécanismes de synchronisation ne sont pas activés. Si vous souhaitez ajouter automatiquement une entité dans la couche de jointure lorsqu’une entité est créée dans la couche cible, vous devez cocher l’option Mise à jour et insertion lors de l’édition. Symétriquement, l’option Supprimer en cascade peut être activé si vous souhaitez supprimer automatiquement les entités jointes.
Champs joints: au lieu d’ajouter tous les champs de la couche jointe, vous pouvez spécifier un sous-ensemble.
Préfixe de nom de champ personnalisé pour les champs joints, afin d’éviter la collision de noms
QGIS prend actuellement en charge la jonction de formats de table non spatiaux pris en charge par OGR (par exemple, CSV, DBF et Excel), le texte délimité et le fournisseur PostgreSQL.
14.1.11. Onglet Stockage auxiliaire
La manière habituelle de personnaliser le style et l’étiquetage consiste à utiliser des propriétés définies par les données comme décrit dans Valeurs définies par des données. Cependant, cela peut ne pas être possible si les données sous-jacentes sont en lecture seule. De plus, la configuration de ces propriétés définies par les données peut prendre beaucoup de temps ou n’est pas souhaitable! Par exemple, si vous souhaitez utiliser pleinement les outils cartographiques fournis avec La barre d’outils Étiquettes, vous devez ajouter et configurer plus de 20 champs dans votre source de données d’origine (positions X et Y, angle de rotation, style de police, couleur …).
Le mécanisme de stockage auxiliaire fournit la solution à ces limitations et configurations maladroites. Les champs auxiliaires sont un moyen détourné de gérer et de stocker automatiquement ces propriétés définies par les données (étiquettes, diagramme, symbologie …) dans une base de données SQLite grâce à des jointures modifiables. Cela vous permet de stocker les propriétés des couches qui ne sont pas modifiables.
Un onglet est disponible dans la fenêtre des propriétés de la couche vecteur pour gérer le stockage auxiliaire :
14.1.11.1. Étiquetage
Étant donné que la source de données peut être personnalisée grâce à des propriétés définies par les données sans être modifiable, les outils d’étiquetage sur la carte décrits dans La barre d’outils Étiquettes sont toujours disponibles dès que l’étiquetage est activé.
En fait, le système de stockage auxiliaire a besoin d’une couche auxiliaire pour stocker ces propriétés dans une base de données SQLite (voir Stockage auxiliaire en base de données). Son processus de création est exécuté la première fois que vous cliquez sur la carte alors qu’un outil de carte d’étiquetage est actuellement activé. Ensuite, une fenêtre s’affiche, vous permettant de sélectionner la clé primaire à utiliser pour la jointure (pour vous assurer que les entités sont identifiées de manière unique) :
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
champs auxiliaires.
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, les champs 21
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 une entité 1
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 :
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. 14.47) s’affiche d’abord pour sélectionner la clé primaire à utiliser pour la jointure.
14.1.11.2. Style
Comme la méthode décrite ci-dessus pour personnaliser les étiquettes, les champs auxiliaires peuvent également être utilisés pour styliser les symboles et les diagrammes. Pour ce faire, cliquez sur 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 :
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 :
Une fois créé, le champ auxiliaire peut être récupéré dans l’onglet Stockage auxiliaire :
14.1.11.3. Table d’attributs et widgets
Les champs auxiliaires peuvent être modifiés en utilisant la table attributaire. Cependant, tous les champs auxiliaires ne sont pas initialement visibles dans la table attributaire.
Les champs auxiliaires représentant les attributs de la symbologie, de l’étiquetage, de l’apparence ou des diagrammes d’une couche apparaissent automatiquement dans la table d’attributs. Les attributs pouvant être modifiés à l’aide de la barre d’outils Etiquettes sont masqués par défaut. Les champs auxiliaires représentant une couleur
ont un widget Couleur défini par défaut, sinon les champs auxiliaires sont définis par défaut sur le widget Text Edit.
Les champs auxiliaires qui représentent des attributs qui peuvent être modifiés à l’aide de 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 et modifiez le Type de widget d’un champ auxiliaire de masqué à une autre valeur pertinente. Par exemple, changez la auxiliary_storage_labeling_size en Édition de texte ou remplacez la 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:
14.1.11.4. La gestion
Le menu Couche auxiliaire vous permet de gérer les champs auxiliaires:
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.
14.1.11.5. Stockage auxiliaire en base de données
Lorsque vous enregistrez votre projet au format .qgs
, la base de données SQLite utilisée pour le stockage auxiliaire est enregistrée au même endroit mais avec l’extension .qgd
.
Pour plus de commodité, une archive peut être utilisée à la place grâce au format .qgz
. Dans ce cas, les fichiers .qgd
et .qgs
sont tous deux intégrés dans l’archive.
14.1.12. Onglet Actions
QGIS est capable d’effectuer des actions basées sur les attributs d’une entité. Il peut s’agir de nombreuses actions, par exemple exécuter un programme avec des arguments construits à partir des attributs d’une entité, ou encore, passer des paramètres à un outil de publication de rapports sur internet.
Les actions sont utiles si vous voulez exécuter fréquemment une application externe ou charger une page web basée sur une ou plusieurs valeurs de votre couche vecteur. Il en existe six types qui peuvent être utilisés de la sorte :
Les actions de type Générique, Mac, Windows et Unix lancent un processus externe.
Les actions Python lancent un code Python.
Les actions de type Générique et Python sont disponibles quel que soit le système d’exploitation.
Les actions Mac, Windows et Unix sont disponibles uniquement depuis les systèmes d’exploitation correspondants (c’est à dire que vous pouvez définir trois actions “Éditer” qui ouvrent un éditeur et les utilisateurs ne verront que l’action correspondant à leur système d’exploitation).
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).
14.1.12.1. Définir des Actions
Pour définir une action d’attribut, ouvrez la boîte de dialogue Propriétés de la couche et cliquez sur l’onglet Actions. Dans l’onglet Actions, cliquez sur le Ajouter une nouvelle action pour ouvrir la boîte de dialogue Modifier l’action.
Sélectionnez l’action Type et fournissez un nom descriptif pour l’action. L’action elle-même doit contenir le nom de l’application qui sera exécutée lorsque l’action sera invoquée. Vous pouvez ajouter une ou plusieurs valeurs de champ d’attribut comme arguments à l’application. Lorsque l’action est invoquée, tout ensemble de caractères commençant par un %
suivi du nom d’un champ sera remplacé par la valeur de ce champ. Les caractères spéciaux 1%%
seront remplacés par la valeur du champ qui a été sélectionné dans la table des résultats ou des attributs (voir using_actions ci-dessous). Les guillemets doubles peuvent être utilisés pour regrouper le texte en un seul argument du programme, du script ou de la commande. Les guillemets doubles seront ignorés s’ils sont précédés d’une barre oblique inverse.
Le :guilabel: Champs d’application de l’action vous permet de définir où l’action doit être disponible. Vous avez 4 choix différents :
Entité : l’action est disponible lorsque vous cliquez avec le bouton droit dans la cellule de la table d’attributs.
Champ : l’action est disponible lorsque vous cliquez avec le bouton droit de la souris dans la cellule du tableau d’attributs, dans le formulaire de l’entité et dans le bouton d’action par défaut de la barre d’outils principale.
Couche : l’action est disponible dans le bouton d’action de la barre d’outils du tableau des attributs. Sachez que ce type d’action implique la couche entière et non uniquement les entités.
Canvas : l’action est disponible dans le bouton d’action principal de la barre d’outils.
Si vous avez des noms de champs qui sont contenus dans d’autres noms de champs (par exemple, col1
et col10
), vous devez l’indiquer en entourant le nom de champ (le caractère %) par des crochets (par exemple [%col10]
). Ceci évitera de prendre le nom de champ %col10
pour %col1
avec un 0
à la fin. Les crochets seront retirés quand QGIS substituera le nom par la valeur du champ. Si vous voulez que le champ à substituer soit entouré de crochets, utilisez un deuxième jeu de crochets comme ceci : [[%col10]]
.
En utilisant l’outil Identifier les entités, vous ouvrez la fenêtre Identifier les résultats. Elle inclut une entrée (Dérivé) qui contient des informations pertinentes selon le type de couche. Les valeurs de cette entrée sont accessibles de la même manière que les autres champs en ajoutant (Derived).
avant le nom du champ. Par exemple, une couche de points a un champ X
et Y
et leurs valeurs peuvent être utilisées dans l’action avec %(Derived).X
et %(Derived).Y
. Les attributs dérivés sont disponibles uniquement depuis la fenêtre Identifier les résultats mais pas par la Table d’attributs.
Deux exemples d’action sont proposés ci-dessous :
konqueror https://www.google.com/search?q=%n am
konqueror https://www.google.com/search?q=%%
Dans le premier exemple, le navigateur Web konqueror est appelé et reçoit une URL à ouvrir. L’URL effectue une recherche Google sur la valeur du champ nam
de notre couche vecteur. Notez que l’application ou le script appelé par l’action doit se trouver dans le chemin ou vous devez fournir le chemin complet. Pour être certain, nous pourrions réécrire le premier exemple comme suit: /opt/kde3/bin/konqueror https: //www.google.com/search?q=%nam
. Cela garantira que l’application konqueror sera exécutée lorsque l’action sera invoquée.
Le deuxième exemple utilise la notation %% dont la valeur ne dépend pas d’un champ en particulier. Quand l’action est invoquée, %% sera remplacé par la valeur du champ sélectionné dans les résultats de l’identification ou dans la table d’attributs.
14.1.12.2. Utiliser des Actions
QGIS propose de nombreuses façons d’exécuter les actions que vous avez activées sur une couche. Selon leurs paramètres, ils peuvent être disponibles:
dans le menu déroulant du bouton Exécuter l’action à partir de la:guilabel:barre d’outils Attributs ou la Tables des 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 :
bash -c "echo \"%taxon_name %lat %long\" >> /tmp/species_localities.txt"
Après avoir sélectionné quelques localités et lancé l’action sur chacune d’entre elles, le fichier de destination ressemblera à ceci :
Acacia mearnsii -34.0800000000 150.0800000000
Acacia mearnsii -34.9000000000 150.1200000000
Acacia mearnsii -35.2200000000 149.9300000000
Acacia mearnsii -32.2700000000 150.4100000000
À titre d’exercice, nous pouvons créer une action qui effectue une recherche Google sur la couche lakes
. Tout d’abord, nous devons déterminer l’URL nécessaire pour effectuer une recherche sur un mot clé. Pour ce faire, il suffit d’aller sur Google et de faire une recherche simple, puis de saisir l’URL dans la barre d’adresse de votre navigateur. Grâce à ce petit effort, nous voyons que le format est https://www.google.com/search?q=QGIS, où QGIS
est le terme de recherche. Armés de ces informations, nous pouvons poursuivre :
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 dans le menu qui apparaît.
Cliquez sur l’onglet Actions
Choisissez le type d’action Ouvrir,
Entrez un nom pour l’action, par exemple
Recherche Google
.De plus, vous pouvez ajouter un Nom court ou même une Icône.
Choisissez le Champ d’application. Voir Définir des Actions pour plus d’informations. Laissez les paramètres par défaut pour cet exemple.
Pour l’action, nous devons fournir le nom du programme externe à lancer. Dans ce cas, nous allons utiliser Firefox. Si le programme n’est pas dans votre path, vous devez fournir le chemin complet.
Après le nom de l’application externe, ajoutez l’URL utilisée pour effectuer une recherche Google, jusqu’au terme de la recherche, mais sans l’inclure :
https://www.google.com/search?q=.
Le texte du champ Action doit maintenant ressembler à ceci :
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.Dans la liste déroulante, sélectionnez “NOM” et cliquez sur Insérer.
Votre texte Action ressemble maintenant à :
https://www.google.com/search?q=[%NAMES%]
Pour finaliser et ajouter l’action, cliquez sur le bouton OK.
L’action est donc entièrement définie et prête à être utilisée. Le texte final de l’action devrait correspondre à ça :
https://www.google.com/search?q=[%NAMES%]
Nous pouvons maintenant utiliser l’action. Fermez la fenêtre Propriétés de la couche et zoomez sur une zone d’intérêt. Assurez-vous que la couche lakes
est active puis identifiez un lac. Dans la fenêtre de résultats, vous constatez que notre action est maintenant visible :
Lorsque nous cliquons sur l’action, cela fait apparaître Firefox et accède à l’URL https://www.google.com/search?q=Tustumena. Il est également possible d’ajouter d’autres champs d’attribut à l’action. Par conséquent, vous pouvez ajouter un +
à la fin du texte de l’action, sélectionnez un autre champ et cliquez sur Insérer un champ. Dans cet exemple, il n’y a tout simplement aucun autre champ disponible qui aurait du sens à rechercher.
Vous pouvez définir de multiples actions pour une couche et chacune apparaîtra dans la fenêtre des Résultats de l’identification.
Depuis la table attributaire, vous pouvez aussi faire appel à des actions via un simple clic droit sur une cellule et sélection de l’action dans la fenêtre qui s’ouvre.
Vous pouvez imaginer toutes sortes d’utilisations pour ces actions. Par exemple, si vous avez une couche de points contenant la localisation d’images ou de photos ainsi qu’un nom de fichier, vous pouvez créer une action qui lancera un visualiseur pour afficher les images. Vous pouvez également utiliser les actions pour lancer des rapports sur internet pour un champ attributaire ou une combinaison de champs, en les spécifiant de la même manière que dans l’exemple d’une recherche Google.
Nous pouvons également fournir des exemples plus complexes, notamment sur la manière d’utiliser des actions Python.
Habituellement, lorsque nous créons une action pour ouvrir un fichier avec une application externe, nous pouvons utiliser des chemins absolus, ou éventuellement des chemins relatifs. Dans le second cas, le chemin est relatif à l’emplacement du fichier exécutable du programme externe. Mais qu’en est-il si nous devons utiliser des chemins relatifs, par rapport à la couche sélectionnée (une couche basée sur un fichier, comme Shapefile ou SpatiaLite) ? Le code suivant fera l’affaire :
command = "firefox"
imagerelpath = "images_test/test_image.jpg"
layer = qgis.utils.iface.activeLayer()
import os.path
layerpath = layer.source() if layer.providerType() == 'ogr'
else (qgis.core.QgsDataSourceURI(layer.source()).database()
if layer.providerType() == 'spatialite' else None)
path = os.path.dirname(str(layerpath))
image = os.path.join(path,imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )
Il faut simplement se rappeler qu’il s’agit d’une action Python et qu’il faut modifier les variables command et imagerelpath selon vos besoins.
Et si le chemin relatif doit dépendre du fichier de projet (sauvegardé) ? Le code de l’action Python deviendra :
command = "firefox"
imagerelpath = "images_test/test_image.jpg"
projectpath = qgis.core.QgsProject.instance().fileName()
import os.path
path = os.path.dirname(str(projectpath)) if projectpath != '' else None
image = os.path.join(path, imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )
Un autre exemple d’action Python consiste à ajouter de nouvelles couche au projet. L’exemple qui suit montre comment ajouter une couche vecteur et un raster. Les noms des fichiers à ajouter au projet et les noms à donner aux couches dépendent de données attributaires (filename et layername sont deux champs de la table attributaire de la couche sur laquelle l’action est créée) :
qgis.utils.iface.addVectorLayer('/yourpath/[% "filename" %].shp',
'[% "layername" %]', 'ogr')
Pour ajouter un raster (ici une image TIF), cela devient :
qgis.utils.iface.addRasterLayer('/yourpath/[% "filename" %].tif',
'[% "layername" %]')
14.1.13. Onglet Infobulles
L’onglet Affichage vous aide à configurer les champs à utiliser pour l’identification des entités
Le Nom d’affichage: basé sur un champ ou une expression. C’est:
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
les informations du pointeur de carte, c’est-à-dire le message affiché dans le canevas de carte lorsque vous survolez une entité de la couche active avec l’icône Afficher les infobulles. Applicable lorsque Infobulle HTML est défini.
L”Infobulle HTML est spécialement créé pour les infobulles de carte : c’est un texte HTML plus complexe et complet mélangeant des champs, des expressions et des balises html (multiligne, polices, images, hyperlien…).
Pour activer les infobulles de carte, sélectionnez l’option du menu Afficher les infobulles de la Barre d’outils Attributs. L’infobulle de carte est une fonctionnalité inter-sessions, ce qui signifie que tant qu’elle n’est pas désactivée, elle s’applique à n’importe quelle couche dans n’importe quel projet, même après redémarrage de QGIS.
ou cliquez sur l’icône14.1.14. Onglet Rendu
14.1.14.1. Visibilité dépendante de l’échelle
Vous pouvez définir une échelle Maximum (inclusive) et Minimum (exclusive), correspondant à une plage d’échelles pour lesquelles les entités sont visibles. En dehors de cette plage, elles sont cachées. Le bouton Mettre à l’échelle actuelle du canevas permet d’utiliser l’échelle actuelle pour l’une ou l’autre des limites de la plage de visibilité. Voir Rendu dépendant de l’échelle pour plus d’informations.
14.1.14.2. Simplifier les géométries
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.
Le rendu de couches très détaillées (ex: des couches de polygones avec un très grand nombre de nœuds) peut entraîner des exports de mise en page au format PDF/SVG très volumineux car tous les nœuds sont inclus dans le fichier exporté. Cela peut rendre également le fichier résultant long à ouvrir dans d’autres programmes.
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.
Vous pouvez également le faire en forçant la mise en page à exporter en tant que raster, mais il s’agit d’une solution tout ou rien, étant donné que la rastérisation est appliquée à toutes les couches.
Actualiser la couche à intervalle (secondes): réglez une minuterie pour actualiser automatiquement les couches individuelles à un intervalle correspondant. Les mises à jour du canevas sont différées afin d’éviter d’actualiser plusieurs fois si plusieurs couches ont un intervalle de mise à jour automatique défini.
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.
14.1.15. Onglet Variables
L’onglet Variables répertorie toutes les variables disponibles au niveau de la couche (qui inclut toutes les variables globales et de projet).
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.
Plus d’informations sur l’utilisation des variables dans les outils généraux dans Stockage de valeurs dans des variables.
14.1.16. Onglet Métadonnées
L’onglet Métadonnées vous offre des options pour créer et modifier un rapport de métadonnées sur votre couche. Informations à remplir :
les données d”Identification : attribution de base de l’ensemble de données (parent, identifiant, titre, résumé, langue…) ;
les Catégories auxquelles les données appartiennent. En plus des catégories ISO, vous pouvez ajouter des catégories personnalisées ;
les Mots-clés pour récupérer les données et les concepts associés en suivant un vocabulaire standard ;
les Acces au jeu de données (licences, droits, frais, contraintes) ;
l”Emprise de l’ensemble des données, spatiale (SCR, étendue de la carte, altitudes) et temporelle ;
le Contact du ou des propriétaires de l’ensemble des données ;
les Liens vers des ressources auxiliaires et des informations connexes ;
l”Historique de l’ensemble des données.
Un résumé des informations renseignées est fourni dans l’onglet Validation et vous aide à identifier les problèmes potentiels liés au formulaire. Vous pouvez ensuite les corriger ou les ignorer.
Les métadonnées sont actuellement enregistrées dans le fichier de projet. Elles peuvent également être enregistrées dans un fichier .qmd
à côté des fichiers de couche ou dans une base de données locale .sqlite
pour les couches distantes (par exemple PostGIS).
14.1.17. Onglet Dépendances
L’onglet Dépendances permet de déclarer les dépendances de données entre les couches. Une dépendance aux données se produit lorsqu’une modification de données dans une couche, et non par une manipulation directe de l’utilisateur, peut modifier les données d’autres couches. C’est le cas par exemple lorsque la géométrie d’une couche est mise à jour par un déclencheur de base de données ou un script PyQGIS personnalisé après modification de la géométrie d’une autre couche.
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.
14.1.18. Onglet Légende
L’onglet Légende vous fournit des paramètres avancés pour le panneau Couches et / ou la Légende de mise en page. Ces options incluent :
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.
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.
14.1.19. Onglet QGIS Server
L’onglet QGIS Server comprend: les sections Description, Attribution, URL Métadonnées et LegendUrl.
Dans la section Description, vous pouvez modifier le Nom court utilisé pour référencer la couche dans les requêtes (pour en savoir plus sur les noms courts, lisez Nom court pour les couches, les groupes et le projet). Vous pouvez également ajouter ou modifier un Titre et un résumé pour la couche, ou définir une Liste de mots-clés ici. Ces listes de mots-clés peuvent être utilisées dans un catalogue de métadonnées. Si vous voulez utiliser un titre d’un fichier de métadonnées XML, vous devez remplir un lien dans le champ DataUrl.
Utilisez le groupe Attribution pour récupérer les données d’attributs depuis un catalogue de métadonnées XML.
Dans le groupe URL Métadonnées, vous pouvez définir le chemin général d’accès au catalogue de métadonnées XML. Cette information sera stockée dans le fichier de projet QGIS pour les sessions à venir et sera utilisée par QGIS Server.
Dans la section LegendUrl, vous pouvez renseigner l’URL d’une image de légende dans le champ approprié. Vous pouvez utiliser l’option de liste déroulante pour choisir le format de l’image. Pour le moment, seuls les formats png, jpg et jpeg sont pris en compte.
Pour en savoir plus sur QGIS Server, lisez le Guide/manuel de QGIS Serveur.
14.1.20. Onglet numérisation
L’onglet Numérisation donne accès à des options permettant de garantir la qualité des géométries numérisées.
14.1.20.1. Corrections automatiques
Les options de la section Corrections automatiques affecteront directement les sommets de toute géométrie ajoutée ou modifiée. Si la 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.
14.1.20.2. Contrôles de géométrie
Dans la section Vérification de la géométrie, des validations supplémentaires par géométrie peuvent être activées. Immédiatement après toute modification de la géométrie, les échecs de ces vérifications sont signalés à l’utilisateur dans le panneau de validation de la géométrie. Tant qu’un contrôle échoue, il n’est pas possible d’enregistrer le couche. La case La vérification est valide exécutera des vérifications de validité de base comme l’auto-intersection sur les géométries.
14.1.20.3. Vérification de la topologie
Dans la section Vérifications de la topologie, des contrôles de validation de topologie supplémentaires peuvent être activés. Les vérifications de la topologie seront exécutées lorsque l’utilisateur enregistrera la couche. Les erreurs de vérification seront signalées dans le panneau de validation de la géométrie. Tant que des erreurs de validation sont présentes, la couche ne peut pas être enregistrée. Les vérifications de la topologie sont exécutées dans la zone du cadre de sélection des entités modifiées. Étant donné que d’autres entités peuvent être présentes dans la même zone, les erreurs topologiques concernant ces entités sont signalées ainsi que les erreurs introduites dans la session d’édition en cours.
Exception de vérification des écarts
Parfois, il est souhaitable de conserver les espaces à l’intérieur d’une zone dans une couche de polygones qui autrement est entièrement couverte par des polygones. Par exemple, une couche d’utilisation des terres peut avoir des trous acceptables pour les lacs. Il est possible de définir des zones qui sont ignorées dans la vérification de l’écart. Étant donné que les espaces à l’intérieur de ces zones sont autorisés, nous les désignerons comme des zones d’Écarts autorisés.
Dans les options pour les vérifications d’écart sous Écarts autorisés, une couche d’écarts autorisés peut être configurée.
Chaque fois que la vérification des écarts est exécutée, les écarts qui sont couverts par un ou plusieurs polygones dans la couche de lacunes autorisées ne sont pas signalés comme des erreurs de topologie.
Il est également possible de configurer un Tampon supplémentaire. Ce tampon est appliqué à chaque polygone sur la couche de lacunes autorisées. Cela permet de rendre les tests moins sensibles à de petits changements dans les contours aux limites des lacunes.
Lorsque les Écarts autorisés sont activés, un bouton supplémentaire ( Ajouter un écart autorisé) pour les erreurs d’écart détectées est disponible dans le dock de validation de la géométrie, où les écarts sont signalés pendant la numérisation. Si le bouton Ajout d’un interstice aux exceptions autorisées est enfoncé, un nouveau polygone avec la géométrie de l’écart détecté est inséré dans la Couche des interstices autorisés. Cela permet de signaler rapidement les écarts comme autorisés.