Outdated version of the documentation. Find the latest one here.

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

La fenêtre Propriétés de la couche pour une couche vectorielle fournit des informations sur la couche, les paramètres de représentation et les options d’étiquetage. Si votre couche a été chargée depuis une base PostgreSQL/PostGIS, vous pouvez également modifier la requête SQL d’appel de la couche, en l’éditant dans la fenêtre Constructeur de requête de l’onglet Général. Pour accéder à la fenêtre Propriétés de la couche, double-cliquez sur la couche dans la légende ou faites un clic droit sur la couche et sélectionnez Propriétés dans le menu qui apparait.

Figure Vector Properties 1:

../../../_images/vectorLayerSymbology.png

Vector Layer Properties Dialog nix

Onglet Style

symbology Depuis la version 1.4.0 de QGIS une nouvelle symbologie a été intégrée afin d’améliorer et de remplacer à terme l’ancienne symbologie. QGIS 1.8 utilise maintenant par défaut cette nouvelle symbologie qui apporte de nombreuses améliorations et de nouvelles fonctionnalités.

Une description du fonctionnement de l’ancienne symbologie est disponible dans la section Ancienne symbologie.

Il y a trois types de symboles : le symbole marqueur (pour les points), le symbole de lignes et les symboles de remplissage et de contour (pour les polygones). Un symbole peut lui-même être composé de plusieurs couches de symboles. Il est possible de définir la couleur d’un symbole pour l’ensemble des couches de symbole. Certaines couches de symbole peuvent avoir leur couleur verrouillée. De la même manière, il est possible de définir la largeur d’une ligne ainsi que la taille et l’orientation des symboles de type marqueur.

Types de symboles disponibles

  • Couches de points

    • Symbole de police : symbole issu d’une police de caractère.

    • Symbole simple : symbole de type prédéfini dans QGIS.

    • Symbole SVG : symbole au format SVG.

    • Symbole d’ellispe : symbole dont la forme et la couleur varient selon les valeurs d’attributs.

    • Symbole de champ vectoriel : rendu utilisant les valeurs d’attributs.

  • Couches de lignes

    • Décoration de ligne : ajoute une flèche en fin de ligne pour indiquer sa direction.

    • Ligne de symboles : répétition de symboles le long de la ligne.

    • Ligne simple : affichage classique d’une ligne (en spécifiant la couleur, l’épaisseur et le style du trait).

  • Couches de polygones

    • Remplissage de centroïde : place un symbole simple au centroïde de chaque polygone.

    • Remplissage SVG : rempli les polygones par une répétition de symboles SVG.

    • Remplissage simple : rendu classique des polygones (en spécifiant la couleur et le motif de remplissage ainsi que le style des contours).

    • Motif de lignes : rempli les polygones par un motif de lignes.

    • Motif de points : rempli les polygones par un motif de points.

    • Bordure : décoration de ligne : ajoute une flèche indiquant la direction de la ligne.

    • Bordure : ligne de symboles : ajoute une répétition de symboles simples sur le contour.

    • Bordure : ligne simple : contour simple défini par son épaisseur, sa couleur et un style de trait.

Palettes de couleurs

Les palettes de couleur sont utilisées pour définir des sets de couleurs. La couleur d’un symbole sera tirée de la palette.

Il y a trois types de palettes :

  • Dégradé : un dégradé linéaire d’une couleur à d’autres.

  • Aléatoire : couleurs générées aléatoirement à partir d’un espace de couleur.

  • Mélangeur de couleur : Création d’un espace de couleur depuis un schéma et un nombre fixe de classes de couleurs.

Les palettes peuvent être créées via l’onglet Palette de couleur du Gestionnaire de style en cliquant sur le bouton [Ajouter] puis en choisissant une palette de couleur (voir section vector_style_manager ).

Styles

Un style regroupe un ensemble de symboles et de palettes de couleurs. Vous pouvez choisir vos symboles préférés ou les plus utilisés afin de pouvoir les employer de nouveau sans devoir les recréer. Ces objets ont toujours un nom par lequel il est possible de les appeler. Il y a un style par défaut dans QGIS qui peut être modifié, l’utilisateur pouvant en créer de nouveaux. Dans la partie inférieure de l’onglet Style, quatre boutons permettent de gérer les styles : utilisez [Restaurer le style par défaut] pour réinitialiser le style, [Sauvegarder comme défaut] pour définir le style par défaut, [Charger le style...] pour appliquer votre propre style et [Sauvegarder le style...] pour enregistrer le style courant. Le style appliqué à une couche peut être transféré à une autre couche : activez la couche, sélectionnez Couche ‣ mActionEditCopy Copier le style puis activez l’autre couche et sélectionnez Couche ‣ mActionEditPaste Coller le style.

