====== 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: * MBTiles (un genre de sqllite) * [[https://github.com/protomaps/PMTiles|PMTiles]], an open archive format for pyramids of tile data, accessible via [[https://developer.mozilla.org/en-US/docs/Web/HTTP/Range_requests|HTTP Range Requests]]. Les tuiles doivent correspondre à un schéma pour permettre l'exploitation des données contenues: * schéma [[https://shortbread-tiles.org/schema/1.0/|Shortbread]] licence CC0 * schéma [[https://openmaptiles.org/schema/|OpenMapTiles]] licence CC-BY * schéma [[https://docs.protomaps.com/basemaps/layers|Protomaps]] licence CC0 * [[https://www.mapzen.com/blog/v1-vector-tile-service/|Mapzen]] (MIT) ===== Tilemaker ===== [[https://github.com/systemed/tilemaker/|Tilemaker]] permet de générer des tuiles MVT à partir d'un fichier [[https://wiki.openstreetmap.org/wiki/PBF_Format|OSM PBF]] (//donc sans PostgreSQL//) au format MBTiles ou PMTiles et selon le schéma de son choix. Selon le [[https://openmaptiles.org/schema/|schéma OpenMapTiles]] utiliser les 2 fichiers suivants : * pour le config.json: https://github.com/systemed/tilemaker/blob/master/resources/config-openmaptiles.json * pour le process.lua: https://github.com/systemed/tilemaker/blob/master/resources/process-openmaptiles.lua Selon le [[https://shortbread-tiles.org/schema/1.0/|schéma ShortBread]] utiliser les 2 fichiers suivants : * pour le config.json: https://github.com/shortbread-tiles/shortbread-tilemaker/blob/main/config.json * pour le process.lua: https://github.com/shortbread-tiles/shortbread-tilemaker/blob/main/process.lua La force de tilemaker est de pouvoir modifier le schéma des tuiles avec 2 fichiers: * config.json pour définir la liste des layers (water, places...) et quelques metadonnées * process.lua pour affecter les données du fichier source dans les layers Des [[https://wiki.openstreetmap.org/wiki/Planet.osm|fichiers PBF]] des données OpenStreetMap. ===== PMTiles CLI ===== https://github.com/protomaps/go-pmtiles Tilemaker semble avoir un [[https://github.com/systemed/tilemaker/issues/653|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 [[https://github.com/openmaptiles/fonts/|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: * [[https://github.com/openmaptiles/maptiler-basic-gl-style|maptiler-basic]] * [[https://github.com/openmaptiles/osm-bright-gl-style|osm-bright]] * [[https://github.com/openmaptiles/maptiler-terrain-gl-style|maptiler-terrain]] * [[https://github.com/openmaptiles/fiord-color-gl-style|fiord-color]] * [[https://github.com/openmaptiles/maptiler-toner-gl-style|maptiler-toner]] * [[https://github.com/openmaptiles/dark-matter-gl-style|dark-matter]] * [[https://github.com/openmaptiles/positron-gl-style|positron]] * [[https://github.com/openmaptiles/osm-liberty-gl-style|osm-liberty]] Styles pour le schéma ShortBread: * [[https://github.com/versatiles-org/versatiles-style/releases/tag/v4.4.1|VersaTiles Colorful]] * [[https://github.com/versatiles-org/versatiles-style/releases/tag/v4.4.1|VersaTiles Neutrino]] * [[https://github.com/versatiles-org/versatiles-style/releases/tag/v4.4.1|VersaTiles Eclipse]] * [[https://github.com/versatiles-org/versatiles-style/releases/tag/v4.4.1|VersaTiles Graybeard]] Styles pour le schéma Protomaps: * [[https://github.com/protomaps/basemaps-themes|protomaps/basemaps-themes]] [[https://protomaps.github.io/basemaps-themes/|preview]]