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

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.

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.

Onglet Général

general Utilisez cet onglet pour définir les paramètres généraux de la couche vecteur. Plusieurs options sont disponibles :

Informations sur la couche

  • Changez le nom affiché de la couche dans Nom de la couche

  • Définissez le fichier Source de la couche vectorielle

  • 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

  • Sélectionner le SCR, système de coordonnées de référence. Ici vous pouvez visualiser ou modifier le SCR de la couche.

  • Créer un index spatial (uniquement pour les formats gérés par OGR),

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

  • Voir ou modifier la projection de la couche vecteur en cliquant sur Sélectionner le SCR

Visibilité dépendante de l’échelle

Vous pouvez définir une échelle Maximum (inclusive) et Minimum (exclusive), correspondant à une plage d’échelles pour lesquelles les entités sont visibles. En dehors de cette plage, elles sont cachées. Le bouton mapIdentification Mettre à l’échelle actuelle du canevas permet d’utiliser l’échelle actuelle pour l’une ou l’autre des limites de la plage de visibilité.

Figure Vector General 1:

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

Onglet Général de la fenêtre de Propriétés d’une couche vecteur

Constructeur de requête

Dans la partie Filtre d’entités du fournisseur de données, le constructeur de requêtes vous permet de définir un sous-ensemble de la table en utilisant une clause SQL de type WHERE et de l’afficher dans QGIS. Tant que cette requête est active sur la couche, seules ses entités remplissant la condition sont disponibles dans le projet. Le résultat de la requête peut être sauvegardé comme une nouvelle couche.

Le Constructeur de requête est accessible via le bouton du même nom en bas de l’onglet Général de la fenêtre des Propriétés. Dans Filtre d’entité du fournisseur de données, cliquez sur le bouton [Constructeur de requête] pour ouvrir la fenêtre. Par exemple si vous avez une couche regions avec un champ TYPE_2, vous pouvez sélectionner uniquement les régions de type borough dans la partie Expression de filtrage spécifique au fournisseur. Figure_vector_general_2 montre un exemple de requête sur la couche regions.shp de l’échantillon de données QGIS. Les zones Champs, Valeurs et Opérateurs permettent de vous aider à la construction d’une requête de type SQL.

Figure Vector General 2:

../../../_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 traite le sous-ensemble comme s’il s’agissait d’une couche complète. Par exemple si vous appliquez un filtre sur la couche des régions de type ‘Borough’, vous n’allez pas pouvoir afficher, requêter, sauvegarder ou éditer la région d’Anchorage parce qu’il s’agit d’une ‘Municipality’ et qu’elle ne fait donc pas partie du sous-ensemble.

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.

Onglet Style

L’onglet Style vous donne accès à un outil facile à utiliser pour définir les symboles et les effets de rendu de vos données vectorielles. Des outils communs à tous les types de données vectorielles ou des outils spécifiques à chaque type sont disponibles. Cependant, quelque soit le type d’outil, l’organisation de la boite de dialogue suit toujours le même principe: dans la partie supérieure, vous disposez des éléments qui vous permettent de gérer la classification et les symboles à utiliser pour les entités et dans la partie inférieure les réglages de Rendu de couche.

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 Le Créateur de symboles pour plus d’informations sur l’utilisation des symboles.

Figure Symbology 1:

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

Propriétés “Symbole Unique” de ligne

Astuce

Modifier la symbologie depuis le panneau Couches

Si vous avez des couches qui comportent des catégories définies au moyen d’un style catégorisé, gradué ou basé sur un ensemble de règles dans votre arbre des couches, vous pouvez rapidement changer la couleur d’une catégorie au moyen d’un clic droit sur la catégorie et en choisissant la nouvelle couleur dans une colorWheel roue chromatique. Le clic droit sur une catégorie vous donne aussi accès aux options Masquer tous les items, Afficher tous les items et Modifier le symbole.

Rendu Catégorisé

Le rendu categorizedSymbol Catégorisé est utilisé pour représenter toutes les entités d’une couche classées par catégorie qui dépend d’un des attributs de l’entité. Le rendu Catégorisé permet de sélectionner :

  • L’attribut (en utilisant la liste déroulante de Colonne ou la fonction expressionEditorOpen Définir une expression de colonne, voir Expressions)

  • Le symbole (en utilisant la fenêtre Le Créateur de symboles) qui sera utilisé par défaut pour chaque classe

  • Les couleurs (en utilisant la liste des palettes de couleur) parmi lesquelles la couleur appliquée au symbole est choisie

Cliquez ensuite sur le bouton Classer pour générer les classes pour toutes les valeurs différentes trouvées dans le champ de la table attributaire. 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.

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

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.

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

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

  • L’attribut (en utilisant la liste déroulante de Colonne ou la fonction expressionEditorOpen Définir une expression de colonne)

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

  • Le format de la légende et la précision des valeurs numériques

  • La méthode à utiliser pour modifier la couleur ou la taille des symboles

  • Les couleurs (en utilisant la liste des palettes de couleur), si la méthode couleur est sélectionnée

  • La taille (en choisissant une plage de valeurs et les unités)

Ensuite vous pouvez utiliser l’onglet histogramme qui permet d’afficher un histogramme interactif des valeurs du champ ou de l’expression utilisé pour le rendu. Les classes peuvent être définies ou ajoutées depuis l’histogramme.

Note

Vous pouvez utiliser le panneau 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)

La zone de liste dans la partie centrale du menu Style répertorie les classes ainsi que leurs étendues, étiquettes et symboles de rendu.

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

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

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

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

Figure Symbology 3:

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

Options du mode de rendu Gradué

Astuce

Cartes thématiques utilisant une expression

Les cartes thématiques faites avec le rendu Catégorisé ou Gradué peuvent être créées en utilisant le résultat d’une expression. Dans la fenêtre Propriétés des couches vectorielles, le sélecteur de colonne accueille une fonction expressionEditorOpen Définir une expression de colonne. Vous n’avez donc pas besoin d’écrire l’attribut de la classification dans une nouvelle colonne de votre table si vous souhaitez que l’attribut de classification soit un composite de plusieurs champs, ou une formule quelconque.

Symboles Proportionnels et Analyse Multivariée

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.

Figure Symbology 4:

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

Fenêtre de l’Assistant taille

L’assistant vous permet de définir :

  • L’attribut à représenter, en utilisant la liste déroulante Champ ou la fonction expressionEditorOpen Définir une expression de colonne (voir 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.

Rendu Ensemble de règles

Le moteur de rendu ruleBasedSymbol Ensemble de règles est utilisé pour afficher toutes les entités d’une couche en utilisant un ensemble de règles prédéfinies dont l’aspect reflète la manière dont une entité a été classée en fonction de ses attributs. Les règles sont définies par des expressions SQL. 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é.

Pour créer une règle, activez une ligne existante en double-cliquant dessus, ou cliquez sur ‘+’ puis sur la nouvelle règle. Dans la fenêtre Propriétés de la règle, vous pouvez définir une étiquette pour la règle. Appuyez sur le bouton browseButton pour ouvrir le constructeur de chaînes d’expression. Dans la Liste des fonctions, cliquez sur Champs et valeurs pour afficher tous les attributs de la table d’attributs. Pour ajouter un attribut à la calculatrice de champ Expression, double-cliquez sur son nom dans Champs et valeurs. Généralement, vous pouvez utiliser les divers champs, valeurs et fonctions pour construire l’expression de calcul, ou vous pouvez juste la saisir dans la boîte (voir Expressions). Vous pouvez créer une nouvelle règle en copiant et en collant une règle existante avec le bouton droit de la souris. De même, vous pouvez utiliser la règle ‘ELSE’ qui sera exécutée si aucune des autres règles de ce niveau ne s’applique. Depuis QGIS 2.8, les étiquettes des règles apparaissent dans la légende sous la forme d’une arborescence. Double-cliquez sur un des éléments dans la légende et la fenêtre des propriétés de la couche apparaît.

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.

Figure Symbology 5:

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

Options du mode de rendu par Ensemble de Règles

Déplacement de point

Le rendu de pointDisplacementSymbol Déplacement de point permet 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 sur un cercle autour d’un symbole central.

Figure Symbology 6:

../../../_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

Le rendu en invertedSymbol Polygones inversés permet de définir un symbole à appliquer à l’extérieur des polygones de la couche. Comme précédemment, vous pouvez alors choisir parmi des sous-modes de rendu : Symbole unique, Gradué, Catégorisé, Ensemble de règles ou 2.5 D.

Figure Symbology 7:

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

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

Carte de chaleur

Avec le rendu de heatmapSymbol Carte de chaleur vous pouvez créer des cartes de chaleur en temps réel et dynamiques pour des couches (multi-)points. Vous pouvez définir le rayon de la carte de chaleur en pixels, mm ou unités cartographiques, choisir et éditer une palette de couleur pour le style de carte de chaleur et utiliser une jauge pour choisir entre la vitesse de rendu et la qualité. Vous pouvez également définir une valeur maximale limite et attribuer une pondération à chaque points via un champ ou une expression. Lorsque une entité est ajoutée ou retirée, le rendu de carte de chaleur met automatiquement à jour le style de carte de chaleur.

Figure Symbology 8:

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

Fenêtre Carte de chaleur

2.5 D

L’utilisation du rendu 25dSymbol 2.5 D permet de créer un effet 2.5 D sur les entités de votre couche. Commencez par choisir une valeur de Hauteur (en unités cartographiques). Vous pouvez utiliser une valeur fixe, l’un des champs de votre calque ou une expression. Vous devez également choisir un Angle (en degrés) pour recréer la position du spectateur (0° à l’ouest, sens croissant dans le sens inverse des aiguilles d’une montre). Utilisez les options de configuration avancées pour définir la Couleur du toît et la Couleur de mur. Si vous souhaitez simuler le rayonnement solaire sur les entités de murs, cocher la case checkbox Ombrager les murs en se basant sur leur aspect. Vous pouvez également simuler une ombre en définissant une Couleur et une Taille (en unités cartographiques).

Figure Symbology 9:

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

Fenêtre 2.5 D

Astuce

Utilisation de l’effet 2.5 D avec d’autres style de rendus

Quand vous avez terminé de définir le style rendu 2.5 D, vous pouvez le convertir en un autre rendu (symbole unique, catégorisé, gradué). Les effets 2.5 D seront conservés et toutes les autres options spécifiques au rendu seront disponibles (de cette façon, vous pouvez par exemple catégoriser des symboles avec une belle représentation 2.5 D ou ajouter un style complémentaire à vos symboles 2.5 D). Pour vous assurer que l’ombre et le «bâtiment» lui-même n’interfèrent pas avec d’autres entités voisines, vous pouvez activer les niveaux de symboles (Avancé -> Niveaux de symbole ...). Les valeurs de hauteur et d’angle du 2,5 D sont enregistrées dans les variables de la couche, vous pouvez donc les éditer dans l’onglet variables de la boîte de dialogue des propriétés de la couche.

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.

  • Le Contrôle de l’ordre de rendu des couches vous permet de définir l’index z qui déterminera l’ordre de rendu des entités, à partir de leurs attributs. Activez la case à cocher et cliquez sur le bouton browseButton sur le côté. Vous obtiendrez une boîte de dialogue Définir l’ordre dans laquelle vous:

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

    Vous pouvez ajouter plusieurs règles de tri de rendu. Les règles sont appliquées de haut en bas; les entités sont rangées selon la première règle puis, pour chaque groupe d’entités ayant la même valeur (y compris celles avec la valeur NULL) et donc de même niveau z de placement, la règle suivante est appliquée pour ordonner leur placement. Et ainsi de suite...

    Une fois la boîte de dialogue Définir l’ordre appliquée, un résumé de la/des expression(s) de contrôle du rendu de couches est retranscrite dans la boîte de texte à côté checkbox de l’option Contrôle de l’ordre de rendu des couches.

Figure Layer Rendering 1:

../../../_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.

Figure Symbols levels 1:

../../../_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.

Figure Symbols levels 2:

../../../_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.

Les effets peuvent être activés en cochant l’option checkbox Effets et en cliquant sur le bouton paintEffects Personnalisez les effets qui ouvrira la boîte de dialogue Propriétés des effets (voir figure_effects_1). Les types d’effet suivants avec leurs options personnalisées sont disponibles:

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

    Figure Effects 1:

    ../../../_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.

    Figure Effects 2:

    ../../../_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.

    Figure Effects 3:

    ../../../_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.

    Figure Effects 4:

    ../../../_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.

    Figure Effects 5:

    ../../../_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.

    Figure Effects 6:

    ../../../_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.

    Figure Effects 7:

    ../../../_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.

    Figure Effects 8:

    ../../../_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).