Moteurs de Rendu

Le moteur de rendu est responsable de l’affichage d’une entité avec le symbole adéquat. Il existe quatre types de rendus : symbole unique, catégorisé (nommé couleur unique dans l’ancienne symbologie), gradué et basé sur un ensemble de règles. Il n’y a pas de rendu de couleur continue, car il s’agit d’un cas spécifique du rendu gradué. Les rendus catégorisés et gradués peuvent être créés en spécifiant un symbole et une palette de couleur - les couleurs des différents symboles changeront selon.

Travailler avec la nouvelle symbologie

Dans l’onglet Style, vous pouvez choisir entre différents types de rendu : symbole unique, catégorisé, gradué, ensemble de règles et déplacement de points. Pour chaque type de données (points, lignes ou polygones), des types de symboles vectoriels sont disponibles (voir vector_symbol_types). Selon le mode de rendu choisi, onglet style propose différents paramètres et options qui sont décrits dans les sections qui suivent. L’interface de la nouvelle symbologie propose également un bouton [Gestionnaire de styles...] qui permet d’accéder au Gestionnaire de styles (voir section Gestionnaire de styles). Ce dernier permet d’éditer, d’ajouter ou de supprimer des types de symboles.

Astuce

Sélectionner et modifier plusieurs symboles

La nouvelle symbologie permet de sélectionner plusieurs symboles et, par un clic-droit, de modifier la couleur, la transparence, la taille ou l’épaisseur du contour des entrées sélectionnées.

Symboles uniques

Le moteur de rendu pour symbole unique est utilisé pour représenter toutes les entités de la couche de la même façon, définie par l’utilisateur. Les propriétés, qui peuvent être ajustées dans l’onglet Style, dépendent du type de géométrie de la couche, mais partagent une structure similaire. En haut à gauche figure un aperçu du symbole tel qu’il apparaîtra. En bas est affichée la liste des symboles déjà existants dans le style courant, prêts à être sélectionnés d’un simple clic. Le symbole courant peut être modifié en utilisant le bouton [Modification...] situé sous l’aperçu et qui ouvre la fenêtre de Propriétés du symbole, ou en utilisant le bouton [Changer] situé à droite de l’aperçu et qui ouvre la fenêtre Sélectionner une couleur.

Figure Symbology 1:

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

Single symbol line properties nix

Dans l’onglet Style,vous pouvez définir non seulement la transparence générale de la couche mais également les unités à utiliser pour la taille des symboles (millimètre ou unité identique à celle de la carte). Avec le bouton [Avancé] situé à côté de [Sauvegarder le style], vous pouvez spécifier un champ de la table attributaire à utiliser pour faire varier la taille ou la rotation. Ici le menu Niveaux de symbole permet définir manuellement dans quel ordre les couches de symboles doivent être dessinées (si plusieurs symboles différents ont été définis pour la couche).

Après avoir effectué les modifications nécessaires, le symbole peut être ajouté à la liste des symboles existants (en utilisant le bouton [Sauvegarder le style]) pour être réemployé ultérieurement. De plus, vous pouvez utiliser le bouton [Sauvegarder le style] situé en bas pour exporter le symbole comme fichier de style QGIS (.qml) ou fichier SLD (.sld). Actuellement dans la version 1.8, des SLD peuvent être exportés pour tous les types de rendu (symbole unique, catégorisé, gradué ou basé sur un ensemble de règles) mais lors de l’importation d’un SLD seuls les rendus simple et basé sur un ensemble de règles peuvent être créés. Cela signifie que les rendus catégorisé et gradué seront convertis en un ensemble de règles. Si vous souhaitez conserver ces types de rendu, il faut fonctionner avec des fichiers QML. Mais il peut être très pratique d’utiliser ce système pour convertir des styles en ensemble de règles.

Symboles catégorisés

