Dans ce billet, je vais vous présenter comment générer un style QGIS pour une couche de végétation, à partir d’un dessin d’arbre sur Illustrator.
L’objectif est d’obtenir un fond de carte imitation bande-dessinée, un peu comme sur la figure ci-dessous (case d’Asterix et Obelix en Corse).
Pour atteindre cet objectif, je vais utiliser deux logiciels spécifique, Illustrator dans un 1er temps, et QGIS dans un 2nd.
Création d’un dessin d’arbres sous illustrator
Ici je ne vais pas vous apprendre à dessiner un arbre, ce n’est pas très compliqué, et finalement peu importe la qualité du dessin, le rendu final et le nombre important d’arbres dessinés rendra la représentation sympathique. Pour mon dessin j’ai choisi de mettre du détail (des tracés) à l’intérieur du symbole pour apporter du volume à l’arbre, toutefois il est possible de faire un arbre bien plus simplifiée. L’important, si l’on choisit de dessiner à l’intérieur du symbole, est de ne pas remplir les tracés qui sont à l’intérieur dans illustrator, et de remplir le contour général par un fond de couleur (ici blanc). Voici donc sur la 2ème figure mon symbole dessiné. Vous remarquerez au passage que l’on est bien loin d’un dessin d’arbre à la Uderzo.
Une fois que le dessin est réalisé, il s’agit de l’enregistrer au format svg. Le dessin est directement utilisable dans QGIS pour un symbole ponctuel : aller dans la symbologie de la couche d’objets ponctuels, dans symbole unique cliquez sur ‘symbole simple’ puis modifiez l’option ‘Type de symbole’ en “Symbole SVG”, enfin tout en bas de la fenêtre vous pouvez charger un fichier svg. Le fichier svg chargé dans qgis, il apparait modifiable dans la symbologie en taille mais pas en couleur de remplissage ni en couleur de trait. L’épaisseur de trait n’est pas modifiable non plus. Or toutes ces options sont celles recherchées par le cartographe experimenté. Le site SIG et territoires nous donne l’astuce pour modifier ces options. Il est possible de modifier ces options en ouvrant le fichier svg dans un éditeur de texte, puis de placer fill=“param(fill)#FFF” juste après le 1er élément <path. Lorsque la modification est faite, il suffit d’enregistrer et le fond est modifiable. Je choisis ici seulement l’option de modification du fond, et pas celle du trait, car le trait a un style illustrator avec une variation de largeur (d’ailleurs vous pouvez jouer avec cette option dans illustrator également) pour imiter un trait dessiné.
Utilisation du symbole dans QGIS
Pour utiliser ce symbole dans QGIS, j’utilise un geopackage de végétation très haute résolution pour la ville de Rennes, en Bretagne. Cette donnée peut être récupérée sur le site de geodata de Rennes Métropole (vous pouvez aller y faire un tour il y a plein de données intéressantes), et c’est une donnée qui a été produite par Kermap. Le geopackage possède une géométrie polygone et je vais l’utiliser directement comme telle (voir carte ci-dessous), même si la représentation cartographique que je souhaite est ponctuelle.
- Je filtre la couche selon la hauteur, en ne prenant que les surfaces ayant un attribut hauteur supérieur ou égal à 2m.
- Dans la symbologie, je choisis pour le type de remplissage (‘Type de symbole’) l’option “Random marker fill”. Cette option permet de générer des symboles ponctuels dans une surface avec une distribution spatiale aléatoire. Ici c’est de la représentation cartographique dans le but de faire un fond de carte, mais pour de la représentation cartographique avec un objectif de représentation de densité humaine par exemple, il est déconseillé de passer par ce générateur dans la symbologie. Il faudrait dans ce dernier cas utiliser l’outil QGIS permettant de générer ces point aléatoires (passer par l’outil nous donne davantage de paramètres, ce qui est utile pour reproduire le résultat escompté).
- J’utilise le générateur aléatoire avec la méthode “Density-based Count”, en fixant comme paramètrage 1 point pour 100m2.
- Sous le remplissage ‘Random marker fill’, il y a le symbole que l’on va utiliser. Plutôt que “Symbole simple” dans ‘Type de symbole’, il faut mettre “Symbole SVG”. Vous pouvez maintenant utiliser le symbole SVG dessiné. Voyez le résultat ci-dessous, on s’approche d’arbres dessinés mais toujours pas d’Albert Uderzo.
- Pour tendre vers un rendu davantage dessin, j’ai modifié 3 paramètres du symbole SVG dans la symbologie de QGIS : taille, couleur et rotation. Pour chaque paramètre, j’ai inséré de l’aléatoire. Pour la valeur de la taille, j’ai écrit dans ‘Éditer’ : randf(8.0, 16.0), ce qui signifie que la taille des symboles oscillera entre 8 et 16 mètres de largeur. Pour la valeur de la rotation, j’ai écrit : rand(0, 360), donc une rotation possible de 360°. Enfin pour la valeur de la couleur, j’ai écrit : ramp_color(‘Greens’, randf(0.50, 1.00)), ce qui permet de faire osciller les couleurs sur la partie supérieure de la palette QGIS des verts.
- Comme parfois il faut être un peu pointilleux, j’ai ajouté une palette de couleur à QGIS avec des couleurs choisies (vert pastel principalement qui s’accordent), et j’ai modifié la valeur de la couleur par : ramp_color(‘green2’, randf(0.00, 1.00)), ‘green2’ étant le nom de ma palette ajoutée. Et voilà le résultat final :
Ça fonctionne bien, vous pouvez aussi comparer avec une photo aérienne pour voir si le rendu donne une impression cohérente de végétation pour des échelles supérieures au 1:5000ème. Pour des échelles inférieures, il faudrait enlever le contour des symboles. On pourrait aussi jouer sur le paramètrage de la taille des symboles selon la surface des polygones de végétation et selon l’attribut hauteur de la couche végétation.
Et je laisse pour terminer, une version automnale… À terme il faudrait prévoir une version changement climatique, avec un peu de fumée et quelques flammes.
N’hésitez pas à me contacter si vous bloquez sur un élément.