Une carte forestière (II): de la généralisation cartographique

Deuxième article sur la conception d’une carte forestière avec le logiciel QGIS, sur base de données OpenStreetMap. Dans le premier article, j’ai présenté une nouvelle symbologie d’arbres et son utilisation dans la carte. Dans ce deuxième article, je partage quelques techniques de cartographie mobilisées dans cette carte. La carte est accessible en haute résolution ici.

Capture d’écran de la carte. Pour une carte en haute résolution, voir le lien ci-dessus.

Les données utilisées pour cette carte viennent exclusivement d’OpenStreetMap (sauf pour les données de relief – ombrage & courbes de niveaux). Un enjeu majeur pour les cartographes est de réutiliser ces données de manière la plus automatique possible pour créer un rendu cartographique correct et qui donne du sens, et cela à différentes échelles, malgré des contextes géographiques différents, ou tout simplement des données qui varient selon la “patte” du contributeur local.

Autrefois, les cartographes (par exemple de l’Institut Géographique National) faisait des relevés sur le terrain dans le but de lever une carte à une échelle fixe et avec une symbologie déjà établie. Avec OpenStreetMap, plusieurs contributeur·rices ajoutent des données, censées refléter le monde réel, sans nécessairement penser au cartographe qui en fera une carte. Bien sûr, dès qu’on ajoute quelque chose à OpenStreetMap, on va généralement vérifier ce que cela donne sur openstreetmap.org en terme de rendu, mais on utilise pour cela un rendu parmi d’autres (celui d’openstreetmap.org) et dans un format de carte web.

Or, dès lors qu’on veut faire une carte à imprimer à une échelle donnée, on a besoin de faire de la généralisation cartographique. À ma connaissance, il y a peu de techniques de généralisation appliquée aux cartes web. D’abord, parce que le format web permet en un tour de passe-passe de pallier le problème de l’échelle en invitant à zoomer davantage. Ensuite, parce que les cartes web sont avant tout faites par des designers plutôt que des cartographes, et que la cartographie digitale en tant que discipline n’a pas encore digéré les décennies de techniques de généralisation cartographique élaborées pour les cartes à imprimer. Il y a relativement peu de cartes imprimées issues des données OpenStreetMap, et ces techniques y sont aussi peu courantes.

Dans cette carte forestière, j’ai testé quelques techniques de rendu particuliers ou de généralisation cartographique, avec QGIS. Ici le but est d’avoir des techniques les plus automatiques possibles, en évitant autant que possible les ajustements à la main. Quelques focus:

Des étangs au look “1900”

Les étangs ont ce look désuet en répétant plusieurs fois leur contour, de plus en plus fin, et de plus dessiné à l’intérieur. C’est fait directement dans le style de la couche QGIS, en utilisant une succession de lignes progressivement décalées vers le centre.

Orientation des symboles d’arbres et des libellés en fonction des parcelles

C’est à la fois esthétique et utile d’avoir des libellés qui s’orientent en fonction de la forme de la zone dans lesquelles ils s’inscrivent. Utile car cela maximise leur placement. QGIS permet cette option pour les libellés. Par contre, pour les patternes des symboles des arbres qui suivent (presque) la même orientation, c’est calculé à la volée en fonction de l’orientation du rectangle contenant la parcelle (oriented_bbox).

D’autres moyens de placer et d’orienter des libellés

Pour disposer d’un libellé exactement à l’endroit voulu, et pour le faire épouser les courbes voulues, le plus simple est encore de dessiner une ligne qu’il devra être forcé de suivre. Pour les libellés des forêts, pas de placement automatique donc: j’ai dessiné la ligne sur lequel le libellé s’inscrit.

Écarter les talus des chemins

Un vrai exemple de généralisation cartographique avec un déplacement automatique des talus qui sont encore trop près des chemins, malgré la grande échelle (1:9000). Sans ce déplacement, le talus serait partiellement superposé au chemin. Fait avec un algorithme construit avec des fonctions PostGIS, grâce au travail d’un étudiant en géographie stagiaire.

Un rendu dynamique des pertuis

Un clin d’œil aux cartes IGN du siècle passé, où la position des pertuis (le passage des ruisseaux ou fossés sous les voiries) était bien souligné avec ces petits symboles “>” et “<“. A partir des données OSM qui donnent les portions de cours d’eau sous voiries, on calcule leur orientation, le point de départ et d’arrivée, et on a ce qu’il faut pour un rendu dynamique: les entrées et sorties sont orientés, et la longueur du passage sous voirie est variable. Une technique que j’ai d’abord testé dans le style OpenArdenneMap.


Une carte forestière (I): des symboles pour les arbres

Depuis quelques années, je profite de mes virées en forêt pour compléter la cartographie collaborative sur OpenStreetMap, le wikipedia de la carte, dans le bois de Courtelle. Après avoir relevé quasiment toutes les essences forestières plantées dans ce bois, j’ai créé une carte forestière, mettant en exergue 26 essences forestières du massif.

Voilà un aperçu de cette carte, créée avec le logiciel QGIS, sur base des données OpenStreetMap. Vous pouvez télécharger la version en haute résolution en cliquant sur ce lien. La carte est destinée à l’impression dans un format A2.

Capture d’écran de la carte. Pour une carte en haute résolution, voir le lien ci-dessus.

