finds.dev← search

// the find

geometalab/Vector-Tiles-Reader-QGIS-Plugin

★ 153 · Python · GPL-2.0 · updated Jun 2024

Vector Tiles Reader QGIS-Plugin - QGIS Python plugin which reads Mapbox Vector Tiles from a server, a local MBTiles file or a directory

A QGIS plugin that pulls Mapbox Vector Tiles from remote tile servers, MBTiles files, or zxy directories and renders them directly inside QGIS 3. It also translates Mapbox GL JSON styles into QGIS QML styles on the fly. This is for GIS analysts or spatial developers who want MVT data in a desktop QGIS workflow instead of a web map.

The style converter is the most interesting part — converting Mapbox GL JSON to QGIS QML is a genuinely hard problem given the filter expression syntax differences, and the sample data shows it handles scale-dependent rules, expressions, labels, and sprite-based symbols. Vendoring protobuf and mapbox_vector_tile into ext-libs means it works inside QGIS's sandboxed Python without relying on system packages. The test suite has decent coverage across tile math, TileJSON parsing, and style conversion with real fixture files. Supporting three source types (server, MBTiles, zxy directory) in one plugin is practical.

The last commit was June 2024 and CI is still pointed at Travis CI with a dead badge — the project is effectively unmaintained, and QGIS has since added native vector tile support that makes this plugin mostly redundant for basic use cases. The vendored protobuf copy is a very old version (pre-4.x) and the pbf2geojson .so/.dll blobs are precompiled for i686/x86_64 only, so ARM Macs are silently broken. The Mapbox GL to QGIS style translation is incomplete — the README doesn't say which GL paint properties are unsupported, and complex filter expressions or data-driven properties will silently drop through. No async tile fetching; loading a high-zoom tile grid on a slow connection blocks the QGIS UI thread.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →