2015-10-28 14 views
6

Sono un po 'confuso riguardo a Tiles in MapBox. Come ho capito, una tessera è un piccolo pezzo di mappa, come in un puzzle.MapBox MB Tile vs Vector Tile

MBTiles sono immagini, ma sono collegate a un database per leggere i dati e consentire le interazioni possibili. Quindi, se sposto il mouse, posso mostrare i dettagli degli strati sotto il cursore.

Vector Tiles memorizza tutti i dati nei vettori e vengono utilizzati solo per un rendering veloce dell'immagine. L'interazione con tali dati non è possibile.

Mi sbaglio?

Ora, vedo che c'è lo strumento TileMill per MBTiles e MapBox Studio Classic per le piastrelle vettoriali. Immagino che siano per scopi diversi, il primo per le mappe interattive, il secondo per il rendering veloce. Quindi .... perché TileMill è not anymore supported, in favore di MBStudio? È possibile con MBStudio anche realizzare mappe interattive?

Grazie

risposta

16

Questa è una bella domanda!

mbtile è un tipo di file che può contenere tessere raster o vettoriali. Pensaci come un file Adobe Illustrator .ai - può contenere dati vettoriali o raster. Entrambe le tessere raster e le tessere vettoriali possono essere nel formato mbtile.

Con TileMill, i dati vettoriali (shapefile, CSV, ecc.) Sono stati combinati con lo stile CartoCSS e passati a Mapnik per generare un mucchio di immagini affiancate. È quindi possibile memorizzare le tessere e alimentarle in una mappa Web tramite un server di tessere. Con Mapbox Studio Classic, stai convertendo i tuoi dati in tessere vettoriali e creando uno stile CartoCSS per lo stile dei dati, ma i riquadri dell'immagine non vengono creati finché la mappa non viene richiesta tramite il browser. In definitiva, l'output sulla mappa è lo stesso: una griglia di tessere raster.

L'interattività creata in TileMill con riquadri raster avviene tramite un UTFGrid. Questo è un livello raster invisibile che si trova sotto le tessere dell'immagine e aggiunge interattività a determinate posizioni. L'interattività non è in realtà connessa a nessuna singola funzionalità, è solo nella stessa posizione delle tue funzioni. Questo è anche possibile in Mapbox Studio Classic, poiché l'output nella mappa sarà anche una griglia di riquadri raster. Puoi leggere ulteriori informazioni su come farlo in Mapbox Studio Classic nello style quickstart guide.

Quindi per rispondere alla tua domanda, il passaggio a Mapbox Studio Classic è stato quello di sfruttare le tessere vettoriali. Sono molto più piccole delle tessere dell'immagine raster e possono essere stilizzate al volo, quindi, ad esempio, non è necessario memorizzare due serie di immagini separate per adattarle agli schermi retina. Significa anche che è possibile applicare più stili contemporaneamente agli stessi dati vettoriali, il che significa che non è necessario rigenerare un'intera serie di immagini per ogni stile o ogni piccola modifica.

+1

è possibile aggiungere una tale interattività a più livelli in un unico progetto di stile?O dovrei creare più stili, ognuno con il suo UTFGrid interattivo, e poi aggiungerli alla mappa come livelli separati? – DeLac

+0

FWIW, la specifica 'mbtiles' (come da scrittura - v1.2) supporta solo i dati raster. Ma c'è un'abitudine diffusa di ignorare le specifiche. e riempire i dati vettoriali lì dentro. I dati sono in genere la forma di piastrelle vettoriali Mapbox compresse. – Mohan

0

Se la tabella Metadata contiene un formato record = pbf, allora mbtiles è un vettore tile e non raster. mbtiles Il database SQLite può essere un contenitore per i riquadri vettoriali che hanno nella tabella Tiles e nel campo blob tile_data PBF -Protocol Buffers - protobuf (https://github.com/google/protobuf - meccanismo neutro della piattaforma neutrale per la serializzazione dei dati strutturati) Sviluppato da Google. Strumenti come MapBox Studio costruiscono piastrelle vettoriali da GIS Dati vettoriali e database