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.
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
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
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
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
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.
A very technical post on installing the latest PostGIS.
I wanted to reinstall my PostGIS on my system with a full support for all the new functionalities. I mean a PostGIS 2.5+, with the latest versions of GEOS and sfcgal support. Here are my notes.
At the beginning I had this:
gdal 2.2.3
GEOS 3.6.2
libxml2 2.94
proj4 4.9.2
postgis 2.4.3
postgresql 10
But I want postgis 2.5 with sfcgal support and GEOS 3.7+ for using fancy brand new PostGIS functions such as ST_OrientedEnvelope or ST_ApproximateMedialAxis.
The procedure is inspired (but updated) from https://gis.stackexchange.com/questions/167687/how-to-enable-sfcgal-in-postgis
Install the latest GEOS
Go to https://trac.osgeo.org/geos/ and download the lastest GEOS
Compile it following these instructions: https://trac.osgeo.org/geos/wiki/BuildingOnUnixWithAutotools
./configure
make && sudo make install
Libraries have been installed in /usr/local/lib.
Install SFCGAL
First, install cgal:
apt install libcgal-dev
Go to the sfcgal project page https://github.com/Oslandia/SFCGAL and clone or download the sfcgal sources. Unzip the archive, go into it and run:
Go to https://postgis.net/source/ and download the source of the postgis version you want.
Then, prepare the installation using configure and some arguments to be sure the latest sfcgal and GEOS will be used.
./configure --with-raster --with-topology --with-sfcgal=/usr/local/bin/sfcgal-config --with-geosconfig=/usr/local/bin/geos-config
make && sudo make install
At the end, it output the following and I’m happy with that! So I go on…
Uh! What happens? I still have my old PostGIS version!
If like me you were updating your PostGIS and not doing a fresh install, the following command is required before enjoying the latest PostGIS functionalities:
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
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;
des points d’adresses disparus : 3 points à la Rue du Tilleul;
des adresses encore non répertoriées.
Des erreurs ou incohérences du côté d’OSM
Encore beaucoup d’adresses manquantes (et cela est d’autant plus important dans d’autres endroits de Wallonie!);
des noms de rues erronés ou mal orthographiés: par ex. Chemin de la Bergerie -> Rue de la Bergerie;
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!
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 là.
Deux talk liés, Modding the OSM Data Model de Jochen Topf et Present and Future of the OSM data model from the Overpass API perspective de Roland Olbricht ont d’abord présenté certaines “limitations” du modèle de données OSM et un moyen de proposer d’une part une meilleure spécification de ce modèle et d’autre part un nouveau modèle. La principale proposition est de passer les noeuds d’une ligne à l’objet “ligne”, et donc de supprimer leur existence propres en tant que noeud. Un changement qui devrait considérablement diminuer le temps de déployement de certaines infrastructures (notamment dans l’étape d’import avec osm2pgsql) quand on sait que 98% des noeuds d’OSM appartiennent à des lignes. Cela permettra également que la version d’une ligne soit incrémenté lorsqu’un de ses noeud est déplacé (ce n’est pas le cas actuellement). Une autre proposition est de faire (enfin) une distinction entre lignes et polygones qui n’existe pas formellement dans OSM, en rajoutant par exemple un attribut dans les objets polygones. La réflexion se trouve sur github.com/osmlab/osm-data-model.
Une des dernières présentations a été OSM at Facebook, qui a montré comment Facebook édite sur OSM, notamment en analysant par machine learning des images aériennes pour pré-repérer des routes et bâtiments. Une campagne de grande ampleur a été faite en Thaïlande. J’ai appris aussi que FB se met au crowdsourcing et permet à ses utilisateurs de corriger des noms de rues dans certains pays.
Un talk beaucoup mieux accueilli que celui d’Apple hier qui d’une part viole les conditions d’utilisations d’OSM en n’affichant pas de mentions d’attributions OSM sur les cartes Apple et en général semble extrêmement fermé. A noter aussi le talk de Microsoft aussi ce matin, qui quant à eux confirme leur ouverture vers l’open source. Les GAFAM sont très actifs dans OSM depuis à peu près 2 ans. Sauf Google qui a sans doute compris qu’ils ont déjà perdu la bataille carto 😉
Déjà fini, snif, l’année prochaine, ce sera à Heidelberg, du 21 au 23 septembre 2019.
C’est la première édition du SOTM qu’est organisé une session académique, avec des présentations de chercheurs travaillant avec et sur OSM. On a vu les résultats d’une étude démographique sur les contributeurs OSM, qui mettent en évidence de nouveau le biais de genre (87% d’hommes) et un certain biais quant au niveau d’étude des contributeurs.
Successeur d’onosm.org, OSMMyBiz (attention, fonctionne uniquement en Suisse) est une interface web toute simple qui permet d’éditer directement ou via une note OSM les infos d’un commerce/bar/restaurants. Stephan Keller a présenté ce nouvel outil en expliquant les pratiques de GoogleMaps, qui contacte activement les propriétaires de commerces pour mettre à jour les informations de Google à jour. OSMMyBiz est donc une voie d’entrée simple pour les propriétaires, ou mieux des associations de commerçants / agences de développement local, pour mettre à jour leurs informations et les rendre disponibles dans la foule d’outils basés sur OSM (Maps.me, OSMAnd, …). L’outil est disponible en open-source. Une alternative plus que nécessaire à Google Maps/Trip Advisors. On doit juste le traduire en Français/Néerlandais pour le rendre disponible en Belgique. A implémenter sur osm.be?!
Un talk sur les cartes papier, ça manque un peu dans ce SOTM. Hartmut a repris le projet MapOSMatic. Il y a maintenant une interface simple pour générer (gratuitement) des cartes papiers, en choisissant parmi une série de style disponibles. Vraiment simple à utiliser. On peut aussi ajouter des données sur la carte, des traces GPS et des courbes de niveaux. Un bon outil pour les amoureux des cartes papiers, à afficher sur un mur ou pour préparer des randos… Les styles disponibles (par défaut) ne sont malheureusement pas nécessairement adaptés à une impression cartographique de très grande qualité: les symboles et les patterns sont souvent trop petits. Par contre, la résolution est parfaite, donc c’est bien mieux que de faire une capture d’écran d’un site internet.
A part ça, d’autres talks, encore des rencontres, des discussions, trop chaud, des moustiques et des files aux toilettes.
Avec Lukas Martinelli, de Mapbox. Mapbox analysent près de 30000 sets de changements par jour pour garantir la qualité de leur produits carto. Parmi ceux-ci, seulement 0.2 % sont attribués à du vandalisme et 2 % à des éditions de mauvaise qualité. Ils ont estimé que 30% des nouveaux contributeurs feront des erreurs durant leur premiers éditions (c’est bien normal).Mapbox corrige près de 200 sets de changements par jour, tandis que 50% de ceux détectés comme suspects sont déjà corrigés par la communauté endéans qq jours.
OpenMapTiles.org permet maintenant de déployer un serveur de tuiles vectorielles en 3 minutes via une image docker. Tester cela est sur ma liste de TAF! Si on veut un style particulier (comme afficher les plantations de sapins de Noël), il faut passer un peu plus de temps à définir les tags utilisés, la couche et le style. A tester aussi!
Présenté par les Belges, Joost & Ben, avec une bonne dose d’humour, sur comment on fait en Belgique pour l’accueil des nouveaux contributeurs, les canaux de communication qu’on utilise dans la communaté osm.be. Très bonne réception du public! Allez voir sur osm.be si vous découvrez OSM!
Une présentation intéressante sur une compétition de cartographie avec OSM organisée parmi les universités indonésiennes, mais où la qualité des éditions a primé sur la quantité. Pour garantir cette qualité, plusieurs garde-fous, comme un test préliminaire de sélection pour participer au concours et un système de points négatifs quand le contributeur réalise une mauvaise édition. Le tout contrôlé par les algorithmes de validation de JOSM (ou autres) et par une solide équipe de validateurs.
OSMCha est un outil de détection de changements suspects. C’est un outil assez nouveau et qui est en plein développement. Ils viennent d’ailleurs de rajouter une fonction qui me parait essentielle et qui manquait: on peut maintenant filtrer les sets de changements par région géographique, alors qu’avant on n’avait accès qu’à des résultats globaux. Je le trouve encore un peu complexe à utiliser (mais ce n’est qu’une question d’habitude probablement), préfèrant osmose.openstreetmap.fr.
Puis j’ai vu la présentation d’Olivier Courtin (machine learning for automatic recognition of images) mais je n’ai pas bien capté ;-), plus celle de Paul Norman mais j’ai pas vraiment saisi le message non plus.
+ plein de rencontres, du soleil, engloutis des litres (d’eau), pris des stickers, vu plein de beaux et de laids T-shirts.
A l’occasion de cette chouette conférence OpenBelgium, j’ai eu la chance de reparler de la cartographie de l’occupation du sol (“land-use”) dans OpenStreetMap. La présentation est dispo ici.
J’en profite pour montrer l’évolution de la couverture spatiale du “land-use” en Belgique par province:
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.
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.