Dans ce premier article, je présente une nouvelle symbologie d’arbres et son utilisation dans la carte. Dans un deuxième article, je partage des techniques de cartographie mobilisées dans cette carte.

Le Bois de Courtelle est une portion de la forêt de Rulles, faisant partie d’un bandeau forestier quasi-continu allant des Ardennes françaises à la forêt d’Anlier, couvrant tout le versant sud du massif ardennais. Comme ailleurs, le bois de Courtelle subit le réchauffement climatique. L’impact le plus visible est un dépérissement marqué de l’épicéa, une essence non indigène mais qui a longtemps été la première essence plantée dans cette région. En conséquence, d’énormes surfaces d’épicéas morts ont été abattues ces dernières années, et ont été récemment replantées¹.

L’abandon forcé de l’épicéa laisse la place à de nouvelles essences: douglas, mélèze, châtaigner, tilleul, cèdre de l’atlas, … Par ailleurs, un ancien garde-forestier avait planté il y a plus de 20 ans une belle diversité de conifères: Sequoia, sapin de Vancouver, sapin de Nordmann, pruche (Tsuga heterophylla). Résultat, la carte compte 19 essences, dont 10 conifères. Toutes les essences ne sont toutefois pas représentées: mettant en évidence les essences plantées ou dominantes, la carte représente surtout la valeur économique de la forêt avant autre chose. Ainsi, plusieurs essences peu ou pas exploitées mais bien présentes ci et là n’y sont pas représentées: aulne, charme, frêne, peuplier tremble, noisetier, saule, sorbier des oiseleurs, pommier et poirier sauvage, … Par ailleurs, des essences exotiques ou particulières en très petit nombre n’y sont pas représentées non plus: chêne vert, noisetier de Byzance, alisier torminal, …

Le challenge de cette carte est de représenter cette diversité d’essences forestières, que ce soit pour les peuplements avec une seule essence ou mélangés. Curieusement, je n’ai pas trouvé de symbologie unifiée par essences d’arbres qui ferait autorité, alors que dans d’autres domaines (cartes géologiques, nautiques, …), il existe des couleurs ou des jeux de symboles codifiés utilisables d’une carte à l’autre. Cela m’a amené à créer un jeu d’icônes pour les essences forestières, générées sur base de formes simples, et inspiré par des conventions cartographiques traditionnellement utilisées pour la représentation des arbres². Ces symboles sont construit:

  • autour d’un cercle ou d’une forme à 3, 4 ou 5 lobes convexes ou concaves
  • avec/sans un point central ou un cercle central
  • avec/sans 1, 2 ou 3 points disposés en cercles autour de la forme centrale
  • avec des lignes branchues disposées autour de la forme centrale (conifères).
Jeu de symboles d’arbres

Au total, cela correspond à 129 symboles uniques.

J’ai attribué les essences d’arbres rencontrés dans le bois de Courtelle à une partie de ces symboles selon une logique qui mélange la proximité phylogénétique des essences (plus proche sont les essences d’arbres entre elles, plus le symbole est proche) et l’aspect général des arbres et/ou de leur feuilles.

Ainsi, pour le hêtre, essence dominante, j’ai choisi la forme la plus simple, le cercle, qui évoque à la fois l’écorce lisse et l’absence de dents aux feuilles.

Pour les chênes, la base du symbole est un cercle de 5 lobes convexes, rappelant la forme multi-lobée des feuilles de chênes. Les différentes espèces de chênes (Quercus robur, Q. rubra) sont ensuite différenciées par l’ajout de points autour de cette forme simple.

Les symboles sont utilisés dans la carte pour représenter les essences dominantes des peuplements ou les essences plantées. Le peuplement majoritaire dans le bois de Courtelle est une hêtraie avec une plus ou moins forte présence de chênes, et d’autres essences accompagnatrices. Pour ce peuplement, le rendu cartographique choisi est un patterne aléatoire de symboles du hêtre et du chêne. Dans le cas des parcelles plantées, les symboles sont organisés selon des lignes droites, qui sont orientées selon la forme générale de la parcelle. Bien souvent, il y a un mélange d’essences: les symboles alternent d’une ligne à l’autre. Quand elle est connue, la date de plantation est indiquée entre parenthèses.

Mélanges d’essences plantées en ligne, douglas-épicéa, et mélèze-douglas.

Dans cette carte, les libellées des essences sont ajoutés automatiquement (pas à la main). Optimiser le placement de libellés est un casse-tête connu pour les cartographes. Ici, il y a 3 niveaux de labellisation des parcelles selon l’essence: Pour les parcelles de taille suffisantes, les libellés sont écrits en entier et sont orientés selon la forme de la parcelle, avec une taille du libellé qui varie en fonction de la surface de la parcelle. Pour les parcelles plus petites, le libellé est abrégé avec les 2 premières lettres de l’essence. Enfin, pour certaines parcelles très petites, j’ai inscrit le symbole au centre de la parcelle (sinon il pouvait être partiellement en-dehors) et utilisé un trait (callout) pour indiquer le libellé.

3 types de libellés des essences forestières: en entier et orienté (Douglas), en abrégé (Ch. – Chataigner, Mé – Mélèze) et avec des traits pour les plus petites parcelles de Sequoia, Pruche et sapin de Nordmann.

J’ai testé d’autres techniques de cartographie avec QGIS, c’est raconté dans ce deuxième article.

