Une visionneuse MBTiles vectorielles qui fonctionne dans votre navigateur
Un fichier MBTiles est une carte tuilée entière rangée dans un seul fichier. À l’intérieur se trouve une petite base SQLite : une table avec les tuiles et une autre avec des informations sur elles. Les MBTiles vectoriels contiennent des Mapbox Vector Tiles, des tuiles binaires compactes avec routes, bâtiments, rivières, limites et leurs attributs, prêtes à être stylisées par une appli de carte. On les produit avec des outils comme tippecanoe, Planetiler, OpenMapTiles et QGIS, et elles alimentent beaucoup de cartes MBTiles hors ligne et auto-hébergées.
Le problème commence quand on veut regarder dedans. Votre ordinateur ne sait pas ouvrir le fichier, les visionneuses d’images ne voient rien et la plupart des visionneuses en ligne n’affichent que des tuiles raster. Pour voir un MBTiles vectoriel, il faut d’habitude un serveur de tuiles, un style et un peu de JavaScript, ou un logiciel SIG complet. Cette visionneuse MBTiles vectorielles en ligne évite tout cela : déposez le fichier, elle lit la base, décode les tuiles vectorielles dans votre navigateur et dessine chaque couche sur la carte avec sa propre couleur.
Elle est conçue pour contrôler autant que pour voir. Vous pouvez cliquer sur n’importe quel objet pour lire ses attributs, afficher ou masquer les couches, voir le poids des tuiles à chaque niveau de zoom et lesquelles sont les plus grosses, et contrôler le fichier selon les spécifications MBTiles et des tuiles vectorielles. À la fin, exportez les objets de la vue en GeoJSON, enregistrez un PNG de la carte ou téléchargez un rapport technique pour un collègue ou un client. Mon avis : lancez les contrôles avant de mettre un tileset sur un serveur. La plupart des problèmes de « carte blanche » viennent d’une ligne de métadonnées manquante ou d’une mauvaise plage de zoom, et ils sont bien plus faciles à corriger avant la mise en ligne.
Ce que fait la visionneuse MBTiles vectorielles
Voici tout ce que fait l’outil, dans l’ordre où vous le découvrirez.
- Ouvrez le fichier. Faites glisser un fichier .mbtiles sur la carte ou cliquez sur « Ouvrir un MBTiles ». Les fichiers jusqu’à 300 Mo s’ouvrent dans le navigateur avec le moteur SQLite sql.js. « Essayer un exemple » charge un petit tileset mondial avec pays, lacs, rivières et villes, pour voir l’outil fonctionner tout de suite.
- Voyez la carte aussitôt. L’outil lit l’emprise et le centre dans les métadonnées et zoome sur les données. Chaque couche est dessinée sur un canvas avec sa propre couleur : polygones en aplats clairs, lignes en traits, points en ronds. Les noms de couche courants comme water, landuse, building, transportation et place reçoivent des couleurs naturelles.
- Travaillez avec les couches. L’onglet Couches liste chaque couche des métadonnées et des tuiles avec ses types de géométrie, le nombre d’objets d’un échantillon et tous ses champs avec une valeur d’exemple. Affichez ou masquez les couches, cliquez sur « Seule » pour voir une couche isolée, ou cliquez sur le carré de couleur pour choisir votre propre couleur.
- Cliquez pour inspecter les objets. Cliquez sur la carte : une fiche montre chaque objet à cet endroit dans les couches visibles, avec couche, type de géométrie, ID et tous les attributs. L’objet est mis en évidence sur la carte, et vous pouvez le copier en GeoJSON ou télécharger toute la tuile en fichier .pbf brut.
- Lisez les infos du fichier. L’onglet Fichier présente les métadonnées en clair : nom, description, attribution, version, format, compression, plage de zoom, emprise, centre, l’outil générateur (par exemple tippecanoe) et la taille du fichier et des données de tuiles.
- Vérifiez les tuiles. L’onglet Tuiles donne le nombre de tuiles, la taille totale, moyenne et maximale par niveau de zoom et les dix plus grosses tuiles du fichier. Cliquez sur « Voir » pour aller à une tuile. L’option grille trace chaque bord de tuile avec son z/x/y et sa taille.
- Lancez les contrôles. L’onglet Contrôles teste le fichier : table tiles, métadonnées, format, compression, la liste vector_layers de json, couches absentes des métadonnées, emprise, centre, plage de zoom face aux tuiles réelles, tuiles de plus de 500 Ko et attribution. Chaque contrôle est marqué OK, avertissement ou erreur, avec une explication simple.
- Zoomez au-delà des données. Les tuiles vectorielles restent nettes quand vous zoomez au-delà du dernier niveau, donc la visionneuse continue de dessiner les tuiles les plus profondes agrandies (« overzoom »). Sous le premier niveau, un message vous invite à zoomer.
- Réglez l’affichage. Modifiez l’opacité du remplissage et l’épaisseur des lignes, affichez ou masquez les noms de lieux et ajoutez un fond plan ou satellite pour vous repérer. Sans fond de carte, rien n’est chargé depuis d’autres serveurs.
- Exportez. Téléchargez les objets visibles en GeoJSON, la vue de la carte en PNG, les métadonnées en JSON ou un rapport technique avec les contrôles, les couches, les champs, les statistiques des tuiles et des recommandations.
Le fichier est lu avec JavaScript et WebAssembly dans l’onglet de votre navigateur. Il n’est jamais envoyé, la visionneuse convient donc aussi aux données privées ou sous licence.
Comment voir un fichier MBTiles vectoriel, étape par étape
Un exemple réel avec le tileset mondial d’exemple (données Natural Earth, zoom 0 à 5).