Onglet Étiquettes

Le moteur d’labeling Étiquettes fournit un système d’étiquetage intelligent pour les couches de points, lignes et polygones et ne nécessite que peu de paramètres. Ce système gère les couches reprojetées à la volée. Les menus suivants permettent de configurer l’étiquetage pour les couches vectorielles :

  • Texte

  • Formatage

  • Tampon

  • Fond

  • Ombre

  • Emplacement

  • Rendu

Pour étiqueter une couche, lancez QGIS et chargez une couche vectorielle. Cochez la couche dans la légende et cliquez sur le bouton labeling Paramètres d’étiquetage de la couche de la barre d’outils QGIS ou sur l’onglet Étiquettes dans la fenêtre de propriétés de la couche.

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

  • et Éviter que les autres étiquettes ne recouvrent les entités de cette couche : n’affiche pas d’étiquette mais définit la couche comme un obstacle pour les étiquettes des autres couches.

Cochez l’option Montrer les étiquettes pour cette couche et sélectionnez un champ attributaire à utiliser pour l’étiquette depuis la liste déroulante Étiqueter avec. Cliquez sur expressionEditorOpen si vous souhaitez définir les étiquettes en vous basant sur des expressions. Voir Définir des étiquettes basées sur des expressions.

Les étapes présentées ci-dessous décrivent un étiquetage simple, sans utilisation des fonctions de Valeurs définies par les données, situées à droite des paramètres à définir. Voir Utiliser des valeurs de paramètres définies par les données pour l’étiquetage pour un cas d’utilisation.

Texte

Vous pouvez définir le style du texte dans le menu Texte (voir Figure_labels_1 ). Utilisez l’option Casse pour influencer le rendu du texte. Vous avez la possibilité d’afficher le texte ‘Tout en majuscules’, ‘Tout en minuscules’ ou ‘Premières lettres en majuscules’. Utilisez le ref:blend-modes pour créer des effets bien connus des logiciels de graphisme.

Figure Labels 1:

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

Étiquetage d’une couche vectorielle de points

Formatage

Dans le menu Formatage, vous pouvez définir un caractère de retour à la ligne dans les étiquettes avec la fonction ‘Retour à la ligne sur le caractère’. Vous pouvez formatter la Hauteur de ligne et l’alignement. Pour ce dernier, les valeurs courantes sont présentes ainsi que l’option Suivre le déplacement des étiquettes. Dans ce mode, l’alignement du texte des étiquettes est dépendant du placement final de l’étiquette par rapport au point. Ex: si l’étiquette est placée à gauche du point alors l’étiquette sera alignée à droite et inversement.

Pour les couches vectorielles linéaires, vous pouvez inclure des symboles de directions. Il existe des options indiquant le type de symbole et le placement de ce dernier.

Utilisez l’option checkbox Nombres formatés pour formater les valeurs numériques de la table attributaire. Les chiffres après la virgule sont insérés. L’activation de cette option ajoute par défaut trois chiffres après la virgule.

Tampon

Pour créer un tampon, activez la boîte à cocher checkbox Affiche un tampon dans le menu Tampon. La couleur du tampon est variable. Vous pouvez utiliser les mode de fusion. Si la case à cocher checkbox Colorier le remplissage du tampon est activée, le tampon va interagir avec le texte partiellement transparent et donnera un affichage avec des couleurs modifiées par la transparence. La désactivation du remplissage du tampon corrige ce problème (sauf là où l’aspect intérieur du contour du tampon intersecte le texte de remplissage) et permet également de faire du texte bien visible.

