` `

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

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

Pour ouvrir la fenêtre de Propriétés d’une couche, double-cliquez sur son nom dans la légende ou faites un clic-droit puis sélectionnez Propriétés dans le menu qui apparaît.

Note

Depending on the external plugins you have installed, new tabs may be added to the layer properties dialog. Those are not presented below.

Astuce

Live update rendering

The Panneau de style de couche provides you with some of the common features of the Layer properties dialog and is a good modeless widget that you can use to speed up the configuration of the layer styles and automatically view your changes in the map canvas.

Note

Because properties (symbology, label, actions, default values, forms...) of embedded layers (see Inclusion de projets) are pulled from the original project file and to avoid changes that may break this behavior, the layer properties dialog is made unavailable for these layers.

General Properties

general Use this tab to make general settings for the vector layer. There are several options available:

Informations sur la couche

  • Set the Layer name to display in the Layers Panel
  • Display the Layer source of the vector layer
  • Définissez l’Encodage de la source des données pour spécifier le type d’encodage utilisé dans les données source et pour pouvoir les lire correctement

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

  • Displays the layer’s Coordinate Reference System (CRS) as a PROJ.4 string. You can change the layer’s CRS, selecting a recently used one in the drop-down list or clicking on setProjection Select CRS button (see Coordinate Reference System Selector). 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),

  • Mettre à jour l’emprise dans les informations de la couche,

Visibilité dépendante de l’échelle

You can set the Maximum (inclusive) and Minimum (exclusive) scale, defining a range of scale in which features will be visible. Out of this range, they are hidden. The mapIdentification Set to current canvas scale button helps you use the current map canvas scale as boundary of the range visibility. See Rendu dépendant de l’échelle for more information.

../../../_images/vector_general_menu.png

General tab in vector layers properties dialog

Constructeur de requête

Under the Provider Feature Filter frame, the Query Builder allows you to define a subset of the features in the layer using a SQL-like WHERE clause and to display the result in the main window. As long as the query is active, only the features corresponding to its result are available in the project. The query result can be saved as a new vector layer.

The Query Builder is accessible through the eponym term at the bottom of the General tab in the Layer Properties. Under Feature subset, click on the [Query Builder] button to open the Query builder. For example, if you have a regions layer with a TYPE_2 field, you could select only regions that are borough in the Provider specific filter expression box of the Query Builder. Figure_vector_querybuilder shows an example of the Query Builder populated with the regions.shp layer from the QGIS sample data. The Fields, Values and Operators sections help you to construct the SQL-like query.

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

Constructeur de requête

La liste des champs contient tous les attributs de la table d’attributs pouvant être parcourus par la recherche. Pour ajouter un attribut à la clause WHERE, double-cliquez sur son nom dans la liste. Vous pouvez cliquez sur les différents champs, valeurs et opérateurs qui composent votre requête ou bien les écrire directement.

La liste des valeurs recense toutes les valeurs d’un attribut. Pour en lister la totalité, sélectionnez l’attribut dans la liste de champs puis cliquez sur le bouton [Tout]. Pour lister uniquement les 25 premières valeurs, sélectionnez l’attribut puis cliquez sur [Échantillon]. Pour ajouter une valeur à la requête, il vous suffit de faire un double-clic dessus.

La liste des opérateurs contient toutes les opérations possibles sur une recherche. Pour ajouter un opérateur à la clause WHERE de la requête SQL, cliquez sur le bouton approprié. Les opérateurs relationnels ( = , > , ...), les opérateurs de comparaison (LIKE) et les opérateurs logiques (AND, OR, ...) sont disponibles.

Le bouton [Tester] affiche une fenêtre comptabilisant le nombre d’entités correspondant à votre requête, vous permettant de savoir si votre requête fonctionne au fil de sa construction. Le bouton [Effacer] nettoie le texte de la clause ‘SQL WHERE’. Le bouton [OK] ferme la fenêtre et effectue la sélection en fonction de la recherche définie. Le bouton [Annuler] clôt la fenêtre, sans modifier la sélection en cours.

QGIS treats the resulting subset acts as if it were the entire layer. For example if you applied the filter above for ‘Borough’, you can not display, query, save or edit Anchorage, because that is a ‘Municipality’ and therefore not part of the subset.

La seule exception est que, à moins que votre couche fasse partie d’une base de données, utiliser un sous-ensemble ne vous permettra pas d’éditer la couche.

Style Properties

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

Astuce

Exporter le style d’une couche vecteur

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

Rendu d’entités

Le moteur de rendu est chargé de dessiner une entité avec son symbole correct. Indépendamment du type de géométrie, il existe quatre types de moteurs de rendu : symbole unique, catégorisé, gradué et basé sur des règles. Pour les couches de points, les moteurs de rendu par déplacement de point et par carte de chaleur sont disponibles et pour les polygones il est possible d’utiliser un rendu inversé.

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

Note

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

Rendu Symbole Unique

Le mode singleSymbol Symbole Unique est utilisé pour représenter toutes les entités d’une couche de manière identique, à l’aide d’un symbole unique défini par l’utilisateur. Voir The Symbol Selector pour plus d’informations sur l’utilisation des symboles.

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

Propriétés “Symbole Unique” de ligne

Astuce

Edit symbol directly from layer panel

If in your Layers Panel you have layers with categories defined through categorized, graduated or rule-based style mode, you can quickly change the fill color of the symbol of the categories by right-clicking on a category and choose the color you prefer from a colorWheel color wheel menu. Right-clicking on a category will also give you access to the options Hide all items, Show all items and Edit symbol.

No Symbols Renderer

The nullSymbol No Symbols renderer is a special use case of the Single Symbol renderer as it applies the same rendering to all features. Using this renderer, no symbol will be drawn for features, but labeling, diagrams and other non-symbol parts will still be shown.

Selections can still be made on the layer in the canvas and selected features will be rendered with a default symbol. Features being edited will also be shown.

This is intended as a handy shortcut for layers which you only want to show labels or diagrams for, and avoids the need to render symbols with totally transparent fill/border to achieve this.

Rendu Catégorisé

The categorizedSymbol Categorized Renderer is used to render the features of a layer, using a user-defined symbol whose aspect reflects the discrete values of a field or an expression. The Categorized menu allows you to

  • select an existing field (using the Column listbox) or

  • type or build an expression using the expression Set column expression. The expression used to classify features can be of any type; it can for example:

    • be a comparison, e.g. myfield >= 100, $id = @atlas_featureid, myfield % 2 = 0, within( $geometry, @atlas_geometry ). In this case, QGIS returns values 1 (True) and 0 (False).

    • combine different fields, e.g. concat( field1, ' ', field2 ) particularly useful when you want to process classification on two or more fields simultaneously.

    • be a calculation on fields, e.g. myfield % 2, year( myfield ) field_1 + field_2.

    • be used to transform linear values in discrete classes, e.g.:

      CASE WHEN x > 1000 THEN 'Big' ELSE 'Small' END
    • combine several discrete values in one single category, e.g.:

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

    Note

    While you can use any kind of expression to categorize features, for some complex expressions it might be simpler to use rule-based rendering.

  • the symbol (using the The Symbol Selector dialog) which will be used as base symbol for each class;

  • the range of colors (using the Color ramp listbox) from which color applied to the symbol is selected.

Then click on [Classify] button to create classes from the distinct value of the attribute column. Each class can be disabled unchecking the checkbox at the left of the class name.

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

Un clic-droit vous propose de Copier / Coller, Modifier la couleur, Modifier la transparence, Modifier l’unité de sortie ou Modifier la taille.

The example in figure_categorized_symbology shows the category rendering dialog used for the rivers layer of the QGIS sample dataset.

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

Options du mode de rendu Catégorisé

Astuce

Sélectionner et modifier plusieurs symboles

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

Astuce

Apparier les catégories aux noms de symboles

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

Rendu Gradué

Le rendu graduatedSymbol Gradué est utilisé pour afficher toutes les entités d’une couche, en utilisant un symbole de couche défini par l’utilisateur dont la couleur ou la taille reflètera la plage d’appartenance d’une valeur d’un attribut.

Like the Categorized Renderer, the Graduated Renderer allows you to define rotation and size scale from specified columns.

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

  • The attribute (using the Column listbox or the expression Set column expression function)
  • 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

  • The size (using the size domain and its unit)

Then you can use the Histogram tab which shows an interactive histogram of the values from the assigned field or expression. Class breaks can be moved or added using the histogram widget.