Le rendu catégorisé est utilisé pour afficher toutes les entités d’une couche en recourant à un symbole défini par l’utilisateur dont la couleur reflètera la valeur d’un attribut donné. L’onglet Style vous permet de sélectionner :

  • l’attribut (en choisissant parmi la liste des colonnes)

  • le symbole (en utilisant la fenêtre de Sélection de symbole)

  • les couleurs (en utilisant la liste de palettes de couleur)

Le bouton [Avancé] dans le coin inférieur droit de la fenêtre permet de définir les champs contenant les informations relatives à la rotation et la proportion. Pour faciliter les choix de représentation, la liste dans la partie inférieure de la fenêtre affiche les valeurs de tous les attributs actuellement sélectionnés, ce qui inclut les symboles qui seront affichés.

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

Figure Symbology 2:

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

Categorized Symbolizing options nix

Vous pouvez créer une palette de couleur personnalisée en cliquant sur New color ramp... dans la liste déroulante des palettes. Une fenêtre vous demandera de choisir le type : gradué, aléatoire, mélangeur de couleur (ColorBrewer). Chacun des ces choix à sa propre série d’options, voir figure figure_symbology_3 pour un exemple de palette personnalisée.

Figure Symbology 3:

../../../_images/customColorRampGradient.png

Example of custom gradient color ramp with multiple stops nix

Symboles gradués

Le rendu 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 reflètera la plage d’appartenance d’une valeur d’un attribut (p. ex. une plage d’altitude de 0 à 100m).

Figure Symbology 4:

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

Graduated Symbolizing options nix

De la même manière que le rendu catégorisé, il est possible de faire varier l’angle de rotation et la taille des symboles selon les valeurs des champs spécifiés.

De la même façon que le rendu catégorisé, l’onglet Style vous permet de modifier les points suivants :

  • l’attribut (en choisissant parmi la liste des colonnes)

  • le symbole (en utilisant le bouton changer)

  • la couleur (en utilisant la liste des palettes de couleur)

De plus, vous pouvez choisir le nombre de classes et la méthode de classification. Les modes disponibles sont :

  • Intervalles égaux

  • Quantiles

  • Ruptures naturelles (Jenks)

  • Écart-type

  • Jolies ruptures (“Pretty” de R)

La liste de la partie inférieure de l’onglet Style indique les classes ainsi que leurs plages, étiquettes et symboles.

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

Rendu basé sur un ensemble de règles

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

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

Pour créer une règle, séletionez une ligne existante en cliquant dessus puis cliquez sur le bouton [Éditer] ou cliquez directement sur ‘+’. Dans la fenêtre de Propriétés de la règle vous pouvez définir une Étiquette pour identifier la règle. Cliquez sur le bouton browsebutton pour ouvrir le Constructeur de chaîne d’expression. Dans la Liste de fonctions, cliquez sur Champs et valeurs pour visualiser tous les attributs de la table. Pour ajouter un champ dans la zone Expression, double-cliquez sur son nom depuis la liste Champs et valeurs. Vous pouvez utiliser plusieurs champs, valeurs et fonctions pour construire l’expression à calculer ou les rentrer directement manuellement (voir Calculatrice de champ).

Figure Symbology 5:

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

Rule-based Symbolizing options nix

Déplacement de point

Le rendu de déplacement de point offre une visualisation de tous les points d’une couche, même si ceux-ci se superposent. Pour se faire, les symboles des points sont répartis en cercle autour d’un symbole central.

Figure Symbology 6:

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

Point displacement dialog nix

Propriétés des symboles

La fenêtre de propriétés d’un symbole permet à l’utilisateur de spécifier ses différentes propriétés. En bas à gauche figure un aperçu du symbole tel qu’il sera affiché sur la carte. Juste au dessus est placée la liste des différentes couches de symbole. Pour accéder à cette fenêtre de Propriétés du symbole, cliquez sur le bouton [ mActionOptions Modification...] de l’onglet Style de la fenêtre de Propriétés de la couche.

Les boutons permettent d’ajouter ou de supprimer des couches de symbole, changer leur superposition, vérouiller leur couleur. Dans la partie droite sont affichés les paramètres relatifs à la couche de symbole sélectionnée. Le plus important est sans doute la liste Type de Symbole selectstring qui permet de choisir le type de la couche. Les options disponibles dépendent du type d’entités (Point, Ligne, Polygone). Les types de couche de symboles sont décrits dans la section vector_symbol_types. Vous pouvez également changer les propriétés de la couche de symbole sélectionnée dans la partie droite de la fenêtre. Par exemple, si vous avez choisi un symbole SVG pour une couche de points, il est possible de changer la couleur en utilisant le bouton Couleur.