L’outil s’ouvre sur une carte vide avec une zone de dépôt. Faites-y glisser votre fichier .mbtiles, cliquez pour choisir un fichier ou cliquez sur « Essayer un exemple ».

La visionneuse lit la base SQLite, zoome sur l’emprise et dessine les quatre couches : pays en aplats gris, lacs en bleu, rivières en lignes bleues et villes en points rouges avec étiquettes.

L’onglet Couches liste chaque couche avec sa géométrie, les objets trouvés dans un échantillon et chaque champ avec une valeur d’exemple. Ici, seules les rivières et les villes sont affichées, avec une vue sur l’Europe.

Cliquez sur une ville. La fiche montre sa couche, son type de géométrie, son ID et tous ses attributs, et l’objet est mis en évidence. Vous pouvez le copier en GeoJSON ou télécharger la tuile d’où il vient.

L’onglet Fichier transforme la table metadata en informations claires : nom, attribution, format, compression gzip, zoom 0 à 5, emprise, centre et taille du fichier.

L’onglet Tuiles montre les tuiles et leurs tailles par niveau de zoom et les plus grosses tuiles. Avec la grille activée, chaque bord de tuile est tracé avec son z/x/y et sa taille stockée.

L’onglet Contrôles teste le fichier selon les règles MBTiles et des tuiles vectorielles. L’exemple passe tous les contrôles ; un fichier réel affiche souvent un ou deux avertissements, chacun avec une explication.