¹ Sur les changements d’essences forestières, voilà une vidéo tournée entre autres dans le bois de Courtelle: https://www.youtube.com/watch?v=VVA7ClYrU3s

² Voir à ce sujet les 4 articles de Christoph Hormann sur la représentation des arbres en cartographie: https://imagico.de/blog/en/tree-depiction-in-traditional-maps-and-plans/


OpenArdenneMap hiver 25-26

Note: There is an English version of this post here.

OpenArdenneMap est un style cartographique open-source conçu pour la production de cartes topographiques à imprimer. Basé sur les données
OpenStreetMap, il est décliné sous le logiciel cartographique QGIS et
sous les librairies Mapnik/cartoCSS. Voici la livraison hiver 2025-26.

 

J’ai commencé à travailler sur OpenArdenneMap il y a environ 9 ans. Mon but était de disposer d’un style cartographique pour la production de cartes topographiques de haute qualité destinée à l’impression, en utilisant  principalement les données OpenStreetMap. Le défi principal est d’automatiser la production de cartes, pour limiter autant que possible (sans pour autant les éliminer totalement) les corrections “à la main”. Depuis lors, le style a été utilisé dans plusieurs projets de cartographie, avec des collègues j’ai développé une offre de cartes de randonnées (hiking.osm.be) et j’ai pu tester le déploiement d’un serveur de tuiles sur https://www.nobohan.be/webmaps/oam-tile/.

On pourrait croire que dès lors qu’il permet de produire des cartes  topographiques complètes, le développement d’un style cartographique en
lui-même est arrivé à son terme. Ce n’est pas le cas. Je pense que les  techniques et les pratiques de développement de styles topographiques à
partir des données OpenStreetMap dans leur diversité et leur complexité, n’en sont qu’à leurs débuts. Ces dernières années ont vu l’avènement de nombreux styles cartographiques pour des cartes sur écran, ainsi que l’émergence des tuiles virtuelles et de rendu tri-dimensionnel. Pourtant, des procédés simples de généralisation cartographique et des principes élémentaires de sémantique cartographique ne sont que peu mobilisés dans ces innovations.

Cet hiver, j’ai pu compté sur le travail d’un stagiaire étudiant en master de géographie, Noé Monjoie, pour investiguer notamment ces procédés de généralisation cartographiques avec les données OpenStreetMap. Le but était de tester des algorithmes de transformation des données géographiques pour répondre à certaines problèmes de représentation dans OpenArdenneMap (et dans d’autres styles cartographiques numériques). Une toute petite partie seulement de son travail est intégrée dans cette nouvelle livraison, j’espère que le reste suivra dans les prochaines. En attendant, voici les nouveautés de la version “hiver 2025-26”:

Éviter le chevauchement d’un label d’une couche en fonction d’une autre

Rendu du label de l’étang. Sans l’option “overlay_intersects”, ce label entre en conflit avec le label du cours d’eau qui passe “sous” l’étang

Avec la fonction overlay_intersects(), on peut éviter le
placement de labels d’une couche au-dessus d’une autre. Ici, c’est pour
éviter le placement des labels de cours d’eau dans les plans d’eau.
Pour des raisons de continuité hydrologique, les contributeurs
OpenStreetMap sont en effet encouragés à faire traverser de part et
d’autre les plans d’eau par les cours d’eau qui les alimentent. Comme le
segment de cours d’eau est souvent interrompu à la limite du plan
d’eau, cela cause alors un conflit entre le label du plan d’eau et du
cours d’eau. Conflit qui auparavant aboutissait souvent à l’absence de
labels du plan d’eau.

Rendu d’un symbole de pertuis

Rendu de 4 passages sous voiries (pertuis) de longueurs différentes

Quand un cours d’eau ou un drain passe en-dessous d’une route ou
chemin, on a un pertuis, qui se différencie d’un pont qui offre un
passage plus large au cours d’eau. Cette différence entre un pont et un
pertuis existe dans les données OpenStreetMap (tags `bridge= yes` vs
`tunnel=culvert`). En utilisant l’orientation du segment de cours d’eau
passant dans ce pertuis, et aussi les points d’entrée et de sortie de ce
passage, on arrive à ce rendu indiquant les pertuis, un rendu
directement inspiré des cartes IGN belges des années 1960 à 1980.

Rendu de symbole de pont

Rendu de 3 symboles de ponts et de caillebottis en fonction de leur longueur

En utilisant le même principe, voilà un rendu des passerelles et
caillebotis (différenciation en fonction de leur longueur) qui tient
compte de la longueur de la passerelle.

Groupe d’éléments avec le clustering de QGIS

Rendu avec/sans clustering de symboles pour des tables de picnic

Enfin, une amélioration tirée du travail de Noé, avec un clustering
de certains symboles ponctuels (ici une table de pic-nic) dans QGIS.
Cela était bien géré avec Mapnik mais je n’avais pas encore trouvé le
truc dans QGIS (en réalité simplement un mode de la symbologie des
points)

En termes de perspective, comme dit précédemment le travail de
Noé a ouvert plusieurs possibilités de généralisation des données que
j’espère pouvoir mettre en œuvre. Enfin, QGIS 4 arrive cette année, et
donc forcément les nouveautés apportées par cette nouvelle version
majeure de QGIS vont pouvoir faire évoluer le OpenArdenneMap.

