Une carte de la Semois

Un article pour présenter une carte de la Semois au 1/42,000 imprimée sur un support 200 x 70 cm: quelques aspects de cartographie et des éléments de la recette pour effectuer une rotation aux données géographiques avant leur mise en forme cartographique.

Une photo de la carte Semoy·ois imprimée

Dernier projet perso: une carte de la Semois grand format, à une échelle 1:42,000, ce qui donne une carte imprimée sur un grand rectangle de 2 mètres de haut sur 70 cm de large. Avec les données d’OpenStreetMap bien sûr, complétées par les bâtiments du PICC en Wallonie et puis une représentation du relief faite en combinant des données de relief de Wallonie, du GD de Luxembourg et européenne.

Bouillon: la carte n’est pas orientée au Nord (photographie de la carte imprimée)

La carte montre la Semois de sa source à son embouchure, selon l’orientation générale de la rivière, donc en orientant la carte selon un angle particulier. Prenant sa source en Lorraine, la rivière attaque curieusement de biais le massif ardennais qu’elle finit par percer pour retrouver la Meuse. Cette belle rivière trace son chemin avec de nombreux méandres mais en maintenant un cap relativement rectiligne. Sur l’emprise de la carte, des portions de 3 pays: Belgique, France, Luxembourg.

On passe de la Belgique (où la rivière prend le nom de Semois) à la France (et devient Semoy), sans passage de frontière dans le style cartographique (photographie de la carte imprimée)

Cartographie

Aperçu de la carte à Cugnon

Le style de la carte est celui d’OpenArdenneMap, mon projet de style pour des cartes topographiques à grande échelle. OpenArdenneMap est un style spécifiquement développé pour des cartes imprimées, avec un faible nombre de couleurs différentes, des contrastes clairs, et qui fait la part belle aux labels (basés sur la fonte Alfphabet), dans la tradition des cartes topographiques de l’IGN belge des années 1960 à 1980. Parmi les dernières nouveautés du style, il y a l’écriture en courbe de certains labels de plans d’eau. Pour cette carte, la Semois est soulignée par un trait bleu plus prononcé que ses affluents ou que les autres rivières apparaissant sur la carte. Enfin, le relief est représenté par un ombrage (hillshade) se superposant à la carte.

… à Jamoigne

Ici, avec une échelle de 1:42,000, on atteint les limites du style cartographique, plutôt défini pour du 1:20,000. En outre, l’absence de généralisation des données géographiques (par exemple, pas de déplacements des lignes trop proches) peut poser problème à certains endroits. La carte est générée automatiquement: elle n’a pas été retravaillée manuellement. Pour un meilleur rendu, il faudrait éventuellement déplacer des labels à la main, supprimer des superpositions d’éléments, …

Impression & collage

Après la mise en page du fichier, le fichier prêt à imprimer était un PDF rasterisé à 500 dpi. L’impression a été faite en qualité optimale sur du papier épais (120g/m² ou 160g/m²).

Puis la carte a été collée sur un support fait d’une planche de panneau MDF de 5 mm peint en noir. Pour le collage, j’ai utilisé une colle vinylique étalée en une fine couche avec un petit rouleau à peindre. Grâce à l’épaisseur du papier, le papier n’a pas trop gondolé (juste un peu), mais j’ai bien passé une heure à coller et à presser.

Le fichier source de cette carte est disponible en téléchargement libre sous licence Common Creative CC-BY-SA ici.

Préparation des données

Pour faire tenir le cours de la Semois dans un rectangle, la carte n’est pas orientée vers le Nord. Mapnik (i.e., le programme qui a généré la carte avec le style OpenArdenneMap) n’est pas capable d’effectuer une rotation de la carte selon une autre orientation que le Nord. Dès lors qu’on veut faire une carte avec une orientation non-conventionnelle, on peut soit effectuer une rotation de chaque label et symboles, ou simplement effectuer une rotation de toutes les données au préalable. C’est cette dernière option que j’ai choisie.

Rotation des données OpenStreetMap

Les données OpenStreetMap sont importées à l’aide du programme osm2pgsql dans une base de données avec PostGIS. On peut facilement effectuer une rotation de toutes les données avec la fonction ST_Rotate en indiquant un angle (en radian) et un centre (ici, en coordonnées EPSG:3857). Il faut donc précalculer cet angle et le centre de la carte. Par exemple, pour la table planet_osm_line:

CREATE TABLE planet_osm_line_semoy AS
SELECT *, ST_ROTATE(way, -1.3249, 587488, 6406205) AS rotated_way FROM planet_osm_line;

Rotation du relief (hillshade)

Pour l’effet d’ombrage du relief, l’approche a été d’effectuer une rotation du modèle numérique de terrain (MNT, aka DEM) avant de calculer l’ombrage.

1) D’abord, fusionner les MNT de Belgique, du GD Lux et de France:

gdal_merge.py -of GTiff -co BIGTIFF=YES -co TILED=YES -o dem_semoy.tif eudem_semoy_31370.tif dem_be_semoy_31370.tif dem_lux_semoy_31370.tif

2) Obtenir le fichier tfw du fichier tif pour faire une rotation “à la main”

