MapBox MBTiles Vector Tiles (MVT) Reader/Writer (Technology Preview)

Licensing options for this format begin with FME Desktop Professional Edition.

Technology Preview

Note: This format is still under active development, so please expect changes to the current behavior. We do not recommend using this format in production environments.

FME provides read and write access for MapBox MBTiles Vector Tiles (MBTiles MVT). MBTiles is a SQLite Database file format used to store tiles in a single file.

Overview

Tiles contain geometries that can either be raster-based (PNG, JPEG), or can contain compressed vector tile data conforming to the MVT specification.

Reader Overview

The reader can read from a local .mbtiles file with Protocolbuffer Binary Format (PBF) data, which refers to gzip-compressed vector tile data conforming to the MVT specification.

Writer Overview

The writer can write vector geometry and user attributes to an .mbtiles file with PBF format data.

The MBTiles MVT writer stores tile data inside a .mbtiles file. Tiles are generated in WebMercator (EPSG:3857) projection by default

The writer accepts input vector features from various layers and writes them as tiled data to a .mbtiles file at user-specified zoom levels.

Writer-Level Format Parameters

The MBTiles MVT writer supports additional options through the Mapbox MBTiles Vector Tiles (MBTiles MVT) Writer Parameters dialog.

FME supports reading and writing both version 1.0 and 1.1 .mbtiles files. When writing version 1.0 MBTiles data, the bounds and format metadata items will still be written to the metadata table.

Terminology in this Chapter

Term Definition or FME Representation

MBTiles Container File

Reader/writer dataset

Zoom level/tileset

FME supports reading a single zoom level from an MBTiles file. FME supports writing a range of zoom levels.

layer

feature type

field/attribute

attribute

feature

feature

Reader Overview

FME considers a single MBTiles file to be a dataset and prefers files with the .mbtiles extension.

The file must contain the tables tiles and metadata to be valid for reading with the MBTiles reader.

The reader allows for selecting subsets of data based on a user-provided spatial envelope and/or a specific zoom level.

Writer Overview

The MBTiles writer stores the MBTiles data inside an .mbtiles file.

The writer allows for creating subsets of data based on a user provided spatial envelope and/or a specific zoom level and allows various version, format and compression levels to be specified.

Writer-Level Format Parameters

The MBTiles writer supports additional options through the MapBox MBTiles Vector Tiles (MVT) Writer Feature Type Parameters dialog.

Technical Details

MBTile files contain at least two tables:

  • metadata: This table contains two columns – name and value – which are both strings used to identify the data in the tiles table.
  • tiles: This table contains four columns: tile_row, tile_column, zoom_level, and tile_data. tile_data is a binary blob which must contain vector tile data to be read by this reader. The other values must be integers.

Are OpenStreetMap PBF files related to Mapbox Vector Tiles?

They are not related. PBFs are a format – much like XML – and can take many forms. Mapbox Vector Tiles and OpenStreetMap PBFs are protobuf files, but they conform to different specifications and protobuf schemas, and they are used in different ways. FME does not use this extension, but other MVT providers might.

Usage Notes

  • This reader supports reading Mapbox MBTiles Specification version 1.3 with vector tile data.
  • Each layer in the vector tile corresponds to its own feature type. A Tile may have multiple layers, and therefore multiple feature types.