Figure Symbology 7:

../../../_images/symbolproperties1.png

Line composed from three simple lines nix

Gestionnaire de styles

Le gestionnaire de styles est une petite application qui liste les symboles et les palettes de couleurs disponibles. Il permet d’ajouter et/ou supprimer des styles. Pour l’utiliser, cliquez sur Préférences ‣ Gestionnaire de Style dans le menu principal. Vous pouvez également y accéder depuis l’onglet Style.

Figure Symbology 10:

../../../_images/stylemanager.png

Style Manager to manage symbols and color ramps nix

Ancienne symbologie

Note

QGIS 1.8 permet toujours l’utilisation de l’ancienne symbologie, bien qu’il est recommandé de passer à la nouvelle, décrite dans la section vector_new_symbology. L’ancienne symbologie sera retirée dans l’une des prochaines versions.

If you want or need to switch back to the old symbology you can click on the [Old symbology] button in the Style tab of the Layer Properties dialog.

You can also make the old symobolgy the default, deactivating checkbox Use new generation symbology for rendering in the Rendering tab under Settings ‣ mActionOptions Options.

The old QGIS symbology supports the following renderers:

  • Single symbol - a single style is applied to every object in the layer.
  • Graduated symbol - objects within the layer are displayed with different symbols classified by the values of a particular field.
  • Continuous color - objects within the layer are displayed with a spread of colours classified by the numerical values within a specified field.
  • Unique value - objects are classified by the unique values within a specified field with each value having a different symbol.

To change the symbology for a layer, simply double click on its legend entry and the vector Layer Properties dialog will be shown.

Style Options

Within this dialog you can style your vector layer. Depending on the selected rendering option you have the possibility to also classify your map features.

At least the following styling options apply for nearly all renderers:

  • Fill style - Style for filling. Beside the given brushes you can select Fill style: selectstring ‘Texture’ and click the browsebutton button for selecting your own texture file. Currently the fileformats *.jpeg, *.xpm, and *.png are supported.
  • Fill color - fill-color of your features.
  • Outline options
    • Outline style - Pen-style for your outline of your feature. You can also set this to ‘no Pen’.
    • Outline color - color of the ouline of your feature.
    • Outline width - width of your features.

Once you have styled your layer you also could save your layer-style to a separate file (ending with *.qml). To do this, use the button [Save Style...]. No need to say that [Load Style...] loads your saved layer-style-file.

If you wish to always use a particular style whenever the layer is loaded, use the [Save As Default] button to make your style the default. Also, if you make changes to the style that you are not happy with, use the [Restore Default Style] button to revert to your default style.

Vector transparency

QGIS allows to set a transparency for every vector layer. This can be done with the slider Transparency slider inside the Style tab. This is very useful for overlaying several vector layers.

Onglet Étiquettes

labels De même que pour la symbologie, QGIS 1.8 propose en parallèle deux moteurs d’étiquettes : un ancien et un nouveau. L’onglet Étiquettes correspond toujours à l’ancien système d’étiquetage mais sera remplacé par le nouveau dans l’une des prochaines versions de QGIS.

Nous vous recommandons de passer au nouveau système d’étiquetage décrit dans la section Nouveau moteur d’étiquetage.

The old labeling in the Labels tab allows you to enable labeling features and control a number of options related to fonts, placement, style, alignment and buffering. We will illustrate this by labeling the lakes shapefile of the QGIS sample dataset:

  1. Load the Shapefile alaska.shp and GML file lakes.gml in QGIS
  2. Zoom in a bit to your favorite area with some lake
  3. Make the lakes layer active
  4. Ouvrir la fenêtre Propriétés de la couche

  5. Click on the Labels tab
  6. Check the checkbox Display labels checkbox to enable labeling
  7. Choose the field to label with. We will use Field containing label selectstring NAMES
  8. Enter a default for lakes that have no name. The default label will be used each time QGIS encounters a lake with no value in the NAMES field.
  9. If you have labels extending over several lines, check checkboxMultiline labels?. QGIS will check for a true line return in your label field and insert the line breaks accordingly. A true line return is a single character \n, (not two separate characters, like a backlash \ followed by the character n). To insert line returns in an attribute field configure the edit widget to be text edit (not line edit).
  10. Click [Apply].