Fond

Dans le menu Fond, vous pouvez définir la forme de votre arrière-plan avec Taille X et Taille Y. Utilisez Taille selon pour ajouter une zone de ‘Tampon’ à votre arrière-plan. La taille du tampon est définie par défaut ici. Le fond est alors constitué de la zone tampon et du fond défini par les valeurs Taille X et Taille Y. Vous pouvez aussi définir une Rotation correspondant à ‘Angle de l’étiquette’, ‘Angle par rapport à l’étiquette’ ou encore ‘Valeurs fixes’. Définissez un Décalage X,Y avec les valeurs X et Y et le fond sera déplacé. En appliquant Angles arrondis X,Y, l’arrière-plan s’arrondit aux angles. Il est également possible de fusionner le fond avec les couches sous-jacentes dans la fenêtre de carte en utilisant le Mode de fusion (voir Modes de fusion).

Ombre

Utilisez le menu Ombre pour une Ombre portée définie par l’utilisateur. Le dessin de l’arrière-plan est très variable. Choisissez entre ‘l’objet le plus bas de l’étiquette’, ‘Texte’, ‘Tampon’ et ‘Fond’. L’angle du Décalage dépend de l’orientation de l’étiquette. Si vous cochez la case Utilise une ombre globale, alors le point zéro de l’angle est toujours orienté vers le nord et ne dépend pas de l’orientation de l’étiquette. Vous pouvez influencer l’apparence de l’ombre avec le Rayon d’estompage. Plus le nombre sera faible et plus les ombres seront douces. L’apparence de l’ombre portée peut également être modifiée en choisissant un mode de fusion.

Emplacement

Choisissez le menu Emplacement pour configurer index:le placement des étiquettes et la priorité. Les options de placement changent selon le type de couche vecteur, c’est-à-dire ponctuel, linéaire ou polygonal.

Emplacement pour les couches de points

Avec le mode de placement radioButtonOn Cartographique, les points des étiquettes sont générés avec la meilleure relation visuelle avec le point de l’entité, suivant des règles de placement cartographiques idéales. Les étiquettes peuvent être placées à une Distance du point de l’entité ou par rapport à l’enveloppe du symbole utilisé pour représenté l’entité. La dernière option est particulièrement utile lorsque la taille du symbole n’est pas fixe, ex: si elle est définie par des données ou lors de l’utilisation de symboles différents dans un rendu catégorisé.

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.

La priorité de placement peut cependant être paramétrée pour une entité donnée en utilisant la liste des positions, définie par les données. Cela permet d’utiliser un placement pour certaines entités et pas pour les autres, exemple: les entités sur la côte peuvent empêcher les étiquettes de s’afficher sur les territoires hors d’eau.

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.

Avec l’option radioButtonOn Décalage par rapport au point, les étiquettes son placées à une distance fixe du point de l’entité. Vous pouvez sélectionner le Quadrant dans lequel sera placé l’étiquette. Vous pouvez également paramétrer les distances X et Y entre les points et leurs étiquettes ainsi que l’angle de l’étiquette avec le paramètre Rotation. Ainsi, l’étiquette sera placée dans le quadrant sélectionné avec une rotation définie.

Emplacement pour les couches linéaires

Les options d’étiquette pour les couches linéaires permettent un placement radioButtonOn Parallèle, radioButtonOff Courbé ou radioButtonOff Horizontal. Avec les options radioButtonOn Parallèle et radioButtonOff Courbé, vous pouvez définir la position checkbox Au-dessus de la ligne, checkbox Sur la ligne ou checkbox En-dessous de la ligne. Il est possible de sélectionner plusieurs options à la fois. Dans ce cas, QGIS recherchera la position optimale pour l’étiquette. Pour les placements parrallèle et courbé, vous pouvez également utiliser l’orientation de la ligne pour positionner l’étiquette. En outre, vous pouvez définir un Angle maximal des lettres lorsque vous optez pour un emplacement radioButtonOff Courbé (voir Figure_labels_2 ).

Pour les trois options de placement, vous pouvez définir une distance minimale pour répéter les étiquettes. Cette distance peut être en mm ou en unités de la carte.

Figure Labels 2:

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

Étiquetage d’une couche vectorielle de lignes

Emplacement pour les couches de polygones

Vous pouvez choisir une des options suivantes pour placer les étiquettes dans les polygones: radioButtonOn Décalage par rapport au centroïde, radioButtonOff Horizontal (lent), radioButtonOff Autour du centroïde, radioButtonOff Libre et radioButtonOff Selon le périmètre.

Dans les paramètres radioButtonOn Décalage par rapport au centroïde, vous pouvez définir si le centroïde est celui du radioButtonOn polygone visible ou du radioButtonOff polygone complet. Cela signifie que soit le centroïde utilisé correspond à celui de la portion de polygone qui apparaît dans votre carte, soit il est défini par rapport au polygone en entier, que vous l’ayez entièrement affiché dans votre carte ou pas. Vous pouvez placer l’étiquette selon les quadrants et définir un décalage et une rotation. L’option radioButtonOff Autour du centroïde permet de placer l’étiquette autour du centroïde, à une certaine distance. Là encore, il y a la possibilité de définir l’option radioButtonOn polygone visible ou l’option radioButtonOff polygone complet pour la gestion du centroïde.

