Le groupe de travail sur l’ingénierie de la fondation OpenStreetMap fait le point sur les efforts déployés pour créer des tuiles vectorielles pour openstreetmap.org. Lisez la suite pour savoir pourquoi ce travail est important, ce qui a été fait jusqu’à présent et la manière dont les commentaires de la communauté sont pris en compte, ainsi que les détails techniques pour ceux qui veulent en savoir plus.
Le contexte
Actuellement, le site web openstreetmap.org propose des tuiles matricielles, qui sont des tuiles d’images composées de pixels – comme une image téléchargée d’une partie d’une carte. Mais des efforts ont été entrepris pour créer des tuiles vectorielles pour le site, ce qui permettra d’améliorer l’aspect et le fonctionnement de la carte. Pour en savoir plus sur l’historique du projet, cliquez ici.
Les tuiles vectorielles présentent les cartes sous forme de vecteurs : points, lignes et polygones. Elles stockent des données géographiques (comme celles qui composent OpenStreetMap) dans un format qui permet une mise en forme et une interactivité dynamiques. Pour les utilisateurs, les tuiles vectorielles sont synonymes d’un nouveau style de carte à l’aspect moderne, avec un zoom continu sur openstreetmap.org. La carte peut être mise à jour plus rapidement lorsque les données changent, et elle devrait être plus performante pour les utilisateurs.
À plus long terme, l’aspect le plus excitant est ce que ce projet de tuiles vectorielles rendra facile pour les volontaires et les utilisateurs de tuiles : des cartes en 3D, des mélanges et des correspondances de données plus efficaces et l’intégration d’autres ensembles de données, des styles thématiques, des cartes multilingues, des vues différentes pour les frontières administratives, des points d’intérêt interactifs, des cartes plus accessibles pour les utilisateurs malvoyants, et certainement beaucoup d’autres idées que personne n’a encore imaginées. Vous vous souviendrez peut-être que nombre d’entre elles intéressent depuis longtemps les membres de la communauté OSM.
Le projet
L’objectif du projet vectoriel est de fournir une configuration vectorielle qui puisse fonctionner pour openstreetmap.org – c’est-à-dire un site mondial de cartes de base complexes, très demandé par les utilisateurs et les services du monde entier, où les données sous-jacentes à la carte changent en permanence.
Ou, pour le dire techniquement, de créer une configuration pour une carte de base mondiale complexe soumise à une forte charge et nécessitant des mises à jour minutieuses.
Paul Norman pilote le projet de tuiles vectorielles.
Il s’efforce de compléter son projet Tilekiln qui génère des tuiles vectorielles à partir d’une base de données PostgreSQL (comme celle d’OpenStreetMap), en utilisant la fonction du modèle Shortbread, qui est un format de données permettant de nommer les couches et les propriétés d’une tuile vectorielle, et l’amélioration de Themepark, qui permet d’ajouter des données OSM à une base de données Postgres.
Le travail est divisé en trois étapes :
1. Première série d’améliorations de Tilekiln et de Shortbread Themepark
2. Amélioration du parallélisme
3. Shortbread disponible publiquement en production
Les deux premières étapes sont presque achevées. Tilekiln génère désormais des tuiles en parallèle, ce qui permet de générer des tuiles pour le monde entier. L’étape suivante consiste à lancer le déploiement dans le serveur de l’OSMF afin de préparer la production.
Détails techniques sur l’étape 1
Pour ceux qui s’intéressent aux détails techniques de ce qui est en cours de réalisation, la première étape ci-dessus comporte cinq éléments principaux.
1. Packaging automatisé de Tilekiln
2. Publication des métriques Tilekiln avec un exportateur Prometheus
3. Themepark Shortbread revu et corrigé
4. Mise en place d’un serveur de démonstration fonctionnant avec des mises à jour minutieuses des tuiles Shortbread, rendant les tuiles à la demande.
5. Démonstration présentée à la communauté
Les points 1 et 2 sont achevés sans qu’il soit nécessaire de les examiner plus avant. Pour le point 3, Paul a constaté que l’implémentation osm2pgsql Themepark Shortbread nécessitait plus de travail que prévu car il manquait une couche et présentait quelques problèmes.
Les points 4 et 5 sont achevés. Le serveur de démonstration de Paul fonctionne avec des mises à jour constantes et les exigences matérielles sont plus modestes que prévu.
La communauté a également fourni un retour d’information utile, notamment sur le message de Paul sur le forum communautaire OSM.
La communauté a fait de nombreuses suggestions, dont certaines ont déjà été prises en compte. Les problèmes restants de la communauté sont les suivants : le rendu des lignes courbes est irrégulier et les tuiles vectorielles sont trop grandes.
Le problème des lignes irrégulières est dû à la façon dont les courbes lisses sont représentées dans les tuiles vectorielles. Ce problème a été en grande partie résolu, mais on s’attend à ce que des problèmes similaires réapparaissent à l’avenir. Une échelle cible équivalente à l’échelle minimale de la couche de tuiles standard a été définie. Il est possible de zoomer à une échelle encore plus petite, mais des artefacts risquent d’apparaître.
La taille des tuiles vectorielles restera un problème sur lequel il faudra travailler en permanence, mais les tuiles actuelles sont particulièrement grandes. Depuis cette partie du test, des modifications ont été apportées qui ont permis de réduire la taille de moitié. L’optimisation de la taille des tuiles est une question qui nécessite un travail continu, car la taille des tuiles est le facteur le plus important dans l’expérience de l’utilisateur.
Les tuiles produites sont utilisables, mais il reste encore du travail à faire. Maintenant que le travail sur le parallélisme est terminé, il est possible de générer de grands ensembles de tuiles afin de les tester. Paul va donc se remettre à travailler sur les définitions des tuiles afin d’en améliorer la taille et de résoudre quelques problèmes restants, mais les tuiles actuelles sont utilisables.
Informations sur les outils utilisés
Voici quelques informations sur les différents outils utilisés pour ce projet.
Tilekiln est un logiciel écrit par Paul Norman pour générer des tuiles vectorielles à partir d’une base de données PostgreSQL. Les alternatives sont martin (ou peut-être t_rex). Tilekiln est en cours de développement, bien qu’il utilise de nombreuses fonctionnalités standard de PostgreSQL pour générer les données vectorielles des tuiles. La plupart des cartes basées sur OSM (y compris osm-carto sur osm.org) sont générées à partir de requêtes SQL provenant d’une base de données PostgreSQL. Tilekiln génère des tuiles vectorielles à partir de requêtes similaires.
Themepark fait partie de la suite d’outils osm2pgsql, pour permettre d’ajouter des données OSM à postgres, et de partager ces étapes de traitement entre d’autres projets. De nombreux styles de cartes OSM basés sur PostgreSQL (comme osm-carto) utilisent osm2pgsql
osm2pgsql existe depuis plus de 15 ans dans OSM et est utilisé dans de nombreux domaines. Bien que Paul ait contribué au code, il n’en est pas le principal développeur. osm2pgsql est devenu plus avancé et meilleur au cours des dernières années. Une partie de sa force réside dans le prétraitement des données, et Themepark est une tentative de faciliter ces étapes de prétraitement.
Shortbread est un « schéma de tuiles vectorielles » créé par Geofabrik. Il s’agit d’un format de données permettant de nommer les couches et les propriétés d’une tuile vectorielle.
Ce billet contient des contributions d’Adam Hoyle, Mikel Maron, Amanda McCann, Paul Norman et Andrew Wiseman.
La Fondation OpenStreetMap est une organisation à but non lucratif, formée pour soutenir le projet OpenStreetMap. Elle se consacre à encourager la croissance, le développement et la distribution de données géospatiales gratuites que tout le monde peut utiliser et partager. La Fondation OpenStreetMap possède et entretient l’infrastructure du projet OpenStreetMap et est soutenue financièrement par les cotisations des membres et les dons, et organise la conférence internationale annuelle State of the Map (État de la carte). Nos groupes de travail bénévoles et notre petit noyau de personnel de base travaillent pour soutenir le projet OpenStreetMap. Rejoignez la Fondation OpenStreetMap pour seulement 15 £ par an ou gratuitement si vous êtes un contributeur actif d’OpenStreetMap.
This post is also available in: Anglais Japonais Espagnol Ukrainien Grec moderne