Now we have labels. How do they look? They are probably too big and poorly placed in relation to the marker symbol for the lakes.

Select the Font entry and use the [Font] and [Color] buttons to set the font and color. You can also change the angle and the placement of the text-label.

To change the position of the text relative to the feature:

  1. Beneath the Basic label options change the placement by selecting one of the radio buttons in the Placement group. To fix our labels, choose the radiobuttonon Right radio button.
  2. the Font size units allows you to select between radiobuttonon Points or radiobuttonoff Map units.
  3. Click [Apply] to see your changes without closing the dialog.

Things are looking better, but the labels are still too close to the marker. To fix this we can use the options on the Offset entry which is on the bottom of the menu. Here we can add offsets for the X and Y directions. Adding an X offset of 5 will move our labels off the marker and make them more readable. Of course if your marker symbol or font is larger, more of an offset will be required.

The last adjustment we’ll make is to Buffer the labels. This just means putting a backdrop around them to make them stand out better. To buffer the lakes labels:

  1. Click the checkbox Buffer Labels checkbox to enable buffering.
  2. Choose a size for the buffer using the spin box.
  3. Choose a color by clicking on [Color] and choosing your favorite from the color selector. You can also set some transparency for the buffer if you prefer.
  4. Click [Apply] to see if you like the changes.

If you aren’t happy with the results, tweak the settings and then test again by clicking [Apply].

A buffer of 1 points seems to give a good result. Notice you can also specify the buffer size in map units if that works out better for you.

The advanced entries inside the Label tab allow you control the appearance of the labels using attributes stored in the layer. The entries beginning with Data defined allow you to set all the parameters for the labels using fields in the layer.

Note that the Label tab provides a preview-box where your selected label is shown.

Nouveau moteur d’étiquetage

Le nouveau moteur d’mActionLabeling Étiquetage permet de générer intelligemment des étiquettes pour les couches vectorielles de points, lignes et polygones et requiert peu de paramètres. Il gère les couches transfoméées à la volée.Ce nouveau moteur remplacera celui décrit dans la section Onglet Étiquettes.

Utiliser le nouveau moteur d’étiquetage

  1. Démarrez QGIS et chargez une couche de points, lignes ou polygones.

  2. Sélectionnez la la couche dans la légende et cliquez sur le bouton mActionLabeling Étiquetage situé dans la barre d’outils de QGIS.

Étiqueter une couche de points

La première étape est de cocher la case checkbox Étiqueter cette couche avec et de choisir le champ de la table d’attribut à utiliser pour les étiquettes. Cliquez sur browsebutton si vous souhaitez obtenir des étiquettes complexes générées par une expression. Vous pouvez ensuite définir le style du texte et l’échelle de visibilité dans l’onglet Paramètres d’étiquetage (voir Figure_labels_1). L’onglet Avancé permet de définir l’emplacement des étiquettes et leurs priorités d’affichage. C’est ici que vous choisissez si toutes les parties d’une entité multi-parties doivent être étiquetées. Le caractère de retour à la ligne se définit également ici et permet d’introduire des retours à la ligne dans les étiquettes. L’onglet Source de définition des paramètres permet de définir les propriétés de la police, du tampon et de la position grâce aux valeurs stockées dans la table attributaire.

Figure Labels 1:

../../../_images/label_points.png

Smart labeling of vector point layers nix

Étiqueter une couche de lignes

La première étape est de cocher la case checkbox Étiqueter cette couche avec et de choisir le champ de la table d’attribut à utiliser pour les étiquettes. Cliquez sur browsebutton si vous souhaitez obtenir des étiquettes complexes générées par une expression. Vous pouvez ensuite définir le style du texte et l’échelle de visibilité dans l’onglet Paramètres d’étiquetage. D’autres options d’étiquetage sont disponibles via l’onglet Avancé. Vous pouvez définir l’emplacement des étiquettes et leur distance par rapport aux lignes ainsi que choisir un d’étiquetage suivant la direction des lignes et la priorité d’affichage. De plus, c’est ici que vous choisissez si toutes les parties d’une entité multi-parties doivent être étiquetées, si les lignes doivent être fusionnées pour éviter la duplication d’étiquettes et si un symbole de direction doit être ajouté (voir Figure_labels_2). Vous pouvez empêcher l’étiquetage de certaines lignes et définir le caractère de retour à la ligne. Utilisez l’onglet Source de définition des paramètres pour définir des paramètres d’étiquetage grâce aux valeurs stockées dans la table attributaire.