OpenArdenneMap: Interview d’OpenCage

OpenCage est une société européenne qui propose des services de géocodage (convertir une adresse en localisation, et vice-versa), mais c’est aussi une des sociétés les actives dans le support et la promotion d’OpenStreetMap. J’ai répondu à leur demande d’interview, qui est sortie ici en anglais mais que je met ici en français.

1. Who are you and what do you do? What got you into OpenStreetMap?
Je travaille dans le domaine de la géomatique et contribue à OpenStreetMap depuis de nombreuses années. J’ai commencé à contribuer à OpenStreetMap en 2012. Puis j’y ai contribué de plus en plus. En 2017, j’ai rejoint la société coopérative Champs-Libres, où je travaille, parce que c’était la seule société qui travaillait avec les données OpenStreetMap en Belgique. Donc on peut dire que j’ai trouvé mon boulot grâce à OpenStreetMap.

J’ai un intérêt pour la cartographie depuis toujours. Après mes études, j’ai commencé à m’intéresser à des logiciels permettant de faire des cartes sur le web, à l’époque MapServer et OpenLayers 1, en 2007… Mon but était de faire des cartes, surtout sur le web, pour montrer des choses qui n’étaient pas très visibles. Ainsi, j’ai fait une carte des potagers communautaires à Bruxelles en 2010. Puis j’ai lentement vu la montée d’OpenStreetMap. Mais au début, je n’y croyais pas: la carte était principalement vide et avec une mauvaise précision, je ne pensais pas qu’OpenStreetMap serait un jour assez mature pour faire de belles cartes. J’avais tort.

Aujourd’hui je contribue activement à OpenStreetMap et je suis aussi membre de l’ASBL OpenStreetMap – Belgique. Je rencontre souvent d’autres contributeurs en Belgique, on forme une super-communauté: des gens ouverts, passionnés et sans prise de tête! Je co-organise régulièrement des rencontres OpenStreetMap dans ma région et je fais du lobbying pour OpenStreetMap un peu partout!


2. What is the OpenArdenneMap project and why was it created? Who uses it? How?
Quand j’ai commencé à contribuer à OpenStreetMap, assez rapidement j’ai voulu générer des cartes topographiques. J’ai d’abord vu le projet OpenTopoMap, puis un projet visant à reproduire les cartes de l’institut géographique national en France. Au début, mon challenge était de pouvoir réaliser des cartes ressemblant à celles de l’institut géographique national belge. C’était avant tout un challenge technique pour moi, comme je commençais seulement à apprendre à coder. J’ai longtemps chercher quel pouvait être le meilleur logiciel pour cela. J’ai d’abord essayé avec MapServer, que je connaissais. Puis je suis passé au logiciel Mapnik, qui est le logiciel cartographique utilisé pour générer le style de base disponible sur openstreetmap.org et sur des tas d’autres projets cartographiques, dont OpenTopoMap. Très récemment, en 2022, j’ai traduit le style OpenArdenneMap en QGIS.
Aujourd’hui, OpenArdenneMap est un style cartographique utilisable avec Mapnik ou QGIS, les 2 étant maintenus en parallèle sans être 100% équivalent. OpenArdenneMap est un style destiné à l’impression, et non pas pour des cartes web. La principale différence d’un style de carte à imprimer avec des cartes web est que les labels sont environ 2 fois plus grands que sur une carte web, mais il y a d’autres subtilités, comme le choix des couleurs, le contraste, … J’utilise ce style avec mes collègues pour générer des cartes à télécharger sur le site hiking.osm.be. Ces cartes sont proposées librement au téléchargement et une contribution financière est demandée à ceux qui l’utilisent. Il y a un bon potentiel commercial avec ce projet hiking.osm.be, càd de distribuer des cartes imprimées dans divers endroits touristiques, mais on n’a pas encore pris le temps de développer cette offre.
Sinon, j’ai découvert que le style a déjà été utilisé par des opérateurs touristiques en Belgique pour imprimer des cartes sur des panneaux touristiques. Enfin, je l’utilise de temps en temps pour créer des cartes grand-format pour des amis ou la famille, ou juste pour moi comme une grande carte de la Semois de 2 sur 1m. Et il y a aussi un serveur de tuiles OpenArdenneMap, même si le style est avant tout destiné pour l’impression, pas pour le web.