gdal_translate -of GTiff -co profile=baseline -co tfw=yes dem_semoy.tif dem_semoy_baseline.tif

3) Modifier le fichier tfw

En transformant les valeurs du fichier tfw d’un raster au format GeoTiff, on peut lui appliquer une rotation (voir ce lien). Soit les valeurs A, B, C, D, E et F du fichier tfw, on applique une rotation d’un angle alpha (radians) en transformant ces valeurs comme suit:

(A')=A*cos(alpha)
(B')=A*sin(alpha)
(C')=-D*sin(alpha)
(D')=D*cos(alpha)
(E')=E
(F')=F 

4) Reprojection
Appliquer une reprojection avec gdalwarp vers une résolution plus basse pour gommer les artefacts de la rotation et le mettre dans un autre système de coordonnées.

gdalwarp -t_srs EPSG:3857 -r cubicspline -tr 25 25 dem_semoy_31370_clipped_baseline_rotated.tif dem_semoy_3857_clipped_rotated_warp_cubicspline_25x25.tif


5) Créer l’ombrage de relief (hillshade)

gdaldem hillshade dem_semoy_3857_clipped_rotated_warp_cubicspline_25x25.tif hillshade_dem_semoy_3857_rotated_warp.tif -co BIGTIFF=YES -co TILED=YES -co COMPRESS=DEFLATE -of GTiff -z 1.0 -s 0.5 -multidirectional


6) Appliquer une palette de couleur au raster hillshade

gdaldem color-relief hillshade_dem_semoy_3857_rotated_warp.tif -alpha shade.ramp hillshade_dem_semoy_3857_rotated_warp_semi_transparent.tif 


shade.ramp est un fichier de reclassification des valeurs des pixels du raster comme suit:

0 0 0 0 0
1 0 0 0 220
64 0 0 0 192
128 0 0 0 140
150 0 0 0 96
168 0 0 0 0
190 255 255 255 0
220 255 255 255 96
255 255 255 255 128

Pourquoi je ne contribuerai plus à Mapillary

Je contribue à Mapillary depuis la première heure et je suis probablement un des plus gros contributeurs en Wallonie. J’ai téléversé 59,7 k images à Mapillary, couvrant plus de 1000 km. J’ai contribué avec des images prises de ma voiture, mais aussi depuis le train et sur plusieurs centaines de km de chemins et sentiers. Alors que la couverture de Mapillary est habituellement bonne dans les zones urbaines, elle est assez pauvre dans les zones rurales, et j’étais content de contribuer sur des itinéraires de randonnées, où cela a un certain potentiel pour des applications touristiques. A côté de Mapillary, je fais activement la promotion d’OpenStreetMap en tant que hobby mais aussi avec mon entreprise. Avec mes collègues ou en tant que bénévole, j’ai formé plusieurs dizaines de personnes à OpenStreetMap: agent·e·s touristiques, urbanistes, étudiant·e·s, environnementalistes. Lors de la plupart de ces formations ou cartoparties, j’ai aussi fait la promotion de Mapillary comme une alternative à Google Street View, tout comme OSM est une alternative à Google Maps. Il y a 2 ans, un de mes collègues et moi ont été invités en tant qu'”experts geo open-source” à une réunion de travail de l’administration des voiries de la Wallonie pour parler du potentiel d’OSM et de Mapillary pour monitorer les dizaines de milliers de panneaux routiers de la Wallonie (17 000 km²). Bref, j’étais un promoteur actif de Mapillary tout comme je promeus activement OSM, à la fois en tant que citoyen et dans mon boulot.

J’étais. Puis j’ai vu que Facebook a racheté Mapillary. Honnêtement, mon choix ne s’est pas fait tout de suite. J’ai pris quelques jours pour savoir si je devais m’arrêter de contribuer à Mapillary ou pas. J’ai même continué à uploader quelques images de panneaux touristiques prises ce week-end. Mais finalement j’ai pris la décision de télécharger toutes mes images et de supprimer mon compte Mapillary. Alors pourquoi?

Tout d’abord, je ne suis pas contre l’utilisation commerciale de données ou logiciels open-source, c’est d’ailleurs mon métier! Je ne suis pas un ayatollah de l’open-source: certains logiciels propriétaires font très bien leur boulot. Je ne suis pas par principe hostile à toute grosse entreprise. Il faut être conscient que Mapillary a un gros besoin de serveurs et que cela a un coût. À propos, je trouve que la gestion de l’infrastructure centrale d’OSM gagnerait à être professionnalisée et qu’il y a des limites à la gestion de projets open-source par une communauté. Et je reconnais que Facebook est très utile pour renforcer les liens dans ma région rurale, comme pour l’organisation d’événements ou le partage d’objets et de services entre voisins. Mais je ne veux pas contribuer à Facebook.

Dans mon pays comme ailleurs, les partis politiques les plus extrémistes utilisent FB pour manipuler les opinions. Le parti qui a dépensé le plus d’argent l’année passé pour les élections a des liens avérés avec des groupuscules neo-nazis et des membres neo-nazis. Plusieurs membres de ce parti ont été poursuivis en justice pour diffusion de propos antisémites et négationnistes. Pas besoin d’expliquer plus que ce genre de parti est une menace directe pour nos démocraties. Le problème est que leur utilisation de FB est au-delà de la simple diffusion de spots électoraux: ils utilisent les données des utilisateurs FB pour du profilage et manipuler délibérément l’opinion de grands groupes de personnes. Ce parti a dépensé au moins 450k € depuis début 2020 pour des publicités sur FB. En Belgique, c’est de loin le premier parti en terme de dépenses sur FB. En fait, je ne serai pas surpris que c’est le meilleur client de FB en Belgique. Et une société doit toujours écouter ses clients. Probablement que la plupart des employés de FB sont plutôt gênés de ce constat: ils favorisent directement des partis néo-nazis qui les financent, mais en même temps, FB ne peut ignorer une telle source de revenus. Ils ont besoin de faire tourner leurs serveurs, de payer leurs employés et de rétribuer leurs actionnaires. Mon avis est qu’il faut non seulement travailler à une éducation aux médias sociaux mais que tôt ou tard, un contrôle public fort (régulation, nationalisation, …) d’entreprises étrangères telles que FB est essentiel pour notre souveraineté et nos démocraties.

Une autre raison pour moi est que le cœur des activités commerciales de Mapillary n’est pas de permettre à des cartographes amateurs de contribuer à OSM mais est presque entièrement destiné au monitoring des réseaux routiers pour le secteur automobile.

Franchement, je n’arrête pas de contribuer à Mapillary de gaîté de cœur. Cette société a développé de formidables outils open-source pour favoriser la participation à OSM. J’espère qu’une alternative à Mapillary davantage tournée vers la construction d’un Bien Commun verra bientôt le jour!

Notes:

Pour monitorer les dépenses publicitaires sur Facebook: https://www.facebook.com/ads/library/report/

Pour supprimer son compte Mapillary: https://framagit.org/Midgard/exit-mapillary

Pour récupérer ses images Mapillary: https://github.com/gitouche-sur-osm/mapillary_takeout

OpenArdenneMap à différentes échelles

Depuis fin 2019, le style cartographique OpenArdenneMap est mis à jour suivant un cycle de livraison! OpenArdenneMap est un style cartographique open-source pour des cartes topographiques sur base des données OpenStreetMap. La version 0.3.0 “scaling” vient de sortir. Cette version définit le style pour des niveaux de zooms de 10 à 20 alors que précédemment, le style était optimisé pour un niveau de zoom de 16.

Originellement, OpenArdenneMap a été adapté du style OSMBright qui est défini pour plusieurs niveaux de zooms. Mais le support pour ces différents niveaux de zoom avait été supprimé car le style se concentrait sur le niveau de zoom 16, pour correspondre à une échelle cartographique de 1:20000-1:25000. OpenArdenneMap est un style créé pour des cartes topographiques destinées à l’impression sur du papier. Dans Mapnik, le niveau de zoom définit une certaine échelle pour une résolution d’impression donnée. Un niveau de zoom n’est donc pas relié à une classe d’échelles de manière univoque mais il le devient lorsqu’on fixe une résolution d’impression: dans le style OpenArdenneMap, la résolution d’impression proposée (dans makeMap.py) est de 4600 pixels en largeur pour une page au format A4, soit un peu moins de 600 dpi.

Auparavant donc, le style OpenArdenneMap était adapté pour le niveau de zoom 16 mais était acceptable dans une gamme de zoom de 14 à 18. En-deça, les éléments se superposaient les uns au autres et la carte était illisible. Au-delà, certains symboles ou lignes apparaissaient trop grands. Avec cette nouvelle version, on peut sortir des cartes à des échelles plus petites (zoom < 14) voire des plans à grande échelle (zoom > 18). Néanmoins, le style reste destiné prioritairement à des niveaux de zoom entre 14 et 17 (échelles entre 1:100,000 et 1:10,000), et les développements à l’avenir continueront de se focaliser sur ces niveaux de zooms/échelles.

Voici une animation faite avec l’ancien style, passant du zoom 11 au zoom 18:

Et voici la même animation avec le nouveau style:

La conséquence est que OpenArdenneMap peut maintenant être utilisé dans un serveur de tuiles pour une carte web dynamique! Un projet que j’espère implémenter prochainement.

OpenArdenneMap – version hiver 2019-2020

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

Les changements sont listés dans le fichier CHANGELOG. Parmi ceux de cette version “hiver 2019-2020”, il y a un meilleur calcul de l’orientation de batiments, l’orientation et la courbature automatique des noms des plans d’eau, l’ajout d’abréviations et un style précis pour classifier les chemins et sentiers. Une version récente de PostGIS est nécessaire pour ce style.

Orientation de batiments

Orientation automatique du symbole des églises

Précédemment, une méthode empirique était utilisée pour orienter les églises en fonction de leur forme (voir cet article). Maintenant, une nouvelle fonction de PostGIS (ST_OrientedEnvelope) permet de le faire de manière plus exacte. Reste que si cette méthode permet bien de trouver l’axe médian principal d’un batiment (par exemple une église), elle ne permet pas de trouver le sens de cet axe (à savoir indiquer où se trouve le clocher de l’église).

Noms des plans d’eau

Courbure des noms des plans d’eau sur OpenArdenneMap

Les noms des grands plans d’eau sont à présent positionnés au centre du plan d’eau et suivent sa courbure, de manière complètement automatique. Cela est possible avec une nouvelle fonction de PostGIS (ST_ApproximateMedialAxis) qui transforme un polygone en une ligne médiane. Il suffit ensuite d’attacher le nom du plan d’eau à cette ligne médiane.

Des abréviations en exposants

Utilisation d’exposants dans les noms des cours d’eau

Mapnik ne permet pas d’écrire en exposant ou en indice. Une astuce est d’utiliser des symboles Unicode pour transformer une partie du texte en exposants ou indices. Mais cette méthode a ses limites: toutes les fontes
n’ont pas de symboles définis pour ces exposants et indices et Mapnik affiche une fonte de secours en cas d’absence de la glyphe dans la fonte voulue. Encore à améliorer dans les futures livraisons …

Une meilleure classification des chemins et sentiers

Exemple de chemins classifiés selon différent tracktype et le tag trail_visibility

Il y a de la richesse dans les données OpenStreetMap à propos des chemins et sentiers. Par exemple, le type de revêtement (surface=*) et la visibilité du sentier (trail_visibility=*). Pour les chemins (highway=track), il y a aussi une classification des chemins (tracktype=grade1 -> grade5) en fonction de leur importance et practibilité. OpenArdenneMap tente de rendre ces informations visibles en stylant les chemins selon le track_type et le trail_visibility. Un des buts de ce rendu est d’informer le lecteur de la carte que certains chemins ou sentiers pourraient être difficile à trouver sur le terrain (tracktype=grade5 ou trail_visibility=bad ou horrible).

Sur l’image ci-dessus, les 5 classes de tracktype sont affichés et indiqués avec une flèche. Quand au tag trail_visibility, il impacte le sentier ou le chemin en rendant son tracé interrompu.

Prochaine livraison cet été!

1 844 932 adresses à vérifier

TL;DR; Comparaison pour un code postal des noms de rues et des points d’adresses entre la base de données wallonne ICAR et OpenStreetMap (OSM). Des erreurs, manquements ou incohérences sont présents dans les deux bases de données.

Les adresses dans ICAR

Récemment, la Wallonie a unifié et ouvert sa base de données d’adresses, ICAR. Les 1 844 932 point-adresses de Wallonie peuvent être maintenant téléchargées sur le géocatalogue du géoportail tandis qu’un fichier listant les noms de rues doit devenir le référentiel unique des noms de rues en Wallonie.

ICAR vs OSM, le match (ou pas)

Grâce à un outil développé par un contributeur OSM, on peut comparer la complétude des adresses dans OSM par rapport à ICAR. J’ai testé ces adresses pour un code postal, 6724, qui comprend 3 gros villages et 2 hameaux. Vous pouvez aller sur cette page pour tester vous-même l’outil (attention, tous les codes postaux ne sont pas fonctionnels, il faut une relation “postal_code” pour que l’outil fonctionne). Comme les résultats sont susceptibles d’évoluer, une capture d’écran du résultat est mise ci-dessous.

Après avoir fait fonctionné l’outil, les différences entre OSM et ICAR sont résumés dans le tableau ci-dessous, pour chaque rue, avec le nombre total d’adresses (985), le nombre d’adresses manquantes dans OSM (191) et le taux de complétude pour chaque rue en %.

Pour info, dans OSM, une information est vraie uniquement en fonction de ce qui est vérifiable sur le terrain. En particulier, pour un nom de rue et un numéro de maison, c’est ce qui est inscrit sur les panneaux de rues qui fait office de “vérité”. Ce principe n’est pas toujours sans ambiguïté, par exemple lorsque deux orthographes de noms de rues coexistent sur les panneaux en réalité! Néanmoins, ICAR et OSM ne doivent pas nécessairement être toujours en accord, dans la mesure où la réalité de terrain serait différente de ICAR.

Il y a donc des différences, qui peuvent être des manquements et des erreurs dans OSM ou des erreurs dans ICAR. Les adresses dans OSM ne sont certainement pas encore complètes en de nombreux endroits en Wallonie, ICAR peut donc apporter beaucoup d’informations.

Mais auparavant, ICAR étant assez nouveau, il convient d’être prudent sur la qualité des données.

Alors ça dit quoi?

Voyons en détail les différences entre ICAR et OSM pour les 985 adresses du code postal 6724:

1. Les noms de rues ne sont pas les mêmes

La plupart des rues mises en évidence en rouge (complétude de 0%) dans la figure ci-dessus le sont parce que le nom de la rue diffère, souvent très légèrement, entre OSM et ICAR. En particulier, il y a les différences suivantes (ICAR >< OSM):

  • Rue de l’Eglise >< Rue de l’Église
  • Rue de l’Ecole >< Rue de l’École
  • Rue du Chénel >< Rue du Chenel
  • Rue Maurice Grévisse >< Rue Maurice Grevisse
  • Chemin de la Bergerie >< Rue de la Bergerie

Les deux premiers sont triviaux: il manque l’accent sur le “É” dans ICAR, alors qu’il est présent dans OSM. À mon sens, cela n’en est pas moins une erreur dans ICAR: on écrit “École”, et non “Ecole”. Les deux suivants ont un accent en trop (Rue du Chénel, Rue Maurice Grévisse) dans les noms de rues. Le pauvre Maurice Grevisse, célèbre grammairien natif de Rulles, auteur du “Bon Usage” doit se retourner dans sa tombe! Pour info, sur le terrain, les orthographes sont correctes (Chenel, Grevisse). À mon sens, deux erreurs également dans ICAR.

Par contre, le “Chemin de la Bergerie” (ICAR) était cartographié comme “Rue de la Bergerie”, dans OSM, ce qui est une erreur dans OSM (après vérification sur le terrain).

2. Il y a trop de points d’adresses dans ICAR

Un cas intéressant: la Rue des Tilleuls, il est censé y avoir 4 adresses et 3 sont manquantes dans OSM. En réalité, les 3 adresses manquantes sont des bâtiments entièrement rasés il y a quelque temps. La rue des Tilleuls est en rénovation complète et il est fort probable que la numérotation future soit complètement différente de celle passée. On peut donc considérer que le listing d’adresses actuellement dans ICAR est erroné.

3. Il manque des adresses dans OSM

C’est le cas de certaines rues, comme Au Petit Moulin (1 adresse), rue du Pont de Virton (3 adresses manquantes), Rue de la Scierie (4 manquantes et une erronée, càd un mauvais numéro). Le plus souvent, le bâtiment est présent dans OSM mais les tags des adresses sont manquants ou comportent un mauvais numéro. Pour ces cas-là, ICAR permet de compléter OSM.

4. Il manque des adresses dans ICAR

Dans certains (rares) cas, OSM est plus à jour que ICAR, comme cette adresse qui est présente dans OSM et pas encore dans ICAR (bâtiment construit en ~2016)

5. Il manque des adresses dans ICAR et dans OSM

L’outil ne le permet pas de voir, mais certains bâtiments récemment construits ne sont pas ni dans ICAR ni dans OSM (du moins leur adresse). C’est le cas de ce bâtiment qui a été digitalisé mais sans son adresse.

6. En fait, il n’y a pas de désaccord

Enfin, certaines rues indiquant un désaccord ne montrent après analyse pas de désaccord, comme la Rue de Courtel ou la Rue de Montavaux.

Conclusion

Bilan du match ICAR – OSM sur le terrain du 6724: 3-3.

Des erreurs ou incohérences du côté d’ICAR

  1. Des orthographes de noms de rues erronées par rapport à la réalité: Rue de l’Eglise, Rue de l’Ecole, Rue Maurice Grévisse, Rue du Chénel;
  2. des points d’adresses disparus : 3 points à la Rue du Tilleul;
  3. des adresses encore non répertoriées.

Des erreurs ou incohérences du côté d’OSM

  1. Encore beaucoup d’adresses manquantes (et cela est d’autant plus important dans d’autres endroits de Wallonie!);
  2. des noms de rues erronés ou mal orthographiés: par ex. Chemin de la Bergerie -> Rue de la Bergerie;
  3. des adresses encore non répertoriées.

Des incomplétudes dans les 2 bases de données

Beaucoup de bâtiments très récents (> 2017) ne sont pas repris ni dans ICAR comme point d’adresse ni comme bâtiment ou point d’adresse dans OSM. Néanmoins, cela concerne des bâtiments âgés d’à peine 2 ans.

Voilà, il reste 1 844 932 – 985 adresses en Wallonie à analyser!

OpenArdenneMap, des cartes pour l’Ardenne

Cela fait un certain temps déjà que je développe un style cartographique pour des cartes topographiques à imprimer sur base d’OpenStreetMap: OpenArdenneMap. Ce style est inspiré des cartes topographiques 1:25000 éditées par l’Institut Géographique National durant les années 70 – 90, avec un nombre limité de couleurs et une grande lisibilité. Grâce à l’engouement croissant d’OpenStreetMap et aux contributeurs toujours plus nombreux à enrichir “la” carte, les données d’OpenStreetMap sont de plus en plus complètes et surtout très à jour en certains endroits. Même si la complétude et l’exactitude des données OpenStreetMap est encore loin des standards de l’IGN, OpenArdenneMap permet de retrouver ce style cartographique “vintage” de l’IGN avec des données actuelles.

Le style est en accès libre sur github. Hormis les courbes de niveaux, les données brutes d’OpenStreetMap sont utilisées, sans aucun traitement manuel. Pour un extrait de la carte c’est ici et pour un article plus technique, c’est .

La couverture spatiale d’OpenStreetMap en Belgique

Lors du dernier FOSS4G.be, j’ai eu la chance de présenter un état de la carte OpenStreetMap (OSM) en ce qui concerne l’occupation du sol en Belgique, çàd comment le territoire belge et ses composantes (zones urbaines, agricoles, forestières, etc.) sont cartographiés dans OSM.

La présentation est disponible ici (en anglais).

Un résultat à mettre en évidence: le territoire belge est couvert à 80% en termes d’occupation du sol (land-use) dans OSM (voir figure ci-dessous). Le reste est “vide”, ou occupé par d’autres éléments non considéré comme “occupation du sol”1. Arriver à 100% de couverture n’est cependant pas nécessairement envisageable: beaucoup d’éléments linéaires comme les routes, cours d’eau, chemins de fer sont représentés par des lignes, et non des surfaces, si bien qu’il reste des “trous” lorsqu’on ne considère que des surfaces d’occupation du sol. Néanmoins, de nombreuses zones vides devraient être complétées dans OSM, essentiellement des surfaces agricoles dans les provinces du Hainaut, de Namur et de Luxembourg.

Dans le reste de la présentation, une analyse succincte de la répartition des classes d’occupation du sol dans OSM en Belgique, puis des points de discussions sur la façon de cartographie l’occupation du sol et les éléments naturels dans OSM: doit-on superposer des polygones? vaut-il mieux que les polygones touchent les éléments linéaires (routes)?  Je renvoie d’ailleurs à mon précédent article sur des propositions de tags à utiliser pour cartographier ces éléments en Belgique.

A quoi peut bien servir ces informations dans OSM? Tout d’abord, une carte complète donne des rendus cartographiques plus correct et plus esthétiques. Mais ces infos peuvent aussi être utilisés en opérationnel, comme l’a montré la présentation précédente (Julien Radoux, projet Lifewatch de suivi de la biodiversité), qui utilise OSM comme base d’entraînement dans une classification automatique d’images aériennes. Le manque de complétude d’OSM (la couverture variable d’OSM) et la faible précision géométrique de certains éléments (typiquement de l’ordre de 10m) empêche une meilleure exploitation d’OSM dans ce genre d’applications. A noter que les données issues de Lifewatch (par exemple la classification en écotope, qu’on peut voir ici) sont disponibles sous une licence open data, et donc peuvent être utilisés pour améliorer OSM!

Julien Minet

 

(1): Pour voir la liste des tags considérés comme “land-use” dans l’analyse, voir la présentation ou le dépôt de l’analyse.

 

La carte des pentes pour éditer dans OpenStreetMap

La région wallonne met à disposition du grand public plusieurs sources de données géographiques qui peuvent servir à cartographier sur OpenStreetMap (OSM). Il y a les orthophotoplans (images aériennes) qui sont intégrés dans l’éditeur JOSM, mais aussi, moins connu, une carte des pentes avec ombrage du relief (hillshade). Cette source est particulièrement intéressante pour cartographier des éléments en forêt, où les images aériennes ne montrent pas tout. Les petites perturbations du relief sont particulièrement visibles: chemins, fossés, cours d’eaux, etc. Petite démo de son utilisation et quelques notes sur son potentiel…

Cette carte est disponible en WMS, dont voici le lien:

http://geoservices.wallonie.be/arcgis/services/RELIEF/WALLONIE_MNT_2013_2014_HILLSHADE/MapServer/WMSServer?request=GetCapabilities&service=WMS

Cette source de données n’est pas disponible par défaut dans l’éditeur JOSM, donc il faut l’ajouter dans les préférences de l’éditeur. (Malheureusement, un WMS ne peut pas être intégré facilement dans l’éditeur d’OSM online ID.) Pour l’ajouter comme source de données dans JOSM, aller sous Edit>Preferences, à l’onglet WMS/TMS:

Je l’utilise ici pour cartographier un cours d’eau en Forêt d’Anlier. Le cours d’eau a été cartographié partiellement, ce qui même d’ailleurs à plusieurs erreurs relevées sur osmose.openstreetmap.fr (Unconnected waterways).

Sur le terrain, cette zone est très difficilement praticable, si bien qu’un relevé GPS dans le lit du ruisseau demanderait une bonne séance de ramping, en espérant que la couverture GPS soit bonne sous le couvert! Avec cette carte des pentes avec ombrage, le relief et les lits du cours des cours d’eau sont particulièrement visibles. Avec un minimum de connaissance de terrain, le cours d’eau peut être digitalisé en suivant la vallée. A noter qu’on détecte aussi très bien les chemins, ainsi que les plans d’eau.

Et voilà le résultat sur OSM:

Landuse mapping with OpenStreetMap in Belgium

What are the (best) practices for land-use mapping adapted to the Belgian landscape?

OpenStreetMap (OSM) is not just a map but rather a big geodatabase with a free tagging model for classification of geographical features. It can be used for land-use mapping, as described in the dedicated wiki page here. For instance, the recent project OSM-Landuse specifically aims at producing land-use maps from OSM data.

Because of its free tagging scheme and its incredible generalist model (OSM is a map of … everything), do not expect a clear classification scheme of land-use/land-cover as in other land-use maps (such as in Corine Land Cover or GlobCover)! A note about the tagging system in OSM: each geographical features (e.g., a house, a road, a city or a forest) is characterised by a couple of keyvalue words, that forms a tag. For instance, a residential road inside an urban area is tagged as “highway=residential”, where “highway” is the key, i.e., a kind of category that spans from small paths to motorways, and “residential is the value of the key. The dedicated tag for mapping land-use in OSM is “landuse=*” but other tags (notably: natural=*) can also be used.

A difficulty in land-use mapping and classification is the definition of common classes that encompasses various landscapes and ecoregions. As a global project, OSM uses tags for mapping land-use worldwide. Therefore, it is important to specify how to use these tags for land-use mapping in a specific ecoregion/country. The purpose of this article is to discuss the best practices in land-use mapping in Belgium with OSM.

Forests

The dedicated tag for forests is landuse=forest. Then, more information about the forest can be added using leaf_cycle=* & leaf_type=*. In Belgium, one can encountered:

  • Broadleaved deciduous forests, tagged as forest=landuse; leaf_cycle=deciduous, leaf_type=broadleaved, mainly formed by beeches, oaks, populus, maples, birches, …

Beechs trees in the Ardenne

  • Needle-leaved evergreen (coniferous) forests, tagged as forest=landuse; leaf_cycle=evergreen, leaf_type=needleleaved, mainly formed by fir trees, Douglas, and pines.

Picea abies trees in the Ardenne

  • Needle-leaved deciduous forests, tagged as forest=landuse; leaf_cycle=deciduous, leaf_type=needleleaved, much more less common than the first two types, formed by larch trees (Larix sp.)

Larix sp. trees

Further notes about forests:

  • IMHO, there are no broadleaved evergreen forests in Belgium, even though some trees are broadleaved evergreen (think about holly trees – Ilex Aquifolium), they do not form large chunks of forests in Belgium.
  • We can also use the tags leaf_cycle=mixed and leaf_type=mixed for mixed forests types. These tags are actually very common in Belgium and used to describe large forests where some parcels are needleleaved-evergreen and other parcels broadleaved-deciduous. In a ideal (OSM) world, we should map separately parcels according to their leaf cycle and leaf type, since “real” mixed forest are not so common in Belgium.
  • No matter the size of the forest, in OSM you can use the above-mentioned combinations of tags for mapping small, isolated patches of forest formed by a dozen of trees up to large forested areas.
  • We can also use the tag taxon=* to further specify the tree species that are grown in the forest. This can be used not only for monospecific forests (taxon=fir trees) but also for multi-species landscapes: in this case, separate the species names by commas (taxon = oak, beech, ash ).
  • The tag wood=* is deprecated and should be replaced by leaf_cycle=* & leaf_type=*.
  • The tag natural=wood is sometimes used for forests, but since natural=wood would refers to unmanaged, natural forests, IMHO it should not be used in Belgium since no more forests are completely natural: every patches of forest in Belgium has experienced human interventions in the recent history.

Agricultural lands

There is no clear consensus about which tags we should use to map agricultural lands in Belgium. Actually, it’s a recent discussion on the Belgian talk mailing list about mapping farmlands that gave me the idea of writing this article.

Agricultural lands are occupied by annual or perennial crops (croplands), or by meadows (grasslands). Meadows can be hay meadows (cut 1, 2, or several times a year for hay producing) or grazed meadows with animals.

Croplands

Just planted potato field near Gembloux

Meadows

A grazed meadow with cows near Nassogne

Meadows also fall under the definition of landuse=farmland. Grazed meadows could be tagged as landuse=farmland + animal=yes and hay meadows using landuse=farmland + crop=grass.

However, there also exists the landuse=meadow tag for specifically mapping meadows. The OSM wiki is not clear about which tag use, here’s an excerpt of the wiki page of landuse=farmland: “Also note that many mappers prefer the more specific tags landuse=meadow for meadows and pastures (…), landuse=orchard for fruit orchards, and use landuse=farmland for cropland only.” Some mappers consider that meadows can be easily ploughed and becomes croplands and so map grasslands using the generic tag landuse=farmland.

However many mappers prefers to use the landuse=meadow over the landuse=farmland. Some Belgian meadows can be considered as permanent (> 10 years according to FAO definition). This is particularly true in Ardennes, Pays de Herve where some meadows are probably several decades old. In addition, some meadows could not easily be ploughed because of the presence of stones, trees or because they are too wet.

Note also the meadow=agricultural tag to specify that the meadow is used for agricultural purpose.

I would propose the following tagging for agricultural grasslands in Belgium:

And if you know more about the way it is managed:

More thought about agricultural lands

The issue is that agricultural land affectation often change from one year to another! Most croplands do actually change of crops every year because of the agricultural benefits to make such crop rotations. Furthermore, most croplands are also covered by intermediate cover crops between two crops, since it is imposed by agro-environmental regulations. And sometimes, agricultural lands do change from croplands to meadows and vice-versa.

Further notes:

  • Farms buildings and around should be tagged as landuse=farmyard.
  • Orchards, a kind of perennial crop, should be tagged as landuse=orchard. They are particularly common in some places of Belgium (Sint-Truidden, Gembloux)
  • Hedges around fields can be mapped as barrier=hedge, fences as barrier=fence.

 

Other vegetated lands

Hautes-Fagnes in Belgium

Compared to wilder countries, Belgium is a very intensively managed country, with a few lands that is really made of spontaneous vegetation. Anyway, we can encounter some lands that are not forest or agricultural lands: marsh, wetlands, shrubs… For these lands, you can consider the following tags:

Note that often, on aerial imagery, some lands appears as scrub while there are actually forest lands in a process of regeneration after a clear cut. So should we mapped them as landuse=forest or natural=scrub? To me it depends on the case. If I make a ground survey and see newly planted trees or fast regenerating trees, then I’d map it as a forest.

Other landuse

I won’t cover the tagging of urban areas in this article. Yet, many other landuse values apply to residential, industrial, commercial areas, but also the leisure=*, amenity=* and tourism=* keys. See the landuse page for further information.

About land-use geometries & way-of-mapping

  • How to draw land-use polygons in Belgium? Usually, large forested areas are mapped as one large polygon, which often has to be a multipolygon (a polygon with holes, or more complex polygons). Some large portions of agricultural lands in Belgium are represented as multipolygons, but more often, they are represented as small patches of lands, as they actually appear in reality, corresponding to a single management unit. I do prefer this way of tagging over the large multipolygon approach, because it allows to quickly change attributes of farmland in the future, when, e.g., a meadow is changed to a cropland.
  • There are some discussions about the way to connect a land-use polygon to the other elements of the map. Should the land-use polygon be stuck to nearby roads (or track, or river) or should we separate the land-use polygon from the road by a small space? I prefer the last option, as there is often something between a road and an agricultural land: a fence, a hedge, a ditch that can also be mapped as a separate way in OSM.

Conclusion: land-use mapping in Belgium (with OSM)

There is actually still a lot of land-use elements to map in Belgium, especially in Wallonia. In other well-mapped areas, land-use would need a serious “refresh”, since land can change of affectation from time to time. Pure mapping applications benefit from the land-use information from OSM, for instance the maps of OpenTopoMap. With a larger completness, OSM could be also increasingly used in environmental research and operational applications, such land-use change monitoring, in relation with vegetation and climate modelling. Land-use/land-cover is a hot topic in environmental research and the deployment of new generations of earth observation satellite such as Sentinel 2 offers increasing opportunities for land-use mapping. Nevertheless, automatic classification of satellite imagery still needs on-ground validation and usually could not compete with grounded, crowdsourced information from a dense and active local community. Combining crowdsourced land-use information from OSM with satellite imagery classification is certainly the way to go.

 

Julien Minet

PS: An interesting discussion followed this blog post at the Belgian OSM mailing list: here are the e-mails. I’d to summarize this discussion whenever I’ll have some time.

 

Photos credits (Flickr): Marc Dufrene (cropland), kaskitewatim (picea abies forest), helenetchandjiabo (grazed meadow), rire&vivre (Fagus sylvatica trees), peupleloup (Larix trees), bushman_k (Hautes Fagnes)

 

 

State of the Map 2016 – jour 1

Petit compte-rendu du 1er jour passé à la conférence internationale d’OpenStreetMap, qui a lieu à Bruxelles cette année! Quelques points à retenir, purement subjectivement en fonction de ma subjectivité:

craftmapping_osm

  • OSM analytics: Ce projet est développé par l’ONG Humanitarian OpenStreetMap Team (HOT). Un nouvel outil de contrôle qualité des données OSM, avec une analyse temporelle des données, etc. Le tout très user-friendly.
  • OpenAerialMap: Une plateforme de partage d’image aérienne libre. On peut y charger ses propres images (par ex. acquises avec un drone) ou référencer un dépôt d’image extérieur. L’image peut être recherchée à travers la carte ou bien par une API. On peut ensuite l’utiliser pour cartographier dans iD, JOSM ou un autre éditeur d’OSM.
  • Le talk de Mikel Maron, de l’OpenStreetMap Foundation. Un discours (sans slides!) qui prend du recul, en questionnant les valeurs et les mythes propres au projet OSM. Une occasion de reparler du débat lancé par Mike Migurski entre le “craft mapping” et le “robot mapping”, un article qui a fait beaucoup parlé de lui dans la communauté OSM, et qui a trouvé un écho dans la conférence avec une étrange propagation de T-shirt supportant la cause du “craft mapping”. (T-shirt uniquement disponible au marché noir) (lire l’article pour y comprendre qqch!).
  • Un talk attendu: les derniers développements de Roland Olbricht sur Overpass, la meilleure façon de récolter et réutiliser les données OSM. Encore en cours de développement, Roland a présenté un nouvel outil pour évaluer les changements entre deux dates sur une étendue donnée. Un outil qui permet de dépasser les problèmes existants avec les outils précédents (à savoir l’onglet “Historique” de openstreetmap.org ou d’autres outils comme achavi). L’adresse temporaire: dev.overpass-api.de/api_drolbr/recent_changes

  • Avec Overpass, taginfo est sans doute le plus utile des outils de l’écosystème OSM. Jochen Topf a profité du SOTM pour faire un tour de l’outil et de ses dernières fonctionnalités, comme l’onglet “Similar” qui permet de trouver les tags similaires à celui recherché, la page des projets liés à tagingo: taginfo.osm.org/projects.

  • Le white paper de jawgmaps à propos des serveurs cartographiques à partir de données OSM, pas encore lu, disponible ici.