Avec l’option radioButtonOff Selon le périmètre, vous pouvez définir une position et une distance de placement pour l’étiquette. Les positions possibles sont checkbox Au-dessus de la ligne, checkbox Sur la ligne, checkbox En-dessous de la ligne et checkbox Orientation de la ligne suivant la position. Vous pouvez indiquer la distance entre l’étiquette et la limite du polygone ainsi qu’un intervalle de répétition pour l’étiquette.

Figure Labels 3:

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

Étiquetage intelligent d’une couche vectorielle de polygones

Dans la section priorité, vous pouvez indiquer la priorité avec laquelle les étiquettes sont générées pour les trois types de couches vecteurs (point, ligne, polygone). Cette option de placement interagit avec les étiquettes des autres couches vecteurs dans le canevas de cartes. S’il existe des étiquettes d’autres couches au même emplacement, l’étiquette avec la priorité la plus élevée sera affichée et les autres seront écartées.

Rendu

Dans le menu Rendu, vous pouvez affiner le paramétrage du rendu des étiquettes et leurs interactions avec les autres étiquettes et les autres entités.

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:

  • Par dessus l’intérieur de l’entité: évite de placer les étiquettes à l’intérieur du polygone (les étiquettes seront placées de préférence totalement en dehors ou légèrement à l’intérieur du polygone).

  • Par dessus les limites de l’entité: évite de placer les étiquettes sur la limite du polygone (les étiquettes seront placées de préférence en dehors ou complètement à l’intérieur du polygone). Cela peut être utile pour les limites de région où les entités recouvrent complètement une surface. Dans ce cas, il est impossible d’éviter de placer des étiquettes à l’intérieur de ces entités et l’affichage sera meilleur si on évite de placer les étiquettes sur les limites entre les entités.

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

QGIS permet d’utiliser des expressions pour étiqueter les entités. Cliquez sur l’icône expressionEditorOpen dans le menu Étiquettes labeling de la boîte de dialogue Propriétés. Sur figure_labels_4 vous pouvez voir un exemple d’expression pour étiqueter les régions de l’Alaska avec leur nom et leur superficie, en se basant sur le champ ‘NAME_2’, un texte de description et la fonction $area en combinaison avec format_number() pour améliorer l’affichage numérique.

Figure Labels 4:

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

Utiliser des expressions pour l’étiquetage

Les Étiquettes basées sur des expressions sont faciles à utiliser. vous devez simplement faire attention aux points suivants:

  • Vous devez combiner tous les éléments (chaînes de caractères, champs et fonction) avec une fonction de concaténation comme concat, + ou ||. Dans certaines situations (où des valeurs nulles ou numériques sont utilisées), tous ces outils ne seront pas forcément suffisants.

  • Les chaînes de caractères doivent être écrites en utilisant des ‘guillemets simples’.

  • Les champs doivent être écrits avec des “guillemets doubles” ou sans guillemets.

Examinons quelques exemples :

 # label based on two fields 'name' and 'place' with a comma as separator
 "name" || ', ' || "place"

 -> John Smith, Paris

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

 -> My name is John Smith and I live in Paris

 # 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)

 -> My name is John Smith and I live in Paris
 -> My name is John Smith     # if the field 'place' is NULL

 # multi-line label based on two fields 'name' and 'place' with a descriptive text
 concat('My name is ', "name", '\n' , 'I live in ' , "place")
 -> My name is John Smith
    I live in Paris

 # label based on a field and the $area function
 # to show the place name and its rounded area size in a converted unit.
 'The area of ' || "place" || ' has a size of ' || round($area/10000) || ' ha'

 -> The area of Paris has a size of 10500 ha

 # create a CASE ELSE condition. If the population value in field
 # population is <= 50000 it is a town, otherwise a city.
 concat('This place is a ', CASE WHEN "population <= 50000" THEN 'town' ELSE 'city' END)

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

Avec les fonctions de valeurs définies par des données, les paramètres de l’étiquetage sont remplacées par les entrées de la table d’attributs. Vous pouvez activer et désactiver cette fonction avec le bouton droit de la souris. Survolez le symbole et vous verrez les informations sur le remplacement des données définies, y compris le champ actuellement appliqué. Nous décrivons maintenant un exemple d’utilisation de cette fonction pour l’outil moveLabel Déplacement les étiquettes (voir figure_labels_5).

  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. Dans le cadre Défini par les données, cliquez sur l’icône dataDefined pour définir le champ correspondant à la coordonnée. Choisissez ‘xlabel’ pour X et ‘ylabel’ pour Y. Les icônes revêtent maintenant une surbrillance jaune.

  4. Zoomez sur un lac.

  5. Set editable the layer using the toggleEditing Toggle Editing button.
  6. Sélectionnez l’outil moveLabel de la barre d’outils Étiquettes. Vous pouvez maintenant déplacer l’étiquette manuellement vers une autre position (voir figure_labels_6). La nouvelle position est sauvegardée dans les colonnes ‘xlabel’ et ‘ylabel’ de votre table attributaire.

Figure Labels 5:

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

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

Figure Labels 6:

../../../_images/move_label.png

Déplacer des étiquettes

Étiquettes basées sur des règles

Avec les Étiquettes basées sur des règles, de nombreuses configuration d’étiquettes peuvent être définies et appliquées de manière sélective, sur la base d’expression de filtre comme présenté dans le Rendu par ensemble de règles.

Les règles peuvent être définies en sélectionnant l’option correspondante en haut du panneau des étiquettes (voir figure_labels_7 ).

Figure Labels 7:

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

Étiquetage basé sur des règles