Figure Labels 2:

../../../_images/label_line.png

Smart labeling of vector line layers nix

Étiqueter une couche de polygones

La première étape est de cocher la case checkbox Étiqueter cette couche avec et de choisir le champ de la table d’attribut à utiliser pour les étiquettes. Cliquez sur browsebutton si vous souhaitez obtenir des étiquettes complexes générées par une expression. Vous pouvez ensuite définir le style du texte et l’échelle de visibilité dans l’onglet Paramètres d’étiquetage (voir Figure_labels_3 ). Des options de placement, de distance et de priorité d’affichage sont disponibles via l’onglet Avancé. De plus, c’est ici que vous choisissez si toutes les parties d’une entité multi-parties doivent être étiquetées. Vous pouvez empêcher l’étiquetage de certains polygones et définir le caractère de retour à la ligne. Utilisez l’onglet Source de définition des paramètres pour définir des paramètres d’étiquetage grâce aux valeurs stockées dans la table attributaire.

Figure Labels 3:

../../../_images/label_area.png

Smart labeling of vector polygon layers nix

Modifier les paramètres de rendu des étiquettes

En cliquant sur le bouton [Paramètres], vous pouvez sélectionner la méthode de recherche à appliquer pour trouver le meilleur emplacement de chaque étiquette. Les méthodes disponibles sont : Chaîne, Popmusic Tabu, Popmusic Chain, Popmusic Tabu Chain et FALP.

Figure Labels 4:

../../../_images/label_engine.png

Dialog to change label engine settings nix

De plus le nombre de possibilités peut être précisé pour les couches de points, lignes et polygones et vous pouvez choisir de forcer l’affichage de toutes les étiquettes (y compris celles qui se superposent) et afficher toutes les possibilité d’affichage, pour le débogage.

Mots-clé à utiliser dans les champs destinés à l’étiquetage

Voici une liste des mots-clé supportés, qui peuvent être utilisés dans les attributs pour l’emplacement des étiquettes.

  • Pour l’alignement horizontal : left, center, right

  • Pour l’alignement vertical : bottom, base, half, top

  • Les couleurs sont à spécifier en notation svg, par exemple . #ff0000

  • Pour le gras, le souligné, le barré et l’italic : 0 = faux 1 = vrai

Une combinaison de ces mots-clé dans un champ fonctionne également, par exemple : base right ou bottom left.

Onglet Champs

attributes Dans l’onglet Champs, il est possible de manipuler les attributs du jeu de données sélectionné. Les boutons mActionNewAttribute Nouvelle colonne et mActionDeleteAttribute Effacer une colonne peuvent être utilisés lorsque le jeu de données est en mActionToggleEditing mode édition.

Actuellement, seules les colonnes des couches PostGIS peuvent être effacées ou ajoutées. La bibliothèque OGR, avec les versions de GDAL >= 1.9, supporte l’ajout et la suppression de colonnes.

Outils d’édition

Figure Fields 1:

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

Dialog to select an edit widget for an attribute column nix

Dans l’onglet Champs vous trouverez un colonne Outils d'édition. Cette colonne peut être utilisée pour définir les valeurs ou les plages de valeurs permises lors de l’ajout d’attributs dans une colonne. Si vous cliquez sur le bouton [Édition de ligne], une fenêtre s’ouvre et permet de choisir parmi les différents outils d’édition proposés. Ces outils sont :

  • Édition de ligne : un champ d’édition qui permet d’entrer du texte simple (ou de restreindre à des nombres pour des attributs de type numériques).

  • Classification : Affiche une liste déroulante avec les valeurs utilisées pour la classification, si vous avez choisi le style ‘Catégorisé’ dans l’onglet Style de la fenêtre de propriétés.

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

  • Valeurs uniques : L’utilisateur peut sélectionner l’une des valeurs déjà utilisées dans cette colonne. Une ligne est affichée avec le support de l’auto-complétion si la case ‘Éditable’ est cochée, une boîte de saisie est utilisée sinon.

  • Nom de fichier : Simplifie la sélection d’un fichier par l’ouverture d’un explorateur de fichiers.

  • Liste de valeurs : Liste déroulante avec des valeurs prédéfinies. La valeur est stockée dans l’attribut, la description est affichée dans la liste. Vous pouvez défninir des valeurs manuellement ou les charger depuis la couche ou depuis un fichier CSV.

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

  • Immuable : Un attribut immuable est en lecture seule. L’utilisateur ne pourra pas le modifier.

  • Cachée : Un attribut caché sera invisible. L’utilisateur ne pourra pas visualiser son contenu.

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

  • Édition de texte : Ouvre une zone d’édition de texte permettant les retours à la ligne.

  • Calendrier : Ouvre un calendrier permettant de choisir une date. Le champ doit être de type texte.

  • Valeur relationnelle : Propose les valeurs stockées dans un champ d’une autre table. Vous choisisez la table, le champ clé et le champ de valeur.

  • Générateur d’UUID : Champ en lecture seule qui génère un UUID (Identifiant Unique Universel) lorsqu’il est vide.

