Ein Vektor-MBTiles-Viewer, der im Browser läuft
Eine MBTiles-Datei ist eine ganze gekachelte Karte in einer einzigen Datei. Darin steckt eine kleine SQLite-Datenbank: eine Tabelle mit den Kacheln und eine mit Angaben dazu. Vektor-MBTiles enthalten Mapbox Vector Tiles, kompakte binäre Kacheln mit Straßen, Gebäuden, Flüssen, Grenzen und ihren Attributen, die eine Karten-App frei gestalten kann. Sie entstehen mit Werkzeugen wie tippecanoe, Planetiler, OpenMapTiles und QGIS und stecken hinter vielen Offline- und selbst gehosteten MBTiles-Karten.
Schwierig wird es, wenn Sie hineinsehen wollen. Ihr Computer kann die Datei nicht öffnen, Bildbetrachter sehen nichts, und die meisten Online-Viewer zeigen nur Rasterkacheln. Für eine Vektor-MBTiles-Datei brauchen Sie normalerweise einen Kachelserver, einen Stil und etwas JavaScript oder ein vollständiges GIS-Programm. Dieser Vektor-MBTiles-Viewer online spart all das: Datei hineinziehen, und er liest die Datenbank, dekodiert die Vektorkacheln im Browser und zeichnet jeden Layer in einer eigenen Farbe auf die Karte.
Er ist als Prüfwerkzeug ebenso gebaut wie als Viewer. Sie können jedes Objekt anklicken und seine Attribute lesen, Layer ein- und ausschalten, sehen, wie groß die Kacheln in jeder Zoomstufe sind und welche am größten sind, und die Datei gegen die Spezifikationen von MBTiles und Vektorkacheln prüfen. Danach exportieren Sie die Objekte der Ansicht als GeoJSON, speichern ein PNG der Karte oder laden einen technischen Bericht für Kollegen oder Kunden. Meine Meinung: Lassen Sie die Prüfungen laufen, bevor Sie ein Tileset auf einen Server stellen. Die meisten „meine Karte ist leer“-Probleme sind eine fehlende Metadatenzeile oder ein falscher Zoombereich, und die lassen sich vorher viel leichter beheben.
Was der Vektor-MBTiles-Viewer kann
Hier ist alles, was das Tool macht, in der Reihenfolge, in der Sie darauf stoßen.
- Datei öffnen. Ziehen Sie eine .mbtiles-Datei auf die Karte oder klicken Sie auf „MBTiles öffnen“. Dateien bis 300 MB öffnen sich im Browser mit der SQLite-Engine sql.js. „Beispiel laden“ lädt ein kleines Welt-Tileset mit Ländern, Seen, Flüssen und Städten, damit Sie das Tool sofort in Aktion sehen.
- Sofort die Karte sehen. Das Tool liest Ausdehnung und Mittelpunkt aus den Metadaten und zoomt zu den Daten. Jeder Layer wird in einer eigenen Farbe auf eine Canvas gezeichnet: Polygone als helle Flächen, Linien als Striche, Punkte als Punkte. Übliche Layernamen wie water, landuse, building, transportation und place bekommen natürliche Farben.
- Mit den Layern arbeiten. Der Reiter Layer listet jeden Layer aus den Metadaten und aus den Kacheln mit seinen Geometrietypen, der Zahl der Objekte in einer Stichprobe und allen Feldern samt Beispielwert. Schalten Sie Layer ein und aus, drücken Sie „Nur“, um einen Layer allein zu sehen, oder klicken Sie auf das Farbquadrat, um eine eigene Farbe zu wählen.
- Objekte per Klick prüfen. Klicken Sie in die Karte, und eine Karte zeigt jedes Objekt an dieser Stelle in den sichtbaren Layern: Layer, Geometrietyp, ID und alle Attribute. Das Objekt wird auf der Karte hervorgehoben, und Sie können es als GeoJSON kopieren oder die ganze Kachel als rohe .pbf-Datei laden.
- Datei-Info lesen. Der Reiter Datei-Info zeigt die Metadaten in verständlichen Worten: Name, Beschreibung, Quellenangabe, Version, Format, Kompression, Zoombereich, Ausdehnung, Mittelpunkt, das erzeugende Werkzeug (zum Beispiel tippecanoe) und die Größe der Datei und der Kacheldaten.
- Kacheln prüfen. Der Reiter Kacheln nennt die Zahl der Kacheln, die Gesamt-, Durchschnitts- und Maximalgröße je Zoomstufe und die zehn größten Kacheln der Datei. „Zeigen“ springt zu einer Kachel. Das Kachelraster zeichnet jede Kachelgrenze mit z/x/y und Größe.
- Prüfungen laufen lassen. Der Reiter Prüfungen testet die Datei: Tabelle tiles, Metadaten, Format, Kompression, die Liste vector_layers in json, Layer ohne Eintrag in den Metadaten, Ausdehnung, Mittelpunkt, den Zoombereich gegenüber den echten Kacheln, Kacheln über 500 KB und die Quellenangabe. Jede Prüfung ist als OK, Warnung oder Fehler markiert und verständlich erklärt.
- Über die Daten hinaus zoomen. Vektorkacheln bleiben scharf, wenn Sie über die letzte Zoomstufe hinaus zoomen. Der Viewer zeichnet deshalb die tiefsten Kacheln vergrößert weiter („Overzoom“). Unterhalb der ersten Zoomstufe sagt ein Hinweis, dass Sie hineinzoomen sollen.
- Darstellung anpassen. Ändern Sie Flächendeckkraft und Linienbreite, schalten Sie die Ortsbeschriftung ein oder aus und fügen Sie zur Orientierung eine Straßen- oder Satellitenkarte hinzu. Ohne Hintergrundkarte wird gar nichts von fremden Servern geladen.
- Exportieren. Laden Sie die sichtbaren Objekte als GeoJSON, die Kartenansicht als PNG, die Metadaten als JSON oder einen technischen Bericht mit Prüfungen, Layern, Feldern, Kachelstatistik und Empfehlungen herunter.
Die Datei wird mit JavaScript und WebAssembly in Ihrem Browser-Tab gelesen. Sie wird nie hochgeladen, daher ist der Viewer auch für vertrauliche oder lizenzierte Daten sicher.
So sehen Sie eine Vektor-MBTiles-Datei an, Schritt für Schritt
Ein echtes Beispiel mit dem Welt-Beispiel-Tileset (Natural-Earth-Daten, Zoom 0 bis 5).

