- MapLibre Tile (MLT) est un nouveau format de tuiles vectorielles de nouvelle génération destiné à remplacer Mapbox Vector Tile (MVT), conçu pour améliorer l’efficacité du traitement des données géospatiales à grande échelle
- Il offre un taux de compression jusqu’à 6 fois supérieur ainsi qu’un décodage rapide basé sur SIMD, ce qui améliore l’espace de stockage, la latence et l’efficacité du cache
- Il est extensible avec pour objectif la prise en charge future des coordonnées 3D (altitude), du traitement basé sur GPU, des types de données composites, du référencement linéaire et des m-values
- Il peut être utilisé immédiatement avec MapLibre GL JS et MapLibre Native, avec des demo tiles, un serveur de conversion et la prise en charge de la génération via Planetiler
- Ce format a été développé grâce à la collaboration de la communauté open source, d’entreprises et du monde académique, et finalisé avec le soutien de Microsoft et d’AWS
Présentation de MapLibre Tile
-
MapLibre Tile (MLT) est le format successeur de [Mapbox Vector Tile (MVT)], entièrement repensé dès le départ pour faire face à la croissance rapide du volume de données géospatiales et à la complexité des formats sources de nouvelle génération
- Conçu pour exploiter les performances du matériel moderne et des API graphiques, il permet de traiter et de rendre avec de hautes performances des fonds de carte 2D et 2.5D à l’échelle planétaire
- L’implémentation actuelle est fonctionnellement équivalente à MVT, tout en apportant des améliorations en matière de performances et d’efficacité
-
Principales améliorations techniques
- Compression améliorée : jusqu’à 6 fois mieux sur les grandes tuiles, grâce à une disposition orientée colonnes et à un encodage léger récursif
- Performances de décodage accrues : une structure d’encodage rapide et légère, compatible avec les instructions SIMD/vectorisées
- Au final : latence réduite, baisse des coûts de stockage et de transfert, et meilleure utilisation du cache
Possibilités d’extension futures
-
MLT a été conçu en anticipant la prise en charge des fonctionnalités futures suivantes
- Renforcement de la prise en charge des coordonnées 3D (altitude)
- Optimisation des formats de stockage et mémoire pour un traitement efficace sur CPU et GPU
- Prise en charge du référencement linéaire (linear referencing) et des m-values pour assurer la compatibilité avec des formats de nouvelle génération comme Overture Maps (GeoParquet)
- Prise en charge de types composites comme les attributs imbriqués, listes et maps
-
L’évolution de MLT sera déterminée par les besoins de la communauté, et diverses idées d’extension et contributions sont les bienvenues
- Parmi les ressources disponibles figurent les slides de la présentation FOSS4G 2024 de Markus Tremmel, une conférence YouTube et un article ACM
Disponibilité et intégration
-
MLT est disponible dès maintenant
- MapLibre GL JS et MapLibre Native prennent tous deux en charge les sources MLT
- Il peut être utilisé en définissant la valeur
mltpour la propriétéencodingdans le JSON de style
-
Essais et développement
- Utiliser le style de demo tiles basé sur MLT
- Utiliser l’Encoding server pour convertir en temps réel un style MVT existant en MLT
- La prise en charge de la génération MLT est prévue dans une prochaine version de Planetiler
- L’état d’intégration peut être consulté sur la page officielle de l’état des implémentations
-
Pour partager des retours d’expérience sur MLT, il est recommandé de participer au canal Slack
#maplibre-tile-formatou aux issues/discussions GitHub
Remerciements et collaboration
- MLT a été développé grâce à plusieurs années de collaboration entre le monde académique, l’open source et les entreprises
- Markus Tremmel a conçu le format, et Yuri Astrakhan a dirigé le projet
- Tim Sylvester a réalisé l’implémentation C++, tandis que Harel Mazor, Benedikt Vogl et Niklas Greindl se sont chargés de l’implémentation JavaScript
- Microsoft et AWS ont financé le développement
Notes
- Contrairement à MVT, MLT ne prend pas en charge les couches où le type des valeurs dans une colonne varie selon les entités
Aucun commentaire pour le moment.