3. What are the unique challenges and pleasures of mapping hiking maps, especially those designed to be printed? What aspects of the projects should the rest of the world be aware of?
Il y a d’énormes challenges à réaliser des cartes destinées à l’impression à partir de données OpenStreetMap, et je pense que beaucoup d’entre eux n’ont pas encore été abordés à l’heure actuelle. Quand vous regardez à d’anciennes cartes topographiques, elles sont généralement d’une grande qualité graphique et elles ont une une grande force esthétique. Pour moi, les cartes topographiques générées à partir de données géographiques n’ont pas la même puissance, pour toutes sortes de raisons.
Clairement, il y a eu une rupture quand les cartographes ont créé des cartes à partir de données géographiques au lieu de les dessiner sur du papier. Il y a une dizaine d’années, j’ai appris que les cartographes de l’IGN belge ne digitalisaient pas nécessairement les éléments sur des images aériennes selon leur localisation exacte mais selon “un bon sens cartographique”: cela signifie qu’ils prenaient certaines libertés avec la position de certains éléments, pour d’emblée penser à la création de la carte.
Dans OpenStreetMap, il y a ce fameux principe: “Don’t map for the renderer”. Bien sûr je le comprends, mais si on veut faire de la cartographie, on veut justement cartographier pour un beau rendu. Mon leitmotif pour le futur d’OpenArdenneMap est justement celui-là: trouver des techniques pour passer d’une base de données géographiques à une carte imprimée. Cela implique des tas de techniques qui sont très peu mobilisées dans la communauté OpenStreetMap actuellement: généralisation cartographique, déplacement, …, bref, toutes les techniques cartographiques qui ont été théorisées et mises en pratiques tout au long du développement de la cartographie.
En ce sens, je rejoins l’analyse de Christophe Hormann: même si le style “carto” est un fabuleux travail de cartographie et probablement le plus avancé style cartographique construit à partir des données d’OpenStreetMap, il est encore très loin des meilleures pratiques de cartographie. Et c’est valable pour tous les styles dérivés d’OpenStreetMap avec Mapnik ou QGIS, ils ne parviennent pas à réaliser des cartes topographiques de grande qualité. Bien sûr, on pourra arguer qu’il faut toujours une passe manuelle pour peaufiner une carte faite avec un style automatique, et c’est probablement toujours vrai, même à l’heure de l’intelligence artificielle. Mais à part cela, il manque clairement des bases de travail cartographique qui ne sont toujours pas appliqués dans les styles, ni même implémentés dans des algorithmes. C’est un projet à long terme que j’aimerais d’ailleurs mener: une revue de l’utilisation des techniques de cartographies avancées dans l’écosystème OpenStreetMap.
Pour revenir à OpenArdenneMap, comme son nom l’indique, il est destiné à une région en particulier: l’Ardenne. Un ami m’a une fois demandé de lui sortir une carte de Bretagne avec OpenArdenneMap puis il s’est plaint que la mer n’apparaissait pas. Normal, il n’y a pas de mer en Ardenne. Loin de tout chauvinisme ou nationalisme, l’idée est de faire un rendu propre à une région, avec ses caractéristiques, ses objets particuliers, et bien sûr cela peut évoluer dans le temps. Par exemple, il y a un rendu spécifique dans OpenArdenneMap pour les plantations de sapins de Noël, parce que celles-ci couvrent une surface importante en Ardenne, peut-être 10% de la surface agricole. Mais c’est récent, il est possible que dans quelques dizaines d’années, il n’y en ai plus.
Un désavantage des cartes web actuelles est qu’on assiste à une uniformisation des styles, avec des styles qui peuvent être designés pour un environnement californien puis appliqué en Europe: cela n’a pas de sens. Chaque région a sa richesse géographique, fruit de l’évolution des des paysages naturels habités par les communautés humaines qui y ont vécus. Et donc chaque région a droit à ses propres styles, qui mettent en valeur ses caractéristiques.

4. What have you learned? What is the best way for people to do something similar in their city or region or country?
J’essaye de collectionner des cartes de ma région et d’ailleurs, et de les comparer. Cela me donne des idées pour développer de nouvelles choses dans mon style cartographique. OpenArdenneMap est un style plutôt “retro” mais j’aime aussi ajouter des éléments plus récents du paysage, comme des éoliennes. Je ne le fais pas assez, mais j’essaye de suivre aussi ce qui se fait dans d’autres projets de cartographie comme OpenTopoMap ou le style “carto” d’osm.org. Par exemple, j’ai repris l’idée d’orienter des libellés de noms de plans d’eau suivant la forme du plan d’eau, de manière automatique. Ou d’orienter les terrains de sport et les symboles des églises selon leur orientation réelle sur le terrain.
Un style cartographique touche à beaucoup de choses: par exemple on peut passer du temps à choisir des fontes adaptées. Pour OpenArdenneMap, j’ai choisi une fonte faite en Belgique via un magazine, Medor.coop, et puis j’ai finalement rencontré son concepteur, qui est aussi amateur de cartographie. C’est la fonte Alfphabet, qui reproduit une fonte utilisée dans les années 1950. Dans OpenArdenneMap, j’essaye d’afficher pas mal de libellés, donc la fonte est importante.
J’aime aussi dessiner les symboles et les symboles des patterns. Je ne suis pas très bon pour dessiner en général, et je ne me vois pas créer des logos, mais pour des symboles cartographique, je trouve cela assez facile.
Enfin il y a l’impression. C’est tout un art aussi! J’ai appris la différence entre l’impression _offset_ et digitale. Les cartes anciennes étaient souvent imprimées en _offset_ avec des vraies couleurs: cela augmente leur qualité. C’est une raison pour laquelle OpenArdenneMap n’a que 3 couleurs + le noir: cela permet une impression _offset_ avec des vraies couleurs.
Pour celles et ceux qui veulent commencer un style cartographique, je conseille de partir d’un style existant (sous Mapnik ou QGIS) puis de changer progressivement les couleurs, les textures, ce qu’on affiche et ce qu’on n’affiche pas, … Si vous voulez définir un style disponible pour plusieurs échelles, partir d’une page blanche prend énormément de temps.

5. What steps could the global OpenStreetMap community take to help support projects like this?