Onglet Général

general L’onglet Général des couches vectorielles est très proche de celui des couches raster. Voici les options disponibles :

  • modifier le nom affiché de la couche,

  • choisir le champ à afficher dans la fenêtre d’Identification des résultats,

  • définir une Interface d’édition pour la couche, interface réalisée avec l’IDE Qt Creator et ses outils associés (http://qt.digia.com/Product/Developer-Tools/),

  • créer un Index Spatial (uniquement pour les formats supportés par OGR),

  • ajouter une Fonction d’initialisation pour la couche. Elle écrasera les initialisations définies par QGIS,

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

  • visualiser ou modifier le système de coordonnées de référence de la couche en cliquant sur Specifier le SCR,

De plus vous pouvez checkbox Utiliser le rendu dépendant de l’échelle, définir des options spécifiques (par exemple l’encodage) et, avec le bouton [Constructeur de requête], vous pouvez restreindre la couche à un sous-ensemble d’entités (référez-vous également à la section Sélection).

Figure General 1:

../../../_images/vector_general_tab.png

General tab in vector layers properties dialog nix

Onglet Métadonnées

metadata L’onglet Métadonnées contient les informations sur la couche dont le type et la localisation, le nombre d’entités, le type des entités et les possibilités d’éditions. Les sections Emprise et Système spatial de référence de la couche fournissent d’autres informations sur la couche. Cet onglet permet d’obtenir rapidement des informations sur la couche.

De plus, vous pouvez ajouter ou éditer le titre et le résumé de la couche. Ces informations seront sauvegardées dans le fichier de projet QGIS et utilisées par QGIS Server.

Figure Metadata 1:

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

Metadata tab in vector layers properties dialog nix

Onglet Actions

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

Figure Actions 1:

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

Overview action dialog with some sample actions nix

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 6 types qui peuvent être utilisés de la sorte :

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

  • Les actions Python lancent un code python,

  • Les actions 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 ‘Editer’ qui ouvrent un éditeur et les utilisateurs ne verront que l’action correspondant à leur système d’exploitation).

Quelques exemples d’actions sont fournis. Vous pouvez les charger en cliquant sur [Ajouter les actions par défaut]. Un des exemples effectue une recherche basée sur la valeur d’un attribut. C’est ce qui est développé par la suite.

Définir des actions

Les actions sur les attributs sont définies dans la fenêtre Propriétés de la couche. Pour définir une action, ouvrez la fenêtre Propriétés de la couche et cliquez sur l’onglet Actions. Sélectionnez le type ‘Générique’ et renseignez un nom pour l’action. L’action elle-même doit contenir le nom de l’application qui sera exécutée quand l’action sera lancée. Vous pouvez ajouter un ou plusieurs champs d’attributs comme argument pour l’application. Quand l’action est invoquée n’importe quelle chaîne de caractère précédée de % et correspondant au nom d’un champ sera remplacé par la valeur de ce champ. Le caractère spécial %% sera remplacé par la valeur d’un champ qui a été sélectionné par le résultat d’un Identifier ou dans la table d’attributs (voir using_actions, ci-dessous). Des guillemets peuvent être utilisés pour grouper du texte en un seul argument pour le programme, le script ou la commande. Les guillemets seront ignorés s’ils sont précédés d’un antislash.

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 ici : [[%col10]].

En utilisant l’outil Identifier les entités, vous ouvrez la fenêtre Résultats identifiés. 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 leur valeur peut être utilisée dans l’action avec %(Derived).X et %(Derived).Y. Les attributs dérivés sont disponibles uniquement depuis la fenêtre Résultats identifiés et pas la Table d’attributs.

