16.1. Fenêtre Propriétés d’une couche vecteur
La fenêtre de Propriétés d’une couche vecteur permet d’accéder aux paramètres généraux pour gérer l’apparence des entités de la couche sur la carte (style, étiquetage, diagrammes) et les interactions avec la souris (actions, infobulles, formulaires). Elle fournit également des informations sur la couche.
Pour ouvrir la fenêtre Propriétés de la couche :
Dans le panneau Couches, effectuez un double-clic ou un clic droit et sélectionner Propriétés de la couche depuis le menu contextuel.
Allez dans menu
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 Embedding layers from external projects) sont issues et liées au projet d’origine, et pour éviter des changements qui pourraient casser ce fonctionnement, les propriétés de ces couches ne sont pas accessibles.
16.1.1. Onglet Information
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 :
general such as name in the project, source path, list of auxiliary files, last save time and size, the used provider
based on the provider of the layer: format of storage, geometry type, data source encoding, extent, feature count…
the Coordinate Reference System: name, units, method, accuracy, reference (i.e. whether it’s static or dynamic)
picked from the filled metadata: access, extents, links, contacts, history…
and related to its geometry (spatial extent, CRS…) or its attributes (number of fields, characteristics of each…).
16.1.2. Onglet Source
Utilisez cet onglet pour définir les paramètres de la couche vecteur.
16.1.2.1. Préférences
Set a Layer name different from the layer filename that will be used to identify the layer in the project (in the Layers Panel, with expressions, in print layout legend, …)
Depending on the data format, select the Data source encoding if not correctly detected by QGIS.
16.1.2.2. Système de Coordonnées de Référence et Géométrie
Displays the layer’s Assigned Coordinate Reference System (CRS). You can change the layer’s CRS, selecting a recently used one in the drop-down list or clicking on Select CRS button (see Sélectionneur de Système de Coordonnées de Référence). Use this process only if the CRS applied to the layer is a wrong one or if none was applied. If you wish to reproject your data into another CRS, rather use layer reprojection algorithms from Processing or Save it into another layer.
Créer un index spatial (uniquement pour les formats gérés par OGR ).
Mise à jour de l’emprise de la couche.
16.1.2.3. 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. 16.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.
The filter is made at the data provider (OGR, PostgreSQL, MS SQL Server…) level. So the syntax depends on the data provider (DateTime is for instance not supported for the ESRI Shapefile format). The complete expression:
cast("toa" as character) > '2017-05-17' AND
cast("toa" as character) < '2019-12-24T18:00:00' AND
NOT ("name" > 'S' OR FID > 10)
Vous pouvez également ouvrir la boîte de dialogue Générateur de requêtes avec l’aide de l’option Filtrer… dans le menu 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.
16.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.16.1.3.1. Rendu d’entités
The renderer is responsible for drawing a feature together with the correct symbol. Regardless layer geometry type, there are four common types of renderers: single symbol, categorized, graduated and rule-based. For point layers, there are point displacement, point cluster and heatmap renderers available while polygon layers can also be rendered with the merged features, inverted polygons and 2.5 D renderers.
Il n’y a pas de rendu de couleur continue, car il s’agit en fait d’un cas particulier du rendu gradué. Les rendus catégorisé et gradué peuvent être créés en spécifiant un symbole et un dégradé de couleurs qui définissent les couleurs pour les symboles de manière appropriée. Pour chaque type de données (points, lignes et polygones), des types de couches de symboles vectoriels sont disponibles. Selon le moteur de rendu choisi, la boite de dialogue fournit différentes sections supplémentaires.
Note
Si, en travaillant sur le style d’une couche vecteur, vous changez de mode de rendu, les changements effectués sur le symbole sont mémorisés. Notez que cela ne fonctionne qu’une seule fois. Si vous changez à nouveau de mode de rendu, les paramètres seront perdus.
Rendu Symbole Unique
Le moteur de rendu 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 :
Select the Value of classification: it can be an existing field or an expression you can type in the box or build using the associated button. Using expressions for categorizing avoids the need to create a field for symbology purposes only (eg, if your classification criteria are derived from one or more attributes).
L’expression utilisée pour classer les entités peut être de tout type; par exemple, il peut:
être une comparaison. Dans ce cas, QGIS renvoie les valeurs
1
(True) 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
The created classes also appear in a tree hierarchy in the Layers panel. Double-click an entry in the map legend to edit the assigned symbol. Right-click and you will get some more options.
Correspondance avec les symboles enregistrés : utiliser la bibliothèque de symboles attribue à chaque catégorie un symbole dont le nom représente la valeur de classification de la catégorie
Correspondance avec les symboles du fichier …: Fourni un fichier avec des symboles, attribue à chaque catégorie un symbole dont le nom représente la valeur de classification de la catégorie
Niveaux de symboles.. pour définir l’ordre de rendu des symboles.
Rendu Gradué
Le rendu gradué Gradué est utilisé pour afficher toutes les entités de la couche, en faisant varier la couleur ou la taille de symbole suivant la classe de valeurs à laquelle l’entité appartient.
De la même manière que le rendu catégorisé, le rendu Gradué permet de faire varier l’angle de rotation et la taille des symboles selon les valeurs des champs spécifiés.
De la même façon que le rendu Catégorisé, il vous permet de choisir :
The Value of classification: it can be an existing field or an expression you can type in the box or build using the associated button. Using expressions for graduating avoids the need to create a field for symbology purposes only (eg, if your classification criteria are derived from one or more attributes).
le symbole (en utilisant la fenêtre de Sélection de symbole)
le format de la légende et la précision des valeurs numériques
la méthode à utiliser pour modifier la couleur ou la taille des symboles
les couleurs (en utilisant la liste des palettes de couleur), si la méthode couleur est sélectionnée
la taille (en choisissant une plage de valeurs et les unités)
Ensuite vous pouvez utiliser l’onglet Histogramme qui permet d’afficher un histogramme interactif des valeurs du champ ou de l’expression utilisé pour le rendu. Les classes peuvent être définies ou ajoutées depuis l’histogramme.
Note
Vous pouvez utiliser le panneau Statistiques pour obtenir plus d’informations sur votre couche vecteur. Voir Panneau de résumé statistiques.
De retour dans l’onglet Classes, vous pouvez choisir le nombre de classes et la méthode de classification (depuis la liste déroulante Mode). Les modes disponibles sont :
Nombre égal (Quantile) : chaque classe aura le même nombre d’éléments (comme dans une boîte à moustache).
Intervalle égal : chaque classe aura la même taille (par exemple, avec les valeurs de 1 à 16 et quatre classes, chaque classe aura une taille de quatre).
Échelle logarithmique : convient aux données présentant un large éventail de valeurs. Des classes étroites pour les valeurs faibles et des classes larges pour les valeurs élevées (par exemple, pour les nombres décimaux avec une plage [0..100] et deux classes, la première classe ira de 0 à 10 et la seconde de 10 à 100).
Ruptures naturelles (Jenks) : la variance au sein de chaque classe est minimisée tandis que la variance entre les classes est maximisée.
Pretty Breaks : calcule une séquence d’environ n+1 valeurs nice équidistantes qui couvrent la plage des valeurs de x. Les valeurs sont choisies de manière à être 1, 2 ou 5 fois une puissance de 10. (basé sur pretty de l’environnement statistique R https://www.rdocumentation.org/packages/base/topics/pretty).
Écart-type : les classes sont construites en fonction le l’écart-type calculé sur l’ensemble des valeurs;
La zone déroulante dans la partie centrale du menu Symbologie répertorie les classes ainsi que leurs étendues, étiquettes et symboles de rendu.
Cliquez sur le bouton Classer pour générer les classes selon le mode choisi. Chaque classe peut être désactivée en décochant la case située à gauche du symbole de classe.
Pour changer le symbole, la valeur et / ou la légende, double-cliquez sur l’élément à modifier.
Un clic droit sur les éléments sélectionnés affiche un menu contextuel pour:
Copier le Symbole et Coller le symbole, un moyen pratique d’appliquer la représentation d’un élément à d’autres
Modifier la couleur… du ou des symboles sélectionnés
Modifier l’opacité… du ou des symboles sélectionnés
Modifier l’unité de sortie… du ou des symboles sélectionnés
Modifier la largeur… du ou des symboles de ligne sélectionnés
Modifier la taille… du ou des symboles de ligne sélectionnés
Modifier l’angle… du ou des symboles de points sélectionnés
L’exemple dans Fig. 16.5 montre la boîte de dialogue de rendu gradué pour la couche major_rivers de l’ensemble de données d’échantillon QGIS.
The created classes also appear in a tree hierarchy in the Layers panel. Double-click an entry in the map legend to edit the assigned symbol. Right-click and you will get some more options.
Symboles Proportionnels et Analyse Multivariée
Les représentations par symbole proportionnel et analyse multivariée ne sont pas disponibles dans la liste déroulante du rendu de style. Toutefois, les options de valeurs définies par les données appliquées sur l’une des options de rendu précédentes vous permettent d’afficher vos données de point et de ligne avec de telles représentations.
Créer des Symboles Proportionnels
Pour appliquer un rendu proportionnel :
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
Rules are QGIS expressions used to discriminate features according to their attributes or properties in order to apply specific rendering settings to them. Rules can be nested, and features belong to a class if they belong to all the upper nesting level(s).
The Rule-based renderer is thus designed to render all the features from a layer, using symbols whose aspect reflects the assignment of a selected feature to a fine-grained class.
Pour créer une règle :
Activate an existing row by double-clicking it (by default, QGIS adds a symbol without a rule when the rendering mode is enabled) or click the Edit rule or Add rule button.
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.
The rule-based renderer can be combined with categorized or graduated renderers. Selecting a rule, you can organize its features in subclasses using the Refine selected rules drop-down menu. Refined classes appear like sub-items of the rule, in a tree hierarchy and like their parent, you can set the symbology and the rule of each class. Automated rule refinement can be based on:
scales: given a list of scales, this option creates a set of classes to which the different user-defined scale ranges apply. Each new scale-based class can have its own symbology and expression of definition. This can e.g. be a convenient way to display the same features with various symbols at different scales, or display only a set of features depending on the scale (e.g. local airports at large scale vs international airports at small scale).
categories: applies a categorized renderer to the features falling in the selected rule.
or ranges: applies a graduated renderer to the features falling in the selected rule.
Refined classes appear like sub-items of the rule, in a tree hierarchy and like above, you can set symbology of each class. Symbols of the nested rules are stacked on top of each other so be careful in choosing them. It is also possible to uncheck Symbols in the Edit rule dialog to avoid rendering a particular symbol in the stack.
Dans la boîte de dialogue Éditer une règle, vous pouvez éviter d’écrire toutes les règles et utiliser l’option 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
Refine Current Rule: open a submenu that allows to refine the current rule with scales, categories or Ranges. Same as selecting the corresponding menu at the bottom of the dialog.
Unchecking a row in the rule-based renderer dialog hides in the map canvas the features of the specific rule and the nested ones.
The created rules also appear in a tree hierarchy in the map legend. Double-click an entry in the map legend to edit the assigned symbol. Right-click and you will get some more options.
L’exemple de la figure Fig. 16.7 montre le rendu basé sur des règles pour la couche des rivières du jeu de données de QGIS.
Rendu Déplacement de point
The Point Displacement renderer takes the point features falling in a given distance tolerance from each other and places their symbols around their barycenter, following different placement methods. This can be a convenient way to visualize all the features of a point layer, even if they have the same location (e.g. amenities in a building).
To configure a point displacement renderer, you have to:
Set the Center symbol: how the virtual point at the center will look like
Select the Renderer type: how you want to classify features in the layer (single, categorized, rule-based…)
Press the Renderer Settings… button to configure features” symbology according to the selected renderer
Indicate the Distance tolerance in which close features are considered overlapping and then displaced over the same virtual point. Supports common symbol units.
Configure the Placement methods:
Anneau : place tous les éléments sur un cercle dont le rayon dépend du nombre d’éléments à afficher.
Anneaux concentriques : utilise un ensemble de cercles concentriques pour montrer les entités.
Grille : génère une grille régulière avec un symbole de point à chaque intersection.
Displaced symbols are placed on the Displacement lines. While the minimal spacing of the displacement lines depends on the point symbols renderer, you can still customize some of their settings such as the Stroke width, Stroke color and Size adjustment (e.g., to add more spacing between the rendered points).
Use the Labels group options to perform points labeling: the labels are placed near the displaced symbol, and not at the feature real position.
Select the Label attribute: a field of the layer to use for labeling
Indicate the Label font properties and size
Pick a Label color
Set a Label distance factor: for each point feature, offsets the label from the symbol center proportionally to the symbol’s diagonal size.
Turn on Use scale dependent labeling if you want to display labels only on scales larger than a given Minimum map scale.
Note
Le rendu de déplacement de points ne modifie pas la géométrie des entités, ce qui signifie que les points ne sont pas déplacés de leur position. Ils sont toujours situés à leur emplacement initial. Les modifications ne sont que visuelles, à des fins de rendu. Utilisez plutôt l’algorithme de traitement Déplacement des points si vous voulez déplacer les points.
Rendu Groupe de points
Unlike the Point Displacement renderer which blows up nearest or overlaid point features placement, the Point Cluster renderer groups nearby points into a single rendered marker symbol. Points that fall within a specified distance from each others are merged into a single symbol. Points aggregation is made based on the closest group being formed, rather than just assigning them the first group within the search distance.
A partir de la fenêtre principale, vous pouvez :
Set the symbol to represent the point cluster in the Cluster symbol; the default rendering displays the number of aggregated features thanks to the
@cluster_size
variable on Font marker symbol layer.Select the Renderer type, i.e. how you want to classify features in the layer (single, categorized, rule-based…)
Press the Renderer Settings… button to configure features” symbology as usual. Note that this symbology is only visible on features that are not clustered, the Cluster symbol being applied otherwise. Also, when all the point features in a cluster belong to the same rendering class, and thus would be applied the same color, that color represents the
@cluster_color
variable of the cluster.Indicate the maximal Distance to consider for clustering features. Supports common symbol units.
Note
Le rendu de regroupement de points ne modifie pas la géométrie des entités, ce qui signifie que les points ne sont pas déplacés de leur position. Ils sont toujours situés à leur emplacement initial. Les modifications ne sont que visuelles, à des fins de rendu. Utilisez plutôt l’algorithme de traitement Partitionnement en K-moyennes ou Mise en cluster DBSCAN si vous voulez regrouper des entités en cluster.
Merged Features Renderer
The Merged Features renderer allows area and line features to be “dissolved” into a single object prior to rendering to ensure that complex symbols or overlapping features are represented by a uniform and contiguous cartographic symbol.
Rendu Polygones inversés
Le rendu en 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.Embedded Renderer
The Embedded Symbols renderer allows to display the “native”
symbology of a provided datasource. This is mostly the case with KML
and TAB
datasets that have predefined symbology.
16.1.3.2. Rendu de couche
Dans l’onglet Symbologie, vous pouvez également définir des options qui agissent sur toutes les entités de la couche :
Opacité : 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…
16.1.3.3. Autres Paramètres
Niveaux de symbole
Pour les moteurs de rendu qui permettent l’empilement des couches de symbole (seul carte de chaleur ne le permet pas), il existe une option pour contrôler l’ordre de rendu de chaque niveau de symbole.
Pour la plupart des moteurs de rendu, vous pouvez accéder à l’option des niveaux de symbole en cliquant sur le bouton Avancé situé sous la liste des symboles enregistrés puis en choisissant Niveaux de symboles. Pour le moteur de rendu Ensemble de règles, l’option est directement activée par le bouton Niveaux de symboles… alors que pour le moteur de rendu Rendu Déplacement de point, le même bouton est à l’intérieur de la boîte de dialogue Paramètres du moteur de rendu.
Pour activer les niveaux de symbole, sélectionnez 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 ;
preview the symbol to use for legend representation;
saisir le titre de la légende ;
redimensionner les classes à utiliser : par défaut, QGIS vous fournit une légende de cinq classes (basée sur de jolies ruptures ) mais vous pouvez appliquer votre propre classification en utilisant l’option Taille manuelle des classes. Utilisez les boutons et pour définir vos valeurs et étiquettes de classes personnalisées.
En cas de légende repliée, il est possible de :
Align symbols in the center or the bottom
configure the horizontal leader Line symbol from the symbol to the corresponding legend text.
A preview of the legend is displayed in the right panel of the dialog and updated as you set the parameters.
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. 16.17). 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).
16.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.
Note
Labels with their formatting can be displayed as entries in the legends, if enabled in the Legend tab.
Voici les options affichées pour personnaliser les étiquettes, sous différents onglets :
La manière de définir chaque propriété est décrite ici : Paramétrer une étiquette.
16.1.4.1. Réglage du moteur de placement automatique
Vous pouvez utiliser les paramètres de placement automatique pour configurer un comportement automatisé des étiquettes au niveau du projet. Dans le coin supérieur droit de l’onglet etiquettes, cliquez sur le bouton 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.
16.1.4.2. Étiquettes basées sur des règles
Avec l’étiquetage basé sur des règles, plusieurs configurations d’étiquettes peuvent être définies et appliquées sélectivement sur la base des filtres d’expression et de la plage d’échelle, comme dans Ensemble de règles.
Pour créer une règle :
Select the Rule-based labeling option in the main drop-down list from the Labels tab
Fill the new dialog with:
Description: a text used to identify the rule in the Labels tab and as a label legend entry in the print layout legend
Filter: an expression to select the features to apply the label settings to
If there are rules already set, the Else option can be used to select all the features not matching any filter of the rules in the same group.
You can set a scale range in which the label rule should be applied.
The options available under the Labels group box are the usual label settings. Configure them and press OK.
A summary of existing rules is shown in the main dialog (see Fig. 16.28). You can add multiple rules, reorder or imbricate them with a drag-and-drop. You can as well remove them with the button or edit them with button or a double-click.
16.1.4.3. Définir des étiquettes basées sur des expressions
Que vous choisissiez un type d’étiquetage simple ou basé sur des règles, QGIS permet d’utiliser des expressions pour étiqueter les entités.
En supposant que vous utilisez la méthode :guilabel: Étiquettes simples, cliquez sur près de la liste déroulante Valeur dans l’onglet Étiquettes de la fenêtre des propriétés.
Dans Fig. 16.29, 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.
16.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
The Label Toolbar provides some tools to manipulate label (including their callout) or diagram properties:
Highlight Pinned Labels, Diagrams and Callouts. If the vector layer of the item is editable, then the highlighting is green, otherwise it’s blue.
Toggle Display of Unplaced Labels: Allows to determine whether any important labels are missing from the maps (e.g. due to overlaps or other constraints). They are displayed with a customizable color (see Réglage du moteur de placement automatique).
Pin/Unpin Labels and Diagrams. By clicking or draging an area, you pin overlaid items. If you click or drag an area holding Shift, the items are unpinned. Finally, you can also click or drag an area holding Ctrl to toggle their pin status.
Show/Hide Labels and Diagrams. If you click on the items, or click and drag an area holding Shift, they are hidden. When an item is hidden, you just have to click on the feature to restore its visibility. If you drag an area, all the items in the area will be restored.
Move a Label, Diagram or Callout: click to select the item and click to move it to the desired place. The new coordinates are stored in auxiliary fields. Selecting the item with this tool and hitting the Delete key will delete the stored position value.
Rotate a Label. Click to select the label and click again to apply the desired rotation. Likewise, the new angle is stored in an auxiliary field. Selecting a label with this tool and hitting the Delete key will delete the rotation value of this label.
Modifier les propriétés de l’étiquette. Il ouvre une boîte de dialogue pour modifier les propriétés de l’étiquette cliquée ; il peut s’agir de l’étiquette elle-même, de ses coordonnées, de son angle, de sa police, de sa taille, de son alignement multiligne … tant que cette propriété a été associée à un champ. Ici, vous pouvez régler l’option sur Étiqueter chaque partie d’une entité.
Avertissement
Les outils d’étiquetage écrasent les valeurs actuelles des attributs
L’utilisation de la Barre d’outils étiquetage pour personnaliser l’étiquetage écrit en fait la nouvelle valeur de la propriété dans le champ mappé. Par conséquent, veillez à ne pas remplacer par inadvertance les données dont vous pourriez avoir besoin plus tard!
Note
Le mécanisme Onglet Stockage auxiliaire peut être utilisé pour personnaliser l’étiquetage (position, etc.) sans modifier la source de données sous-jacente.
Personnaliser les étiquettes à partir du canevas de la carte
Combined with the Label Toolbar, the data defined override setting helps you manipulate labels in the map canvas (move, edit, rotate). We now describe an example using the data-defined override function for the Move Label, Diagram or Callout function (see Fig. 16.32).
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. 16.33). 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.
16.1.5. Onglet Diagrammes
L’onglet Diagrammes permet d’ajouter une couche de graphiques sur une couche vecteur (voir Fig. 16.34).
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:
16.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.
16.1.5.2. Rendu
Rendu définit à quoi ressemble le diagramme. Il fournit des paramètres généraux qui n’interfèrent pas avec les valeurs statistiques telles que:
l’opacité du graphique, sa largeur et sa couleur de contour;
Selon le type de diagramme :
pour les histogrammes et les barres empilées, la largeur de la barre et l’espacement entre les barres. Vous pouvez définir l’espacement à
0
pour les barres empilées. En outre, le symbole de ligne d’axe peut être rendu visible sur le canevas de la carte et personnalisé à l’aide des propriétés de symbole linéaire.pour le diagramme de texte, la couleur de fond du cercle et la police utilisée pour les textes ;
pour les diagrammes en camembert, l’angle Début de la première tranche et leur Direction (sens horaire ou non).
l’utilisation des effets de rendu sur les graphiques.
Dans cet onglet, vous pouvez également gérer et affiner la visibilité du diagramme avec différentes options:
Diagramme z-index: contrôle la façon dont les diagrammes sont dessinés les uns sur les autres et sur les étiquettes. Un diagramme avec un indice élevé est tracé au-dessus des diagrammes et des étiquettes;
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 ;
16.1.5.3. Taille
taille est l’onglet principal permettant de définir la manière dont les statistiques sélectionnées sont représentées. L’unité de la taille du diagramme peut être “Millimètres”, “Points”, “Pixels”, “Unités de carte” ou “Pouces”. Vous pouvez utiliser :
taille fixe, une taille unique pour représenter le graphique de toutes les entités (non disponible pour les histogrammes)
ou Taille à l’échelle, en fonction d’une expression utilisant les attributs de la couche :
Dans attribut, sélectionnez un champ ou construisez une expression.
Appuyez sur Trouver pour récupérer la Valeur Maximale de l’attribut ou indiquez une valeur personnalisée dans le widget.
For histogram and stacked bars, enter a Bar length value, used to represent the Maximum value of the attributes. For each feature, the bar length will then be scaled linearly to keep this matching.
Pour les diagrammes circulaires et les diagrammes textuels, entrez une valeur taille, utilisée pour représenter la Valeur maximale des attributs. Pour chaque élément, l’aire ou le diamètre du cercle sera ensuite mis à l’échelle de manière linéaire afin de conserver cette correspondance (à partir de
0
). Une taille Minimum peut toutefois être définie pour les petits diagrammes.
16.1.5.4. Position
Placement définit la position du diagramme. Selon le type de géométrie de la couche, il offre différentes options pour le placement (plus de détails dans Placement) :
autour point ou sur point pour les géométries ponctuelles. La première variable nécessite un rayon à suivre.
autour de la ligne ou sur la ligne pour la géométrie de ligne. Comme pour les entités ponctuelles, la première variable requiert une distance à respecter et vous pouvez spécifier le placement du diagramme par rapport à l’entité (“au-dessus”, “sur” et/ou “en dessous” de la ligne). Il est possible de sélectionner plusieurs options à la fois. Dans ce cas, QGIS recherchera la position optimale du diagramme. Rappelez-vous que vous pouvez également utiliser l’orientation de la ligne pour la position du diagramme.
autour du centroïde (donné une Distance), sur le centroïde, en utilisant le périmètre et dans le polygone représentent les options pour les entités polygones.
Le groupe coordonnées permet de contrôler directement le placement des diagrammes, élément par élément, en utilisant leurs attributs ou une expression pour définir les coordonnées X et Y. Ces informations peuvent également être renseignées à l’aide de l’outil Déplacer des étiquettes et des diagrammes.
Dans la section priorité, vous pouvez définir le rang de priorité de placement de chaque diagramme, c’est-à-dire que s’il y a différents diagrammes ou étiquettes candidats pour le même emplacement, l’élément ayant la priorité la plus élevée sera affiché et les autres pourront être laissés de côté.
décourager les diagrammes et les étiquettes qui recouvrent l’entité définit les entités à utiliser comme obstacles, c’est-à-dire que QGIS essaiera de ne pas placer de diagrammes ni d’étiquettes sur ces entités. Le rang de priorité est ensuite utilisé pour évaluer si un diagramme peut être omis en raison d’un obstacle plus important.
16.1.5.5. Options
L’onglet Options comporte des paramètres pour les histogrammes et les barres empilées. Vous pouvez choisir si l’orientation de la barre doit être Haut, Bas, Droit ou Gauche, pour les diagrammes horizontaux et verticaux.
16.1.5.6. Légende
A partir de l’onglet Légende, vous pouvez choisir d’afficher les éléments du diagramme dans le panneau Couches, et dans la légende de mise en page, à côté de la symbologie de la couche :
vérifier Afficher les entrées de légende pour les attributs du diagramme pour afficher dans les légendes les propriétés
Couleur
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.
16.1.6. Onglet 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.
16.1.7. Onglet 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 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.
Attention
Prefer the Elevation tab for symbol elevation and terrain settings
Features” elevation and altitude related properties (Altitude clamping, Altitude binding, Extrusion or Height) in the 3D View tab inherit their default values from the layer’s Elevation properties and should preferably be set from within the Elevation tab.
Pour de meilleures performances, les données des couches vecteur sont chargées en arrière-plan, en utilisant le multithreading, et rendues dans des tuiles dont la taille peut être contrôlée à partir de la section Rendu des couches de l’onglet :
Comptage des niveaux de zoom : détermine la profondeur du quadtree. Par exemple, un niveau de zoom signifie qu’il y aura une seule tuile pour la couche entière. Trois niveaux de zoom signifient qu’il y aura 16 tuiles au niveau de la feuille (chaque niveau de zoom supplémentaire multiplie ce nombre par 4). La valeur par défaut est
3
et la valeur maximale est8
.Show bounding boxes of tiles: especially useful if there are issues with tiles not showing up when they should.
16.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.
You can also rename fields by double-clicking its name. This is only supported for data providers like PostgreSQL, Oracle, Memory layer and some GDAL layers depending on the GDAL version.
S’il est défini dans la source de données sous-jacente ou dans les Propriétés des formulaires d’attributs, l’alias du champ est également affiché. Un alias est un nom de champ lisible par l’homme que vous pouvez utiliser dans le formulaire d’entité ou la table attributaire. Les alias sont enregistrés dans le fichier de projet.
Other than the fields contained in the dataset, virtual fields and Auxiliary Storage included, the Fields tab also lists fields from any joined layers. Depending on the origin of the field, a different background color is applied to it.
For each listed field, the dialog also lists read-only characteristics such as its Type, Type name, Length and Precision`.
Selon le fournisseur de données, vous pouvez associer un commentaire à un champ, par exemple lors de sa création. Ces informations sont récupérées et affichées dans la colonne Commentaire et sont affichées plus tard lorsque vous survolez l’étiquette de l’attribut dans un formulaire d’entité.
Under the Configuration column, you can set how the field should behave in certain circumstances:
Not searchable
: check this option if you do not want this field to be queried by the search locator barDo not expose via WMS
: check this option if you do not want to display this field if the layer is served as WMS from QGIS serverDo not expose via WFS
: check this option if you do not want to display this field if the layer is served as WFS from QGIS server
16.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 .
16.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.Drag-and-drop designer
: other than widget customization, the form structure can be made more complex eg, with widgets embedded in groups and tabs.Fournir un fichier ui
: permet d’utiliser un fichier de conception Qt, donc un modèle potentiellement plus complexe et complet, comme formulaire d’entité.
Le formulaire généré automatiquement
Lorsque l’option Génération automatique
est activée, le panneau Widgets disponibles affiche les listes de champs (de la couche et de ses relations) qui seraient affichés dans le formulaire. Sélectionnez un champ et vous pouvez configurer son apparence et son comportement dans le panneau de droite :
en ajoutant étiquette personnalisée et contrôles automatisés au champ ;
en définissant un widget particulier à utiliser.
Le glisser-déposer
The drag and drop designer allows you to create a form with several containers (tabs or groups) to present the attribute fields or other widgets that are not directly linked to a particular field (like the HTML/QML widgets or the actions defined for the layer), as shown for example in Fig. 16.41.
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.Select fields you do not want to use in your Form Layout panel and hit the button to remove them. You can also toggle the selection with the Invert selection button.
Drag and drop fields from the first panel to the :guilabel`Form Layout` one to re-add them. The same field can be added multiple times.
Faites glisser et déposez les champs dans le panneau Présentation du formulaire pour réorganiser leur position.
Add containers to associate fields that belong to the same category and better structure the form.
The first step is to use the Add a new tab or group to the form layout icon. Fields and other groups will be displayed in it.
Définissez ensuite les propriétés du conteneur, c’est-à-dire:
the Label: the title that will be used for the container
the Container Type: it can be a Tab or a Group box in container (a collapsible group box inside a tab or another group)
and the Number of columns the embedded fields should be distributed over
Ces propriétés, ainsi que d’autres, peuvent être mises à jour ultérieurement en sélectionnant l’élément et, dans le troisième panneau:
masquer ou afficher l’étiquette du conteneur
renommer le conteneur
définir le nombre de colonnes
entrez une expression pour contrôler la visibilité du conteneur. L’expression sera réévaluée à chaque fois que les valeurs du formulaire changent, et l’onglet ou la zone de groupe affichés / masqués en conséquence
Show as Group Box: converts a tab into a top-level group box and vice versa
Pour un cadre de groupe, définir si à l’ouverture du formulaire, il doit s’afficher Replié pour toutes les entités, ou seulement pour celles remplissant une condition (Contrôler le repli à l’aide d’une expression).
configure the Style look of the container, with custom Background color, label color and font properties
You can create and embed as many containers as you want by pressing again the Add a new tab or group to the form layout icon.
The next step is to assign the relevant fields to each container, by simple drag and drop. Group boxes and tabs can also be moved the same way.
Personnalisez le widget des champs à utiliser
In case the layer is involved in a one or many to many relation, drag-and-drop the relation name from the Available Widgets panel to the Form Layout panel. The associated layer attribute form will be embedded at the chosen place in the current layer’s form. As for the other items, select the relation label to configure some properties:
masquer ou afficher l’étiquette de relation
afficher le bouton de lien
afficher le bouton de dissociation
In case the layer has one or more actions enabled for
Layer
orFeature
scope, the actions will be listed under Actions and you can drag and drop them as with the other fields. The associated action will be embedded at the chosen place in the current layer’s form.Further customize the form by adding one or more widgets from Other Widgets (see Other Widgets)
Appliquer la boîte de dialogue des propriétés de la couche
Ouvrez un formulaire d’attribut d’entité (par exemple, en utilisant l’outil Identifier les entités) et il devrait afficher le nouveau formulaire.
Other Widgets
The drag and drop designer offers a number of widgets that are not connected to a particular field. They can be used to enhance the appearance of the form or to display dynamically calculated values.
HTML Widget: embeds an HTML page, the HTML source may contain the result of dynamically calculated expressions.
QML Widget: embeds a QML page, the QML source may contain the result of dynamically calculated expressions.
Utilisation d’un fichier ui personnalisé
L’option Fournir un fichier ui
vous permet d’utiliser des dialogues complexes créés avec Qt-Designer. L’utilisation d’un fichier ui permet une grande liberté dans la création d’une boîte de dialogue. Notez que, pour lier les objets graphiques (zone de texte, combobox …) aux champs de la couche, vous devez leur donner le même nom.
Utilisez Edit UI pour définir le chemin d’accès au fichier à utiliser.
Les fichiers UI peuvent également être hébergés sur un serveur distant. Dans ce cas, vous fournissez l’URL du formulaire au lieu du chemin d’accès au fichier dans Edit UI.
Vous trouverez un exemple dans la leçon Créer un nouveau formulaire de Manuel d’exercices QGIS. Pour plus d’informations, voir https://woostuff.wordpress.com/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.
Améliorez votre formulaire avec des fonctions personnalisées
Les formulaires QGIS peuvent avoir une fonction Python qui est appelée lorsque la boîte de dialogue est ouverte. Utilisez cette fonction pour ajouter une logique supplémentaire à vos boîtes de dialogue. Le code du formulaire peut être spécifié de trois manières différentes:
charger depuis l'environnement
: utiliser une fonction, par exemple dans: file: startup.py ou depuis un plugin installécharger à partir d'un fichier externe
: un sélecteur de fichier vous permettra de sélectionner un fichier Python dans votre système de fichiers ou d’entrer une URL pour un fichier distant.fournir du code dans cette boîte de dialogue
: un éditeur Python apparaîtra où vous pourrez directement taper la fonction à utiliser.
Dans tous les cas, vous devez saisir le nom de la fonction qui sera appelée (ouvrir
dans l’exemple ci-dessous).
Un exemple (dans le module MyForms.py) :
def open(dialog,layer,feature):
geom = feature.geometry()
control = dialog.findChild(QWidget,"My line edit")
Référence dans la fonction Python Init comme ceci: open
16.1.9.2. Configurer le comportement du champ
La partie principale de l’onglet Formulaire d’attributs vous aide à définir le type de widget utilisé pour remplir ou afficher les valeurs du champ, dans la table d’attributs ou le formulaire de l’entité: vous pouvez définir comment l’utilisateur interagit avec chaque champ et les valeurs ou plage de valeurs pouvant être ajoutées à chacune.
Paramètres généraux
Quel que soit le type de widget appliqué au champ, il existe des propriétés communes que vous pouvez définir pour contrôler si et comment un champ peut être modifié.
Affichage du widget
Only available for the Drag and drop designer mode, this group helps you configure the look of the widget assigned to the field:
Afficher l’étiquette : indique si le nom du champ doit être affiché dans le formulaire
Remplacer la couleur de l’étiquette : applique une couleur spécifique à l’étiquette du champ
Override label font: applies specific font properties (bold, italic, underline, strikethrough, or font family) to the field’s label
Options générales
Alias: un nom lisible par l’homme à utiliser pour les champs. L’alias sera affiché dans le formulaire d’entité, la table attributaire ou dans le panneau Identifier les résultats. Il peut également être utilisé comme remplacement de nom de champ dans Générateur d’expressions, facilitant la compréhension et la révision des expressions. Les alias sont enregistrés dans le fichier de projet.
Commentaire: affiche le commentaire du champ comme indiqué dans l’onglet Champs, en lecture seule. Ces informations sont affichées sous forme d’infobulle lors du survol de l’étiquette de champ dans un formulaire d’entité.
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.
Reuse last entered value: remembers the last value entered in this field and uses it as default for the next feature being edited in the layer.
Etiquette en haut: place le nom du champ au-dessus ou à côté du widget dans le formulaire d’entité.
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:
A yellow cross appears when the unmet constraint is an unenforced one (
soft constraint
) and it does not prevent you to save the changes with the « wrong » values;An orange cross can not be ignored and does not allow you to save your modifications until they meet the constraints. It appears when the Enforce constraint option is checked (
hard constraint
).
É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
.Attachment: Uses a « Open file » dialog to store file path in a relative or absolute mode. It can be used to display a hyperlink (to document path), a picture or a web page. User can also configure an external storage system to fetch/store resources.
Cachée : Un attribut caché sera invisible. L’utilisateur ne pourra pas visualiser son contenu.
Clé/valeur : affiche un tableau à deux colonnes pour stocker des ensembles de paires clé/valeur dans un seul champ. Ceci est actuellement pris en charge par le fournisseur PostgreSQL, pour les champs de type
hstore
.JSON View: Displays JSON data in a syntax highlighted text edit or in tree view. This widget is currently read only. Several options are available to change how the data is displayed. “Default view” specify if the widget should appear in Text or Tree mode. “Format JSON” has three options which are related to the tree view only:
Indented: Display data in a human readable form with newlines and four space characters for indentation.
Compact: Display data in a one-line size optimized string without newlines or spaces.
Disabled: Display data as it comes from the provider.
Liste : affiche une liste à valeurs multiples à ajouter dans un seul champ. Ceci est actuellement pris en charge par le fournisseur PostgreSQL, pour les champs de type
array
.Plage : Vous permet de spécifier une plage de valeurs numériques disponibles. Il peut s’agir d’une barre coulissante ou d’une zone de texte éditable.
Référence de relation : Il s’agit du widget par défaut attribué au champ de référencement (c’est-à-dire la clé étrangère dans la couche enfant) lorsqu’une relation est définie. Il fournit un accès direct au formulaire de l’entité parent qui, à son tour, intègre la liste et le formulaire de ses enfants.
Edition de texte (par défaut) : ceci ouvre un champ d’édition de texte qui permet d’utiliser du texte simple ou plusieurs lignes. Si vous choisissez plusieurs lignes, vous pouvez également choisir un contenu html.
Valeurs uniques : Vous pouvez sélectionner l’une des valeurs déjà utilisée dans la table attributaire. Si «Modifiable» est activé, une modification de ligne est affichée avec prise en charge de la saisie semi-automatique, sinon une zone de liste déroulante est utilisée.
Génération uuid : Génère un champ UUID (Universally Unique Identifiers) en lecture seule, si il est vide.
Valeur de carte : une zone de liste déroulante avec des éléments prédéfinis. La valeur est stockée dans l’attribut, la description est affichée dans la zone de liste déroulante. Vous pouvez définir des valeurs manuellement ou les charger à partir d’une couche ou d’un fichier CSV.
Relation de valeur : offre les valeurs d’une table associée dans une zone de liste déroulante. Vous pouvez sélectionner une couche, une colonne clé et une colonne de valeur. Plusieurs options sont disponibles pour modifier les comportements standard: autoriser la valeur nulle, classer par valeur, autoriser les sélections multiples et utiliser l’auto-completon Les formulaires afficheront une liste déroulante ou un champ d’édition de ligne lorsque la case à cocher « Compléter » est activée.
If a layer that is stored in PostgreSQL, GeoPackage or SpatiaLite is configured to use a value relation widget, but the required layer is not already loaded into the project, QGIS will automatically search for the layer in the same database/connection.
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.
16.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 currently has support for joining non-spatial table formats supported by GDAL (e.g., CSV, DBF and Excel), delimited text and the PostgreSQL providers.
16.1.11. Onglet Stockage auxiliaire
La manière habituelle de personnaliser le style et l’étiquetage consiste à utiliser des propriétés définies par les données comme décrit dans Valeurs définies par des données. Cependant, cela peut ne pas être possible si les données sous-jacentes sont en lecture seule. De plus, la configuration de ces propriétés définies par les données peut prendre beaucoup de temps ou n’est pas souhaitable! Par exemple, si vous souhaitez utiliser pleinement les outils cartographiques fournis avec La barre d’outils Étiquettes, vous devez ajouter et configurer plus de 20 champs dans votre source de données d’origine (positions X et Y, angle de rotation, style de police, couleur …).
Le mécanisme de stockage auxiliaire fournit la solution à ces limitations et configurations maladroites. Les champs auxiliaires sont un moyen détourné de gérer et de stocker automatiquement ces propriétés définies par les données (étiquettes, diagramme, symbologie …) dans une base de données SQLite grâce à des jointures modifiables. Cela vous permet de stocker les propriétés des couches qui ne sont pas modifiables.
Un onglet est disponible dans la fenêtre des propriétés de la couche vecteur pour gérer le stockage auxiliaire :
16.1.11.1. Étiquetage
Étant donné que la source de données peut être personnalisée grâce à des propriétés définies par les données sans être modifiable, les outils d’étiquetage sur la carte décrits dans La barre d’outils Étiquettes sont toujours disponibles dès que l’étiquetage est activé.
En fait, le système de stockage auxiliaire a besoin d’une couche auxiliaire pour stocker ces propriétés dans une base de données SQLite (voir Stockage auxiliaire en base de données). Son processus de création est exécuté la première fois que vous cliquez sur la carte alors qu’un outil de carte d’étiquetage est actuellement activé. Ensuite, une fenêtre s’affiche, vous permettant de sélectionner la clé primaire à utiliser pour la jointure (pour vous assurer que les entités sont identifiées de manière unique) :
Dès qu’une couche auxiliaire est configurée pour la source de données actuelle, vous pouvez récupérer ses informations dans l’onglet :
La couche auxiliaire présente désormais ces caractéristiques :
la clé primaire est
ID
,il y a
0
entités utilisant un champ auxiliaire,il y a
0
champ auxiliaire.
Maintenant que la couche auxiliaire est créée, vous pouvez modifier les étiquettes de la couche. Cliquez sur une étiquette pendant que l’outil Changer d’étiquette est activé, vous pouvez alors mettre à jour les propriétés de style comme les tailles, les couleurs, etc. Les propriétés définies par les données correspondantes sont créées et peuvent être récupérées:
Comme vous pouvez le voir sur la figure ci-dessus, 21
champs sont automatiquement créés et configurés pour l’étiquetage. Par exemple, le type de champ auxiliaire FontStyle
est une chaîne
et est nommé labeling_fontstyle
dans la base de données SQLite sous-jacente. Il existe également 1
entité qui utilise actuellement ces champs auxiliaires.
Notez que l’icône s’affiche dans l’onglet Étiquettes indiquant que les options de substitution définies par les données sont correctement définies :
Sinon, il existe une autre façon de créer un champ auxiliaire pour une propriété spécifique grâce au bouton Valeur définie par des données. En cliquant sur:guilabel:Stocker les données dans le projet, un champ auxiliaire est automatiquement créé pour le champ Opacité. Si vous cliquez sur ce bouton alors que la couche auxiliaire n’est pas encore créée, une fenêtre (Fig. 16.46) s’affiche d’abord pour sélectionner la clé primaire à utiliser pour la jointure.
16.1.11.2. Style
Comme la méthode décrite ci-dessus pour personnaliser les étiquettes, les champs auxiliaires peuvent également être utilisés pour styliser les symboles et les diagrammes. Pour ce faire, cliquez sur 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 :
16.1.11.3. Table d’attributs et widgets
Les champs auxiliaires peuvent être modifiés en utilisant la table attributaire. Cependant, tous les champs auxiliaires ne sont pas initialement visibles dans la table attributaire.
Les champs auxiliaires représentant les attributs de la symbologie, de l’étiquetage, de l’apparence ou des diagrammes d’une couche apparaissent automatiquement dans la table d’attributs. Les attributs pouvant être modifiés à l’aide de la barre d’outils Etiquettes sont masqués par défaut. Les champs auxiliaires représentant une couleur
ont un widget Couleur défini par défaut, sinon les champs auxiliaires sont définis par défaut sur le widget Text Edit.
Les champs auxiliaires qui représentent des attributs qui peuvent être modifiés à l’aide d’outils de la Barre d’outils Étiquettes sont Masqués dans la table des attributs par défaut. Pour rendre un champ visible, ouvrez l’onglet Formulaire d’attributs dans les propriétés et modifiez le Type de widget d’un champ auxiliaire de masqué à une autre valeur pertinente. Par exemple, changez auxiliary_storage_labeling_size en Édition de texte ou remplacez auxiliary_storage_labeling_color par le type Couleur. Ces champs seront désormais visibles dans la table attributaire.
Les champs auxiliaires de la table attributaire apparaîtront comme dans l’image suivante:
16.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.
16.1.11.5. Stockage auxiliaire en base de données
Lorsque vous enregistrez votre projet au format .qgs
, la base de données SQLite utilisée pour le stockage auxiliaire est enregistrée au même endroit mais avec l’extension .qgd
.
Pour plus de commodité, une archive peut être utilisée à la place grâce au format .qgz
. Dans ce cas, les fichiers .qgd
et .qgs
sont tous deux intégrés dans l’archive.
16.1.12. Onglet Actions
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.
Actions are useful when you frequently want to run an external application or view a web page based on one or more values in your vector layer. They are of different types and can be used like this:
Generic, macOS, Windows and Unix actions start an external process.
Python actions execute a Python expression.
Generic and Python actions are visible everywhere.
macOS, Windows and Unix actions are visible only on the respective platform (i.e., you can define three « Edit » actions to open an editor and the users can only see and execute the one « Edit » action for their platform to run the editor).
Open URL: Uses a HTTP GET request to open a provided URL.
Submit URL (urlencoded or JSON): Same as the Open URL action but using a HTTP POST request. Data are posted to a URL, using « application/x-www-form-urlencoded » or « application/json » if the body is a valid JSON.
An example of action call could be:
http://localhost:8000?/[% url_encode(map('file', 'index.php')) %]
Submit URL (multipart): Same as the Open URL action but using a HTTP POST request. Data are posted to a URL, using « multipart/form-data ».
Plusieurs exemples sont inclus dans la boîte de dialogue. Vous pouvez les charger en cliquant sur Créer des actions par défaut. Pour modifier l’un des exemples, double-cliquez sur sa ligne. Un exemple est d’effectuer une recherche basée sur une valeur d’attribut. Ce concept est utilisé dans la discussion suivante.
L’option Afficher dans la table des attributs vous permet de sélectionner et afficher dans la table d’attributs des actions basées sur des entités, soit via une Zone de liste déroulante, soit comme des Boutons séparés (voir Configurer les colonnes).
16.1.12.1. Définir des Actions
Pour définir une action d’attribut, ouvrez la boîte de dialogue Propriétés de la couche et cliquez sur l’onglet Actions. Dans l’onglet Actions, cliquez sur le Ajouter une nouvelle action pour ouvrir la boîte de dialogue Modifier l’action.
Select the action Type and provide a descriptive name
for the action. The action itself must contain the name of the application
that will be executed when the action is invoked.
You can add one or more attribute field values as arguments to the application.
When the action is invoked, any set of characters that start with a %
followed by the name of a field will be replaced by the value of that field.
The special characters %%
will be replaced by the value of the field
that was selected from the identify results or attribute table (see Utiliser des Actions).
Double quote marks can be used to group text into a single argument to the program, script or command.
Double quotes will be ignored if preceded by a backslash.
The Action Scopes allows you to define where the action should be available. You have following choices:
Field: action is available when right click in the cell within the attribute table, in the feature form and in the default action button of the main toolbar.
Feature: action is available when right click in the cell within the attribute table.
Canvas : l’action est disponible dans le bouton d’action principal de la barre d’outils.
Form: action is available only in a feature form designed using the drag-and-drop mode.
Layer: action is available in the action button in the attribute table toolbar. Be aware that this type of action involves the entire layer and not the single features.
Si vous avez des noms de champs qui sont contenus dans d’autres noms de champs (par exemple, col1
et col10
), vous devez l’indiquer en entourant le nom de champ (y compris avec le caractère %) par des crochets (par exemple [%col10]
). Ceci évitera de prendre le nom de champ %col10
pour %col1
avec un 0
à la fin. Les crochets seront retirés quand QGIS substituera le nom par la valeur du champ. Si vous voulez que le champ à substituer soit entouré de crochets, utilisez un deuxième jeu de crochets comme ceci : [[%col10]]
.
En utilisant l’outil Identifier les entités, vous ouvrez la fenêtre Identifier les résultats. Elle inclut une entrée (Dérivé) qui contient des informations pertinentes selon le type de couche. Les valeurs de cette entrée sont accessibles de la même manière que les autres champs en ajoutant (Derived).
avant le nom du champ. Par exemple, une couche de points a un champ X
et Y
et leurs valeurs peuvent être utilisées dans l’action avec %(Derived).X
et %(Derived).Y
. Les attributs dérivés sont disponibles uniquement depuis la fenêtre Identifier les résultats mais pas par la Table d’attributs.
Deux exemples d’action sont proposés ci-dessous :
konqueror https://www.google.com/search?q=%n am
konqueror https://www.google.com/search?q=%%
Dans le premier exemple, le navigateur Web konqueror est appelé et reçoit une URL à ouvrir. L’URL effectue une recherche Google sur la valeur du champ nam
de notre couche vecteur. Notez que l’application ou le script appelé par l’action doit se trouver dans le chemin ou vous devez fournir le chemin complet. Pour être certain, nous pourrions réécrire le premier exemple comme suit: /opt/kde3/bin/konqueror https: //www.google.com/search?q=%nam
. Cela garantira que l’application konqueror sera exécutée lorsque l’action sera invoquée.
Le deuxième exemple utilise la notation %% dont la valeur ne dépend pas d’un champ en particulier. Quand l’action est invoquée, %% sera remplacé par la valeur du champ sélectionné dans les résultats de l’identification ou dans la table d’attributs.
16.1.12.2. Utiliser des Actions
QGIS propose de nombreuses façons d’exécuter les actions que vous avez activées sur une couche. Selon leurs paramètres, ils peuvent être disponibles:
dans le menu déroulant du bouton Exécuter l’action à partir de la Barre d’outils Attributs ou la Table d’attributs ;
lorsque vous cliquez avec le bouton droit sur une entité avec l’outil Identifier des entités (voir Identifier les entités pour plus d’informations) ;
dans le panneau Résultats de l’identification, sous la section Actions ;
comme éléments d’une colonne Actions dans la boîte de dialogue Table d’attributs.
Si vous faites appel à une action qui utilise la notation %%
, faites un clic droit sur la valeur du champ que vous souhaitez passer à l’application ou au script, dans la fenêtre Identifier les résultats ou dans la Table attributaire.
Voici un autre exemple qui récupère des données d’une couche vecteur et qui les insère dans un fichier utilisant bash et la commande echo
(cela ne marchera que sur et peut-être ). La couche en question a des champs pour le nom d’espèce taxon_name
, la latitude lat
et la longitude long
. Nous souhaiterions faire une sélection spatiale de localisations et exporter les valeurs des enregistrements sélectionnés dans un fichier texte (ils apparaissent en jaune sur la carte dans QGIS). Voici l’action qui permettra de le faire :
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
Choose the Open URL action type,
Entrez un nom pour l’action, par exemple
Recherche Google
.De plus, vous pouvez ajouter un Nom court ou même une Icône.
Choose the Action Scopes. See Définir des Actions for further information. Leave the default settings for this example.
For the action, add the URL used for doing a Google search, up to but not including the search term:
https://www.google.com/search?q=
The text in the Action field should now look like this:
https://www.google.com/search?q=
Cliquez sur la liste déroulante contenant les noms de champs pour la couche
lacs
. Il est situé juste à gauche du bouton Insérer.From the drop-down box, select NAMES and click Insert.
Your action text now looks like this:
https://www.google.com/search?q=[%NAMES%]
Pour finaliser et ajouter l’action, cliquez sur le bouton OK.
This completes the action, and it is ready to use.
Close the Layer Properties dialog and zoom in to an area of interest.
Make sure the lakes
layer is active and identify a lake.
In the result box you’ll now see that our action is visible:
When we click on the action, it brings up our default browser and navigates to the URL
https://www.google.com/search?q=Tustumena. It is also possible to add further
attribute fields to the action. Therefore, you can add a +
to the end of
the action text, select another field and click on Insert Field. In
this example, there is just no other field available that would make sense
to search for.
Vous pouvez définir de multiples actions pour une couche et chacune apparaîtra dans la fenêtre des Résultats de l’identification.
Depuis la table attributaire, vous pouvez aussi faire appel à des actions via un simple clic droit sur une cellule et sélection de l’action dans la fenêtre qui s’ouvre.
Vous pouvez imaginer toutes sortes d’utilisations pour ces actions. Par exemple, si vous avez une couche de points contenant la localisation d’images ou de photos ainsi qu’un nom de fichier, vous pouvez créer une action qui lancera un visualiseur pour afficher les images. Vous pouvez également utiliser les actions pour lancer des rapports sur internet pour un champ attributaire ou une combinaison de champs, en les spécifiant de la même manière que dans l’exemple d’une recherche Google.
Nous pouvons également fournir des exemples plus complexes, notamment sur la manière d’utiliser des actions Python.
Habituellement, lorsque nous créons une action pour ouvrir un fichier avec une application externe, nous pouvons utiliser des chemins absolus, ou éventuellement des chemins relatifs. Dans le second cas, le chemin est relatif à l’emplacement du fichier exécutable du programme externe. Mais qu’en est-il si nous devons utiliser des chemins relatifs, par rapport à la couche sélectionnée (une couche basée sur un fichier, comme Shapefile ou SpatiaLite) ? Le code suivant fera l’affaire :
command = "firefox"
imagerelpath = "images_test/test_image.jpg"
layer = qgis.utils.iface.activeLayer()
import os.path
layerpath = layer.source() if layer.providerType() == 'ogr'
else (qgis.core.QgsDataSourceURI(layer.source()).database()
if layer.providerType() == 'spatialite' else None)
path = os.path.dirname(str(layerpath))
image = os.path.join(path,imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )
Il faut simplement se rappeler qu’il s’agit d’une action Python et qu’il faut modifier les variables command et imagerelpath selon vos besoins.
Et si le chemin relatif doit dépendre du fichier de projet (sauvegardé) ? Le code de l’action Python deviendra :
command = "firefox"
imagerelpath = "images_test/test_image.jpg"
projectpath = qgis.core.QgsProject.instance().fileName()
import os.path
path = os.path.dirname(str(projectpath)) if projectpath != '' else None
image = os.path.join(path, imagerelpath)
import subprocess
subprocess.Popen( [command, image ] )
Un autre exemple d’action Python consiste à ajouter de nouvelles couche au projet. L’exemple qui suit montre comment ajouter une couche vecteur et un raster. Les noms des fichiers à ajouter au projet et les noms à donner aux couches dépendent de données attributaires (filename et layername sont deux champs de la table attributaire de la couche sur laquelle l’action est créée) :
qgis.utils.iface.addVectorLayer('/yourpath/[% "filename" %].shp',
'[% "layername" %]', 'ogr')
Pour ajouter un raster (ici une image TIF), cela devient :
qgis.utils.iface.addRasterLayer('/yourpath/[% "filename" %].tif',
'[% "layername" %]')
16.1.13. Onglet Infobulles
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ône16.1.14. Onglet Rendu
16.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 Sélecteur de visibilité définie par l’échelle pour plus d’informations.
Note
Vous pouvez aussi activer l’échelle de visibilité sur une couche depuis le panneau de couches. Clic-droit sur la couche et dans le menu contextuel, sélectionner Définir l’échelle de visibilité.
16.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.
16.1.14.3. Utiliser l’échelle de référence
If set, the reference scale indicates the map scale at which symbology and labeling sizes which uses paper-based units (such as millimeters or points) relate to. The sizes will be scaled accordingly whenever the map is viewed at a different scale.
For instance, a line layer using a 2mm wide line with a 1:2000 reference scale set will be rendered using 4mm wide lines when the map is viewed at 1:1000.
16.1.15. Onglet Temporel
The Temporal tab provides options to control the rendering of the layer over time. Such dynamic rendering requires the temporal navigation to be enabled over the map canvas.
Check the Dynamic Temporal Control option to configure the vector layer temporal rendering. Depending on the structure of your dataset, you may want to use one of the provided Configuration options:
Fixed time range: all the features are rendered if the map canvas temporal frame overlaps the given Start date and End date range.
Single field with date/time: features are rendered if their Field’s value falls within the map canvas temporal frame. An Event duration can be set. With checking the Accumulate features over time option, all features which occur before or within the map’s temporal range will continue to be rendered. The event duration is thus ignored.
Separate fields for start and end date/time: features are rendered if the range specified by their Start field and End field values overlaps the map canvas temporal.
Separate fields for start and event duration: features are rendered if the range defined by their Start field and Event duration field values overlaps the map canvas temporal.
Start and end date/time from expressions: features are rendered if the time range specified by the fields Start expression and End expression overlaps the map canvas temporal.
Redraw layer only: the layer is redrawn at each new animation frame but no time-based filtering is applied to the features. It’s useful when the layer uses time-based expression values for renderer settings (e.g. data-defined symbology).
It is also possible to set the Limits of the features time range as:
Include start, exclude end
Include start, include end
16.1.16. 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.
16.1.17. Onglet Élévation
The Elevation tab provides options to control the layer elevation properties within a 3D map view and its appearance in the profile tool charts. Specifically, you can set:
Elevation Clamping: defines how and whether the features altitude should be:
Clamped to terrain: takes elevation directly from the terrain height and ignores any existing Z values in the features. A data-defined Offset value from the terrain can also be filled.
Relative to terrain: any existing Z values in the features are added to the terrain height. A Scale factor followed by a data-defined Offset can be used to adjust the elevation. This option is not available for 2D geometry layers.
Absolute: ignores the terrain height and directly takes Z values from the features for the elevation. A Scale factor followed by a data-defined Offset can be used to adjust the elevation. For 2D geometry layers (with no Z values), a data-defined Base height can instead be set.
Enable extrusion: you can set a Height to control how high features vertically extend above their base. This is convenient to indicate that a 2D geometry layers, e.g. a polygon building footprints layer, actually represents 3D objects.
Elevation Binding: only relevant when combining an Elevation clamping relying on the terrain with a line or polygon layer, this option controls how feature elevation is set relative to the terrain height. The terrain can be sampled:
at the feature’s Centroid, with the centroid height being added to each vertex’s z value
at every individual Vertex before being added to the vertex’s z value
Profile Chart Appearance: controls how features are rendered when drawing a profile chart. Two main Interpretation modes are available:
as Individual features: samples discrete positions where the cross section profile line intersects the vector features. That intersection can be represented as point, line or surface depending on the layer type and whether an extrusion is applied.
With checking Respect layer symbology, features will be rendered on the profile chart with their corresponding layer styling (allowing e.g. categorized classes to be visible on the profile chart). If the profile symbol type does not match the layer’s renderer symbol types, only the symbol color from the renderer is applied to the profile symbol.
Depending on the layer settings, profile symbols can be represented with a custom style, using:
Marker style: for non-extruded point and line features, and for non-extruded polygon features touched by the profile line
Line style: for extruded point and line features, and for non-extruded polygon features intersected by the profile line
Fill style: for extruded polygon features
as Continuous Surface (e.g. contours): the elevation chart will be rendered as a surface instead of separate features by joining the sampled elevation results into a continuous line. This can enhance visualisation and is designed for vector layers which represent a continuous elevation surface, e.g contour lines or surveyed elevation points. The line Style can be set as:
a profile Line with a Line style applied
a surface with Fill below and a corresponding Fill style
Moreover, you can check Show markers at sampled points to make them visible over the interpretation line and assign them a Marker style.
16.1.18. Onglet Métadonnées
L’onglet Métadonnées vous offre des options pour créer et modifier un rapport de métadonnées sur votre couche. Voir Metadata pour plus d’informations.
16.1.19. Onglet Dépendances
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.
16.1.20. 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 :
Depending on the symbology applied to the layer, you may end up with several entries in the legend, not necessarily readable/useful to display. The Legend placeholder image helps you select an image for replacement, displayed both in the Layers panel and the print layout legend.
Show label legend: Displays overviews of the different label settings as entries in the legends. The label style is previewed along with the description.
le Texte sur les symboles: Dans certains cas, il peut être utile d’ajouter des informations supplémentaires aux symboles dans la légende. Avec ce cadre, vous pouvez affecter à l’un des symboles utilisés dans la symbologie des couches un texte qui s’affiche sur le symbole, à la fois dans couches et dans la légende de mise en page d’impression. Ce mappage se fait en tapant chaque texte à côté du symbole dans le widget de tableau ou en remplissant le tableau à l’aide du bouton Définir les étiquettes à partir de l’expression. L’apparence du texte est gérée par les widgets de sélection de police et de couleur du bouton Format du texte.
une liste de widgets que vous pouvez intégrer dans l’arborescence des couches dans le panneau Couches. L’idée est d’avoir un moyen d’accéder rapidement à certaines actions qui sont souvent utilisées avec la couche (configuration de la transparence, filtrage, sélection, style ou autre …).
Par défaut, QGIS fournit un widget de transparence mais cela peut être étendu par des plugins enregistrant leurs propres widgets et assignant des actions personnalisées aux couches qu’ils gèrent.
16.1.21. Onglet QGIS Server
The QGIS Server tab consists of Description, Attribution, Metadata URL, and Legend URL sections.
From the Description section, you can change the Short name used to reference the layer in requests (to learn more about short names, read Short name). You can also add or edit a Title and Abstract for the layer, or define a Keyword list here. These keyword lists can be used in a metadata catalog. If you want to use a title from an XML metadata file, you have to fill in a link in the Data URL field.
Utilisez le groupe Attribution pour récupérer les données d’attributs depuis un catalogue de métadonnées XML.
In Metadata URL, you can add the general paths to the XML metadata catalog. This information will be saved in the QGIS project file for subsequent sessions and will be used for QGIS Server.
In the Legend URL section, you can provide the url of a legend image in the url field. You can use the Format drop-down option to apply the appropriate format of the image. Currently png, jpg and jpeg image formats are supported.
Pour en savoir plus sur QGIS Server, lisez le Guide/manuel de QGIS Serveur.
16.1.22. Onglet numérisation
L’onglet Numérisation donne accès à des options permettant de garantir la qualité des géométries numérisées.
16.1.22.1. Corrections automatiques
Les options de la section Corrections automatiques affecteront directement les sommets de toute géométrie ajoutée ou modifiée. Si la 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.
16.1.22.2. Contrôles de géométrie
In the Geometry checks section, additional validations on a per geometry basis can be activated. Immediately after any geometry modification, failures in these checks are reported to the user in the Geometry validation panel. As long as a check is failing, it is not possible to save the layer. The Is valid check will run basic validity checks like self intersection on geometries.
16.1.22.3. Vérification de la topologie
In the Topology checks section, additional topology validation checks can be activated. Topology checks will be executed when the user saves the layer. Check errors will be reported in the Geometry validation panel. As long as validation errors are present, the layer can not be saved. Topology checks are executed in the area of the bounding box of the modified features. Since other features may be present in the same area, topological errors concerning these features are reported as well as errors introduced in the current edit session.
Exception de vérification des écarts
Parfois, il est souhaitable de conserver les espaces à l’intérieur d’une zone dans une couche de polygones qui autrement est entièrement couverte par des polygones. Par exemple, une couche d’utilisation des terres peut avoir des trous acceptables pour les lacs. Il est possible de définir des zones qui sont ignorées dans la vérification de l’écart. Étant donné que les espaces à l’intérieur de ces zones sont autorisés, nous les désignerons comme des zones d’Écarts autorisés.
Dans les options pour les vérifications d’écart sous Écarts autorisés, une couche d’écarts autorisés peut être configurée.
Chaque fois que la vérification des écarts est exécutée, les écarts qui sont couverts par un ou plusieurs polygones dans la couche de lacunes autorisées ne sont pas signalés comme des erreurs de topologie.
Il est également possible de configurer un Tampon supplémentaire. Ce tampon est appliqué à chaque polygone sur la couche de lacunes autorisées. Cela permet de rendre les tests moins sensibles à de petits changements dans les contours aux limites des lacunes.
Lorsque les Écarts autorisés sont activés, un bouton supplémentaire ( Ajouter un écart autorisé) pour les erreurs d’écart détectées est disponible dans le dock de validation de la géométrie, où les écarts sont signalés pendant la numérisation. Si le bouton Ajout d’un interstice aux exceptions autorisées est enfoncé, un nouveau polygone avec la géométrie de l’écart détecté est inséré dans la Couche des interstices autorisés. Cela permet de signaler rapidement les écarts comme autorisés.
Panneau Validation de géométrie
The Geometry Validation panel is triggered when any of the abovementioned digitizing checks finds an error. The dialog provides you with the list of errors and their description, and you can to browse the list using the keyboard arrows or dedicated arrows.
You’ll need to address all the issues before you can save edits to the layer. To do so:
Sélectionnez une erreur et vous pourrez :
Choisir les habituels outils de numérisation pour corriger le problème.