J’adore voir des nouveaux projets cartographiques voir le jour. Et il faut certainement encore maintenir des anciens, en tout cas il y a du potentiel d’amélioration même dans des styles anciens. Comme dit plus haut, il manque des techniques et des algorithmes qui permettent de faire de la généralisation cartographique, précisément avec les données OpenStreetMap. Un challenge des données OpenStreetMap est leur manque de complétude et d’uniformité: parfois, on doit refuser de représenter quelque chose sur une carte si cette chose n’est pas cartographiée partout. Par exemple, je ne vais pas représenter des arbres isolés si la distribution de ceux-ci dans mon emprise de carte est trop irrégulière. Mais pour ce genre de problèmes, c’est plutôt au cartographe de trouver ou développer des algorithmes de préparation des données, de généralisation cartographique.
Je pense qu’il y a un manque de documentation des projets cartographiques existants. En même temps, on manque sans doute de recul sur la création de cartes avec OpenStreetMap.

6. Last year OpenStreetMap celebrated 20 years. As someone who has been very active in OpenStreetMap for a long time, where do you think the project will be in another 20 years?

Je suis certain que le projet sera encore là, avec sa communauté. Il y aura peut-être des difficultés à recruter de nouveaux contributeurs, mais je n’en suis pas si sûr. Déjà aujourd’hui, la plupart des gens utilisent OpenStreetMap sans le savoir, parce que les données OSM sont intégrées dans des tas d’applications différentes. Cela va certainement s’amplifier à l’avenir. Peut-être que des pans entiers de l’utilisation d’OSM seront supplantés par d’autres bases de données, par exemple pour le réseau routier, les adresses ou les POIs. Mais le projet sera toujours là pour les amateurs de cartographie. Il pourrait être davantage réservé aux hobbyistes.
En Belgique, nous sommes de plus en plus sollicités par des pouvoirs publics qui sont intéressé à contribuer à OpenStreetMap, par exemple par des communes qui nous signalent des changements dans le réseau routier. On essaye aussi que les pouvoirs publics réutilisent les données, et il y a de plus en plus de cas. Je suis certain que cela va encore se développer en Belgique.

OpenArdenneMap hiver 24-25

Note: There is an English version of this post on https://www.osm.org/user/juminet/diary.

Depuis fin 2019, le style cartographique OpenArdenneMap est mis à jour suivant un cycle semestriel de livraison de temps en temps. OpenArdenneMap est un style cartographique open-source pour des cartes topographiques sur base des données OpenStreetMap. La livraison “hiver 2024-25” vient de sortir.

OpenArdenneMap paysage d'hiver

C’est surtout des petites améliorations dans le style QGIS qui ont été apportées. OpenArdenneMap est en effet disponible pour Mapnik (programme servant principalement à faire des serveurs de tuiles) et QGIS (programme plus généraliste de cartographie).

En particulier, il y a eu l’ajout de la couche “marked trails” (circuit balisés) qui manquait encore dans le style QGIS. Pour ajouter la balise sur la carte (l’équivalent du _shield_ dans Mapnik), on utilise une combinaison de 2 “Marker Line”, avec la superposition d’un marker SVG (SVG Marker) pour la balise et d’un caractère (Font Marker) pour le chiffre souvent inscrit dans la balise.

Il y a aussi l’ajout d’un layout dans le fichier de projet QGIS, ce qui a permis de réactualiser une première carte sur hiking.osm.be, pour la carte d’Herbeumont.

This image has an empty alt attribute; its file name is Herbeumont-OAM-20000-A3-724x1024.jpg

A comparer, la version faite avec Mapnik il y a quelques années, et celle-ci faite avec QGIS.

Bientôt encore plus de cartes sur https://hiking.osm.be/ !

OpenArdenneMap en carte web

Ca y est, j’ai enfin pu monté un serveur de tuiles pour OpenArdenneMap! Voir sur cette carte et sur cet article pour plus de détails.

OpenArdenneMap est un style conçu spécialement pour des cartes topographiques imprimées: il ne donne donc pas spécialement bien en tant que tuiles pour un serveur web. Il est construit en tant que style “cartoCSS/Mapnik” et également disponible en tant que style QGIS depuis peu. Utilisant Mapnik, le style peut donc être utilisé pour construire des cartes web, bien qu’il soit prioritairement _designé_ pour l’impression.

Si vous cherchez des cartes à imprimer prête à l’emploi, c’est sur hiking.osm.be.

OpenArdenneMap hiver 22-23

Note: there’s an English version of this there.

Depuis fin 2019, le style cartographique OpenArdenneMap est mis à jour suivant un cycle semestriel de livraison! OpenArdenneMap est un style cartographique open-source pour des cartes topographiques sur base des données OpenStreetMap. La livraison “hiver 2022-23” vient de sortir.

Cet hiver, OpenArdenneMap passe à QGIS

OpenArdenneMap a été initialement développé comme un style cartographique avec l’importateur imposm et un style cartoCSS dérivé de OSMBright. Plus tard, l’importateur osm2pgsql a été utilisé à la place de l’importateur imposm. A partir de cette livraison, le style OpenArdenneMap est également disponible dans QGIS, en utilisant le même importateur osm2pgsql pour construire les couches de la carte.

Bien qu’il nécessite toujours une base de données PostGIS, le style QGIS est beaucoup plus simple à utiliser pour composer des cartes à différentes échelles que le style Mapnik/cartoCSS. Il est également beaucoup plus simple à mettre en place.

