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.

Une carte des éoliennes en Wallonie

En lisant cet article sur le site renouvelle.be, je me suis demandé combien d’éoliennes de Wallonie sont recensées dans OpenStreetMap, et combien ont été ajoutées en 2025.

L’article inventorie 625 éoliennes en Wallonie, avec 36 nouveaux mats installés en 2025.

Dans OpenStreetMap, nous avons:

  • 630 éoliennes,
  • dont 20 ajoutées en 2025 (ne veut pas dire nécessairement installés en 2025)
  • le tout dans 30 parcs éoliens.

Et voici la carte:

La différence est faible. Le plus grand nombre dans OpenStreetMap s’explique sans doute parce que toutes les éoliennes peuvent être renseignées dans OSM, y compris les petites éoliennes domestiques ou d’entreprise (à axe vertical compris). On peut s’attendre aussi que certaines “grandes” éoliennes ne sont pas répertoriées dans OSM. Mais en l’absence de données officielles, difficile d’y voir plus clair.

Pour information, dans OpenStreetMap, on peut spécifier le type d’éolienne et différencier le petit du grand éolien: il y a une étiquette pour la puissance, la hauteur du mat, le type d’axe (horizontal vs vertical). Mais ces informations ne sont pas toujours remplies.

Petite réflexion sur l’échelle: chaque point représentant une éolienne fait 1 mm, correspondant à cette échelle à un diamètre de 1,6 km, ce qui correspond à peu près à la zone d’exclusion autour d’un mat pour les habitations.

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

Réparation d’un coupe-bordure Makita

À la maison, on aime réparer ce qui tombe en panne.
Dans cet article, petit compte-rendu de notre dernière réparation, un coupe-bordure sur lequel on a remplacé le moteur!
En réalité, on a pu s’entrainer deux fois sur cette réparation: c’est la deuxième fois en 4 ans qu’il tombe en panne, même diagnostic, probablement même cause. Je vous explique.

La bête

La bête, c’est un coupe-bordure Makita DUR181. Fonctionnant sur accu, il permet de couper ces pauvres herbes qui n’en finissent pas de pousser de mars à octobre.

Deux fois

Comme dit plus haut, on avait eu la même panne il y a quelques années. A l’époque, c’est un gentil bénévole du repair café de Habay qui nous avait réglé l’affaire: diagnostic, commande d’un nouveau moteur et remplacement du moteur.

Le diagnostic

Un jour, paf, “il marche plus”. Enfin, si, mais à moitié: un coup il démarre, un coup il démarre pas, et c’est ce coup-là le plus fréquent! Quand il veut bien démarrer, c’est avec une puissance bien plus faible qu’avant. En y regardant de plus près, voilà l’explication: certaines bobines du moteur électrique sont foutues. Comme il y a plusieurs bobines (3) dans le moteur, disposées autour de son axe, le moteur ne démarre que quand la ou les bobines fonctionnelles sont bien alignées. Une fois qu’on a compris ça, un truc tout simple pour le faire démarrer à chaque fois: faire tourner la tête du coupe-bordure sur le sol puis appuyer en même temps sur la gachette: il démarre toujours, mais il reste avec une puissance bien plus faible.

La solution

Le moteur est donc à moitié foutu (ou à moitié bon selon le point de vue), la solution à défaut de le réparer est de le remplacer. C’est simple, efficace et relativement bon marché.

La manipulation

Il y a plusieurs vidéos qui montrent le démontage de la bête. Ces 2 suivantes sont pas mal: en anglais américain ou en anglais canadien.
La réparation est simple: dévisser la tête de la bête (2 vis), ensuite l’ouvrir en deux (5 vis), remplacer le moteur, bien nettoyer, remettre un peu de graisse dans l’engrenage, et c’est reparti.
Pour séparer le moteur de l’axe du porte-fil, sur la vidéo, le brave américain de la vidéo tape un bon coup. Chez moi ça n’a pas marché, j’ai un peu chipoté en introduisant un tournevis entre l’engrenage en plastique et le plateau sur lequel est monté le moteur, puis ça a fini par se séparer.

Ici quelques photos…

Dévisser la tête:

Dévissage de la tête avec 2 vis, indiquées par les 2 flèches rouges.


L’ouvrir en 2:

Dévissage des 5 vis, indiquées par les flèches rouges


Retirer le moteur:

Retirer le moteur


Remplacer le moteur en tapant sur l’axe du porte-fil (à l’américaine) et/ou en introduisant un tournevis entre l’engrenage en plastique et le plateau sur lequel est monté le moteur (à la belge):

Séparer le moteur de l’axe rotatif porte-fil: j’ai introduit un tournevis à l’endroit de la flèche rouge et fait levier.

La commande

Souvent, c’est la commande de la pièce que je trouve le plus dur. Comment la retrouver, quel fournisseur choisir…
Ici on a besoin d’un “moteur Makita DUR 181”. En tapant cela sur un moteur de recherche, on tombe sur plusieurs fournisseurs, … c’est très très simple.

Le prix

Il y a 2 ans, on l’avait trouvé à 15.90€ chez TooManyTools. Cette année, à 17.90€ chez Techni K Outils, mais avec des frais de livraison moins élevé en se faisant livrer à un point-relais, donc moins cher au final qu’il y a 2 ans.
De mémoire, la bête coutait ~110€, donc la réparation nous parait raisonnable.