Pour créer une règle, activez une ligne existante en double-cliquant dessus ou cliquez sur le bouton ‘+’ et cliquez sur la nouvelle règle. Vous pouvez définir l’expression de filtre dans le panneau ainsi que la configuration des étiquettes.

Figure Labels 8:

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

Paramètres des règles

Onglet Champs

attributes Le menu Champs permet de manipuler les champs attributaires du jeu de données sélectionné. Les boutons newAttribute Nouvelle colonne et deleteAttribute Effacer une colonne peuvent être utilisés lorsque la couche est en toggleEditing Mode édition.

Outils d’édition

Figure Fields 1:

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

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

Dans le menu Champs se trouve également une colonne Outil d’édition. Cette colonne peut être utilisée pour définir des valeurs ou des plages de valeurs à utiliser pour ce champ précis de la table attributaire. Si vous cliquez sur [Outil d’édition], il s’ouvre une fenêtre de dialogue dans laquelle vous pouvez définir différentes modalités. Celles-ci sont :

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

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

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

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

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

  • Référence de la relation : Ce widget vous permet d’incorporer le formulaire d’entités de la couche référencée dans le formulaire de la couche courante. Créer des relations un à plusieurs.

  • Édition de texte (par défait) : Ceci permet l’édition d’un texte simple ou multi-ligne. Si vous choisissez Multi-ligne, vous pouvez spécifier s’il s’agit d’un contenu en HTML.

  • Valeurs uniques : Vous pouvez 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.

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

  • Liste de valeurs : Une 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éfinir des valeurs manuellement ou les charger depuis la couche ou depuis un fichier CSV.

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

  • Vue web : Champ contenant une URL. La largeur et la hauteur sont variables.

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

Si le chemin sélectionné dans l’explorateur de fichiers est situé dans le même répertoire que le fichier de projet .qgs ou dans un répertoire situé dessous, les chemins sont convertis en chemins relatifs. Cela améliore la portabilité d’un projet qgs avec des informations multimédia attachées. Cette fonctionnalité n’est implémentée que pour les contrôles de noms de fichiers, de photo et de vue web pour le moment.

Avec l’Éditeur de mise en page des attributs vous pouvez maintenant définir des formulaires intégrés (voir figure_fields_2). C’est utile pour les travaux de saisie de données ou pour identifier des objets en utilisant l’option d’ouverture automatique du formulaire lorsqu’il y a des objets ayant beaucoup d’attributs. Vous pouvez créer un éditeur ayant plusieurs onglets et groupes nommés pour présenter les champs d’attributs.

Sélectionnez ‘Conception par glisser-déposer’ et une colonne d’attribut. Utilisez l’icône signPlus pour créer une catégorie pour l’ajout d’un onglet ou d’un groupe nommé (voir figure_fields_3). Lors de la création d’une nouvelle catégorie, QGIS ajoutera un nouvel onglet ou groupe nommé pour la catégorie dans le formulaire intégré. L’étape suivante sera d’assigner le champ correspondant à la catégorie sélectionnée en utilisant l’icône arrowRight. Vous pouvez créer plusieurs catégories et utiliser les mêmes champs.

Les autres options de la boîte de dialogue sont ‘Autogénérer’ et ‘à partir du fichier .ui fourni’.

Les boîtes de dialogue des formulaires de QGIS peuvent être associées à une fonction Python qui est appelée à l’ouverture du formulaire. Utilisez cette fonction pour ajouter des éléments supplémentaires à vos boîtes de dialogue. Le code du formulaire peut être paramétré selon trois méthodes différentes:

  • chargement depuis l’environnement (par exemple depuis startup.py ou depuis une extension).

  • chargement depuis un fichier externe, un navigateur de fichier apparaît pour vous permettre de choisir le fichier Python depuis votre système de fichiers.

  • chargement à partir de code intégré, un éditeur Python apparaît et vous pouvez y taper directement votre code.

Dans tous les cas, vous devez saisir le nom de la fonction qui sera appelée (open dans l’exemple ci-dessous).

Un exemple (dans le module MyForms.py):

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

Référence à la Fonction Python Init comme ceci : open

Figure Fields 2:

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

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

Figure Fields 3:

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

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

Onglet Jointures

join L’onglet Jointures permet de joindre une table attributaire chargée à une couche vecteur chargée. Après avoir cliqué sur le bouton signPlus, la fenêtre Ajouter une jointure vectorielle apparaît. Vous devez définir une couche de jointure à connecter à la couche cible. Ensuite, vous devez définir un champ de jointure qui sera commun à la table à joindre et à la table attributaire de la couche cible. Vous pouvez enfin spécifier la liste des champs à joindre en cochant la case checkbox Choisir les champs à joindre. Il en résulte que toutes les informations de la table à joindre seront affichés en plus des champs de la table cible. Si vous avez spécifié une liste de champs à joindre, seuls ceux-ci apparaîtront dans la table attributaire de la couche cible.

Actuellement, QGIS gère les jointures de tables non spatiales aux formats pris en charge par OGR (par exemple CSV, DBF, Excel), au format texte délimité et issues de PostgreSQL (voir figure_joins_1).

Figure Joins 1:

../../../_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

Onglet Diagrammes

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

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.

Pour chaque type de diagramme, le menu est divisé en cinq onglets:

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.

Vous pouvez déplacer en haut et en bas n’importe quelle ligne avec un clic et un déplacement, pour trier l’affichage des attributs. Vous pouvez également modifier l’étiquette dans la colonne ‘Légende’ ou la couleur de l’attribut en double-cliquant sur l’élément.

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

