19. Working with Vector Tiles

19.1. What are Vector Tiles?

Vector tiles are packets of geographic data, packaged into pre-defined roughly-square shaped “tiles” for transfer over the web. They combine pre-rendered raster map tiles and vector map tiles. The vector tile server returns vector map data, which has been clipped to the boundaries of each tile, instead of a pre-rendered map image. The clipped tiles represent the zoom-levels of the vector tile service, derived from a pyramid approach. Using this structure, the data-transfer is reduced in comparison to un-tiled vector maps. Only data within the current map view, and at the current zoom level need to be transferred. Also, compared to a tiled raster map, data transfer is also greatly reduced, as vector data is typically much smaller than a rendered bitmap. Vector tiles do not have any styling information assigned so QGIS needs to apply a cartographic style in order to display the data.

../../../_images/vector_tiles_pyramid_structure.png

Fig. 19.1 Pyramid structure of vector tiles with zoom-levels

19.2. Supported Formats

There is support for vector tiles through:

  • remote sources (HTTP/S) - with XYZ template - type=xyz&url=http://example.com/{z}/{x}/{y}.pbf

  • local files - with XYZ template - e.g. type=xyz&url=file:///path/to/tiles/{z}/{x}/{y}.pbf

  • local MBTiles database - e.g. type=mbtiles&url=file:///path/to/file.mbtiles

To load a vector tiles dataset into QGIS, use the addVectorTileLayer Vector Tile tab in the Data Source Manager dialog. Read Using Vector Tiles services for more details.

19.3. Vector Tiles Dataset Properties

The vector tiles Layer Properties dialog provides the following sections:

metadata Information

system Source

symbology Symbology[1]

labelingSingle Labels[1]

rendering Rendering

editMetadata Metadata

[1] Also available in the Layer styling panel

19.3.1. Information Properties

The Information tab is read-only and represents an interesting place to quickly grab summarized information and metadata on the current layer. Provided information are:

  • based on the provider of the layer: name, URI, source type and path, number of zoom levels

  • the Coordinate Reference System: name, units, method, accuracy, reference (i.e. whether it’s static or dynamic)

  • picked from the filled metadata: access, extents, links, contacts, history…

19.3.2. Source Properties

The system Source tab displays basic information about the selected vector tile, including:

  • the Layer name to display in the Layers Panel;

  • the Coordinate Reference System: Displays the layer’s Coordinate Reference System (CRS). You can change the layer’s CRS, by selecting a recently used one in the drop-down list or clicking on the setProjection Select CRS button (see Coordinate Reference System Selector). Use this process only if the layer CRS is wrong or not specified.

../../../_images/vector_tiles_source.png

Fig. 19.2 Vector Tiles Properties - Source Dialog

19.3.3. Symbology and Label Properties

../../../_images/vector_tiles_symbology.png

Fig. 19.3 Vector Tile Layer Symbology

As vector tiles consist of point, line and polygon geometries, the respective symbols are available. To apply a cartographic style you need to use a Style URL when creating the Vector Tiles Connection. The symbology will be shown immediately in the symbology Symbology tab after clicking the OK button.

To create your own cartographic style you can define a set of rules for features and apply style and label. In Fig. 19.3 we set up style and labeling for the OpenStreetMap landuse layer. The settings are made for the class suburb here. For better visibility most of the rules are deselected.

At the bottom the Current Zoom is shown. Check the Visible rules only option to filter the list of rules to only those that are visible at the given zoom level. This makes it easier to work with complex vector styling and to locate troublesome rules. Style and labelling can be dependent on the zoom level.

There is also the option to import styles. Those styles can be supplied as:

19.3.4. Rendering Properties

Under unchecked Scale dependent visibility, you can set the Maximum (inclusive) and Minimum (exclusive) scales, defining a range of scales in which features will be visible. Out of this range, they are hidden. The mapIdentification Set to current canvas scale button helps you use the current map canvas scale as boundary of the range visibility. See Visibility Scale Selector for more information.

../../../_images/vector_tiles_rendering.png

Fig. 19.4 Vector Tiles Properties - Rendering Dialog

19.3.5. Metadata Properties

The editMetadata Metadata tab provides you with options to create and edit a metadata report on your layer. See Metadata for more information.