Et le service après-vente?

Pour info, on avait contacté le magasin où on l’avait acheté et il était exclu de le faire réparer chez eux. Prix d’achat pas assez élevé pour y regarder…

Mais pourquoi ça casse?

Deux fois la panne, pour du matos d’une marque avec une solide réputation, ça fait beaucoup. D’après le gentil bénévole du repair café, c’est sans doute l’humidité à laquelle le moteur de la bête est fréquemment exposé qui peut provoquer ce genre de panne. Et c’est vrai que le moteur est peu protégé de cette humidité vu les larges fentes d’aération au niveau de la tête de la bête. Mais bon, pour ses viseuses, Makita fait bien mieux. Puis j’ai démonté le moteur complètement et n’ai rien vu comme oxydation, ni un autre problème.

Y a t il des marques qui proposent des coupe-bordures qui tiennent des années sans problèmes?

Bilan

Un prix raisonnable, pièce très facile à trouver et vraiment très rapide et facile à remplacer. Réparer ce coupe-bordure en valait bien la peine!

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.

Mesures de consommation électrique dans notre maison

Ou qu’est-ce qui consomme le plus d’électricité du lave-vaisselle ou du sèche-linge?


À l’aide d’un instrument de mesure de consommation électrique, j’ai fait une brève analyse de notre consommation électrique. Le principe a été de mesurer la consommation électrique de divers appareils durant des cycles de fonctionnement ou des durées types. Connaissant notre consommation totale (suivant des relevés de compteurs), j’ai pu créer un graphique de la répartition d’une consommation électrique durant un mois moyen.
Notre ménage de 5 personnes consomme entre 2200 et 3000 kWh/an. La valeur de 3000 kWh a été atteinte il y a quelques années mais a diminué depuis. La maison ne compte pas de gros postes de consommation: pas de chauffage électrique ni chauffe-eau, et nous cuisinons environ 5 mois par an au bois, le reste du temps à l’électricité (plaques à induction + four).


Consommation d’un mois moyen

En prenant 182 kWh pour un mois moyen (moyenne des 7 premiers mois de 2023), on arrive aux valeurs de consommation mensuelle en kWh affichées dans le graphique ci-dessous.
Les 9 postes mesurés sont affichés en couleur, et le poste “reste” est déterminé en soustrayant tous les postes mesurés de la consommation totale. Dans ce “reste”, il y a probablement principalement l’éclairage, 3 circulateurs (panneaux solaires thermiques, chaudière à bois, chauffage), des plaques de cuisson à induction, un four électrique, et divers autres appareils: ordinateurs, chargeurs, bouilloire électrique, etc. Pour chaque poste, la valeur mensuelle est déterminée sur base d’une mesure réalisée pendant plusieurs jours ou bien durant 1 cycle de fonctionnement, multiplié par une valeur plausible de nombre de cycles par mois (par ex. 20 cycles de lave-vaisselles / mois).


Le congélo


Notre congélateur est un congélateur avec porte, et est placé dans un local non chauffé de la maison, situé au nord du batiment. Malgré cela, il constitue l’appareil le plus énergivore. Il s’agit d’un ancien congélateur, entre 10 et 20 ans. Sans surprise, il y a une grosse différence de consommation du congélateur en fonction de la température de ce local. J’ai pu faire une mesure de plusieurs jours en hiver, pendant un temps froid (température d’environ 0°C), une mesure au printemps (env. 10°C) et une mesure en été (entre 16 et 22 °C): le consommation double entre l’hiver et l’été, comme l’illustre le petit graphique ci-dessous.


La pompe à eau


Nous n’avons pas de pression du tout lors de l’arrivée d’eau de distribution, si bien qu’une pompe est nécessaire pour distribuer toute l’eau dans la maison. Cette pompe consomme 13 W en veille! En fait, durant la durée de la mesure, elle a consommé autant en veille qu’en fonctionnement, alors qu’elle ne fonctionne évidemment qu’un temps limité.


Valeurs par cycle de fonctionnement


Voilà les valeurs que j’ai pu mesuré par cycle de fonctionnement de plusieurs appareils. Pour ces valeurs, plusieurs répétitions de mesure ont été faites, avec souvent les mêmes valeurs mesurés entre les répétitions.

  • un cycle de machine à laver, programme à 40°C: 0.76 kWh
  • un cycle de machine à laver, programme à 30°C: 0.50 kWh
  • un cycle de lave-vaisselle en mode “éco”: 0.86 kWh. Le lave-vaisselle a moins de 10 ans. Il est alimenté directement en eau chaude.
  • un cycle de machine à pain, pour un pain de 500g “normal”: 0.34 kWh. J’ai cherché longtemps sur internet des valeurs plausibles. Certaines sources calculent la consommation d’une machine à pain automatique en multipliant la puissance de la machine par la durée du cycle, ce qui est évidemment exagéré, car la machine à pain ne fonctionne pas à plein régime pendant toute la durée de son cycle (par ex. 3h30). La valeur de 0.34 kWh est tout à fait raisonnable si on veut faire des économies en faisant son pain à la machine plutôt que de l’acheter.
  • chauffer de l’eau à la bouilloire électrique pour une tasse: 0.035 kWh
  • recharger un smartphone: 0.0131 kWh

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.