Figure Diagrams 1:

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

Onglet Diagrammes de la fenêtre de Propriétés d’une couche vecteur

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.

Dans ce menu, vous pouvez également gérer la visibilité du diagramme:

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

  • En paramétrant la visibilité selon l’échelle

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.

Figure Diagrams 2:

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

Onglet Diagrammes de la fenêtre de Propriétés d’une couche vecteur, sous-onglet Taille

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:

  • ‘Sur le point’ ou ‘Autour du point’ pour les géométries ponctuelles. La dernière variable impose de paramétrer un rayon maximal.

  • ‘Sur la ligne’ ou ‘A côté de la ligne’ pour les géométries linéaires. Comme pour les entités ponctuelles, la dernière option impose une distance à respecter et l’utilisateur peut indiquer un placement du diagramme relatif à l’entité (‘au-dessus’, ‘sur’ et/ou ‘en-dessous’ de la ligne). Il est possible de sélectionner plusieurs options à la fois. Dans ce cas, QGIS cherchera la position optimale du diagramme. Vous pouvez également utiliser l’orientation de la ligne pour positionner le diagramme.

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

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

Astuce

Basculer rapidement entre les types de diagrammes

Étant donné que la majorité des paramètres présentés ci-dessus sont communs aux différents types de diagramme, lorsque vous paramétrez votre diagramme, vous pouvez facilement modifier le type de diagramme et retenir celui qui est le plus adapté à vos données sans perdre aucun paramètre.

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. Cliquez sur l’onglet Diagrammes, activez la case checkbox Afficher les diagrammes et choisissez ‘Diagramme texte’ dans la liste déroulante selectString Type de diagramme.

  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. Changez les couleurs des attributs en double-cliquant sur les rectangles colorées dans le champ Attributs utilisés. Figure_diagrams_3 donne un aperçu du résultat.

  10. Cliquez enfin sur [OK].

Figure Diagrams 3:

../../../_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.

La taille et les attributs peuvent aussi être une expression. Utilisez le bouton expressionEditorOpen pour ajouter une expression. Voir Expressions pour plus d’informations et des exemples.

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

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

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 depuis la fenêtre Propriétés de la couche vecteur. Pour définir une action, ouvrez la fenêtre Propriétés de la couche vecteur et cliquez sur le menu Actions. Allez à Propriétés de l’action. Sélectionnez le type ‘Générique’ et fournissez un nom d’identification à l’action. Le texte de l’action doit lui-même contenir le nom de l’application qui sera exécutée lorsque l’action est invoquée. Vous pouvez ajouter un ou plusieurs champs en arguments pour l’application. Lorsque l’action est invoquée, tout jeu de caractères commençant par % suivi d’un champ sera remplacé par la valeur de ce champ. Les caractères spéciaux %% sont remplacés par la valeur du champ sélectionné dans la fenêtre Identifier les résultats ou dans la Table attributaire ( voir using_actions ci-après). Les guillemets double peuvent être utilisés pour regrouper le texte dans un argument unique pour l’application, le script ou le programme. Ils sont ignorés lorsque 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 ceci : [[%col10]].

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

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

  • konqueror 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

Les actions se lancent depuis la fenêtre Identifier les résultats, 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 identify Identifier les entités, openTable Ouvrir la table d’attributs ou actionRun 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 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. 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 à ceci : 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. Sélectionnez le champ ‘NAMES’ du menu déroulant et cliquez sur [Insérer un champ].

  10. Votre texte Action ressemble maintenant à :

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

  11. Pour finaliser l’action, cliquez sur le bouton [Ajouter l’action à la liste].

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

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

Onglet Infobulles

mapTips Cet onglet est spécialement créé pour les Infobulles. Il inclut une fonctionnalité intéressante : les infobulles qui affichent du texte en HTML. Alors que vous pouvez toujours choisir un radioButtonOff Champ à afficher lors du survol d’une entité sur la carte, il est maintenant possible d’insérer du code HTML qui crée un affichage complexe. Pour activer les infobulles, sélectionnez l’option de menu Vue ‣ Infobulles.

Les figures 1 et 2 montrent un exemple de code HTML et du rendu dans les infobulles.

Figure Display 1:

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

Code HTML pour les infobulles

Figure Display 2:

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

Infobulles basées sur du code HTML

Onglet Rendu

QGIS gère la généralisation à la volée. Cela permet d’améliorer la vitesse d’affichage de nombreuses entités complexes à large échelle. L’option peut être activée ou désactivée dans les propriétés des couches via la case checkbox Simplifier la géométrie. Un paramètre global permet également d’activer la simplification par défaut au moment du chargement de chaque couche (voir section Options).

Figure Rendering 1:

../../../_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.

Onglet Métadonnées

metadata Le menu Métadonnées comprend les sections Description, Attribution, URL Métadonnées, LegendURL et Propriétés.

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.

En complément, vous pouvez ajouter ou éditer un titre ainsi qu’un résumé pour la couche dans la section Description. Il est également possible de définir une Liste de mots-clés. Ces listes de mots-clés peuvent être utilisées dans un catalogue de métadonnées. Si vous souhaitez utiliser un titre depuis un fichier XML de métadonnées, vous devez renseigner un lien dans le champ DataUrl.

Utilisez le groupe Attribution pour récupérer les données d’attributs depuis un catalogue de métadonnées XML.

