Makina Blog

Le blog Makina-corpus

Construire un MBTiles le long d'un itinéraire


Avec Landez, la zone couverte d'un fichier MBTiles peut suivre une ligne!

Lorsque l'on crée un fichier MBTiles, avec Tilemill par exemple, la zone couverte est rectangulaire (bounding box).

Dans cet article, nous allons utiliser Landez pour construire un MBTiles dont la zone couverte suit un itinéraire de randonnée.

Initialement, `Landez a été développé pour construire des fonds de carte à la demande, avec pour objectif de permettre à des touristes d'avoir un carnet de voyage disponible hors connexion. Il s'agissait donc de couvrir la zone autour de chaque escale.

Pour un itinéraire, nous pouvons procéder de la même façon ! Pour chaque point de l'itinéraire, nous allons ajouter une zone de couverture large pour les niveaux de zoom faibles, et réduite pour les niveaux de zoom élevés.

from landez import MBTilesBuilder

# Un rayon pour les zooms faibles, l'autre # pour les zooms élevés. RADIUS_LARGE = 0.01 #  1 km RADIUS_SMALL = 0.05 #  500 m

# Niveaux de zooms pour le monde entier GLOBAL_ZOOMS = range(8) # Niveaux de zooms pour les rayons larges LOW_ZOOMS = range(8, 13) # Niveaux de zooms pour les rayons réduits HIGH_ZOOMS = range(13, 17)

mbtiles = MBTilesBuilder()

# On couvre le monde entier aux zooms faibles mbtiles.add_coverage(bbox=(-180, -90, 180, 90), zoomlevels=GLOBAL_ZOOMS)

# Itère sur les coordonnées qui consistuent # l'itinéraire coords = Trek.geometry.coords

for (lng, lat) in coords: # Construit les emprises à partir des rayons large = (lng - RADIUS_LARGE, lat - RADIUS_LARGE, lng + RADIUS_LARGE, lat + RADIUS_LARGE) small = (lng - RADIUS_SMALL, lat - RADIUS_SMALL, lng + RADIUS_SMALL, lat + RADIUS_SMALL)

# Ajoute ces emprises au MBTiles à construire mbtiles.add_coverage(bbox=large, zoomlevels=LOW_ZOOMS) mbtiles.add_coverage(bbox=small, zoomlevels=HIGH_ZOOMS)

# Télécharger et packager ! mbtiles.run()

Aussi simple que ça !

Nous allons mettre ce fonctionnement en place pour le développement de l'application mobile de Geotrek qui permettra de consulter les itinéraires et les fonds en mode déconnecté.

Actualités en lien

Geotrek 2025–2026 : nouvelles fonc­tion­na­li­tés et grands chan­tiers à venir

27/05/2026

Les années 2025 et 2026 ont été parti­cu­liè­re­ment riches en évolu­tions pour l’éco­sys­tème Geotrek. De nombreuses fonc­tion­na­li­tés ont été déve­lop­pées afin d’amé­lio­rer les perfor­mances, faci­li­ter l’ad­mi­nis­tra­tion des données et enri­chir les usages carto­gra­phiques. Cet article propose un tour d’ho­ri­zon des prin­ci­pales évolu­tions déployées ces deux dernières années sur Geotrek-admin, Geotrek-mobile et Geotrek-widget, avant d’ou­vrir sur plusieurs grands chan­tiers actuel­le­ment en prépa­ra­tion pour les prochaines versions de Geotrek.
Voir l'article
Image
Geotrek-admin

Confi­gu­rez votre Geotrek-widget en quelques clics !

19/02/2026

Geotrek-widget dispose désor­mais d’un nouveau construc­teur de confi­gu­ra­tion, acces­sible ici : https://geotrekce.github.io/Geotrek-rando-widget.  
Voir l'article
Image
Constructeur Geotrek widget

Module Itiné­raires ou Outdoor, lequel choi­sir ?

06/02/2026

Dans Geotrek, la ques­tion du choix entre le module Itiné­raires et les modules Outdoor revient très fréquem­ment, notam­ment lors des premières prises en main ou des évolu­tions de confi­gu­ra­tion.
Voir l'article
Image
Vignette article trek vs outdoor

Inscription à la newsletter

Nous vous avons convaincus