Das Tool öffnet sich mit einer leeren Karte und einem Ablagebereich. Ziehen Sie Ihre .mbtiles-Datei darauf, klicken Sie, um eine Datei zu wählen, oder drücken Sie „Beispiel laden“.

Der Viewer liest die SQLite-Datenbank, zoomt zur Ausdehnung und zeichnet alle vier Layer: Länder als graue Flächen, Seen in Blau, Flüsse als blaue Linien und Städte als rote Punkte mit Beschriftung.

Der Reiter Layer listet jeden Layer mit Geometrie, den Objekten aus einer Stichprobe und jedem Feld samt Beispielwert. Hier sind nur Flüsse und Städte eingeschaltet, mit Blick auf Europa.

Klicken Sie auf eine Stadt. Die Karte zeigt Layer, Geometrietyp, ID und alle Attribute, und das Objekt wird hervorgehoben. Sie können es als GeoJSON kopieren oder die Kachel laden, aus der es stammt.

Der Reiter Datei-Info macht aus der Tabelle metadata verständliche Angaben: Name, Quellenangabe, Format, gzip-Kompression, Zoom 0 bis 5, Ausdehnung, Mittelpunkt und Dateigröße.

Der Reiter Kacheln zeigt Kacheln und Größen je Zoomstufe und die größten Kacheln. Mit eingeschaltetem Kachelraster wird jede Kachelgrenze mit z/x/y und gespeicherter Größe gezeichnet.

Der Reiter Prüfungen testet die Datei gegen die Regeln von MBTiles und Vektorkacheln. Das Beispiel besteht jede Prüfung; eine echte Datei zeigt oft eine oder zwei Warnungen, jede mit Erklärung.

