Table des matières

Tuiles vectorielles

Le format de tuiles vectorielles Mapbox Vector Tiles (MVT) fourni un stockage pyramidale des tuiles pour représenter une carte géographique.

Ce format peut être contenues dans les formats d'archive:

Les tuiles doivent correspondre à un schéma pour permettre l'exploitation des données contenues:

Tilemaker

Tilemaker permet de générer des tuiles MVT à partir d'un fichier OSM PBF (donc sans PostgreSQL) au format MBTiles ou PMTiles et selon le schéma de son choix.

Selon le schéma OpenMapTiles utiliser les 2 fichiers suivants :

Selon le schéma ShortBread utiliser les 2 fichiers suivants :

La force de tilemaker est de pouvoir modifier le schéma des tuiles avec 2 fichiers:

Des fichiers PBF des données OpenStreetMap.

PMTiles CLI

https://github.com/protomaps/go-pmtiles

Tilemaker semble avoir un problème pour optimiser les indexes ce qui induit de plus nombreux et volumineux accès au serveur http.

L'idée est alors d'utiliser tilemaker pour générer une archive mbtiles puis de la convertir en pmtiles avec le client pmtiles cli.

time docker run -it --rm -v $(pwd):/data ghcr.io/systemed/tilemaker:master \
 /data/data/france-latest.osm.pbf \
 --config /data/config-shortbread.json \
 --process /data/process-shortbread.lua \
 --output /data/data/france-openmap.mbtiles
 
real	8m38,578s
user	0m0,902s
sys	0m1,624s
 
time pmtiles convert \
 data/france-shortbread.mbtiles \
 data/france-shortbread-mbtile.pmtiles
 
real	0m11,404s
user	0m6,237s
sys	0m5,210s

MapLibre

Librairie Javascript pour le rendu.

Styles

Des fonts au format PBF. Les styles utilisent généralement la “Noto” mais sont aussi dispo “Metropolis”, “Open Sans”, “PT Sans” et “Roboto”

Il faut aussi les “sprites” qui sont des icônes pour des POIs.

Les styles de rendu doivent être adaptés au schéma utilisé pour les tuiles.

Une démo de certains, avec qlqs p'tites modifs pour d'autres : https://map.comptoir.net/map.html#10/47.2234/0.792

Styles pour le schéma OpenMapTiles:

Styles pour le schéma ShortBread:

Styles pour le schéma Protomaps: