awesome-vector-tiles
by mapbox
Awesome implementations of the Mapbox Vector Tile specification
AI summary
Vector tile library
A collection of implementations and tools for encoding and decoding vector tile data
- stars
- 2.4K
- forks
- 280
- watching
- 225
- awesome lists
- 6
- entries
- 129
What's in the list
129 links in 9 sections, with live GitHub stats.activeno commit in 2y
Parsers & Generators
vector-tile-js
Parses vector tiles with JavaScript
mapnik-vector-tile
C++ vector tile read/write implementation on top of Mapnik
mbtiles-cpp
C++ library for decoding of mbtiles and vector data into function callbacks
vector-tile-py
Python tool to convert a Mapnik vector tile to GeoJSON
node-mapnik
Node.js API for vector tiles which depends on
vector-tile-cs
Parses vector tiles with C# (native C# implementation, no dependencies)
mapbox-vector-tile-cs
Parses vector tiles with C# (uses protobuf-net)
tilelive-vector
Implements for reading vector tiles and rendering to image tiles in Node.js
tilelive-bridge
Implements for creating vector tiles from traditional Mapnik datasources in Node.js
mapbox-vector-tile
is a Python package for vector tile encoding. Used in Mapzen's vector tile service and TileStache. Only support V1 Tile spec and not V2, no longer maintained
geojson-vt
Slice GeoJSON into vector tiles on the fly in the browser
geojson2vt
Python port of to convert GeoJSON into vector tiles
vt2pbf
Python port of encode vector tiles into pbf
java-vector-tile
A java encoder and decoder for vector tiles
mapbox-vector-tile-java
Encode and decode v2.1 Mapbox Vector Tiles. Convert JTS Geometry to and from MVT features, including simple user data support. Utility functions for converting world coordinates to MVT coordinates and clipping to a tile envelope
cached-vector-tile
An alternative implementation of the vector-tile-js interface, backed by plain JS objects/arrays rather than parsed-on-demand protobuf data. Trades away memory efficiency for faster feature.loadGeometry() calls
tilegrinder
A helper library for applying a data altering function on each vector tile in an MBTiles, using the native protobuf wrapper for de- and encoding, recompressing the results and storing them either in an MBTiles or as single files
SwiftVectorTiles
A Swift encoder for vector tiles according to the Mapbox vector tile spec
orb
A Go geometry library with mvt <-> geojson support
dart-vector-tile
A simple Dart package to encode & decode Mapbox Vector Tile
php-vector-tile-data-provider
A Composer library for encoding arbitrary data (as read from GeoJSON/WKT/WKB or populated manually) to MVT. Designed as a base dependency for custom tile server ready for frequent updates on high RPS. Best fit for real-time weather or traffic data visualization
Clients
Mapbox GL Native
C++/OpenGL vector maps library with native SDKs for Android, iOS, Node.js, macOS, and Qt
Mapbox GL JS
JavaScript/WebGL vector maps library
MapLibre GL
Is a community led fork derived from Mapbox GL JS prior to their switch to a non-OSS license
- OpenLayers
JavaScript vector & raster library
WhirlyGlobe/Maply
Objective C code that is able to read and render vector tiles(and style with mapnik xml) on iOS devices
Leaflet.MapboxVectorTile
is able to read PBF MapboxVectorTiles from a REST endpoint and render them as a TileLayer on a Leaflet Map. Use this option if you want to utilize vector tiles on a standard Leaflet web map without needing WebGL
CARTO Mobile SDK
C++ maps library focused on offline features, for iOS, Android, Windows Phone and Xamarin with bindings for Java, Objective-C and C#. Based on , but open source and uses CartoCSS
Mapzen Tangram
JavaScript library for rendering 2D & 3D maps live in a web browser with WebGL, supports MVT, GeoJSON, TopoJSON
Mapzen Tangram-es
C++ library for rendering 2D and 3D maps using OpenGL ES 2 with custom styling and interactions
mapbox-gl-leaflet
Create Mapbox GL layers in Leaflet
react-native-mapbox-gl
Render Mapbox GL maps from React applications
hoverboard
Render vector tiles on canvas with Leaflet 0.7.x (supports GeoJSON, TopoJSON, and protobuf) no longer maintained
Leaflet.VectorGrid
Display gridded vector data (sliced GeoJSON, TopoJSON or Mapbox Vector Tiles) in Leaflet 1.0.0
- ArcGIS API for JavaScript
Draw vector tile layers as part of your web map. Rendering done via integration
mapscii
A Vector Tile to Braille and ASCII renderer for xterm-compatible terminals
Unofficial Mapbox GL Native bindings for Qt QML
Qt QML bindings for Qt 5.6 and higher
Mapbox-vector-tiles-basic-js-renderer
A fork of mapbox-gl-js giving you full control over rendering of specific tiles, also provides vector tile overlay for google maps
QtPBFImagePlugin
Qt image plugin for displaying Mapbox vector tiles
AliFlux VectorTileRenderer
A highly customizable vector tile renderer built using C# for .Net platform. Comes with bindings for Mapsui and Gmap.Net components
- Azure Maps Web SDK
Render vector tile layers on an interactive web map control using JavaScript or TypeScript
Vector Tiles Google Maps
Render vector tile layers on Google Maps
- deckGl
WebGL-powered framework for visual exploratory data analysis of large datasets
iTowns
Three.js based JavaScript library for visualizing 2D vector, raster and 3D geospatial data
Applications / Command line tools
- Mapbox Studio
Web design studio for creating and styling vector tiles
Mapbox Studio Classic
Desktop design studio for both creating vector tiles from raw geodata and for rendering them on-the-fly into image tiles. Internally uses modules to handle vector tiles (see and ) use instead
kosmtik
Design maps with CartoCSS and Mapnik
- ArcGIS Pro
Generate vector tiles from maps authored in ArcGIS Pro or imported from ArcMap
- MVT Styler
map style editor for vector tiles
Maputnik
A visual style editor for the Mapbox GL style specification
- QGIS
supports vector tiles as a new map layer type since 3.14 release. It reads and displays styled vector tiles, adds styling GUI and writing (available as a processing toolbox algorithm)
QGIS Vector Tiles Reader
QGIS Python plugin which reads Mapbox Vector Tiles from local MBTiles file or remote
mapbox-gl-inspect
Plugin for Mapbox GL JS to view the view and inspect VT features
- Mapbox MVT Chrome Extension
Google Chrome extension that parses loaded vector tiles on the fly, shows short statistics and shows each vector tile as GeoJSON
Fresco
is an open source Mapbox Vector Tile Style editor
- Baremaps
An open source pipeline for producing Mapbox vector tiles from OpenStreetMap with Postgis and Java
- Felt
create, style, and share maps on the web
CLI Utilities
mbview
Watch MBTiles in your localhost. View tiles in a basic Mapbox GL JS webapp locally
tippecanoe
Build vector tilesets from large collections of GeoJSON features
tilemaker
Command line tool to produce vector tiles directly from an .osm.pbf extract without an intermediate database
mapbox-filter
Filter MBTiles according to Mapbox GL JS styles, shrink MBTiles directly, serve locally over http, publish to S3-compatibile storage
- vector-tiles-producer
Command line tool in C++ to creates vector tiles for a given area at chosen zoom levels using a Mapnik XML. no longer maintained
vt-geojson
decodes vector tiles to GeoJSON FeatureCollections
tl
An alternate command line interface to tilelive
tileshrink
Reduce the layer extent and simplify the resulting geometries of all vector tiles in an MBTiles
tiler @GeoVation
Command line tool for converting GeoJSON, Shapefiles or PostGIS layer to raw Vector Tiles (or MBTiles)
tiler @thomersch
Command line tool to convert GeoJSON to Vector Tiles (written in Go language)
geojson2mvt
npm package for building a static vector tile tree for given xyz bounds from a geojson file (uses )
- OGR MVT
and - The GDAL/OGR MVT and MBTILES drivers can be used to read and write vector tiles, respectively as tileset on the filesystem or in a mbtiles container (GDAL >= 2.3.0)
MBUtil
Import and export MBTiles to disk no longer maintained
Datamaps
C application that can be used to create vector tiles and store them in an mbtiles. See the command. no longer maintained, use tippecanoe instead
vt2geojson
Command line tool to convert Vector Tiles to GeoJSON (written in language based on the awesome package)
python-vt2geojson
Command line tool and Python package for converting vector tiles into GeoJSON
vt2geojson
Command line tool and npm package for converting vector tiles into GeoJSON
- tileinfo
Display TileJSON info about an mbtiles file
XYZ
Simple tool to procedurally prime XYZ tile caches to a given zoom level
Planetiler
Command-line Java program to build planet-scale vector tilesets from OpenStreetMap data in a few hours
sequentially-generate-planet-mbtiles
Easily generate planet-scale vector tilesets on low memory / low cpu count devices
Mapbox GL JS Plugins
gl-draw
Adds support for drawing and editing features on Mapbox GL JS maps
Servers
- ArcGIS Online
Supports serving vector tiles and rendering in the mapping application powered by the ArcGIS API for JavaScript
BBOX
An open source server to provide geodata as OGC API features, maps, tiles and more
Cloud-Tileserver
Serve vector tiles with AWS. Includes a Lambda-Function written in Typescript to dynamically create vector tiles with postgis. Terraform configuration and step-by-step tutorial is also included
ClusterBuster
A Mapbox Vector Tile (MVT) map tiling server with built-in clustering and filtering
djangorestframework-mvt
A Django REST Framework extension for creating views that serve Postgres data as tiles. Tiles can be paginated and filtered by their properties
FastVector
is a multi database PostGIS based vector tile server with cql filtering and caching written in with . Inspired by TiMVT
- GeoServer
java web application for sharing and editing geospatial data. available since GeoServer 2.11
go-vtile-example
An example server written in Go
Hastile
Haskell web server using PostGIS to deliver vector tiles
Kartotherian
Wikipedia tile server with backend tile pre-generator
LOD
A thin map tile proxy with in-memory caching and a slim authentication backend
- MapServer
Open Source platform, written in C, for publishing spatial data and interactive mapping applications to the web. MVT output available since version 7.2
martin
is a PostGIS vector tiles server suitable for large databases
mbtileserver
A simple Go-based server for map tiles stored in mbtiles format
- OpenMapTiles
Set of open-source tools for self-hosting of OpenStreetMap maps in more than 50 languages. It provides both raster as well as vector tiles, WMS and WMTS services for GIS programs, support for JavaScript viewers and mobile SDK
- OSM Scout Server
Maps server providing vector and raster tiles, geocoder, and router. Designed to be used on Linux (mobile and PC) to provide offline maps; written in C++
pgsql-omt-schema
A set of templated SQL functions to serve OpenMapTiles vector tiles from a PostgreSQL database
- Portal for ArcGIS
Supports serving vector tiles and rendering in the mapping application powered by the ArcGIS API for JavaScript
postserve
A small Python based tileserver using ST_AsMVT and ST_AsMVTGeom to generate vector tiles on the fly. Designed for use with PostGIS 2.4 and the OpenMapTiles project
t-rex
MVT server in a single executable written in Rust. Serves tiles from PostGIS supporting custom tile grids
Tegola
is a vector tile server delivering Mapbox Vector Tiles with support for PostGIS and GeoPackage data providers
tessella
lightweight Node.js Mapbox Vector Tiles server. Inspired by tessera
tessera
Supports serving and rendering vector tiles. Uses the same core libraries as Mapbox Studio
tilenol
A lightweight, scalable tile server that transforms geospatial data stored in multiple backends (e.g. Elasticsearch, PostgreSQL) into Mapbox Vector Tiles on demand
tileserver
Mapzen Vector Tile Service
tileserver-gl
Vector and raster maps with GL styles. Server side rendering by Mapbox GL Native. Map tile server for Mapbox GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc
tilesplash
A light and quick nodejs webserver for serving topojson or mapbox vector tiles from a postgis backend
TileStache
added support for Mapbox Vector tiles via .pbf extension requests
tilestrata
with tilestrata-vt, it can generate Mapnik Vector Tiles; with , it can serve Mapbox Vector Tiles from a PostGIS db
- Tyler
An Open Source tiling server maintaining a Vector Tile storage providing a REST interface
SpatialServer (PGRestAPI)
A multi-purpose GeoSpatial NodeJS web server created at that not only serves MBTiles stuffed with vector tiles, it can also cut vector tiles on the fly from a PostGIS database. No longer maintained
Utilery
Server to generate vector tiles from PostGIS queries. Python based no longer maintained
pg_tileserv
A very thin PostGIS-only tile server in Go. Takes in HTTP tile requests, executes SQL, returns MVT tiles
ngx_http_mbtiles_module
Serve mbtiles files directly from nginx. Ideal for low-resource environments or situations where the mbtiles contents are changing frequently
TiMVT
A lightweight PostGIS based dynamic vector tile server
- Vallaris Maps
Mapping Platforms to storage process and services GIS Data. Provide DataService API and Maps API (Vector Tiles, WMS, WMTS) Compilance in OGC API Standards
- Quarkus MVT Tile Server
A Quarkus application that serves Mapbox Vector Tiles from PostGIS databases
Low-level utilities
vt-pbf
serialize JavaScript objects representing vector tiles into binary Protocol Buffer encodings of vector tiles
vtzero
minimalist vector tile decoder and encoder in C++
mvt-fixtures
a suite of valid and invalid test fixtures according to the Mapbox Vector Tile spec versions. Includes simplified unit test fixtures and real-world fixtures to test your encoders and decoders
mapbox-gl-function
Mapbox GL style function evaluator now maintained as party of mapbox-gl-js
- mapbox-gl-filter-simplify
Simplifies and complexifies filters in Mapbox GL Styles removed
pymgl
Maplibre GL Native Static Renderer for Python
Articles
- Vector tiles remixed
guide to using to generating vector tiles
- Build Your Own Static Vector Tile Pipeline
guide transforming, encoding and hosting tiles in the cloud; using ogr2ogr + tippecanoe + Mapbox GL JS
- Using the new MVT function in PostGIS
Building a vector tile service with PostGIS, express, and pg-promise
Tegola OSM/OMT Import Procedure
This document outlines everything necessary to build, from scratch, an operational OpenStreetMap vector tile server. The stack consists of the latest LTS Ubuntu Server distribution, Tegola as the tile server, PostgreSQL as the database, and the use of the open source OpenMapTiles standard schema
- Creating OpenStreetMap Tiles
create you own vector tileset (and it's raster representation) from openstreetmap pbf data using tilemaker and tileserver-gl
Performance analysis
vector-tiles-benchmark
Performance comparison of open source vector tiles server solutions for providing geodata from PostGIS databases ( , , , , , )
Nothing in this list matches your filter.
Featured in 6 awesome lists
Each link jumps to the spot where the list mentions awesome-vector-tiles.