Utiliser les tuiles vectorielles
Qu'est-ce que les tuiles vectorielles ?
Pour mieux comprendre ce que sont que les tuiles vectorielles et leurs usages, rendez-vous sur la documentation de lâIGN.
Pourquoi utiliser les tuiles vectoriellesâ?
Le service proposé par Etalab permet de :
mettre Ă disposition des tuiles avec un style pour avoir un fond de plan de tuiles vecteur. Ce style est publiĂ© en sâappuyant sur une version dâOpenMapTiles dĂ©ployĂ©e par Etalab sur la France.
servir les tuiles des limites administratives ainsi que celles du cadastre.
Ce service s'appuie sur les données du projet OpenStreetMap.
OpenStreetMap (ou "OSM") est une carte du monde entier librement modifiable, faite par des gens comme vous. OpenStreetMap vous permet de voir, modifier et utiliser des données géographiques de n'importe quel endroit dans le monde.
Si vous identifiez des données manquantes sur la carte, vous pouvez contribuer sur https://openstreetmap.org et vous verrez les changements au plus tard une semaine aprÚs. En effet, les tuiles vecteur des fonds de plan sont mises à jour une fois par semaine.
Il faut aussi noter que vous devez obligatoirement créditer OpenStreetMap et ses contributeurs quand vous utilisez les fonds de plan.

Qui utilise ce serviceâ?
Ce service est utilisĂ© par plusieurs produits dâEtalab ainsi que par dâautres acteurs institutionnels en raison de la lĂ©gĂšretĂ© des tuiles vectorielles et des styles associĂ©s en comparaison Ă ceux mis Ă disposition actuellement par lâIGN.
Ces tuiles ont une structure standardisée par un schéma https://openmaptiles.org/schema/ ainsi que des styles par défaut associés à cette structure https://openmaptiles.org/styles/.
Quelles sont les limites de ce serviceâ?
Bien que ce service réponde à de nombreux besoins, il présente certaines limites.
â Les cas oĂč vous ne devriez pas utiliser OpenMapTiles :
Si votre besoin nĂ©cessite des tuiles dont les informations ne sont pas dans les couches OpenMapTiles, un grand nombre dâacteurs commerciaux proposent de consommer des tuiles vectorielles en crĂ©ant un compte, sans coĂ»t : https://switch2osm.org/providers/#tile-hosting.
Si vous avez besoin dâune qualitĂ© de service garantie, lĂ encore, adressez-vous Ă ces mĂȘmes acteurs commerciaux ou autohĂ©bergez-vous. Dans ce cas, pour des outils pour gĂ©rer vos propres tuiles vecteur en autohĂ©bergĂ©, allez sur : https://github.com/mapbox/awesome-vector-tiles#servers.
Si vous avez un besoin qui vous parait correspondre Ă celui des tuiles vectorielles et styles associĂ©s de lâIGN (voir des exemples en fin de guide). Ces tuiles sont un peu plus lourdes mais elles sont par nature plus homogĂšnes en terme de contenu car elles utilisent les donnĂ©es de lâIGN. Celles du projet OpenMapTiles Ă©tant basĂ©es sur OpenStreetMap, la complĂ©tude dĂ©pend des contributions Ă OpenStreetMap.
Rappels sur les tuiles vecteur
Les tuiles raster
Historiquement, pour faire du webmapping, on renvoyait des tuiles images qui étaient des images de cartes découpées en 256px ou 512px (si écran haute définition).
Ce qu'on peut encore voir par exemple :