Les outils utilisés pour réaliser des cartes ont une certaine influence sur le style cartographique lui-même. Le but de ce support QGIS est de reproduire le même rendu que les cartes produites avec le style Mapnik/cartoCSS, mais les 2 solutions ne sont pas 100% équivalentes.

extract of OpenArdenneMap map made with Mapnik

Un extrait OAM avec Mapnik

extract of OpenArdenneMap map made with Qgis

Un extrait OAM avec QGIS

Voici quelques observations clés lors du passage de ce style de Mapnik/cartoCSS à QGIS.

Des règles beaucoup plus simples pour la mise à l’échelle dans QGIS

QGIS supporte l’utilisation d’unités géographiques pour définir la taille des symboles (mètres à l’échelle, unités cartographiques), alors que Mapnik/cartoCSS, à ma connaissance, ne traite que des unités en pixels. Cela signifie que, dans QGIS, vous pouvez définir une taille qui sera fonction de l’échelle de la carte. Ceci est vraiment utile pour les cartes à très haute échelle (c’est-à-dire > 1:10000), où certains éléments tels que la largeur des routes peuvent prendre leur taille “réelle” sur la carte. Pour obtenir le même effet dans Mapnik, nous devons définir des largeurs différentes pour chaque niveau de zoom.

Utilisation des variables QGIS

Un avantage clé de l’utilisation de Mapnik et de cartoCSS est qu’il est possible de définir des variables qui sont utilisées tout au long du projet, typiquement pour des variables de taille et les couleurs. Heureusement, il y a aussi moyen de définir des variables dans un projet QGIS (dans Projet > Propriétés > Variables) et les utiliser dans les définitions de style.

Utiliser des tables PostGIS filtrées par rapport aux couches SQL

Les mêmes couches utilisées dans Mapnik ont été utilisées comme couches QGIS. Souvent, ces couches ne sont pas seulement des filtres appliqués à une table “planet_osm_points|lines|polygones” mais elles effectuent une transformation des données. Par exemple, la couche pour les libellés des plans d’eau est la suivante :

SELECT way, waterway AS type, replace(name, 'Ruisseau', 'Rau') AS name
FROM planet_osm_line
WHERE waterway IN ('canal', 'river', 'stream') AND name IS NOT NULL
UNION ALL
SELECT
    ST_LineMerge(ST_ApproximateMedialAxis(ST_SimplifyPreserveTopology(ST_MakePolygon(ST_ExteriorRing(way)), 50))) AS chemin,
    eau AS type,
    replace(replace(name, 'Etang', 'Étg'), 'Étang', 'Étg') AS name
FROM planet_osm_polygon
WHERE water IN ('pond', 'lake', 'basin', 'reservoir') AND name IS NOT NULL AND way_area > 10000

qui combine les lignes de planet_osm_line avec des lignes créées à partir de planet_osm_polygon en utilisant une suite de fonctions PostGIS (ST_ApproximateMedialAxis, etc.).

Ces requêtes PostGIS sont simplement définies comme des couches dans le gestionnaire de base de données QGIS et ensuite ajoutées à la carte.

Cependant, pour certains problèmes de performances, il semble plus facile de filtrer directement à partir d’une couche PostGIS de la BD plutôt que de définir une nouvelle couche SQL avec le gestionnaire de BD. Dans la mesure du possible, les couches du projet QGIS sont donc des tables PostGIS complètes qui sont juste filtrées pour les éléments requis.

Problèmes restants

Le travail de portage du style Mapnik vers QGIS n’est pas tout à fait terminé, il reste quelques problèmes non résolus et/ou limitations de QGIS par rapport à Mapnik.

Par exemple, je n’ai pas trouvé comment éviter le chevauchement/la répétition de symboles ou d’étiquettes proches. Il s’agit d’une fonctionnalité essentielle de Mapnik, et d’un problème si commun mais aussi si difficile en cartographie : comment empêcher les symboles de se chevaucher ou de se répéter à courte distance, que ce soit dans la même couche ou dans des couches différentes ? La même chose s’applique aux labels. Un exemple est l’affichage multiple de symboles de table de pic-nic, souvent groupées dans un parc, et qui apparaissent côte à côte dans la carte.

Pour conclure

Ce travail de passage de Mapnik à QGIS n’est pas terminé. J’ignore encore quel logiciel sera privilégié à l’avenir pour OpenArdenneMap. A noter qu’une grande partie du travail cartographique est appliqué directement aux données via les requêtes PostGIS, et est donc commun aux 2 solutions. Automatiser ce travail cartographique sur base des données OSM (généralisation automatique, déplacement, …) est un domaine encore peu exploré aujourd’hui.

FOSS4G.be 2022

Ce jeudi 17 novembre, après 2 ans d’absence, a eu lieu le FOSS4G.be à Bruxelles, doublé cette année d’un “State of the Map Belgium”, soit la rencontre des contributeur·rices OpenStreetMap de Belgique. Petit compte-rendu partiel et subjectif de cette belle journée.

OpenStreetMap et la forêt de Soignes: Présentation intéressante de la part de la Fondation Forêt de Soignes, qui a décidé (très bonne décision) d’utiliser OSM comme base de données pour leur cartographie de la Forêt de Soignes. Cette forêt péri-urbaine doit faire face à une pression récréative forte, et la fondation se doit de gérer la cartographie des chemins. Un exemple pour d’autres massifs forestiers, et qui montre la pertinence et la réactivité d’OpenStreetMap pour cartographier des chemins forestiers, par rapport à d’autres bases de données disponibles.