Le rapport technique réunit sur une page le résumé, un aperçu de la carte, les contrôles, les métadonnées, chaque couche et champ, les statistiques des tuiles et des recommandations. Imprimez-le ou enregistrez-le en PDF.
Comment ouvrir un fichier MBTiles : vos options
Il existe plusieurs façons d’ouvrir un fichier MBTiles. La bonne dépend de ce que vous voulez faire : simplement regarder, vérifier, ou l’utiliser dans un projet.
- Dans votre navigateur, avec cette visionneuse. Le moyen le plus rapide de voir le contenu d’un fichier vectoriel : rien à installer, pas de serveur, sous Windows, Mac, Linux et sur tablette. Idéal pour vérifier un tileset, lire les attributs et partager un rapport. Pour les MBTiles raster (tuiles PNG, JPEG, WebP), utilisez la visionneuse MBTiles de ce site.
- Dans QGIS. QGIS 3.14 et plus récent ouvre directement les MBTiles vectoriels : faites glisser le fichier sur la carte, ou utilisez Couche → Ajouter une couche → Ajouter une couche de tuiles vectorielles. Les MBTiles raster s’ouvrent avec Couche → Ajouter une couche → Ajouter une couche raster. Pratique pour combiner les tuiles avec d’autres données SIG.
- Avec un serveur de tuiles. TileServer GL, Martin et mbtileserver lisent un fichier MBTiles et servent ses tuiles en HTTP, pour qu’une carte web dans MapLibre GL JS, Mapbox GL JS ou Leaflet puisse les utiliser. C’est ainsi que les cartes MBTiles sont le plus souvent publiées.
- En PMTiles. Convertissez le fichier en PMTiles (un convertisseur gratuit existe sur ce site) et placez ce fichier unique sur n’importe quel hébergement statique ou stockage objet. MapLibre le lit directement, sans serveur de tuiles.
- Sur téléphone ou GPS. Beaucoup d’applis de carte hors ligne chargent des fichiers MBTiles pour une utilisation sans connexion. Vérifiez le format de tuile attendu : certaines n’acceptent que des tuiles raster.
- Comme base de données. MBTiles étant du SQLite, DB Browser for SQLite ou la ligne de commande sqlite3 l’ouvrent aussi. Vous voyez les tables et les blobs binaires, pas la carte, mais c’est pratique pour corriger une ligne de métadonnées.
Une chose est partout la même : un fichier MBTiles contient des données, pas un style. Chaque appli décide comment colorer les couches. Cette visionneuse choisit les couleurs automatiquement pour que vous voyiez la structure sans écrire de style au préalable.
Comment la visionneuse lit et dessine les tuiles vectorielles
Ouvrir un MBTiles vectoriel demande quatre étapes : lire la base SQLite, trouver la bonne tuile, la décompresser et la décoder, puis la dessiner. Voici exactement ce qui se passe, avec les formules.
1. La base de données MBTiles
Un fichier MBTiles est une base SQLite avec deux tables obligatoires. La visionneuse la charge en mémoire avec sql.js, une version de SQLite compilée en WebAssembly, et y exécute des requêtes SQL ordinaires :
CREATE TABLE metadata (name text, value text);
CREATE TABLE tiles (zoom_level integer, tile_column integer,
tile_row integer, tile_data blob);
lignes de metadata : name, format = pbf, minzoom, maxzoom, bounds,
center, attribution, description, json, …
statistiques : SELECT zoom_level, COUNT(*), SUM(LENGTH(tile_data)),
MAX(LENGTH(tile_data)) FROM tiles GROUP BY zoom_levelCertains fichiers stockent tiles comme une vue sur deux tables (map et images), pour que les tuiles identiques, comme l’océan vide, ne soient stockées qu’une fois. La visionneuse gère les deux structures et vous indique celle de votre fichier.
2. De la position sur la carte à la ligne de tuile : l’inversion TMS
Une carte web numérote les tuiles depuis le haut (la ligne 0 est au nord). MBTiles suit l’ancien schéma TMS et numérote les lignes depuis le bas. Chaque demande de tuile inverse donc la ligne :
n = 2^z tuiles par côté au zoom z x = ⌊(λ + 180) / 360 × n⌋ y = ⌊(1 − ln(tan φ + sec φ) / π) / 2 × n⌋ ligne de la carte web (depuis le nord) tile_row = n − 1 − y ligne MBTiles (depuis le sud) exemple z = 5, x = 16, y = 10 → tile_row = 32 − 1 − 10 = 21
Oublier cette inversion est le bug le plus courant des lecteurs MBTiles faits maison : la carte affiche alors l’hémisphère sud à la place du nord. Si votre propre appli dessine les données à l’envers ou au mauvais endroit, vérifiez d’abord ce point.
3. Décompresser la tuile
Les tuiles vectorielles sont presque toujours compressées. La visionneuse lit les premiers octets de la tuile pour savoir comment, puis la décompresse avec le DecompressionStream intégré au navigateur :
1F 8B … gzip (la plupart : tippecanoe, Planetiler, OpenMapTiles) 78 01/5E/9C/DA zlib (certains outils anciens) autre chose non compressée 89 50 4E 47 PNG ┐ FF D8 JPEG ├ tuiles raster : ce n’est pas un fichier vectoriel 52 49 46 46 WebP ┘
Le même contrôle repère les MBTiles raster même quand leurs métadonnées sont fausses, et vous envoie vers la visionneuse raster au lieu d’afficher une carte vide.
4. Décoder le protobuf
Une Mapbox Vector Tile est un message Protocol Buffers. Les nombres sont stockés en varints : 7 bits par octet, le 8e bit signale « d’autres octets suivent ». Les valeurs signées utilisent le codage zigzag pour que les petits nombres négatifs restent courts :
varint 300 = 1010 1100 0000 0010 → 0101100 + 0000010 × 128 = 300
zigzag 0 → 0, −1 → 1, 1 → 2, −2 → 3, 2 → 4
décodage : n = (z >>> 1) ^ −(z & 1)
Tile { layers = 3 }
Layer { name = 1, features = 2, keys = 3, values = 4, extent = 5, version = 15 }
Feature { id = 1, tags = 2, type = 3, geometry = 4 }
tags [indice de clé, indice de valeur, indice de clé, indice de valeur, …]Les noms et valeurs d’attributs ne sont stockés qu’une fois par couche, dans les listes keys et values. Chaque objet ne garde que des paires d’indices, d’où la compacité des tuiles vectorielles. Le décodeur de la visionneuse est écrit à partir de la spécification et a été testé contre le décodeur de référence de Mapbox sur plus de 350 000 objets, sans aucune différence.
5. Commandes de géométrie
La géométrie est une liste de commandes. Chaque entier de commande contient un identifiant de commande et un nombre ; les paramètres qui suivent sont codés en zigzag et relatifs au point précédent. Les coordonnées sont en unités de tuile, de 0 à 4096 d’un bord à l’autre par défaut (l’« extent ») :
commande = (nombre << 3) | id MoveTo = 1, LineTo = 2, ClosePath = 7
9 = (1 << 3) | 1 MoveTo, 1 point
paramètres 50, 34 → +25, +17 curseur (25, 17)
18 = (2 << 3) | 2 LineTo, 2 points
paramètres 0, 18, 18, 0 → (25, 26), (34, 26)
15 = (1 << 3) | 7 ClosePath
anneaux de polygone : aire > 0 anneau extérieur (sens horaire à l’écran)
aire < 0 trou
aire = ½ Σ (x_j·y_i − x_i·y_j) formule du géomètre, y vers le basLe signe de l’aire de l’anneau distingue les anneaux extérieurs des trous, si bien qu’un lac dans un pays reste un trou au dessin comme à l’export GeoJSON.
6. Dessin, échelle et overzoom
Chaque tuile de la carte est un canvas de 256 × 256 pixels (512 sur les écrans haute résolution). Les unités de tuile sont mises à l’échelle en pixels, et au-delà du dernier niveau de zoom la tuile parente est agrandie et décalée, ce qu’on appelle l’overzoom :
échelle = 256 × f / extent f = 2^(z_carte − z_données) décalage = (x mod f, y mod f) × 256 partie de la tuile parente à afficher exemple données jusqu’à z 14, carte à z 16 f = 4, échelle = 256 × 4 / 4096 = 0.25 px par unité la tuile (x, y) de la carte utilise la tuile de données (⌊x/4⌋, ⌊y/4⌋)
Comme les données sont vectorielles, les lignes sont redessinées à la nouvelle échelle et restent nettes, contrairement aux tuiles raster agrandies. Les épaisseurs de ligne et la taille des points sont divisées par l’échelle pour garder la même taille à l’écran à chaque niveau de zoom.
7. Cliquer sur un objet : le test de sélection
Quand vous cliquez, la visionneuse trouve la tuile de données sous le curseur, convertit le clic en unités de tuile et teste les objets des couches visibles, de la couche du dessus vers le bas :
unités par pixel = extent / (256 × 2^(z_carte − z_données))
point sélectionné si la distance ≤ 7 px
ligne sélectionnée si la distance à un segment ≤ 5 px
d² = |p − a − t(b − a)|², t = clamp(((p − a)·(b − a)) / |b − a|², 0, 1)
polygone sélectionné si un rayon depuis le point croise les anneaux un nombre impair de foisUn test rapide du rectangle englobant écarte la plupart des objets avant le test exact, si bien que même les tuiles contenant des dizaines de milliers d’objets répondent instantanément.
8. Budget de taille par tuile
Les grosses tuiles ralentissent les cartes : chacune doit être téléchargée, décompressée et décodée avant le moindre affichage. tippecanoe limite les tuiles à 500 Ko par défaut, et la même limite de 500 Ko est très répandue dans les services de tuiles vectorielles. La visionneuse mesure chaque tuile avec une seule requête SQL et signale les niveaux de zoom qui la dépassent :
taille stockée = LENGTH(tile_data) octets, encore compressés taille moyenne = SUM(taille) / COUNT(*) par niveau de zoom couverture = tuiles / 4^z part de la grille mondiale repère plus grosse tuile < 500 Ko (512 000 octets)
En pratique, les plus grosses tuiles se trouvent souvent à un zoom intermédiaire sur les villes denses, là où beaucoup de bâtiments et de rues se rejoignent avant que la simplification ne les élimine. La liste des plus grosses tuiles vous y mène directement.
MBTiles et les formats d’export en détail
Ce que contient un fichier MBTiles, en quoi les MBTiles vectoriels et raster diffèrent, et ce que contient chaque téléchargement de cette visionneuse.
MBTiles vectoriel .mbtiles
Une base SQLite qui suit la spécification MBTiles 1.3, avec format = pbf. Chaque tuile est une Mapbox Vector Tile compressée en gzip, avec une ou plusieurs couches nommées. La ligne de métadonnées json liste les couches et leurs champs, et tippecanoe ajoute aussi tilestats avec le nombre d’objets et des valeurs d’attributs.
metadata.json = {
"vector_layers": [
{ "id": "cities", "minzoom": 0, "maxzoom": 5,
"fields": { "name": "String", "pop_max": "Number" } } ],
"tilestats": { "layerCount": 1, "layers": [ … ] }
}Les MBTiles vectoriels sont légers pour la zone couverte, se stylisent librement et restent nets à tous les zooms. Il leur faut un moteur de rendu (MapLibre, Mapbox GL, QGIS ou cette visionneuse) et un style pour ressembler à une carte finie.
MBTiles raster .mbtiles
La même structure de base, mais chaque tuile est une image finie (PNG, JPEG ou WebP), en général de 256 × 256 pixels. Le style est figé dans les pixels : la carte est identique partout, mais on ne peut ni la restyler ni l’interroger, et elle devient floue au-delà de son dernier niveau de zoom.
Cette visionneuse reconnaît les fichiers raster à la signature de leurs images et vous envoie vers la visionneuse MBTiles raster de ce site, conçue pour eux.
GeoJSON (vue) .geojson
Tous les objets des couches visibles dans les tuiles qui couvrent la vue actuelle, au niveau de zoom de données actuel, en FeatureCollection RFC 7946 en WGS84. Chaque objet garde ses attributs et en reçoit deux de plus : _layer et _tile. Les polygones sont regroupés en Polygon ou MultiPolygon avec leurs trous.
{ "type": "Feature", "id": 812,
"properties": { "name": "Lyon", "pop_max": 1423000,
"_layer": "cities", "_tile": "5/16/11" },
"geometry": { "type": "Point", "coordinates": [4.8320114, 45.7578137] } }Les objets sont coupés aux bords des tuiles, tels qu’ils sont stockés, donc une longue route peut sortir en plusieurs morceaux. Un export couvre au plus 64 tuiles ; zoomez pour exporter une zone plus petite avec plus de détail.
PNG (vue) .png
Une image des couches vectorielles telles que vous les voyez dans la fenêtre de carte, sur fond blanc, avec une barre de titre indiquant le nom du fichier et le niveau de zoom, et l’attribution des métadonnées.
Pratique pour la documentation, un rapport de bug ou un aperçu rapide pour un client. Le fond de carte n’est pas inclus, donc aucun droit d’image tiers à gérer.
Métadonnées (JSON) .json
Toutes les lignes de la table metadata, avec la ligne json convertie en vrai JSON, plus les statistiques des tuiles par niveau de zoom et la liste des couches trouvées dans les tuiles.
Utile pour comparer deux versions d’un tileset ou copier la liste vector_layers dans un style MapLibre.
Tuile (.pbf) .pbf
La tuile vectorielle sous votre clic, décompressée, exactement comme un serveur de tuiles l’enverrait après décompression. Le nom du fichier contient son z/x/y.
Passez-la à d’autres outils (par exemple vt2geojson ou une visionneuse protobuf) pour déboguer une tuile en détail.
Rapport technique .html
Une page HTML avec le résumé du fichier, un aperçu de la carte, tous les contrôles, la table metadata complète, les couches avec leurs types de géométrie et leurs champs, les tuiles par niveau de zoom, les plus grosses tuiles, des recommandations et la façon d’utiliser le fichier.
Il s’imprime proprement en PDF. Joignez-le à un ticket ou envoyez-le avec une livraison, pour que le destinataire voie le contenu du tileset sans l’ouvrir.
Tous les exports sont créés dans votre navigateur à partir du fichier ouvert. Rien n’est envoyé à un serveur.
Qui utilise une visionneuse MBTiles vectorielles
Les tuiles vectorielles se situent entre les données et la carte, donc des profils très différents ont besoin de regarder dedans.
- Développeurs de cartes web. Vérifiez un tileset avant d’écrire un style MapLibre ou Mapbox GL : quelles couches existent, comment s’appellent les champs, à quels niveaux de zoom les données apparaissent. La liste des champs et les valeurs d’exemple évitent bien des suppositions.
- Analystes SIG. Confirmez qu’un export tippecanoe, Planetiler ou QGIS contient ce que vous attendez, avec les bons attributs et la bonne plage de zoom, avant de le livrer.
- DevOps et administrateurs de serveurs de tuiles. Repérez les tuiles trop grosses, les métadonnées manquantes et les plages de zoom fausses avant de déployer sur TileServer GL, Martin ou un CDN, et gardez le rapport comme trace.
- Cartographie hors ligne et de terrain. Vérifiez que les cartes MBTiles chargées sur tablettes ou terminaux de terrain couvrent la bonne zone et les bons niveaux de zoom avant de perdre le réseau.
- Acheteurs et relecteurs de données. Examinez le tileset vectoriel d’un fournisseur sans rien installer, parcourez les attributs et renvoyez le rapport.
- Étudiants et enseignants. Voyez comment fonctionnent vraiment les tuiles vectorielles : activez la grille, comparez les tailles de tuiles entre niveaux de zoom et observez l’overzoom garder les lignes nettes.
- Éditeurs de données ouvertes. Vérifiez l’attribution, l’emprise et la description dans les métadonnées avant de publier un tileset, pour que les utilisateurs aient la bonne mention et la bonne vue de départ.
- Support et rapports de bugs. Quand une carte montre un trou ou un objet cassé, trouvez la tuile, téléchargez-la en .pbf et joignez-la au ticket avec le rapport.
Questions fréquentes sur MBTiles et les tuiles vectorielles
Les 20 questions les plus posées sur les fichiers MBTiles et cette visionneuse.
1. Qu’est-ce qu’un fichier MBTiles ?
Un fichier MBTiles est une base SQLite qui stocke des tuiles de carte. Elle contient une table tiles avec une ligne par tuile (zoom, colonne, ligne et données de la tuile) et une table metadata avec le nom, le format, la plage de zoom, l’emprise et d’autres informations. Un seul fichier peut contenir toute une carte tuilée, ce qui le rend facile à copier, partager et utiliser hors ligne.
2. Quelle différence entre MBTiles vectoriel et raster ?
Les MBTiles raster stockent des images finies (PNG, JPEG ou WebP). Les MBTiles vectoriels stockent des Mapbox Vector Tiles : géométrie et attributs que l’appli de carte stylise et dessine elle-même. Les fichiers vectoriels sont plus légers pour la même zone, restent nets à tous les zooms et peuvent être restylés ou interrogés. Regardez la ligne format : pbf signifie vectoriel.
3. Comment ouvrir un fichier MBTiles ?
Pour un coup d’œil rapide à un fichier vectoriel, déposez-le dans cette visionneuse : rien à installer, rien à envoyer. Dans QGIS 3.14 ou plus récent, faites glisser le fichier sur la carte ou utilisez Couche → Ajouter une couche → Ajouter une couche de tuiles vectorielles. Pour le publier sur un site, servez-le avec TileServer GL, Martin ou mbtileserver, ou convertissez-le en PMTiles. La section « Comment ouvrir un fichier MBTiles » ci-dessus compare toutes les options.
4. Cette visionneuse MBTiles vectorielles est-elle gratuite ?
Oui. Elle est gratuite, sans compte, sans limite de fichiers par jour et sans filigrane sur les exports. Tout tourne dans votre navigateur, donc il n’y a pas de coût de serveur.
5. Mon fichier est-il envoyé quelque part ?
Non. Le fichier est lu avec FileReader et ouvert avec sql.js (SQLite en WebAssembly) dans l’onglet de votre navigateur. Les tuiles y sont aussi décodées et dessinées. Ce n’est que si vous activez un fond de carte que le navigateur charge des tuiles plan ou satellite chez ces fournisseurs ; votre fichier reste local.
6. Quelle taille peut faire le fichier ?
Jusqu’à 300 Mo. Toute la base est chargée dans la mémoire du navigateur, donc les très gros fichiers demandent beaucoup de RAM. Sur téléphone et tablette, les fichiers de moins de 100 Mo fonctionnent le mieux. Pour des tilesets à l’échelle de la planète, utilisez un serveur de tuiles ou QGIS.
7. Pourquoi la carte est-elle vide à l’ouverture ?
Le plus souvent, la carte est en dessous du premier niveau de zoom du fichier : un tileset urbain peut commencer au zoom 10, et la visionneuse affiche alors un message pour zoomer. Autres causes : des bounds erronés dans les métadonnées (la carte zoome au mauvais endroit) ou des tuiles raster dans le fichier. L’onglet Contrôles vous dit laquelle.
8. Que signifie overzoom ?
Un tileset a un dernier niveau de zoom, souvent 14. Si vous zoomez plus loin, la visionneuse continue d’utiliser les tuiles du zoom 14 et les dessine plus grandes. Comme les données vectorielles sont redessinées, les lignes restent nettes. C’est pourquoi beaucoup de fonds de carte s’arrêtent au zoom 14 : les tuiles contiennent assez de détail pour l’échelle de la rue.
9. Pourquoi les objets sont-ils coupés aux bords des tuiles ?
Chaque tuile vectorielle ne contient que les parties d’objets qui tombent dedans, plus une petite marge. Une longue rivière ou un grand pays est stocké en de nombreux morceaux, un par tuile. Les moteurs de rendu dessinent les morceaux côte à côte, la coupure est donc invisible. Dans l’export GeoJSON, les morceaux restent séparés, chacun avec un attribut _tile.
10. Pourquoi certaines couches manquent-elles dans les métadonnées ?
La ligne de métadonnées json est écrite par l’outil qui a créé le fichier. Si le fichier a été modifié, fusionné depuis plusieurs sources ou produit par un script, une couche peut exister dans les tuiles sans être listée. La visionneuse décode un échantillon de tuiles, trouve quand même ces couches et les marque « absente des métadonnées ».
11. Qu’est-ce que le schéma TMS dans MBTiles ?
MBTiles numérote les lignes de tuiles depuis le bas (le sud), comme l’ancienne norme TMS, alors que les cartes web les numérotent depuis le haut (le nord). Tout programme qui lit des MBTiles doit inverser la ligne : tile_row = 2^z − 1 − y. Si une carte issue d’un MBTiles apparaît à l’envers ou dans le mauvais hémisphère, l’inversion manquante est la cause probable.
12. Quelle taille doivent faire les tuiles vectorielles ?
Gardez chaque tuile sous 500 Ko, la limite par défaut de tippecanoe et une limite courante des services de tuiles. La plupart des bonnes tuiles pèsent entre 10 et 200 Ko. L’onglet Tuiles montre les plus grosses par niveau de zoom, et le rapport propose des moyens de les alléger.
13. Puis-je modifier un fichier MBTiles avec cette visionneuse ?
Non, elle ne fait que lire. Pour changer les données, modifiez la source (GeoJSON, Shapefile, une base de données) et régénérez les tuiles avec tippecanoe, Planetiler ou QGIS. Pour corriger une ligne de métadonnées, ouvrez le fichier dans DB Browser for SQLite et modifiez la table metadata.
14. Puis-je convertir un MBTiles en GeoJSON ?
Pour une partie de la carte, oui : zoomez sur la zone et cliquez sur « GeoJSON (vue) ». Les couches visibles des tuiles de la vue sont exportées, jusqu’à 64 tuiles à la fois. Pour un tileset entier, il est plus propre d’exporter depuis les données sources, car les tuiles sont simplifiées et coupées aux bords.
15. Puis-je convertir un MBTiles en PMTiles ?
Oui, avec le convertisseur gratuit MBTiles vers PMTiles de ce site. PMTiles est un fichier unique que MapLibre peut lire depuis n’importe quel hébergement statique, sans serveur de tuiles. Les tuiles à l’intérieur restent exactement les mêmes.
16. Un fichier MBTiles contient-il un style de carte ?
Non. Un MBTiles vectoriel ne contient que des données ; les couleurs, épaisseurs de ligne et étiquettes viennent d’un style, en général un JSON de style MapLibre ou Mapbox. Cette visionneuse choisit les couleurs automatiquement à partir des noms de couches pour que vous voyiez la structure tout de suite.
17. Quels outils produisent des MBTiles vectoriels ?
Les plus courants sont tippecanoe (à partir de GeoJSON et CSV), Planetiler et OpenMapTiles (à partir d’OpenStreetMap), QGIS (Générer des tuiles XYZ / export de tuiles vectorielles) et le pilote MVT de GDAL. L’onglet Fichier affiche le générateur quand le fichier l’enregistre.
18. Qu’est-ce que tilestats ?
tilestats est une partie des métadonnées json écrite par tippecanoe. Elle compte les objets de chaque couche et liste les noms et types d’attributs et jusqu’à 100 valeurs d’exemple. Quand elle est présente, la visionneuse affiche le nombre total d’objets de chaque couche.
19. Puis-je voir des MBTiles raster ici ?
Cette page est faite pour les tuiles vectorielles. Si vous ouvrez un fichier raster, la visionneuse reconnaît les tuiles image et vous renvoie vers la visionneuse MBTiles de ce site, qui affiche les tuiles PNG, JPEG et WebP.
20. Est-ce que ça fonctionne sur téléphone ou tablette ?
Oui, dans tout navigateur récent sous iOS, Android, Windows, macOS et Linux. Gardez des fichiers légers sur téléphone (moins de 100 Mo), utilisez la version plein écran pour plus de place et touchez un objet pour l’inspecter.
Spécifications, logiciels et sources des données
La visionneuse repose sur des spécifications et des logiciels ouverts :
- MBTiles Specification (Mapbox) · SpecificationSpécification MBTiles de Mapbox : la structure SQLite du fichier, l’ordre des lignes TMS et les lignes de métadonnées contrôlées par la visionneuse.
- Mapbox Vector Tile Specification · SpecificationSpécification Mapbox Vector Tile : la structure protobuf, les commandes de géométrie et les règles d’orientation suivies par le décodeur.
- sql.js · MITSQLite compilé en WebAssembly, qui ouvre la base .mbtiles dans votre navigateur.
- Leaflet 1.9 · BSD-2-ClauseCarte interactive et couche de grille canvas qui dessine les tuiles.
- Natural Earth · Public domainDonnées du domaine public utilisées pour créer le tileset d’exemple (pays, lacs, rivières et villes au 1:50m).
- Protomaps (hosted by KONAKTIVE), CARTO, OpenStreetMap, Esri World Imagery · ODbL and provider termsFonds de carte optionnels : tuiles vectorielles propres hébergées par KONAKTIVE, avec CARTO et OpenStreetMap en secours, et Esri World Imagery.
Le décodeur de tuiles vectorielles, le moteur de rendu, les contrôles et tous les exports ont été écrits pour ce site et tournent entièrement dans votre navigateur.
Outils de tuiles et de fichiers SIG associés
Les contrôles suivent les spécifications MBTiles 1.3 et Mapbox Vector Tile 2.1 et les pratiques courantes ; réussir un contrôle ne garantit pas que toutes les applis de carte accepteront le fichier. Sample data: Natural Earth. Optional base maps © OpenStreetMap contributors, Protomaps (hosted by KONAKTIVE), CARTO, Esri.