Deux exemples d’action sont proposés ci-dessous :

  • 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 les actions

Les actions se lancent depuis la fenêtre Résultats identifiés, depuis la Table d’attributs ou depuis Exécuter l’action de l’entité (rappelez-vous que ces fenêtres s’ouvrent en cliquant sur mActionIdentify Identifier les entités, mActionOpenTable Ouvrir la table d’attributs ou mAction Exécuter l’action de l’entité). Pour lancer une action, faites un clic droit sur un enregistrement et choisissez l’action depuis le menu qui apparaît. Les actions sont listées dans le menu par le nom que vous leur avez donné en les définissant. Cliquez ensuite sur l’action que vous souhaitez lancer.

Si vous invoquez une action qui utilise la notation %%, faites un clic droit sur la valeur du champ que vous souhaitez passer en argument à l’application ou au script dans la fenêtre Résultats identifiés ou la Table d’attributs.

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. Je souhaiterais 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, le fichier de destination ressemblera à ça :

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. Cliquez sur l’onglet Actions.

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

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

  6. 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=

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

  8. Cliquez sur le menu déroulant contenant les noms des champs pour la couche lakes. Il est situé juste à gauche du bouton [Insérer un champ].

  9. Dans le menu déroulant, selectstring sélectionnez ‘NAMES’ et cliquez sur [Insérer un champ].

  10. Le texte de votre action devrait maintenant ressembler à ça : firefox http://google.com/search?q=%NAMES

  11. Pour finaliser l’action, cliquez sur le bouton [Insérer une action].

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 :

Figure Actions 2:

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

Select feature and choose action nix

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 Résultats identifiés.

Vous pouvez imaginer toute sorte 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 visualisateur 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, notammnent 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 layname 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" %]')

Onglet Jointure

join L’onglet Jointure permet de joindre une table attributaire chargée à une couche vecteur chargée. Vous devez définir une couche de jointure, un champ de jointure et un champ cible. QGis permet actuellement de joindre les formats de tables non spatiales supportées par OGR, les fichiers de texte délimités et les tables PostgreSQL (voir figure_joins_1).

Figure Joins 1:

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

Join an attribute table to an existing vector layer nix

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

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

  • checkbox Créer un index des attributs joins

Onglet Diagrammes

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

L’implémentation actuelle des diagrammes permet de visualiser des graphiques sous forme de diagrammes circulaires ou textuels accompagnés des valeurs attributaires correspondantes. La taille du diagramme est fixe ou proportionnel à une valeur d’attribut. Le placement du diagramme interagit avec le nouveau système d’étiquetage de sorte que les conflits de placement sont détectés et résolus. La position des diagrammes peut également être modifiée manuellement.

Figure Diagrams 1:

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

Vector properties dialog with diagram tab nix

Nous allons vous montrer un exemple en superposant dans les 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. Cliquez sur l’icône mActionAddOgrLayer Ajouter une couche vecteur, parcourez le répertoire de l’échantillon QGIS et chargez les 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. Cliquez sur l’onglet de Diagrammes, cochez Afficher les diagrammes et choisissez ‘Diagramme texte’ comme Type de diagramme selectstring.

  4. Comme couleur de fond nous choisissons un bleu clair et fixons la taille à 18 mm.

  5. La position est choisie ‘Autour du point’.

  6. Dans le diagramme, nous souhaitons afficher les valeurs de trois colonnes T_F_JAN, T_F_JUL et T_F_MEAN. Sélectionnez d’abord T_F_JAN dans la liste d’Attributs et cliquez sur le bouton vert [+], de même pour T_F_JUL et T_F_MEAN.

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

  8. Vous pouvez adapter la taille du diagramme ou changer la couleur des attributs en double-cliquant sur les couleurs dans la liste des attributs. La Figure_diagrams_2 donne une idées du résultat.

  9. Et pour finir cliquez sur [OK].

Figure Diagrams 2:

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

Diagram from temperature data overlayed on a map nix

De plus, dans la fenêtre Préférences ‣ Options, l’onglet Revêtement permet de choisir l’algorithme de placement des diagrammes. La méthode ‘Point central’ est la plus générique, les autres utilisent des algorithmes de la bibliothèque PAL. Ils permettent également de considérer les diagrammes et étiquettes des autres couches. Voir aussi la section Extension Diagramme incrusté pour d’autres fonctionnalités concernant les diagrammes.