360° Everywhere: Le projet dingue de Pierre Serpe, lauréat du Geochallenge wallon 2022, qui collecte des images 360° de voiries cyclables pour son groupe local du Gracq en Hesbaye. Ces images sont ensuite utilisées pour aider à la réflexion dans des réunions citoyennes pour des aménagements cyclables, ou à carrément simuler des aménagements dans une représentation 3D. Un projet à essaimer dans d’autres endroits!

Mapcomplete: L’éditeur thématique d’OSM https://mapcomplete.osm.be, où un thème particulier peut être défini pour les contributeur·rices d’OSM. Il y a par exemple un thème pour les toilettes publiques, les friteries, les boites à livres, etc. L’occasion de revenir aussi sur le projet Pin je punt, un très bon cas d’utilisation d’OSM par un pouvoir public (l’agence de tourisme en Flandre).

OpenStreetMap et Anyways: Comment Anyways, société basée à Gent, utilise OSM pour développer son produit de simulation de transformation du réseau routier. Destinée aux pouvoirs publics qui veulent entreprendre des travaux ou modifier leurs plans de circulation, la solution développée par Anyways permet de simuler les transformations simplement en éditant les modifications dans une base de données miroir d’OSM. Ainsi, la coupure momentanée d’une route, la mise en sens unique de voiries ou tout autre modification peut être dessinée et son impact sur les flux de mobilité simulé et évalué.

Enfin, le FOSS4G.be ne serait pas parfait s’il n’y avait pas le concours de carte, avec chaque année de belles réalisations. Cette année, le trio de cartes récompensées par le public est :

1) FerrarGIS, le magnifique projet de Manuel Claeys Bouuaert qui permet de reproduire les cartes de Ferraris du XVIIème siècle avec des données actuelles d’OSM. La carte de Gent présentée a de multiples détails, comme l’orientation automatique de patternes de labour et de certains symboles, l’ajout d’arbres autour de certaines limites parcellaires, une très belle réalisation qui a bien méritée son premier prix.

2) hiking.osm.be, l’offre de cartes de randonnée à commander et à imprimer sur base du style OpenArdenneMap, que je présentais cette année. La carte présentée était une carte des cartes disponibles sur hiking.osm.be, et une invitation à commander vos propres cartes.

3) Ticket to ride Belgium, une incroyable adaptation du jeu de société “Les Aventuriers du Rail” au réseau ferroviaire belge. Cette carte n’est pas seulement une très bonne réalisation graphique, son concepteur, Roel Huybrechts, a poussé le projet jusqu’à en faire un plateau de jeu effectivement utilisable pour ce jeu, en calculant un nombre de segments entre les gares belges qui soit correct et équilibré selon les règles du jeu! Une conceptualisation du problème effectuée avec Pgrouting, et qui est expliquée dans le lien ci-dessus.

Merci à toute l’équipe des organisateur·rices et aux bénévoles et à l’année prochaine!

OpenArdenneMap – été 2022

Depuis fin 2019, le style cartographique OpenArdenneMap est mis à jour suivant un cycle semestriel de livraison! OpenArdenneMap est un style cartographique open-source pour des cartes topographiques sur base des données OpenStreetMap. La livraison “summer-2022” vient de sortir.

Pas beaucoup de nouveautés dans le style en lui-même, seulement un symbole et un libellé pour les sommets.

Il y a maintenant un fichier pompeusement appelé CARTOGRAPHY qui tente d’énumérer les principes cartographiques du style (un peu comme celui sur le style osm-carto).

Le style arrivant à une certaine maturité, il est probable qu’il évolue peu dans les prochaines années. Néanmoins, il existe un champ de recherche et de développement énorme pour automatiser des techniques de généralisation cartographique à utiliser avec des données OpenStreetMap pour produire des cartes. C’est la future direction que j’aimerais faire prendre au projet.

Enfin, des cartes 1:20,000 réalisée avec le style OpenArdenneMap au format A3 sont toujours disponibles en téléchargement sur https://hiking.osm.be/. Certaines de ces cartes sont retouchées à la main, pour une qualité cartographique accrue.

OpenArdenneMap winter2021-22

Depuis fin 2019, le style cartographique OpenArdenneMap est mis à jour suivant un cycle semestriel de livraison! OpenArdenneMap est un style cartographique open-source pour des cartes topographiques sur base des données OpenStreetMap. La livraison “winter2021-22” vient de sortir. Voici les principaux changements de cette dernière version.

openardennemap - named cross

Les changements sont listés dans le fichier CHANGELOG: plus de labels affichés (fermes, nom des croix), un rendu des attractions touristiques, …

openardennemap tourism attraction

Une amélioration technique également: la génération des cartes avec docker a été mise à jour: la précédente image docker-mapnik ne pouvant plus compiler mapnik, elle a été remplacée par une autre. Les instructions sont dans docker/README.md.

Depuis juin 2021, des cartes 1:20,000 réalisée avec le style OpenArdenneMap au format A3 sont disponibles en téléchargement sur https://hiking.osm.be/. Certaines de ces cartes sont retouchées à la main, pour une qualité cartographique accrue.