Dans le groupe URL Métadonnées, vous pouvez définir le chemin général d’accès au catalogue de métadonnées XML. Cette information sera stockée dans le fichier de projet QGIS pour les sessions à venir et sera utilisée par QGIS Server.

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

Figure Metadata 1:

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

Onglet Métadonnées de la fenêtre de Propriétés d’une couche vecteur

Sauvegarder et Partager les propriétés d’une couche

Gestion des styles personnalisés

Lorsqu’une couche est ajoutée au canevas de carte, QGIS utilise un symbole/couleur aléatoire pour le rendu de ses entités. Vous pouvez néanmoins paramétrer un symbole par défaut dans menuselection:Projet –> Propriétés –> Styles par défaut qui sera appliqué à chaque nouvel ajout de couche selon le type géométrique de cette dernière.

Néanmoins, la plupart du temps, vous voudrez disposer d’un style plus complexe et plus personnalisé qui pourra être appliqué automatiquement ou manuellement (mais avec moins d’effort). Vous pouvez y parvenir en utilisant la liste déroulante Style située en bas de la boîte de dialogue des Propriétés de la couche. Cette liste déroulante vous permet de créer, de charger et de gérer les styles.

Un style enregistre toute information renseignée dans la boîte de dialogue des propriétés de la couche pour effectuer le rendu ou l’interaction avec les entités (comprenant les paramètres de la symbologie, de l’étiquetage, des actions, des diagrammes,etc.).

Figure Vector Properties 10:

../../../_images/style_combobox.png

Options de la liste déroulante de style.

Par défaut, le style appliqué à la couche chargée est nommé défaut. Une fois que vous avez paramétré le rendu idéal pour votre couche, vous pouvez l’enregistrer en cliquant sur la liste déroulante selectString Style et en choisissant:

  • Renomme l’actuel: Le style actif sera renommé et mis à jour avec les options courantes.

  • Ajouter: Un nouveau style sera créé avec les options courantes.

En bas de la liste déroulante de Style, vous retrouverez les styles paramétrés pour la couche et celui qui est activé sera coché. Une fois que vous avez défini plus d’un style pour une couche, une option Supprimer l’actuel vous permettra de supprimer celui dont vous ne voulez plus.

Merci de prendre note que chaque fois que vous validez la boîte de dialogue des propriétés de la couche, le style activé est mis à jour avec les changements que vous avez faits.

Vous pouvez créer autant de styles que vous voulez pour une couche donnée mais vous ne pouvez en activer qu’un seul à la fois. Combiné aux réglages de couches, cette fonctionnalité offre un moyen rapide et puissant pour gérer des projets complexes avec peu de couches (il n’est alors plus besoin de dupliquer aucune couche dans la légende de la carte).

Astuce

Gérer les styles depuis le menu contextuel d’une couche

Faire un clic-droit sur une couche dans le Panneau des couches` pour ajouter, renommer ou supprimer un style de couche. Vous pouvez également y modifier les symboles des entités.

Enregistrer un style dans un fichier ou une base de données

Même si ces styles sont enregistrés au sein du projet et peuvent être copiés et collés d’une couche à l’autre, il est également possible de les enregistrer en dehors du projet afin qu’ils puissent être chargés ailleurs. Cliquer sur selectString Style ‣ Enregistrer le style sauvegarde le style dans un fichier de style (.qml) ou un fichier SLD (.sld). Les fichiers SLD peuvent être exportés depuis n’importe quel style de rendu – symbole simple, catégories, gradués, basés sur des règles – mais lors de l’import d’un SLD, seul un rendu du type symbole simple ou basé sur des règles sera créé. Cela signifie que les catégories ou symboles gradués sont convertis en ensemble de règles. Si vous voulez préserver ce type de rendu, vous devez utiliser le format QML. D’un autre coté, cela peut être parfois très pratique d’avoir la possibilité de simplement convertir des styles en ensemble de règles.

Si la source de données d’une couche est une base de données (PostGIS ou Spatialite par exemple), vous pouvez enregistrer le style de la couche dans une table de la base de données. Cliquez simplement sur la liste déroulante Enregistrer le style et choisissez Enregistrer dans la base de données. Renseignez ensuite dans la boîte de dialogue le nom du style, sa description, un fichier ui si utile et indiquez s’il s’agit du style par défaut. Vous pouvez ajouter plusieurs styles dans la base de données mais, néanmoins, chaque table ne peut avoir qu’un seul style par défaut.

Lors du chargement d’une couche dans QGIS, si un style par défaut existe pour cette couche, QGIS chargera alors la couche et son style. Une fois que vous aurez modifier le style de la couche, vous pouvez l’Enregistrer par défaut, créant un nouveau style qui deviendra celui par défaut ou Restaurer le style par défaut si vous n’êtes pas satisfait.

Figure Vector Properties 2:

../../../_images/save_style_database.png

Fenêtre d’enregistrement d’un style dans une base de données

Astuce

Partager rapidement un style de couche au sein du projet

Vous pouvez également partager un style de couche au sein d’un projet sans importer de fichier de style ou de style de base de données: faîtes un clic-droit sur la couche dans le Panneau des couches et avec la liste déroulante des Styles, copiez le style d’une couche et copiez-le dans un groupe un sur une sélection de couches: le style sera appliqué à toutes les couches qui ont le même type (vecteur vs raster) que la couche d’origine et, dans le cas des vecteurs, qui ont le même type de géométrie (point, ligne ou polygone).