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.
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.
Un extrait OAM avec Mapnik
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.
Ce jeudi 17 novembre, après 2 ans d’absence, a eu lieu le FOSS4G.be à Bruxelles, doublé cette année d’un “State of the Map Belgium”, soit la rencontre des contributeur·rices OpenStreetMap de Belgique. Petit compte-rendu partiel et subjectif de cette belle journée.
OpenStreetMap et la forêt de Soignes: Présentation intéressante de la part de la Fondation Forêt de Soignes, qui a décidé (très bonne décision) d’utiliser OSM comme base de données pour leur cartographie de la Forêt de Soignes. Cette forêt péri-urbaine doit faire face à une pression récréative forte, et la fondation se doit de gérer la cartographie des chemins. Un exemple pour d’autres massifs forestiers, et qui montre la pertinence et la réactivité d’OpenStreetMap pour cartographier des chemins forestiers, par rapport à d’autres bases de données disponibles.
360° Everywhere: Le projet dingue de Pierre Serpe, lauréat du Geochallenge wallon 2022, qui collecte des images 360° de voiries cyclables pour son groupe local du Gracq en Hesbaye. Ces images sont ensuite utilisées pour aider à la réflexion dans des réunions citoyennes pour des aménagements cyclables, ou à carrément simuler des aménagements dans une représentation 3D. Un projet à essaimer dans d’autres endroits!
Mapcomplete: L’éditeur thématique d’OSM https://mapcomplete.osm.be, où un thème particulier peut être défini pour les contributeur·rices d’OSM. Il y a par exemple un thème pour les toilettes publiques, les friteries, les boites à livres, etc. L’occasion de revenir aussi sur le projet Pin je punt, un très bon cas d’utilisation d’OSM par un pouvoir public (l’agence de tourisme en Flandre).
OpenStreetMap et Anyways: Comment Anyways, société basée à Gent, utilise OSM pour développer son produit de simulation de transformation du réseau routier. Destinée aux pouvoirs publics qui veulent entreprendre des travaux ou modifier leurs plans de circulation, la solution développée par Anyways permet de simuler les transformations simplement en éditant les modifications dans une base de données miroir d’OSM. Ainsi, la coupure momentanée d’une route, la mise en sens unique de voiries ou tout autre modification peut être dessinée et son impact sur les flux de mobilité simulé et évalué.
Enfin, le FOSS4G.be ne serait pas parfait s’il n’y avait pas le concours de carte, avec chaque année de belles réalisations. Cette année, le trio de cartes récompensées par le public est :
1) FerrarGIS, le magnifique projet de Manuel Claeys Bouuaert qui permet de reproduire les cartes de Ferraris du XVIIème siècle avec des données actuelles d’OSM. La carte de Gent présentée a de multiples détails, comme l’orientation automatique de patternes de labour et de certains symboles, l’ajout d’arbres autour de certaines limites parcellaires, une très belle réalisation qui a bien méritée son premier prix.
2) hiking.osm.be, l’offre de cartes de randonnée à commander et à imprimer sur base du style OpenArdenneMap, que je présentais cette année. La carte présentée était une carte des cartes disponibles sur hiking.osm.be, et une invitation à commander vos propres cartes.
3) Ticket to ride Belgium, une incroyable adaptation du jeu de société “Les Aventuriers du Rail” au réseau ferroviaire belge. Cette carte n’est pas seulement une très bonne réalisation graphique, son concepteur, Roel Huybrechts, a poussé le projet jusqu’à en faire un plateau de jeu effectivement utilisable pour ce jeu, en calculant un nombre de segments entre les gares belges qui soit correct et équilibré selon les règles du jeu! Une conceptualisation du problème effectuée avec Pgrouting, et qui est expliquée dans le lien ci-dessus.
Merci à toute l’équipe des organisateur·rices et aux bénévoles et à l’année prochaine!
Depuis fin 2019, le style cartographique OpenArdenneMap est mis à jour suivant un cycle semestriel de livraison! OpenArdenneMap est un style cartographique open-source pour des cartes topographiques sur base des données OpenStreetMap. La livraison “summer-2022” vient de sortir.
Pas beaucoup de nouveautés dans le style en lui-même, seulement un symbole et un libellé pour les sommets.
Il y a maintenant un fichier pompeusement appelé CARTOGRAPHY qui tente d’énumérer les principes cartographiques du style (un peu comme celui sur le style osm-carto).
Le style arrivant à une certaine maturité, il est probable qu’il évolue peu dans les prochaines années. Néanmoins, il existe un champ de recherche et de développement énorme pour automatiser des techniques de généralisation cartographique à utiliser avec des données OpenStreetMap pour produire des cartes. C’est la future direction que j’aimerais faire prendre au projet.
Enfin, des cartes 1:20,000 réalisée avec le style OpenArdenneMap au format A3 sont toujours disponibles en téléchargement sur https://hiking.osm.be/. Certaines de ces cartes sont retouchées à la main, pour une qualité cartographique accrue.
Depuis fin 2019, le style cartographique OpenArdenneMap est mis à jour suivant un cycle semestriel de livraison! OpenArdenneMap est un style cartographique open-source pour des cartes topographiques sur base des données OpenStreetMap. La livraison “winter2021-22” vient de sortir. Voici les principaux changements de cette dernière version.
Les changements sont listés dans le fichier CHANGELOG: plus de labels affichés (fermes, nom des croix), un rendu des attractions touristiques, …
Une amélioration technique également: la génération des cartes avec docker a été mise à jour: la précédente image docker-mapnik ne pouvant plus compiler mapnik, elle a été remplacée par une autre. Les instructions sont dans docker/README.md.
Depuis juin 2021, des cartes 1:20,000 réalisée avec le style OpenArdenneMap au format A3 sont disponibles en téléchargement sur https://hiking.osm.be/. Certaines de ces cartes sont retouchées à la main, pour une qualité cartographique accrue.
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 “été 2021” 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 il y a quelques réglages de bugs (pour les labels courbes des plans d’eau), une meilleure distinction entre les types de routes primaire et secondaires, une amélioration des règles de labels des zones forestières en fonction de leur surface et d’autres améliorations mineures.
Pour les labels des zones forestières, une approche simple a été mise en place. La taille du label est fonction de la surface de la zone, mais seulement pour les forêts plus grandes que 500 ha. Pour les forêts plus petites, la taille ne dépend pas de la surface, avec 2 tailles différentes de labels (respectivement pour les forêts inférieures et supérieures à 50 ha).
Une nouvelle fonctionnalité, qui n’est pas une amélioration du style proprement dit, est de pouvoir décomposer les sorties cartographiques en labels et en le reste de la carte, afin de pouvoir déplacer à la main certains labels. Pourquoi séparer les labels du reste? Simplement parce que les fichiers vectoriels des cartes (SVG) sont si lourds qu’il est difficile de les éditer dans un logiciel de dessin vectoriel comme Inkscape, alors qu’une couche de labels peut être plus facilement éditée (notamment, les objets peuvent être dégroupés). Cette possibilité permet de déplacer les labels de la carte à la main. Malgré les règles avancées de Mapnik pour la disposition des labels, un placement manuel des labels reste nécessaire en bien des situations.
Cette fonctionnalité est utilisée pour la conception des cartes hiking-osm-be, un nouveau service de cartes de randonnées à imprimer, mettant en évidence les itinéraires balisés officiels. Cette offre de cartes est mise en œuvre par Champs-Libres et l’atelier cartographique avec le soutien d’OpenStreetMap Belgique. A ce jour, une quinzaine de cartes au format A3 à l’échelle 1:20000 ont été produites en Belgique et ce catalogue est amené à s’étoffer à l’avenir. Pour obtenir ces cartes et en commander de nouvelles, rendez-vous sur hiking.osm.be!
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.
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.
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.
Cartographie
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.
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:
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:
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.
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!
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.