2015-10-28 12 views
6

Ich bin ein wenig verwirrt über Fliesen in MapBox. Wie ich verstanden habe, ist eine Fliese ein kleines Stück Karte, wie in einem Puzzle.MapBox MB Tile vs Vektor Tile

MBTiles sind Bilder, aber sie sind mit einer Datenbank verbunden, um Daten zu lesen und Interaktionen zu ermöglichen. Wenn ich also die Maus bewege, kann ich Details der Ebenen unter dem Cursor anzeigen.

Vektorkacheln speichern Sie alle Daten in Vektoren, und sie werden nur für ein schnelles Rendern des Bildes verwendet. Die Interaktion mit solchen Daten ist nicht möglich.

Bin ich falsch?

Jetzt sehe ich, dass es das Werkzeug TileMill für MBTiles und MapBox Studio Classic für Vector Tiles gibt. Ich denke, sie sind für verschiedene Zwecke, die ersten für interaktive Karten, letztere für schnelles Rendering. Also .... warum TileMill ist not anymore supported, zugunsten von MBStudio? Ist es mit MBStudio möglich, interaktive Karten zu erstellen?

Vielen Dank

Antwort

16

Dies ist eine gute Frage!

mbtile ist ein Dateityp, der entweder Raster- oder Vektorkacheln enthalten kann. Denken Sie darüber nach wie eine Adobe Illustrator .ai Datei - sie kann entweder Vektor- oder Rasterdaten enthalten. Beide Rasterkacheln und Vektorkacheln können im Format mbtile vorliegen.

Mit TileMill wurden Ihre Vektordaten (Shapefile, CSV usw.) mit Ihrem CartoCSS-Stil kombiniert und an Mapnik übergeben, um eine Reihe von gekachelten Bildern zu erzeugen. Sie können dann Ihre Kacheln speichern und über einen Kachelserver in eine Webkarte einspeisen. Mit Mapbox Studio Classic konvertieren Sie Ihre Daten in Vektorkacheln und erstellen einen CartoCSS-Stil, um die Daten zu formatieren. Die Bildkacheln werden jedoch erst erstellt, wenn die Karte über den Browser angefordert wird. Letztendlich ist die Ausgabe auf der Karte die gleiche - ein Raster aus Raster-Kacheln. Die Interaktivität, die Sie in TileMill mit Rasterkacheln erstellt haben, geschieht über ein UTFGrid. Dies ist eine unsichtbare Rasterebene, die sich unter den Bildkacheln befindet und bestimmten Orten Interaktivität verleiht. Die Interaktivität ist nicht wirklich mit irgendwelchen individuellen Funktionen verbunden - sie befindet sich nur am selben Ort wie Ihre Funktionen. Dies ist auch in Mapbox Studio Classic möglich, da die Ausgabe in der Karte auch ein Raster aus Raster-Kacheln ist. Sie können mehr darüber in Mapbox Studio Classic in der style quickstart guide lesen.

Um Ihre Frage zu beantworten, war der Umstieg auf Mapbox Studio Classic die Verwendung von Vektorkacheln. Sie sind viel kleiner als Rasterbildkacheln und können im Handumdrehen formatiert werden, sodass Sie beispielsweise nicht zwei separate Bildersätze speichern müssen, um Retina-Bildschirme aufzunehmen. Es bedeutet auch, dass Sie mehrere Stile gleichzeitig auf die gleichen Vektordaten anwenden können. Dies bedeutet, dass Sie nicht für jeden Stil oder jede kleine Änderung eine ganze Reihe von Bildern neu generieren müssen.

+1

ist es möglich eine solche Interaktivität zu mehreren Ebenen in einem Stil-Projekt hinzuzufügen?Oder ich sollte mehrere Stile erstellen, jeder mit seinem interaktiven UTFGrid, und diese dann als separate Ebenen zur Karte hinzufügen? – DeLac

+0

FWIW, die 'mbtiles'-Spezifikation (Stand: Schreiben - v1.2) unterstützt nur Raster-Daten. Aber es gibt eine weit verbreitete Angewohnheit, die Spezifikation zu ignorieren. und stopfte Vektordaten hinein. Die Daten haben normalerweise die Form von gezippten Mapbox Vector Tiles. – Mohan

0

Wenn die Metadatentabelle ein Datensatzformat = pbf enthält, dann ist das mbtiles ein Vektorkacheln und kein Raster. mbtiles SQLite-Datenbank kann ein Container für Vektorkacheln sein, die in der Tiles-Tabelle und im tile_data Blob-Feld PBF -Protocol Buffers - protobuf (https://github.com/google/protobuf - sprachneutrale Plattform neutraler Mechanismus zur Serialisierung strukturierter Daten) von Google entwickelt wurden. Werkzeuge wie MapBox Studio bauen Vektorkacheln aus GIS Vektordaten und Datenbanken