Der technische Bericht fasst Übersicht, Kartenvorschau, Prüfungen, Metadaten, alle Layer und Felder, die Kachelstatistik und Empfehlungen auf einer Seite zusammen. Drucken Sie ihn oder speichern Sie ihn als PDF.
Wie öffnet man eine MBTiles-Datei? Ihre Möglichkeiten
Es gibt mehrere Wege, eine MBTiles-Datei zu öffnen. Welcher passt, hängt davon ab, ob Sie nur hineinsehen, sie prüfen oder in einem Projekt nutzen wollen.
- Im Browser, mit diesem Viewer. Der schnellste Weg, den Inhalt einer Vektordatei zu sehen: keine Installation, kein Server, läuft unter Windows, Mac, Linux und auf Tablets. Ideal, um ein Tileset zu prüfen, Attribute zu lesen und einen Bericht zu teilen. Für Raster-MBTiles (PNG-, JPEG-, WebP-Kacheln) nutzen Sie den MBTiles-Viewer auf dieser Website.
- In QGIS. QGIS 3.14 und neuer öffnet Vektor-MBTiles direkt: Ziehen Sie die Datei auf die Karte oder nutzen Sie Layer → Layer hinzufügen → Vektorkachel-Layer hinzufügen. Raster-MBTiles öffnen Sie über Layer → Layer hinzufügen → Rasterlayer hinzufügen. Gut, wenn Sie die Kacheln mit anderen GIS-Daten kombinieren wollen.
- Mit einem Kachelserver. TileServer GL, Martin und mbtileserver lesen eine MBTiles-Datei und liefern ihre Kacheln über HTTP aus, sodass eine Webkarte in MapLibre GL JS, Mapbox GL JS oder Leaflet sie nutzen kann. So werden MBTiles-Karten meist veröffentlicht.
- Als PMTiles. Wandeln Sie die Datei in PMTiles um (auf dieser Website gibt es einen kostenlosen Konverter) und legen Sie diese eine Datei auf einen beliebigen statischen Speicher. MapLibre kann sie direkt lesen, ohne Kachelserver.
- Auf Smartphone oder GPS-Gerät. Viele Offline-Karten-Apps laden MBTiles-Dateien für die Nutzung ohne Verbindung. Prüfen Sie, welches Kachelformat die App erwartet: Manche akzeptieren nur Rasterkacheln.
- Als Datenbank. Da MBTiles SQLite ist, öffnen auch DB Browser for SQLite oder die Kommandozeile sqlite3 die Datei. Sie sehen Tabellen und binäre Blobs, nicht die Karte, aber das ist praktisch, um eine Metadatenzeile zu korrigieren.
Eines ist überall gleich: Eine MBTiles-Datei trägt Daten, keinen Stil. Jede App entscheidet selbst, wie sie die Layer einfärbt. Dieser Viewer wählt die Farben automatisch, damit Sie den Aufbau sehen, ohne vorher einen Stil zu schreiben.
Wie der Viewer Vektorkacheln liest und zeichnet
Eine Vektor-MBTiles-Datei zu öffnen braucht vier Schritte: die SQLite-Datenbank lesen, die richtige Kachel finden, sie entpacken und dekodieren und sie zeichnen. Hier steht genau, was dabei passiert, mit den Formeln.
1. Die MBTiles-Datenbank
Eine MBTiles-Datei ist eine SQLite-Datenbank mit zwei Pflichttabellen. Der Viewer lädt sie mit sql.js, einer nach WebAssembly übersetzten Version von SQLite, in den Speicher und führt normale SQL-Abfragen darauf aus:
CREATE TABLE metadata (name text, value text);
CREATE TABLE tiles (zoom_level integer, tile_column integer,
tile_row integer, tile_data blob);
Zeilen in metadata: name, format = pbf, minzoom, maxzoom, bounds,
center, attribution, description, json, …
Statistik: SELECT zoom_level, COUNT(*), SUM(LENGTH(tile_data)),
MAX(LENGTH(tile_data)) FROM tiles GROUP BY zoom_levelManche Dateien speichern tiles als View über zwei Tabellen (map und images), damit gleiche Kacheln wie leerer Ozean nur einmal gespeichert werden. Der Viewer kommt mit beiden Aufbauten zurecht und sagt Ihnen, welchen Ihre Datei verwendet.
2. Von der Kartenposition zur Kachelzeile: die TMS-Umkehr
Eine Webkarte zählt Kacheln von oben (Zeile 0 liegt im Norden). MBTiles folgt dem älteren TMS-Schema und zählt Zeilen von unten. Deshalb kehrt jede Kachelanfrage die Zeile um:
n = 2^z Kacheln je Seite bei Zoom z x = ⌊(λ + 180) / 360 × n⌋ y = ⌊(1 − ln(tan φ + sec φ) / π) / 2 × n⌋ Zeile der Webkarte (von Norden) tile_row = n − 1 − y Zeile in MBTiles (von Süden) Beispiel z = 5, x = 16, y = 10 → tile_row = 32 − 1 − 10 = 21
Eine fehlende Umkehr ist der häufigste Fehler in selbst geschriebenen MBTiles-Lesern: Die Karte zeigt dann die Südhalbkugel, wo die Nordhalbkugel sein sollte. Wenn Ihre eigene App die Daten auf dem Kopf oder am falschen Ort zeichnet, prüfen Sie das zuerst.
3. Die Kachel entpacken
Vektorkacheln sind fast immer komprimiert. Der Viewer liest die ersten Bytes der Kachel, um zu sehen wie, und entpackt sie mit dem im Browser eingebauten DecompressionStream:
1F 8B … gzip (die meisten Dateien: tippecanoe, Planetiler, OpenMapTiles) 78 01/5E/9C/DA zlib (manche ältere Werkzeuge) alles andere nicht komprimiert 89 50 4E 47 PNG ┐ FF D8 JPEG ├ Rasterkacheln: keine Vektordatei 52 49 46 46 WebP ┘
Dieselbe Prüfung erkennt Raster-MBTiles auch dann, wenn ihre Metadaten falsch sind, und schickt Sie zum Raster-Viewer, statt eine leere Karte zu zeigen.
4. Das Protobuf dekodieren
Eine Mapbox Vector Tile ist eine Protocol-Buffers-Nachricht. Zahlen sind als Varints gespeichert: 7 Bit je Byte, das 8. Bit sagt „es folgen weitere Bytes“. Vorzeichenbehaftete Werte nutzen die Zigzag-Kodierung, damit kleine negative Zahlen kurz bleiben:
Varint 300 = 1010 1100 0000 0010 → 0101100 + 0000010 × 128 = 300
Zigzag 0 → 0, −1 → 1, 1 → 2, −2 → 3, 2 → 4
dekodieren: 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 [Schlüsselindex, Wertindex, Schlüsselindex, Wertindex, …]Attributnamen und -werte werden je Layer nur einmal in den Listen keys und values gespeichert. Jedes Objekt speichert nur Paare von Indexzahlen, deshalb sind Vektorkacheln so kompakt. Der Dekoder des Viewers ist nach der Spezifikation geschrieben und wurde an mehr als 350.000 Objekten gegen den Referenzdekoder von Mapbox getestet, ohne jeden Unterschied.
5. Geometriebefehle
Die Geometrie ist eine Liste von Befehlen. Jede Befehlszahl enthält eine Befehls-ID und eine Anzahl; die folgenden Parameter sind zigzag-kodiert und relativ zum vorherigen Punkt. Koordinaten sind Kacheleinheiten, standardmäßig 0 bis 4096 über die Kachel (der „extent“):
Befehl = (Anzahl << 3) | ID MoveTo = 1, LineTo = 2, ClosePath = 7
9 = (1 << 3) | 1 MoveTo, 1 Punkt
Parameter 50, 34 → +25, +17 Cursor (25, 17)
18 = (2 << 3) | 2 LineTo, 2 Punkte
Parameter 0, 18, 18, 0 → (25, 26), (34, 26)
15 = (1 << 3) | 7 ClosePath
Polygonringe: Fläche > 0 Außenring (auf dem Bildschirm im Uhrzeigersinn)
Fläche < 0 Loch
Fläche = ½ Σ (x_j·y_i − x_i·y_j) Gaußsche Trapezformel, y nach untenDas Vorzeichen der Ringfläche trennt Außenringe von Löchern. So bleibt ein See in einem Land beim Zeichnen und beim Export nach GeoJSON ein Loch.
6. Zeichnen, Skalieren und Overzoom
Jede Kartenkachel ist eine Canvas mit 256 × 256 Pixeln (512 auf hochauflösenden Bildschirmen). Die Kacheleinheiten werden in Pixel umgerechnet, und über die tiefste Zoomstufe hinaus wird die übergeordnete Kachel vergrößert und verschoben, was man Overzoom nennt:
Maßstab = 256 × f / extent f = 2^(z_Karte − z_Daten) Versatz = (x mod f, y mod f) × 256 Teil der übergeordneten Kachel Beispiel Daten bis z 14, Karte bei z 16 f = 4, Maßstab = 256 × 4 / 4096 = 0.25 px je Einheit Kartenkachel (x, y) nutzt Datenkachel (⌊x/4⌋, ⌊y/4⌋)
Weil die Daten Vektoren sind, werden die Linien im neuen Maßstab neu gezeichnet und bleiben scharf, anders als vergrößerte Rasterkacheln. Linienbreiten und Punktgrößen werden durch den Maßstab geteilt, damit sie auf dem Bildschirm in jeder Zoomstufe gleich groß bleiben.
7. Ein Objekt anklicken: Treffertest
Beim Klick sucht der Viewer die Datenkachel unter dem Mauszeiger, rechnet den Klick in Kacheleinheiten um und testet die Objekte der sichtbaren Layer vom obersten Layer abwärts:
Einheiten je Pixel = extent / (256 × 2^(z_Karte − z_Daten))
Punkt Treffer bei Abstand ≤ 7 px
Linie Treffer bei Abstand zu einem Segment ≤ 5 px
d² = |p − a − t(b − a)|², t = clamp(((p − a)·(b − a)) / |b − a|², 0, 1)
Polygon Treffer, wenn ein Strahl vom Punkt die Ringe ungerade oft kreuztEin schneller Test der Begrenzungsrahmen überspringt die meisten Objekte, bevor der genaue Test läuft. So antworten auch Kacheln mit Zehntausenden Objekten sofort.
8. Größenbudget je Kachel
Große Kacheln machen Karten langsam: Jede muss geladen, entpackt und dekodiert werden, bevor etwas erscheint. tippecanoe begrenzt Kacheln standardmäßig auf 500 KB, und dieselbe Grenze ist bei Vektorkachel-Diensten weit verbreitet. Der Viewer misst jede Kachel mit einer einzigen SQL-Abfrage und markiert die Zoomstufen, die darüber liegen:
gespeicherte Größe = LENGTH(tile_data) Bytes, noch komprimiert mittlere Größe = SUM(Größe) / COUNT(*) je Zoomstufe Abdeckung = Kacheln / 4^z Anteil am Weltraster Richtwert größte Kachel < 500 KB (512.000 Bytes)
In der Praxis liegen die größten Kacheln meist in einer mittleren Zoomstufe in dichten Städten, wo viele Gebäude und Straßen zusammenkommen, bevor die Vereinfachung sie ausdünnt. Die Liste der größten Kacheln führt Sie direkt dorthin.
MBTiles und die Exportformate im Detail
Was in einer MBTiles-Datei steckt, wie sich Vektor- und Raster-MBTiles unterscheiden und was jeder Download aus diesem Viewer enthält.
Vektor-MBTiles .mbtiles
Eine SQLite-Datenbank nach der Spezifikation MBTiles 1.3 mit format = pbf. Jede Kachel ist eine gzip-komprimierte Mapbox Vector Tile mit einem oder mehreren benannten Layern. Die Metadatenzeile json listet die Layer und ihre Felder, und tippecanoe ergänzt tilestats mit Objektzahlen und Attributwerten.
metadata.json = {
"vector_layers": [
{ "id": "cities", "minzoom": 0, "maxzoom": 5,
"fields": { "name": "String", "pop_max": "Number" } } ],
"tilestats": { "layerCount": 1, "layers": [ … ] }
}Vektor-MBTiles sind für die abgedeckte Fläche klein, lassen sich frei gestalten und bleiben in jeder Zoomstufe scharf. Sie brauchen einen Renderer (MapLibre, Mapbox GL, QGIS oder diesen Viewer) und einen Stil, um wie eine fertige Karte auszusehen.
Raster-MBTiles .mbtiles
Derselbe Datenbankaufbau, aber jede Kachel ist ein fertiges Bild (PNG, JPEG oder WebP), meist 256 × 256 Pixel. Der Stil ist in die Pixel eingebrannt, daher sieht die Karte überall gleich aus, lässt sich aber weder umgestalten noch abfragen und wird über ihre letzte Zoomstufe hinaus unscharf.
Dieser Viewer erkennt Rasterdateien an ihrer Bildsignatur und schickt Sie zum Raster-MBTiles-Viewer auf dieser Website, der dafür gebaut ist.
GeoJSON (Ansicht) .geojson
Alle Objekte der sichtbaren Layer in den Kacheln, die die aktuelle Ansicht abdecken, bei der aktuellen Datenzoomstufe, als FeatureCollection nach RFC 7946 in WGS84. Jedes Objekt behält seine Attribute und bekommt zwei zusätzliche: _layer und _tile. Polygone werden mit ihren Löchern zu Polygon oder MultiPolygon gruppiert.
{ "type": "Feature", "id": 812,
"properties": { "name": "Lyon", "pop_max": 1423000,
"_layer": "cities", "_tile": "5/16/11" },
"geometry": { "type": "Point", "coordinates": [4.8320114, 45.7578137] } }Objekte werden an den Kachelgrenzen geschnitten, so wie sie gespeichert sind, daher kann eine lange Straße in mehreren Stücken herauskommen. Ein Export umfasst höchstens 64 Kacheln; zoomen Sie hinein, um einen kleineren Bereich detaillierter zu exportieren.
PNG (Ansicht) .png
Ein Bild der Vektor-Layer, so wie Sie sie im Kartenfenster sehen, mit weißem Hintergrund, einer Titelleiste mit Dateiname und Zoomstufe und der Quellenangabe aus den Metadaten.
Praktisch für Dokumentation, einen Fehlerbericht oder eine schnelle Vorschau für Kunden. Die Hintergrundkarte ist nicht enthalten, daher gibt es keine fremden Bildrechte zu beachten.
Metadaten (JSON) .json
Jede Zeile der Tabelle metadata, mit der Zeile json als echtes JSON, dazu die Kachelstatistik je Zoomstufe und die Liste der in den Kacheln gefundenen Layer.
Nützlich, um zwei Versionen eines Tilesets zu vergleichen oder die Liste vector_layers in einen MapLibre-Stil zu übernehmen.
Kachel (.pbf) .pbf
Die einzelne Vektorkachel unter Ihrem Klick, entpackt, genau so, wie ein Kachelserver sie nach der Dekompression schicken würde. Der Dateiname enthält ihr z/x/y.
Geben Sie sie an andere Werkzeuge weiter (zum Beispiel vt2geojson oder einen Protobuf-Viewer), um eine Kachel im Detail zu untersuchen.
Technischer Bericht .html
Eine HTML-Seite mit Dateiübersicht, Kartenvorschau, allen Prüfungen, der vollständigen Tabelle metadata, den Layern mit Geometrietypen und Feldern, den Kacheln je Zoomstufe, den größten Kacheln, Empfehlungen und Hinweisen zur Nutzung der Datei.
Er lässt sich sauber als PDF drucken. Hängen Sie ihn an ein Ticket oder legen Sie ihn einer Lieferung bei, damit der Empfänger sieht, was im Tileset steckt, ohne es zu öffnen.
Alle Exporte entstehen in Ihrem Browser aus der geöffneten Datei. Nichts wird an einen Server geschickt.
Wer einen Vektor-MBTiles-Viewer braucht
Vektorkacheln liegen zwischen Daten und Karte, deshalb müssen ganz unterschiedliche Menschen hineinsehen.
- Webkarten-Entwickler. Prüfen Sie ein Tileset, bevor Sie einen MapLibre- oder Mapbox-GL-Stil schreiben: welche Layer es gibt, wie die Felder heißen, ab welcher Zoomstufe Daten erscheinen. Feldliste und Beispielwerte ersparen viel Raten.
- GIS-Analysten. Bestätigen Sie, dass ein Export aus tippecanoe, Planetiler oder QGIS enthält, was Sie erwarten, mit den richtigen Attributen und dem richtigen Zoombereich, bevor Sie ihn weitergeben.
- DevOps und Kachelserver-Admins. Finden Sie zu große Kacheln, fehlende Metadaten und falsche Zoombereiche, bevor Sie auf TileServer GL, Martin oder ein CDN ausrollen, und bewahren Sie den Bericht als Nachweis auf.
- Offline- und Feldkartierung. Prüfen Sie, ob die MBTiles-Karten auf Tablets oder robusten Geräten das richtige Gebiet und die richtigen Zoomstufen abdecken, bevor Sie das Netz verlassen.
- Datenkäufer und Prüfer. Sehen Sie sich ein Vektor-Tileset eines Lieferanten ohne Installation an, klicken Sie sich durch die Attribute und schicken Sie den Bericht zurück.
- Studierende und Lehrkräfte. Sehen Sie, wie Vektorkacheln wirklich funktionieren: Kachelraster einschalten, Kachelgrößen über die Zoomstufen vergleichen und beobachten, wie Overzoom die Linien scharf hält.
- Herausgeber offener Daten. Prüfen Sie Quellenangabe, Ausdehnung und Beschreibung in den Metadaten, bevor Sie ein Tileset veröffentlichen, damit Nutzer einen korrekten Nachweis und eine richtige Startansicht bekommen.
- Support und Fehlerberichte. Wenn eine Karte eine Lücke oder ein kaputtes Objekt zeigt, finden Sie die Kachel, laden Sie sie als .pbf und hängen Sie sie mit dem Bericht an das Ticket.
Häufige Fragen zu MBTiles und Vektorkacheln
Die 20 häufigsten Fragen zu MBTiles-Dateien und diesem Viewer.
1. Was ist eine MBTiles-Datei?
Eine MBTiles-Datei ist eine SQLite-Datenbank, die Kartenkacheln speichert. Sie hat eine Tabelle tiles mit einer Zeile je Kachel (Zoom, Spalte, Zeile und Kacheldaten) und eine Tabelle metadata mit Name, Format, Zoombereich, Ausdehnung und weiteren Angaben. Eine Datei kann eine ganze gekachelte Karte enthalten und lässt sich deshalb leicht kopieren, teilen und offline nutzen.
2. Was ist der Unterschied zwischen Vektor- und Raster-MBTiles?
Raster-MBTiles speichern fertige Bilder (PNG, JPEG oder WebP). Vektor-MBTiles speichern Mapbox Vector Tiles: Geometrie und Attribute, die eine Karten-App selbst gestaltet und zeichnet. Vektordateien sind für dieselbe Fläche kleiner, bleiben in jeder Zoomstufe scharf und lassen sich umgestalten oder abfragen. Sehen Sie in die Zeile format: pbf bedeutet Vektor.
3. Wie öffne ich eine MBTiles-Datei?
Für einen schnellen Blick in eine Vektordatei ziehen Sie sie in diesen Viewer: keine Installation, kein Upload. In QGIS 3.14 oder neuer ziehen Sie die Datei auf die Karte oder nutzen Layer → Layer hinzufügen → Vektorkachel-Layer hinzufügen. Für eine Website stellen Sie sie mit TileServer GL, Martin oder mbtileserver bereit oder wandeln sie in PMTiles um. Der Abschnitt „Wie öffnet man eine MBTiles-Datei?“ oben vergleicht alle Wege.
4. Ist dieser Vektor-MBTiles-Viewer kostenlos?
Ja. Er ist kostenlos, ohne Konto, ohne Tageslimit für Dateien und ohne Wasserzeichen auf den Exporten. Alles läuft in Ihrem Browser, daher entstehen keine Serverkosten.
5. Wird meine Datei irgendwo hochgeladen?
Nein. Die Datei wird mit FileReader gelesen und mit sql.js (SQLite in WebAssembly) in Ihrem Browser-Tab geöffnet. Auch Dekodieren und Zeichnen geschehen dort. Nur wenn Sie eine Hintergrundkarte einschalten, lädt der Browser Straßen- oder Satellitenkacheln von diesen Anbietern; Ihre Datei bleibt lokal.
6. Wie groß darf die Datei sein?
Bis 300 MB. Die ganze Datenbank wird in den Speicher des Browsers geladen, sehr große Dateien brauchen also viel RAM. Auf Smartphones und Tablets funktionieren Dateien unter 100 MB am besten. Für Tilesets im Planetenmaßstab nutzen Sie einen Kachelserver oder QGIS.
7. Warum ist die Karte nach dem Öffnen leer?
Meist liegt die Karte unter der ersten Zoomstufe der Datei: Ein Stadt-Tileset beginnt vielleicht bei Zoom 10, und der Viewer zeigt dann einen Hinweis zum Hineinzoomen. Andere Ursachen sind eine falsche bounds in den Metadaten (die Karte zoomt an den falschen Ort) oder Rasterkacheln in der Datei. Der Reiter Prüfungen sagt Ihnen, was zutrifft.
8. Was bedeutet Overzoom?
Ein Tileset hat eine letzte Zoomstufe, oft 14. Wenn Sie weiter hineinzoomen, nutzt der Viewer weiter die Kacheln von Zoom 14 und zeichnet sie größer. Weil Vektordaten neu gezeichnet werden, bleiben die Linien scharf. Deshalb enden viele Basiskarten bei Zoom 14: Die Kacheln enthalten genug Details bis auf Straßenebene.
9. Warum werden Objekte an Kachelgrenzen geschnitten?
Jede Vektorkachel enthält nur die Teile der Objekte, die in sie fallen, plus einen kleinen Puffer. Ein langer Fluss oder ein großes Land wird als viele Stücke gespeichert, eins je Kachel. Karten-Renderer zeichnen die Stücke nebeneinander, sodass der Schnitt unsichtbar ist. Im GeoJSON-Export bleiben die Stücke getrennt, jedes mit einem Attribut _tile.
10. Warum fehlen manche Layer in den Metadaten?
Die Metadatenzeile json schreibt das Werkzeug, das die Datei erstellt hat. Wurde die Datei bearbeitet, aus mehreren Quellen zusammengeführt oder per Skript erzeugt, kann ein Layer in den Kacheln stehen, ohne aufgeführt zu sein. Der Viewer dekodiert eine Stichprobe von Kacheln, findet solche Layer trotzdem und markiert sie mit „nicht in den Metadaten“.
11. Was ist das TMS-Schema in MBTiles?
MBTiles zählt Kachelzeilen von unten (Süden) wie der ältere TMS-Standard, Webkarten zählen sie dagegen von oben (Norden). Jedes Programm, das MBTiles liest, muss die Zeile umkehren: tile_row = 2^z − 1 − y. Erscheint eine Karte aus einer MBTiles-Datei auf dem Kopf oder auf der falschen Halbkugel, ist eine fehlende Umkehr die wahrscheinliche Ursache.
12. Wie groß sollten Vektorkacheln sein?
Halten Sie jede Kachel unter 500 KB, der Standardgrenze von tippecanoe und einer üblichen Grenze von Kacheldiensten. Gute Kacheln liegen meist zwischen 10 und 200 KB. Der Reiter Kacheln zeigt die größten Kacheln je Zoomstufe, und der Bericht schlägt Wege vor, sie zu verkleinern.
13. Kann ich eine MBTiles-Datei mit diesem Viewer bearbeiten?
Nein, er liest nur. Um die Daten zu ändern, bearbeiten Sie die Quelle (GeoJSON, Shapefile, eine Datenbank) und erzeugen die Kacheln neu mit tippecanoe, Planetiler oder QGIS. Um eine Metadatenzeile zu korrigieren, öffnen Sie die Datei in DB Browser for SQLite und bearbeiten die Tabelle metadata.
14. Kann ich MBTiles in GeoJSON umwandeln?
Für einen Kartenausschnitt ja: Zoomen Sie zum Gebiet und drücken Sie „GeoJSON (Ansicht)“. Exportiert werden die sichtbaren Layer aus den Kacheln der Ansicht, bis zu 64 Kacheln auf einmal. Für ein ganzes Tileset ist der Export aus den ursprünglichen Quelldaten sauberer, weil Kacheln vereinfacht und an den Rändern geschnitten sind.
15. Kann ich MBTiles in PMTiles umwandeln?
Ja, mit dem kostenlosen Konverter MBTiles zu PMTiles auf dieser Website. PMTiles ist eine einzige Datei, die MapLibre von jedem statischen Speicher lesen kann, ohne Kachelserver. Die Kacheln darin bleiben genau gleich.
16. Enthält eine MBTiles-Datei einen Kartenstil?
Nein. Eine Vektor-MBTiles-Datei enthält nur Daten; Farben, Linienbreiten und Beschriftungen kommen aus einem Stil, meist einer Stil-JSON für MapLibre oder Mapbox. Dieser Viewer wählt die Farben automatisch nach den Layernamen, damit Sie den Aufbau sofort sehen.
17. Welche Werkzeuge erzeugen Vektor-MBTiles?
Am häufigsten sind tippecanoe (aus GeoJSON und CSV), Planetiler und OpenMapTiles (aus OpenStreetMap), QGIS (XYZ-Kacheln erzeugen / Vektorkachel-Export) und der MVT-Treiber von GDAL. Der Reiter Datei-Info zeigt das Werkzeug, wenn die Datei es vermerkt.
18. Was ist tilestats?
tilestats ist ein Teil der Metadaten json, den tippecanoe schreibt. Er zählt die Objekte je Layer und listet Attributnamen, Typen und bis zu 100 Beispielwerte. Ist er vorhanden, zeigt der Viewer die Gesamtzahl der Objekte jedes Layers.
19. Kann ich hier Raster-MBTiles ansehen?
Diese Seite ist für Vektorkacheln gebaut. Wenn Sie eine Rasterdatei öffnen, erkennt der Viewer die Bildkacheln und verlinkt den MBTiles-Viewer auf dieser Website, der PNG-, JPEG- und WebP-Kacheln anzeigt.
20. Funktioniert er auf Smartphone oder Tablet?
Ja, in jedem aktuellen Browser unter iOS, Android, Windows, macOS und Linux. Halten Sie Dateien auf dem Smartphone klein (unter 100 MB), nutzen Sie die Vollbildversion für mehr Platz und tippen Sie auf ein Objekt, um es zu prüfen.
Spezifikationen, Software und Datennachweis
Der Viewer baut auf offenen Spezifikationen und offener Software auf:
- MBTiles Specification (Mapbox) · SpecificationMBTiles-Spezifikation von Mapbox: der SQLite-Aufbau der Datei, die TMS-Zeilenfolge und die Metadatenzeilen, die der Viewer prüft.
- Mapbox Vector Tile Specification · SpecificationMapbox-Vector-Tile-Spezifikation: der Protobuf-Aufbau, die Geometriebefehle und die Umlaufregeln, denen der Dekoder folgt.
- sql.js · MITNach WebAssembly übersetztes SQLite, mit dem die .mbtiles-Datenbank im Browser geöffnet wird.
- Leaflet 1.9 · BSD-2-ClauseInteraktive Karte und der Canvas-Gitterlayer, der die Kacheln zeichnet.
- Natural Earth · Public domainGemeinfreie Daten, aus denen das Beispiel-Tileset erstellt wurde (Länder, Seen, Flüsse und Städte im Maßstab 1:50m).
- Protomaps (hosted by KONAKTIVE), CARTO, OpenStreetMap, Esri World Imagery · ODbL and provider termsOptionale Hintergrundkarten: eigene Vektorkacheln, bereitgestellt von KONAKTIVE, mit CARTO und OpenStreetMap als Ersatz, sowie Esri World Imagery.
Der Vektorkachel-Dekoder, der Renderer, die Prüfungen und alle Exporte wurden für diese Website geschrieben und laufen vollständig in Ihrem Browser.
Verwandte Kachel- und GIS-Dateiwerkzeuge
Die Prüfungen folgen den Spezifikationen MBTiles 1.3 und Mapbox Vector Tile 2.1 sowie gängiger Praxis; eine bestandene Prüfung garantiert nicht, dass jede Karten-App die Datei akzeptiert. Sample data: Natural Earth. Optional base maps © OpenStreetMap contributors, Protomaps (hosted by KONAKTIVE), CARTO, Esri.