Note

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

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

  • Intervalles égaux : toutes les classes sont de même taille (par exemple, avec des valeurs allant de 0 à 16 et 4 classes, chaque classe aura une taille de 4);

  • Quantile : toutes les classes auront le même effectif (même principe que pour les boîtes à moustache);

  • Ruptures naturelles (Jenks) : la variance de chaque classe est minimale tandis que la variance entre les différentes classes est maximale;

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

  • Jolies ruptures: Calcule une séquence d’environ n+1 valeurs d’espacement équidistantes qui couvrent la plage des valeurs de x. Les valeurs sont choisies de sorte qu’elles soient 1, 2 ou 5 fois une puissance de 10. (basé sur ‘jolis points d’arrêt’ de l’environnement statistique de R http://astrostatistics.psu.edu/datasets/R/html/base/html/pretty.html)

The listbox in the center part of the Style tab lists the classes together with their ranges, labels and symbols that will be rendered.

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

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

Un clic-droit vous propose de Copier / Coller, Modifier la couleur, Modifier la transparence, Modifier l’unité de sortie ou Modifier la taille.

The example in figure_graduated_symbology shows the graduated rendering dialog for the rivers layer of the QGIS sample dataset.

../../../_images/graduatesymbol_ng_line.png

Options du mode de rendu Gradué

Astuce

Cartes thématiques utilisant une expression

Categorized and graduated thematic maps can be created using the result of an expression. In the properties dialog for vector layers, the attribute chooser is extended with a expression Set column expression function. So you don’t need to write the classification attribute to a new column in your attribute table if you want the classification attribute to be a composite of multiple fields, or a formula of some sort.

Symboles Proportionnels et Analyse Multivariée

Symbole Proportionnel et Analyse Multivariée ne sont pas disponible dans la liste déroulante du rendu de style. Toutefois, les options de l’Assistant de taille 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

Un rendu proportionnel se fait en appliquant d’abord Rendu Symbole Unique. Une fois que vous avez défini le symbole au niveau supérieur de l’arborescence des symboles, le bouton dataDefined valeur définie par des données disponible à côté des options Taille ou Épaisseur (respectivement pour les couches de points ou de lignes) fournit un outil pour créer une symbologie proportionnelle. Un assistant est accessible via le bouton dataDefined pour vous aider à définir l’expression de la taille.

../../../_images/varying_size_assistant.png

Fenêtre de l’Assistant taille

L’assistant vous permet de définir :

  • The attribute to represent, using the Field listbox or the expression Set column expression function (see Expressions)
  • La méthode de mise à l’échelle à choisir parmi ‘Flannery’, ‘Surface’ ou ‘Rayon’

  • La taille minimale et maximale des symboles

  • La plage de valeurs à représenter : la flèche à droite qui pointe vers le bas vous aide en remplissant automatiquement les valeurs minimale et maximale du champ ou de l’expression choisi.

  • La taille à appliquer pour les valeurs NULL.

À droite de la fenêtre, vous pouvez prévisualiser dynamiquement les symboles. Cette représentation est ajoutée à la légende de la couche dans l’arborescence des couches et dans la légende du composeur d’impression.

Les paramètres montrés dans l’assistant taille ci-dessus, généreront l’expression suivante pour la taille ‘Définie par les données’

coalesce(scale_exp(Importance, 1, 20, 2, 10, 0.57), 1)

Créer une analyse multivariée

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

La façon la plus simple de créer une analyse multivariée dans QGIS consiste à appliquer un rendu classé ou gradué sur une couche, en utilisant le même type de symbole pour toutes les classes. Ensuite, en cliquant sur le bouton [Modification...] au-dessus du cadre de classification, vous obtenez la boîte de dialogue symbole-sélecteur à partir de laquelle, comme vu ci-dessus, vous pouvez activer et définir l’assistant de taille soit sur la taille (pour une couche de point) ou l’épaisseur (pour une couche ligne).

Comme pour les symboles proportionnels, le symbole lié à la taille est ajouté à l’arbre des couches au dessus des catégories de symboles classés ou graduées. Et les deux représentations sont également disponibles dans l’objet légende du composeur d’impression.

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

Multivariate example

Rendu Ensemble de règles

The ruleBasedSymbol Rule-based Renderer is used to render all the features from a layer, using rule-based symbols whose aspect reflects the assignment of a selected feature’s attribute to a class. The rules are based on SQL statements. The dialog allows rule grouping by filter or scale, and you can decide if you want to enable symbol levels or use only the first-matched rule.

To create a rule, activate an existing row by double-clicking on it, or click on ‘+’ and click on the new rule. In the Rule properties dialog, you can define a label for the rule. Press the browseButton button to open the expression string builder. In the Function List, click on Fields and Values to view all attributes of the attribute table to be searched. To add an attribute to the field calculator Expression field, double click on its name in the Fields and Values list. Generally, you can use the various fields, values and functions to construct the calculation expression, or you can just type it into the box (see Expressions). You can create a new rule by copying and pasting an existing rule with the right mouse button. You can also use the ‘ELSE’ rule that will be run if none of the other rules on that level matches. Since QGIS 2.8 the rules appear in a tree hierarchy in the map legend. Just double-click the rules in the map legend and the Style tab of the layer properties appears showing the rule that is the background for the symbol in the tree.

The example in figure_rule_based_symbology shows the rule-based rendering dialog for the rivers layer of the QGIS sample dataset.

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

Options du mode de rendu par Ensemble de Règles

Déplacement de point

The pointDisplacementSymbol Point Displacement renderer works to visualize all features of a point layer, even if they have the same location. To do this, the symbols of the points are placed on a displacement circle around one center symbol or on several concentric circles.

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

Fenêtre Déplacement de points

Note

Vous pouvez toujours styler les entités avec un autre rendu comme symbole unique, gradué, catégorisé ou ensemble de règles en utilisant la liste déroulante Moteur de rendu puis le bouton Paramètres du moteur de rendu....

Polygones inversés

The invertedSymbol Inverted Polygon renderer allows user to define a symbol to fill in outside of the layer’s polygons. As above you can select subrenderers, namely Single symbol, Graduated, Categorized, Rule-Based or 2.5D renderer.

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

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

Carte de chaleur

With the heatmapSymbol Heatmap renderer you can create live dynamic heatmaps for (multi)point layers. You can specify the heatmap radius in pixels, mm or map units, choose and edit a color ramp for the heatmap style and use a slider for selecting a trade-off between render speed and quality. You can also define a maximum value limit and give a weight to points using a field or an expression. When adding or removing a feature the heatmap renderer updates the heatmap style automatically.

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

Fenêtre Carte de chaleur

2.5D

Using the 25dSymbol 2.5D renderer it’s possible to create a 2.5D effect on your layer’s features. You start by choosing a Height value (in map units). For that you can use a fixed value, one of your layer’s fields, or an expression. You also need to choose an Angle (in degrees) to recreate the viewer position (0° means west, growing in counter clock wise). Use advanced configuration options to set the Roof Color and Wall Color. If you would like to simulate solar radiation on the features walls, make sure to check the checkbox Shade walls based on aspect option. You can also simulate a shadow by setting a Color and Size (in map units).

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

2.5D dialog

Astuce

Using 2.5D effect with other renderers

Once you have finished setting the basic style on the 2.5D renderer, you can convert this to another renderer (single, categorized, graduated). The 2.5D effects will be kept and all other renderer specific options will be available for you to fine tune them (this way you can have for example categorized symbols with a nice 2.5D representation or add some extra styling to your 2.5D symbols). To make sure that the shadow and the “building” itself do not interfere with other nearby features, you may need to enable Symbols Levels ( Advanced ‣ Symbol levels...). The 2.5D height and angle values are saved in the layer’s variables, so you can edit it afterwards in the variables tab of the layer’s properties dialog.

Rendu de couche

A partir du menu Style, vous pouvez aussi définir un certain nombre d’options qui invariablement agissent sur toutes les entités de la couche:

  • Transparence de la couche slider : permet de rendre visible les couches situées en dessous. Utiliser le curseur pour adapter la visibilité de la couche vectorielle à vos besoins. Vous pouvez également définir directement le pourcentage de transparence dans la zone de texte située à côté.

  • Layer blending mode and Feature blending mode: 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.

  • Control feature rendering order allows you, using features attributes, to define the z-order in which they shall be rendered. Activate the checkbox and click on the sort button beside. You then get the Define Order dialog in which you:

    • choisissez un champ ou construisez une requête à 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.

    You can add several rules of ordering. The first rule is applied to all the features in the layer, z-ordering them according to the value returned. Then, for each group of features with the same value (including those with NULL value) and thus same z-level, the next rule is applied to sort its items among them. And so on...

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

Options de rendu de couche

Autres Paramètres

Niveaux de symbole

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

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

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

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

Fenêtre Niveaux de symbole

Note

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

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

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

Effets

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

L’option est disponible dans la boîte de dialogue Propriétés de la couche –> Style, sous le groupe Rendu de couche (qui s’applique à toute la couche) ou dans les propriétés de couches de symbole (qui s’appliquent aux entités correspondantes). Vous pouvez combiner les deux utilisations.

Paint effects can be activated by checking the checkbox Draw effects option and clicking the paintEffects Customize effects button, that will open the Effect Properties Dialog (see figure_effects_source). The following effect types, with custom options are available:

  • Source: Dessine l’entité dans son style originel selon la configuration des propriétés de la couche. La transparence de ce style peut être ajustée.

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

    Effets: boîte de dialogue pour Source.

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

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

    Effets: boîte de dialogue Flou.

  • Coloriser: Cet effet peut être employé pour créer une version du style utilisant une teinte unique. La base sera toujours une version en niveaux de gris du symbole et vous pouvez utiliser selectString Niveaux de gris pour choisir le mode de création (options: ‘par clarté’, ‘par luminosité’ et ‘en moyenne’). Si checkbox Coloriser est cochée, il sera possible de mélanger une autre couleur et de choisir l’intensité de cette dernière. Vous pouvez également contrôler les niveaux de luminosité, contraste et saturation du symbole résultant.

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

    Effets: boîte de dialogue Coloriser.

  • Ombre portée: Cet effet ajoute une ombre à l’entité qui peut agir comme l’ajout d’une dimension supplémentaire. Cet effet peut être personnalisé en modifiant le décalage en degrés ou radians, déterminant la direction de l’ombre et la proximité avec la source de l’objet. Ombre portée dispose également de l’option de modification du rayon de floutage, de la transparence et de la couleur de l’effet.

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

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

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

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

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

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

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

    Effets: boîte de dialogue de luminescence interne.

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

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

    Effets: boîte de dialogue de luminescence externe.

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

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

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

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

    • et Translation qui modifie la position de l’objet par sur une distance donnée sur l’axe x et/ou l’axe y.

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

    Effets: boîte de dialogue Transformer.

Il existe des options communes à tous les type d’effets. Les options Transparence and 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.

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

Il existe aussi une option selectString Mode dessin pour chaque effet et vous pouvez la modifier pour effectuer le rendu et/ou pour modifier le symbole. Les effets sont appliqués du plus haut au plus bas. Le mode ‘Rendu uniquement’ signifie que l’effet sera visible alors que le mode ‘Modifier uniquement’ indique que l’effet ne sera pas visible mais que les changements qu’il apporte seront transmis à l’effet suivant (celui situé en dessous). Le mode ‘Rendu et modifier’ rendra l’effet visible et transmettra les changements à l’effet suivant. Si l’effet est en haut de la liste ou si l’effet juste au dessus n’est pas en mode modification, il utilisera le symbole source d’origine des propriétés de la couche (identique à la source).

Labels Properties

The labeling Labels properties provides you with all the needed and appropriate capabilities to configure smart labeling on vector layers. This dialog can also be accessed from the Layer Styling panel, or using the labeling Layer Labeling Options icon of the Labels toolbar.

Setting a label

La première étape est de choisir une méthode d’étiquetage depuis la liste déroulante. Quatre options sont proposées :

  • Pas d’étiquette

  • Montrer les étiquettes pour cette couche

  • Etiquettes basées sur des règles

  • and Blocking: allows to set a layer as just an obstacle for other layer’s labels without rendering any labels of its own.

The next steps assume you select the Show labels for this layer option, enabling following tabs that help you configure the labeling:

It also enables the Label with drop-down list, from which you can select an attribute column to use. Click expression if you want to define labels based on expressions - See Définir des étiquettes basées sur des expressions.

The following steps describe simple labeling without using the Data defined override functions, which are situated next to the drop-down menus - see Utiliser des valeurs de paramètres définies par les données pour l’étiquetage for a use case.

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

Layer labeling settings - Text tab

Text tab

In the Text tab, you can define the Font, Style, and Size of your labels’ text (see Figure_labels). There are options available to set the labels’ Color and Transparency. Use the Type case option to change the capitalization style of the text. You have the possibility to render the text as ‘All uppercase’, ‘All lowercase’ or ‘Capitalize first letter’. In Spacing, you can change the space between words and between individual letters. Finally, use the Blend mode option to determine how your labels will mix with the map features below them (see more about it in Modes de fusion).

The Apply label text substitutes option gives you ability to specify a list of texts to substitute to texts in feature labels (e.g., abbreviating street types). Replacement texts are thus used to display labels in the map canvas. Users can also export and import lists of substitutes to make reuse and sharing easier.

Formatting tab

In the Formatting tab, you can define a character for a line break in the labels with the Wrap on character option. You can also format the Line Height and the alignment. For the latter, typical values are available (left, right, and center), plus Follow label placement for point layers. When set to this mode, text alignment for labels will be dependent on the final placement of the label relative to the point. E.g., if the label is placed to the left of the point, then the label will be right aligned, while if it is placed to the right, it will be left aligned.

For line vector layers you can include Line directions symbols to help determine the lines directions. They work particularly well when used with the curved or Parallel placement options from the Placement tab. There are options to set the symbols position, and to reverse direction.

Use the checkbox Formatted numbers option to format numeric labels. You can set the number of Decimal places. By default, 3 decimal places will be used. Use the checkbox Show plus sign if you want to show the plus sign in positive numbers.

Buffer tab

To create a buffer around the labels, activate the checkbox Draw text buffer checkbox in the Buffer tab. You can set the buffer’s Size, color, and Transparency. The buffer expands from the label’s outline , so, if the checkbox color buffer’s fill checkbox is activated, the buffer interior is filled. This may be relevant when using partially transparent labels or with non-normal blending modes, which will allow seeing behind the label’s text. Deactivating checkbox color buffer’s fill checkbox (while using totally transparent labels) will allow you to create outlined text labels.

Background tab

In the Background tab, you can define with Size X and Size Y the shape of your background. Use Size type to insert an additional ‘Buffer’ into your background. The buffer size is set by default here. The background then consists of the buffer plus the background in Size X and Size Y. You can set a Rotation where you can choose between ‘Sync with label’, ‘Offset of label’ and ‘Fixed’. Using ‘Offset of label’ and ‘Fixed’, you can rotate the background. Define an Offset X,Y with X and Y values, and the background will be shifted. When applying Radius X,Y, the background gets rounded corners. Again, it is possible to mix the background with the underlying layers in the map canvas using the Blend mode (see Modes de fusion).

Shadow tab

Use the Shadow tab for a user-defined Drop shadow. The drawing of the background is very variable. Choose between ‘Lowest label component’, ‘Text’, ‘Buffer’ and ‘Background’. The Offset angle depends on the orientation of the label. If you choose the checkbox Use global shadow checkbox, then the zero point of the angle is always oriented to the north and doesn’t depend on the orientation of the label. You can influence the appearance of the shadow with the Blur radius. The higher the number, the softer the shadows. The appearance of the drop shadow can also be altered by choosing a blend mode.

Placement tab

Choose the Placement tab for configuring label placement and labeling priority. Note that the placement options differ according to the type of vector layer, namely point, line or polygon.

Emplacement pour les couches de points

With the radioButtonOn Cartographic placement mode, point labels are generated with a better visual relationship with the point feature, following ideal cartographic placement rules. Labels can be placed at a set Distance either from the point feature itself or from the bounds of the symbol used to represent the feature. The latter option is especially useful when the symbol size isn’t fixed, e.g. if it’s set by a data defined size or when using different symbols in a categorized renderer.

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

  1. en haut à droite

  2. en haut à gauche

  3. coin inférieur droit

  4. coin inférieur gauche

  5. au centre à droite

  6. au centre à gauche

  7. en haut, décalé légèrement à droite

  8. en bas, décalé légèrement à gauche.

Placement priority can, however, be customized or set for an individual feature using a data defined list of prioritised positions. This also allows only certain placements to be used, so e.g. for coastal features you can prevent labels being placed over the land.

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

With the radioButtonOn Offset from point, labels are placed at a fixed offset from the point feature. You can select the Quadrant in which to place your label. You are also able to set the Offset X,Y distances between the points and their labels and can alter the angle of the label placement with the Rotation setting. Thus, placement in a selected quadrant with a defined rotation is possible.

Emplacement pour les couches linéaires

Label options for line layers include radioButtonOn Parallel, radioButtonOff Curved or radioButtonOff Horizontal. For the radioButtonOn Parallel and radioButtonOff Curved options, you can set the position to checkbox Above line, checkbox On line and checkbox Below line. It’s possible to select several options at once. In that case, QGIS will look for the optimal label position. For Parallel and curved placement options, you can also use the line orientation for the position of the label. Additionally, you can define a Maximum angle between curved characters when selecting the radioButtonOff Curved option (see Figure_labels_placement_line).

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

Label placement examples in lines

For all three placement options, in Repeat, you can set up a minimum distance for repeating labels. The distance can be in mm or in map units.

Emplacement pour les couches de polygones

You can choose one of the following options for placing labels in polygons (see figure_labels_placement_polygon):

  • radioButtonOn Offset from centroid,
  • radioButtonOff Horizontal (slow),
  • radioButtonOff Around centroid,
  • radioButtonOff Free (slow),
  • radioButtonOff Using perimeter,
  • and radioButtonOff Using perimeter (curved).

In the Offset from centroid settings you can specify if the centroid is of the radioButtonOn visible polygon or radioButtonOff whole polygon. That means that either the centroid is used for the polygon you can see on the map or the centroid is determined for the whole polygon, no matter if you can see the whole feature on the map. You can place your label within a specific quadrant, and define offset and rotation.

The Around centroid setting places the label at a specified distance around the centroid. Again, you can define radioButtonOn visible polygon or radioButtonOff whole polygon for the centroid.

With the Horizontal (slow) or Free (slow) options, QGIS places at the best position either a horizontal or a rotated label inside the polygon.

With the Using perimeter option, the label will be drawn next to the polygon boundary. The label will behave like the parallel option for lines. You can define a position and a distance for the label. For the position, checkbox Above line, checkbox On line, checkbox Below line and checkbox Line orientation dependent position are possible. You can specify the distance between the label and the polygon outline, as well as the repeat interval for the label.

The Using perimeter (curved) option helps you draw the label along the polygon boundary, using a curved labeling. In addition to the parameters available with Using perimeter setting, you can set the Maximum angle between curved characters polygon, either inside or outside.

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

Label placement examples in polygons

In the priority section you can define the priority with which labels are rendered for all three vector layer types (point, line, polygon). This placement option interacts with the labels from other vector layers in the map canvas. If there are labels from different layers in the same location, the label with the higher priority will be displayed and the others will be left out.

Rendering tab

In the Rendering tab, you can tune when the labels can be rendered and their interaction with other labels and features.

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

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

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

  • Si elles sont dans la même couche, une étiquette plus petite sera toujours tracée au dessus de l’étiquette plus large.

  • Si elles sont issues de couches différentes, les étiquettes sont tracées dans le même ordre que les couches (pour respecter l’ordre des couches dans la légende).

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

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

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

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

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

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

Pour les couches de polygones, vous pouvez choisir le type des entités d’obstacle qui minimiseront le placement des étiquettes:

  • over the feature’s interior: avoids placing labels over the interior of the polygon (prefers placing labels totally outside or just slightly inside the polygon)
  • or over the feature’s boundary: avoids placing labels over boundary of the polygon (prefers placing labels outside or completely inside the polygon). E.g., it can be useful for regional boundary layers, where the features cover an entire area. In this case, it’s impossible to avoid placing labels within these features, and it looks much better to avoid placing them over the boundaries between features.

Étiquettes basées sur des règles

With rule-based labeling multiple label configurations can be defined and applied selectively on the base of expression filters and scale range, as in Rule-based rendering.

To create a rule, select the Rule-based labeling option in the main drop-down list from the Labels tab and click the signPlus button at the bottom of the dialog. Then fill the new dialog with a description and an expression to filter features. You can also set a scale range in which the label rule should be applied. The other options available in this dialog are the common settings seen beforehand.

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

Paramètres des règles

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

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

Étiquetage basé sur des règles

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

Whether you choose simple or rule-based labeling type, QGIS allows using expressions to label features. Click the expression icon near the Label with drop-down list in the labeling Labels tab of the properties dialog. In figure_labels_expression, you see a sample expression to label the alaska regions with name and area size, based on the field ‘NAME_2’, some descriptive text, and the function $area in combination with format_number() to make it look nicer.

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

Utiliser des expressions pour l’étiquetage

Expression based labeling is easy to work with. All you have to take care of is that:

  • You need to combine all elements (strings, fields, and functions) with a string concatenation function such as concat, + or ||. Be aware that in some situations (when null or numeric value are involved) not all of these tools will fit your need.
  • Strings are written in ‘single quotes’.
  • Fields are written in “double quotes” or without any quote.

Examinons quelques exemples :

  1. Label based on two fields ‘name’ and ‘place’ with a comma as separator:

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

    Returns:

    John Smith, Paris
  2. Label based on two fields ‘name’ and ‘place’ with other texts:

    '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")
    

    Returns:

    My name is John Smith and I live in Paris
  3. Label based on two fields ‘name’ and ‘place’ with other texts combining different concatenation functions:

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

    Returns:

    My name is John Smith and I live in Paris

    Or, if the field ‘place’ is NULL, returns:

    My name is John Smith
  4. Multi-line label based on two fields ‘name’ and ‘place’ with a descriptive text:

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

    Returns:

    My name is John Smith
    I live in Paris
  5. Label based on a field and the $area function to show the place’s name and its rounded area size in a converted unit:

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

    Returns:

    The area of Paris has a size of 10500 ha
  6. Create a CASE ELSE condition. If the population value in field population is <= 50000 it is a town, otherwise it is a city:

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

    Returns:

    This place is a town

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

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

With the dataDefined Data defined override functions, the settings for the labeling are overridden by entries in the attribute table. It can be used to set values for most of the labeling options described above. See the widget’s description and manipulation in Valeurs définies par des données section.

The Label Toolbar

The Label Toolbar provides some tools to manipulate labeling label or diagram diagram properties, but only if the corresponding data-defined option is indicated (otherwise, buttons are disabled). Layer might also need to be in edit mode.

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

The Label toolbar

While for readability, label has been used below to describe the Label toolbar, note that when mentioned in their name, the tools work almost the same way with diagrams:

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

Warning

Label tools overwrite current field values

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

Customize the labels from the map canvas

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

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

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

  3. Look for the Data defined entries. Click the dataDefined icon to define the field type for the Coordinate. Choose xlabel for X and ylabel for Y. The icons are now highlighted in yellow.

    ../../../_images/label_data_defined.png

    Étiquetage d’une couche vectorielle de polygones avec l’option ‘Défini par les données’

  4. Zoomez sur un lac.

  5. Set editable the layer using the toggleEditing Toggle Editing button.

  6. Go to the Label toolbar and click the moveLabel icon. Now you can shift the label manually to another position (see figure_labels_move). The new position of the label is saved in the xlabel and ylabel columns of the attribute table.

  7. Using The Geometry Generator with the expression below, you can also add a linestring symbol layer to connect each lake to its moved label:

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

    Moved labels

Fields Properties

attributes The Fields tab helps you organize the fields of the selected dataset and the way you can interact with the feature’s attributes. The buttons newAttribute New field and deleteAttribute Delete field can be used when the dataset is in toggleEditing Editing mode.

You can rename fields by double-clicking in the fields name (note that you should switch to editing mode to edit the field name). This is only supported for data providers like PostgreSQL, Oracle, Memory layer and some OGR layer depending the OGR data format and version.

You can define some alias to display human readable fields in the feature form or the attribute table. In this case, you don’t need to switch to editing mode. Alias are saved in project file.

Comments can be added by clicking in the comment field of the column but if you are using a PostgreSQL layer, comment of the column could be the one in the PostgreSQL table if set. Comments are saved in the QGIS project file as for the alias.

The dialog also lists read-only characteristics of the field such as its type, type name, length and precision. When serving the layer as WMS or WFS, you can also check here which fields could be retrieved.

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

Field properties tab

Configure the field behavior

Within the Fields tab, you also find an Edit widget column. This column can be used to define values or a range of values that are allowed to be added to the specific attribute table column. It also helps to set the type of widget used to fill or display values of the field, in the attribute table or the feature form. If you click on the [Edit widget] button, a dialog opens, where you can define different widgets.

../../../_images/editwidgetsdialog.png

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

Common settings

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

  • Editable: uncheck this to set the field read-only (not manually modifiable) when the layer is in edit mode. Note that checking this setting doesn’t override any edit limitation from the provider.

  • Label on top: places the field name above or beside the widget in the feature form

  • Default value: for new features, automatically populates by default the field with a predefined value or an expression-based one. For example, you can:

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

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

    Note

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

  • Constraints: you can constrain the value to insert in the field. This constraint can be:

    • checkbox Not null: force the user to provide a value

    • based on a custom expression: e.g. regexp_match(col0,'A-Za-z') to ensure that the value of the field col0 has only alphabetical letter.

      A short description of the constraint can be added and will be displayed at the top of the form as a warning message when the value supplied does not match the constraint.

Edit widgets

The available widgets are:

  • Case à cocher : Affiche une case à cocher et vous pouvez définir quelle valeur stocker quand la case est cochée ou pas.

  • Classification: Displays a combo box with the values used for classification, if you have chosen ‘unique value’ as legend type in the Style tab of the properties dialog.
  • Couleur : Affiche un bouton de couleur permettant de choisir une couleur via la fenêtre Sélectionner une couleur.

  • 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 liste déroulante avec les valeurs qui peuvent être utilisées selon la définition du type de champ. Ce mode d’édition n’est actuellement disponible que pour les couches PostgreSQL.

  • External Resource: Uses a “Open file” dialog to store file path in a relative or absolute mode. It can also be used to display a hyperlink (to document path), a picture or a web page.
  • File Name: Simplifies the selection by adding a file chooser dialog.
  • Cachée : Un attribut caché sera invisible. L’utilisateur ne pourra pas visualiser son contenu.

  • Photo : Champ contenant le nom d’un fichier de photo. La largeur et la hauteur peuvent être précisées.

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

  • Relation Reference: This widget lets you embed the feature form of the referenced layer on the feature form of the actual layer. See Créer des relations un ou plusieurs à plusieurs.
  • Text Edit (default): This opens a text edit field that allows simple text or multiple lines to be used. If you choose multiple lines you can also choose html content.
  • Unique Values: You can select one of the values already used in the attribute table. If ‘Editable’ is activated, a line edit is shown with autocompletion support, otherwise a combo box is used.
  • Générateur d’UUID : Champ en lecture seule qui génère un UUID (Identifiant Unique Universel) lorsqu’il est vide.

  • Value Map: A combo box with predefined items. The value is stored in the attribute, the description is shown in the combo box. You can define values manually or load them from a layer or a CSV file.
  • Valeur relationnelle: Affiche les valeurs d’une table liée dans une liste déroulante. Vous pouvez sélectionner une couche, une colonne de clef et une colonne de valeur. Plusieurs options sont disponibles pour modifier le comportement standard: autoriser les valeurs nulles, trier par valeur, permettre la sélection multiple et utiliser l’auto-complétion. Les formulaires afficheront soit une liste déroulante, soit une boîte de saisie de texte lorsque la case à cocher de l’auto-complétion est cochée.

  • Web View: Field contains a URL. The width and height of the field is variable.

Note

QGIS possède une option avancée ‘Cachée’ pour définir votre propre outil de champ qui utilise python et l’ajouter à cette grande liste d’outils. Il est d’une utilisation délicate mais il est très bien expliqué dans le blog suivant qui explique comment créer un outil de validation en temps réel pouvant être utilisé comme les outils décrits. Voir http://blog.vitu.ch/10142013-1847/write-your-own-qgis-form-elements

Astuce

Chemins relatifs dans les contrôles de formulaire

If the path which is selected with the file browser is located in the same directory as the .qgs project file or below, paths are converted to relative paths. This increases portability of a .qgs project with multimedia information attached. This is enabled only for File Name, Photo and Web View at this moment.

Customize a form for your data

By default, when you click on a feature with the identify Identify Features tool or switch the attribute table to the form view mode, QGIS displays a form with tabulated textboxes (one per field). This rendering is the result of the default Autogenerate value of the Layer properties ‣ Fields ‣ Attribute editor layout setting. Thanks to the widget setting, you can improve this dialog.

You can furthermore define built-in forms (see figure_fields_form), e.g. when you have objects with many attributes, you can create an editor with several tabs and named groups to present the attribute fields.

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

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

The drag and drop designer

Choose Drag and drop designer from the Attribute editor layout combobox to layout the features form within QGIS. Then, drag and drop rows from the Fields frame to the Label panel to have fields added to your custom form.

You can also use categories (tab or group frames) to better structure the form. The first step is to use the signPlus icon to create a tab in which fields and groups will be displayed (see figure_fields_layout). You can create as many categories as you want. The next step will be to assign to each category the relevant fields, using the arrowRight icon. You’d need to select the targeted category beforehand. You can use the same fields many times.

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

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

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

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

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

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

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

Provide an ui-file

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

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

For detailed information, see http://nathanw.net/2011/09/05/qgis-tips-custom-feature-forms-with-python-logic/.

Enhance your form with custom functions

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

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

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

Un exemple (dans le module MyForms.py):

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

Reference in Python Init Function like so: open

Joins Properties

join The Joins tab allows you to join a loaded attribute table to a loaded vector layer. After clicking signPlus, the Add vector join dialog appears. As key columns, you have to define a join layer you want to connect with the target vector layer. Then, you have to specify the join field that is common to both the join layer and the target layer. Now you can also specify a subset of fields from the joined layer based on the checkbox checkbox Choose which fields are joined. As a result of the join, all information from the join layer and the target layer are displayed in the attribute table of the target layer as joined information. If you specified a subset of fields only these fields are displayed in the attribute table of the target layer.

QGIS currently has support for joining non-spatial table formats supported by OGR (e.g., CSV, DBF and Excel), delimited text and the PostgreSQL provider (see figure_joins).

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

Joindre une table attributaire à une couche vectorielle existante

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

  • checkbox Mettre la couche jointe en cache dans la mémoire virtuelle

  • checkbox Créer un index des attributs joins

  • checkbox Choisir les champs à joindre

  • checkbox Personnaliser le préfixe du champ

Diagrams Properties

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

Cet onglet permet de générer :

  • Des diagramme camembert, un graphique statistiques circulaire divisé en quartiers pour représenter la proportion numérique. La longueur de l’arc de chaque quartier est proportionnelle à la quantité représentée.

  • Des diagrammes texte, un cercle divisé horizontalement affichant les valeurs statistiques à l’intérieur.

  • et des Histogrammes.

Astuce

Switch quickly between types of diagrams

Given that the settings are almost common to the different types of diagram, when designing your diagram, you can easily change the diagram type and check which one is more appropriate to your data without any loss.

For each type of diagram, the properties are divided into several tabs:

Attributs

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

You can move up and down any row with click and drag, sorting how attributes are displayed. You can also change the label in the ‘Legend’ column or the attribute color by double-clicking the item.

Cette étiquette est le texte par défaut affiché dans la légende du composeur d’impression ou dans l’arborescence de la couche, dans le panneau Couche.

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

Diagram properties - Attributes tab

Apparence

L’onglet Apparence détermine l’affichage du diagramme. Il offre des paramètres généraux qui n’ont pas d’influence sur les valeurs statistiques:

  • Le niveau de transparence, la largeur et la couleur de la ligne extérieure.

  • La largeur de la barre pour les histogrammes.

  • La couleur de l’arrière-plan du cercle pour les diagrammes texte ainsi que la police utilisée pour les textes.

  • L’orientation de la ligne située à gauche du premier quartier affiché dans un camembert. Les quartiers sont affichés dans le sens des aiguilles d’une montre.

In this tab, you can also manage the diagram visibility:

  • En supprimant les diagrammes qui se recouvrent ou en choisissant d’Afficher tous les diagrammes, même si certains se recouvrent.

  • by selecting a field with Data defined visibility to precisely tune which diagrams should be rendered
  • En paramétrant la visibilité selon l’échelle

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

Diagram properties - Appearance tab

Taille

L’onglet Taille est l’onglet principal permettant de paramétrer la représentation des statistiques. Les unités de taille de diagramme peuvent être les ‘unités de la carte’ ou les ‘millimètres’. Vous pouvez utiliser:

  • Une Taille fixe, une taille unique pour représenter les diagrammes de toutes les entités, à l’exception des histogrammes.

  • Ou une Taille pondérée, basée sur une expression utilisant les attributs de la couche.

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

Diagram properties - Size tab

Emplacement

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

  • ‘Over the point’ or ‘Around the point’ for point geometry. The latter variable requires a radius to follow.
  • ‘Over the line’ or ‘Around the line’ for line geometry. Like point feature, the last variable requires a distance to respect and user can specify the diagram placement relative to the feature (‘above’, ‘on’ and/or ‘below’ the line) It’s possible to select several options at once. In that case, QGIS will look for the optimal position of the diagram. Remember that here you can also use the line orientation for the position of the diagram.
  • ‘Sur le centroïde’, ‘Autour du centroïde’ (avec une distance paramétrée), ‘Sur le périmètre’ et n’importe où ‘A l’intérieur du polygone’ sont les options pour les entités polygones.

Le diagramme peut également être placé en utilisant des données de l’entité en remplissant les champs X et Y avec un attribut de l’entité.

Le placement des diagrammes peut interagir avec les étiquettes et vous pouvez détecter et gérer les conflits entre les diagrammes et les étiquettes grâce à la jauge du paramètre Priorité ou par la valeur index z.

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

Vector properties dialog with diagram properties, Placement tab

Options

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

Legend

From the Legend tab, you can choose to display items of the diagram in the Panneau de couches, besides the layer symbology. It can be:

  • the represented attributes: color and legend text set in Attributes tab
  • and if applicable, the diagram size, whose symbol you can customize.

When set, the diagram legend items are also available in the print composer legend, besides the layer symbology.

Exemple d’utilisation

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

  1. Tout d’abord, cliquez sur le bouton addOgrLayer Ajouter une couche vecteur, naviguez jusqu’au jeu de données exemples de QGIS et ajoutez les deux couches alaska.shp et climate.shp.

  2. Double-cliquez sur la couche climate dans la légende pour ouvrir la fenêtre de Propriétés de la Couche.

  3. Click on the Diagrams tab and from the Diagram type selectString combo box, select ‘Text diagram’.
  4. Dans l’onglet Apparence, nous choisissons le bleu clair comme couleur de fond et définissons une taille fixe de 18 mm dans l’onglet Taille.

  5. Dans l’onglet Position, l’emplacement défini est Autour du point.

  6. Sur le diagramme, nous souhaiterions afficher les valeurs de trois colonnes T_F_JAN, T_F_JUL et T_F_MEAN. Donc dans le sous-onglet Attributs, sélectionnez T_F_JAN et cliquez sur le bouton signPlus puis faites de même avec les colonnes T_F_JUL et enfin T_F_MEAN.

  7. Cliquez maintenant sur [Appliquer] pour afficher les diagrammes sur la carte.

  8. Vous pouvez adapter la taille du graphique dans l’onglet Taille. Activez l’option radioButtonOn Taille variable et définissez la taille des diagrammes en fonction de la Valeur maximale d’un attribut et de l’option Taille. Si les diagrammes apparaissent trop petits à l’écran, vous pouvez cocher la case checkbox Augmenter la taille des petits diagrammes et définir la Taille minimale des diagrammes.

  9. Change the attribute colors by double clicking on the color values in the Assigned attributes field. Figure_diagrams_mapped gives an idea of the result.
  10. Cliquez enfin sur [OK].

../../../_images/climate_diagram.png

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

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

The size and the attributes can also be an expression. Use the expression button to add an expression. See Expressions chapter for more information and example.

Using data-defined override

As mentioned above, you can use some custom data-defined to tune the diagrams rendering:

  • position in Placement tab by filling X and Y fields
  • visibility in Appearance tab by filling the Visibility field

See Utiliser des valeurs de paramètres définies par les données pour l’étiquetage for more information.

Actions Properties

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

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

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

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

  • Les actions de type Générique, Mac, Windows et Unix lancent un processus externe.

  • Les actions Python lancent un code Python.

  • Les actions de type Générique et Python sont disponibles quel que soit le système d’exploitation.

  • Les actions Mac, Windows et Unix sont disponibles uniquement depuis les systèmes d’exploitation correspondants (c’est à dire que vous pouvez définir trois actions ‘Éditer’ qui ouvrent un éditeur et les utilisateurs ne verront que l’action correspondant à leur système d’exploitation).

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

Définir des Actions

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

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

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

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

Two example actions are shown below:

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

Dans le premier exemple, le navigateur internet konqueror est lancé avec une URL. L’URL effectue une recherche Google sur la valeur du champ nam de la couche vecteur. Notez que l’application ou le script appelé par l’action doit être dans le path sinon vous devez fournir le chemin complet vers l’application. Pour être certain, nous pouvons réécrire le premier exemple de cette manière : /opt/kde3/bin/konqueror http://www.google.com/search?q=%nam. Ceci assurera que l’application konqueror sera exécutée quand 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.

Utiliser des Actions

Actions can be invoked from either the Identify Results dialog, an Attribute Table dialog or from Run Feature Action (recall that these dialogs can be opened by clicking identify Identify Features or openTable Open Attribute Table or actionRun Run Feature Action). To invoke an action, right click on the feature and choose the action from the pop-up menu (they should have been enabled to be displayed in the attribute table). Actions are listed in the popup menu by the name you assigned when defining the action. Click on the action you wish to invoke.

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

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

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

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

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

Comme exercice, nous allons créer une action qui réalise une recherche Google sur la couche lakes. Tout d’abord, nous avons besoin de déterminer l’URL nécessaire pour effectuer une recherche sur un mot clé. Il suffit simplement d’aller sur Google et faire une recherche simple puis récupérer l’URL dans la barre d’adresse de votre navigateur. De cela, nous en déduisons la formulation : http://google.com/search?q=qgis, où qgis est le terme recherché. À partir de tout cela, nous pouvons poursuivre :

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

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

  3. Click on the Actions tab.

  4. click signPlus Add a new action.

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

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

  7. A la suite du nom de l’application externe, ajoutez l’URL utilisée pour faire la recherche Google, jusqu’au terme de recherche, mais sans l’ajouter : http://google.com/search?q=

  8. Le texte dans le champ Action devrait ressembler à ceci : firefox http://google.com/search?q=

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

  10. From the drop-down box, select ‘NAMES’ and click [Insert].

  11. Votre texte Action ressemble maintenant à :

    firefox http://google.com/search?q=%NAMES

  12. To finalize and add the action, click the [OK] button.

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

Edit action dialog configured with the example

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

firefox http://google.com/search?q=%NAMES

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

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

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

Quand vous cliquez sur l’action, cela ouvre Firefox et charge l’URL http://www.google.com/search?q=Tustumena. Il est également possible d’ajouter d’autres champs attributs à l’action. Pour faire cela, vous pouvez ajouter un + à la fin du texte de l’action, sélectionnez un autre champ et cliquez sur [Insérer un champ]. Dans cet exemple, la recherche sur un autre champ n’aurait pas de sens.

Vous pouvez définir de multiples actions pour une couche et chacune apparaitra dans la fenêtre Identifier les résultats.

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

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

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

D’ordinaire, lorsque l’on crée une action pour ouvrir un fichier avec une application externe, on peut utiliser un chemin absolu ou relatif. Dans ce dernier cas, le chemin dépend donc de l’emplacement du fichier d’exécution du programme externe. Mais si nous souhaitons utiliser des chemins relatifs à la couche sélectionnée (stockée sous forme de fichier comme un shapefile ou une base SpatiaLite) ? Le code suivant permet de le faire :

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

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

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

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

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

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

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

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

Display Properties

mapTips This tab is specifically created for map tips: display a message in the map canvas when hovering over a feature of the active layer. This message can either be the value of a radioButtonOff Field or a more complex and full radioButtonOff HTML text mixing fields, expressions and html tags (multiline, fonts, images, hyperlink ...).

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

Figures Display Code and Mapped show an example of HTML code and how it behaves in map canvas.

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

Code HTML pour les infobulles

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

Infobulles basées sur du code HTML

Rendering Properties

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

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

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

Note

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

Le rendu de couches très détaillées (ex: des couches de polygones avec un très grand nombre de noeuds) peut entraîner des exports de composeur au format PDF/SVG très volumineux car tous les noeuds sont inclus dans le fichier exporté. Cela peut rendre également le fichier résultant long à ouvrir dans d’autres programmes.

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

Vous pouvez également forcer ce paramètre dans le composeur pour exporter en mode raster mais dans ce cas, toutes les couches seront rasterisées.

Metadata Properties

metadata The Metadata tab consists of Description, Attribution, MetadataURL, LegendUrl and Properties sections.

Dans la section Propriétés, vous disposez des informations générales sur la couche, y compris celles spécifiques à son type, sa localisation, le nombre d’entités, le type d’entités et les possibilités d’édition. La table Emprise fournit les informations sur l’emprise de la couche et le Système de Référence Spatiale de la Couche qui est une information sur le SCR de la couche. Il s’agit d’un moyen rapide d’obtenir des informations utiles sur la couche.

Additionally, you can add or edit a title and abstract for the layer in the Description section. It’s also possible to define a Keyword list here. These keyword lists can be used in a metadata catalog. If you want to use a title from an XML metadata file, you have to fill in a link in the DataUrl field.

Use Attribution to get attribute data from an XML metadata catalog.

In MetadataUrl, you can define the general path 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.

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

../../../_images/vector_metadata_tab.png

Metadata tab in vector layers properties dialog

Astuce

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

La liste déroulante Style ‣ Ajouter située en bas de la boite de dialogue Propriétés de la couche vous permet de sauvegarder autant de combinaisons des propriétés de la couches (symbologie, étiquettes, diagrammes, éditeur d’attributs, actions...) que vous le souhaitez. Ensuite, il suffit de choisir le style au moyen du menu contextuel de la couche dans l’Arbre des couches pour passer automatiquement d’un type de représentation à un autre.

Variables Properties

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

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

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

Legend Properties

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

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