Pasq.fr

Parce-qu'il y a forcément du sens à tout ce bordel !

Annotations et autre notes sous QGIS

Article Rédigé par Alain Aucun commentaire
affichettes multicolores

Ou comment insérer des affiche-ça (post-it© étant une marque) sur une carte. Ici, je vous livre une couche toute prête pour utilisation ou inspiration.

Je me suis souvent posé la question sur les annotations prévues dans QGIS, et étant incapable de travailler sur le code QGIS, comment on peut améliorer ces annotations.

Ah au fait, je suis sous Mx-linux 19 et QGIS 3.10.8.

Les annotations

L'outil existe dans QGIS, il existe même plusieurs formes de cet outil : 

menu annotation

et normalement, en cliquant sur Annotation de texte, on obtient une annotation par défaut où l'on tape le texte voulu.

vue annotation par défaut

Je vous laisse jouer avec les paramètres pour personnaliser chaque annotation. On peut régler assez finement puisque l'on peut utiliser la symbologie de surface et ponctuelle. La fonctionnalité ajouté depuis la version 3.6, je crois, permet de les lier à une couche pour l'affichage, ce qui est un plus.

vue personnalisée annotations

Les autres outils demandent plus de travail (et encore). Formulaire d'annotation permet de mettre en formuliare dans vos notes, il faut pour cela le créer dans l'outil QT pour en faire une interfcae .UI. Le principal interêt à mes yeux est en cas de partage de projet et d'utilisation intensive des annotations par plusieurs utilisateurs. Le fait de faire un formulaire évites les saisies hasardeuses mais à par ça.

L'annotation HTML permet une "mise en page" plus fine de votre annotation, voir même une présentation complète. Sauf que pour cela, il faut connaître le HTML, alors certes ce n'est pas compliqué, et sauvegarder la page .html. C'est une fonction quand même très interessante : imaginons une sortie html d'une base de données, faire le lien dans l'annotation. La mise à jour des données est alors faite à chaque chargement.

Annotation SVG, un joli dessin dans votre annotation, alors ok, cela peut-être sympa, dommage que cela ne fasse que le svg, pour une image ce serait pas mal aussi.

Le déplacement d'annotation n'apporte rien, vu que l'on peut déplacer les annotations avec les outils précédents, ou alors je n'ai pas compris la subtilité.

Alors OK, les annotations QGIS, cela permet de mettre une note sur une carte. Toutefois, je ne vois un interêt que très limité à leur utilisation. La principale est la mise en évidence pour une sortie impression ou écran d'une carte, mais l'utilisation sur le projet est très limité voir pénible. Le simple fait que leur taille soit fixe lors des zooms rend leur utilisation comme note de carte, vite...envahissantes.

zoom et annotation

Donc je dirais : grosse personnalisation, utile pour des usages très spécifiques (liste html...) et notamment pour de la sortie en impression ou image mais difficile à concilier avec une utilisation quotidienne dans un projet.

Du coté des extensions

Bizarrement, je n'ai pas trouvé de plugin créant des annotations ou petite affichette, on peut citer RED LAYER, mais cela ne permet que de créer des annotations comme celle par défaut de QGIS.

J'aurais voulu testé Annotation Manager : mais cela genere une erreur python, finalement elle fonctione est permet de gérer les annotations de QGIS, pratique pour les afficher ou non, mais cela ne va pas plus loin.

Donc pas grand chose du coté des extensions. Si vous en connaissez une sympa, dîtes le moi en commentaire.

Une couche Note

Finalement, la meilleure façon que j'ai trouvé pour gérer des annotations, c'est de créer une couche et de faire en sorte qu'elle se comporte comme je le veux.

Pour cela, j'ai créé un geopackage avec la couche Note. Cette couche répond à mon besoin, mais elle est comme n'importe quelle couche personnalisable.

Pour les champs, j'ai limité les entrées 

liste des attributs
id_note identifiant unique (lié au geopackage)
texte le texte de la note
important note important ou pas (booléenne)
date_creation date de création de la note
date_modification dernière date de mise à jour de la note
user_creation créateur de la note
user_modification dernier modificateur de la note
x_label position x de l'étiquette
y_label position y de l'étiquette
rot_label angle de rotation de l'étiquette

On peut aisément imaginer d'autre champs : urgence, destinataire...

Ensuite dans la symbologie, j'ai modifié un petit SVG pour qu'il accepte la couleur, et pour le partagesymbole de note, il est encapsulé dans le style. L'encapsulation permet d'inclure le fichier SVG (et donc sa description xml) directement dans le fichier de style, ainsi, pas besoin de fichier .svg à joindre. Qu'en pensez-vous ? Symbole ponctuel significatif, non ?

Pour l'affichage, j'ai opté pour un affichage à 2 niveaux d'échelle : le symbole seul au-dessus du 1500eme et un symbole réduit et le texte en dessous de 1500.

Ensuite, j'exploite la possibilité de couleur du symbole pour faire ressortir les notes importantes : pour cela, j'utilise une expression dans la couleur : if("important" IS TRUE, '#FFD800', '#FFFFFF') , idem pour le fond d'étiquette. Les notes importantes sont donc en jaune et le reste en blanc.

zoom sur étiquette

Enfin grâce à x_label, y_label et rot_label, vous pouvez déplacer les étiquettes et les fair tourner grâce aux outils outils étiquettes

En ajoutant quelques détails d'infobulles et autres, on a quelquechose de pas si mal.

Vous pouvez télécharger le ZIP suivant qui contient le geopackage, j'y joins le fichier .qml (mis par défaut dans le gpkg) et le symbole .svg

notes_pasqfr.zip

Ne pas hésiter à me dire si vous avez d'autres solutions ou si vous voyez des améliorations à apporter.

 

Écrire un commentaire

Quelle est la quatrième lettre du mot rhpvmv ?

Fil RSS des commentaires de cet article