Le découpage des tuiles est normalisé en s'appuyant sur "une grille" qui change avec les échelles et dont les conventions sont reprises par tous.
Les «âtuiles vectoriellesâ»
MĂȘme si ces solutions raster sont toujours fonctionnelles, il existe des cas qui nĂ©cessitent dâavoir plus de souplesse pour pouvoir styler des fonds de plan en particulier ou bien pour afficher une couche «âpar-dessusâ» les autres. Ils peuvent ĂȘtre adressĂ©s avec les tuiles vectorielles.
On parle abusivement de tuiles vectorielles pour désigner généralement deux choses :
les tuiles vectorielles Ă proprement parler
les styles «âMapbox Vector Styleâ»
Les tuiles vectorielles en elles-mĂȘme
On peut les assimiler à des objects vectoriels, des points, des lignes, des polygones qui sont associés à des attributs par exemple un nom. On groupe ces objets par couche, généralement un objet métier, par exemple, les limites communales, les commerces, etc. On découpe ensuite ces vecteurs selon une emprise fixe qui reprend celle historiquement utilisées par les tuiles raster. On peut ainsi voir quelles couches contiennent une tuile.
Il existe plusieurs standards pour ces tuiles mais celui le plus adopté est celui de la société Mapbox : on parle de "Mapbox Vector Tiles" ou MVT.
Leur contenu est encapsulĂ© dans un format binaire appelĂ© Protocol Buffer, non spĂ©cifique Ă la cartographie, c'est pour cela que l'extension des tuiles est souvent .pbf mĂȘme si cela Ă©tait historiquement .mvt.
Quelques exemples pour inspecter :
Vous pouvez aussi aller sur https://openmaptiles.geo.data.gouv.fr puis dans le bloc "DATA", choisir une couche et faire "Inspect".
Ici, nous avons choisi de nous concentrer sur la consommation des tuiles. Il existe de nombreux outils pour les générer. Nous vous renvoyons à nouveau à https://github.com/mapbox/awesome-vector-tiles#servers déjà mentionné.
Les styles
Ils permettent d'indiquer pour quelles couches, pour quelles caractéristiques comme la population et quels zooms il faut appliquer un style.
Ces styles peuvent ĂȘtre : l'Ă©paisseur du trait, sa couleur pour le contour communal, etc.
Ils s'appuient sur le standard "Mapbox/Maplibre GL JS Style Specification" qui indique quelles sont les ressources "tuiles" (l'URL) Ă consommer puis quelles couches de cette ressource doivent ĂȘtre utilisĂ©es puis comment les styles doivent ĂȘtre appliquĂ©s.
C'est avant tout la combinaison des tuiles vectorielles et des styles qui a permis Ă ce standard de s'imposer.
On peut par exemple aller sur https://maputnik.github.io/editor/#3.71/45.57/3.43 puis dans le menu supérieur, cliquer sur "Open". Dans la popup qui apparaßt, dans la section "Load from URL", coller l'URL https://openmaptiles.geo.data.gouv.fr/styles/osm-bright/style.json puis sur le bouton "Open URL" pour voir le style utilisé par défaut sur les tuiles vectorielles.
GĂ©nĂ©ralement, on consomme ces tuiles vectorielles via une bibliothĂšque cartographique JavaScript. Il faut Ă©galement noter que selon les bibliothĂšques, il est possible de profiter de la combinaison des deux mais que certains ne permettent pas de gĂ©rer les styles mais simplement de consommer les tuiles vectorielles, les pbf mais en devant styler selon la syntaxe propre Ă la bibliothĂšque. Cela joue fortement sur les choix techniques Ă adopter selon votre besoin. Seuls Maplibre et OpenLayers via une bibliothĂšque intermĂ©diaire sont Ă mĂȘme de correctement utiliser les deux.
Comment utiliser les tuiles vectorielles dâEtalab ?
Pour avoir un aperçu, vous pouvez vous rendre sur : https://openmaptiles.geo.data.gouv.fr.
Les versions des tuiles pour les fonds de plan ont été mises à jour en mars 2022 et sont mises à jour une fois par semaine.

Consommer les styles
Nous abordons principalement l'usage avec MapLibre qui est capable de nativement gérer les tuiles et les styles associés.
Nous n'aborderons pas Mapbox GL JS, la bibliothÚque JavaScript de Mapbox, car elle n'est maintenant plus OpenSource depuis la version 2.x et c'est MapLibre, une version forkée de la derniÚre version de Mapbox GL JS avant son passage en version non libre, qui a pris sa succession.
Voici quelques scénarios :
Avec le fond de plan et le cadastre
Avec uniquement le fond de plan
Avec les limites administratives et le cadastre seulement
Consommer les tuiles vectorielles seules
Héberger les tuiles du cadastre ou faire une extrait sur votre zone
Pour un aperçu, ouvrir : http://localhost:3000/#16.17/47.215211/-1.567287
Si vous souhaitez hĂ©berger vous-mĂȘme, nous vous recommandons de passer par TileServer-Gl Light combinĂ© avec NGinx.
L'alternative des tuiles vecteur de l'IGN
Selon vos besoins, vous pouvez choisir d'utiliser l'API de tuiles vectorielles de l'IGN plutĂŽt que celles que nous mettons Ă disposition.
Voici deux exemples :
Ici, nous avons utilisĂ© le plan "Standard" dont l'URL est https://wxs.ign.fr/static/vectorTiles/styles/PLAN.IGN/essentiels/standard.json. Vous verrez qu'il est possible de choisir d'autres styles et mĂȘme d'avoir des tuiles vectorielles pour d'autres Ă©lĂ©ments que les fonds de plan. Pour cela, consultez la documentation officielle cĂŽtĂ© IGN, https://geoservices.ign.fr/documentation/services/api-et-services-ogc/vecteur-tuile-tmswmts.
Nous vous recommandons en complément de regarder https://geoservices.ign.fr/services-web-essentiels car la 1Úre documentation à date mentionne encore une clé d'API alors que bien que présente, celle-ci est publique et s'appelle essentiels, ce que vous pouvez voir dans les démos mises à disposition.
Last updated