Vector Tiles
   HOME

TheInfoList



OR:

Vector tiles, tiled vectors or vectiles are packets of geographic data, packaged into pre-defined roughly-square shaped "tiles" for transfer over the web. This is an emerging method for delivering styled web maps, combining certain benefits of pre-rendered raster map tiles with vector map data. As with the widely used raster
tiled web map A tiled web map or tile map (also known as slippy map in OpenStreetMap), is a web map displayed by seamlessly joining dozens of individually requested data files, called "tiles". It is the most popular way to display and navigate maps, replacing ...
s, map data is requested by a client as a set of "tiles" corresponding to square areas of land of a pre-defined size and location. Unlike raster tiled web maps, however, the server returns vector map data, which has been clipped to the boundaries of each tile, instead of a pre-rendered map image. There are several major advantages of this hybrid approach. Compared to an un-tiled vector map, the data transfer is reduced, because only data within the current viewport, and at the current zoom level needs to be transferred. The
GIS A geographic information system (GIS) consists of integrated computer hardware and software that store, manage, analyze, edit, output, and visualize geographic data. Much of this often happens within a spatial database; however, this is not ...
clipping operations can all be performed in advance, as the tile boundaries are pre-defined. This in turn means that tiled vector data can be packaged up and distributed, without needing any kind of GIS system available to serve data. Compared to a tiled raster map, data transfer is also greatly reduced, as vector data is typically much smaller than a rendered bitmap. Also, styling can be applied later in the process, or even in the browser itself, allowing much greater flexibility in how data is presented. It is also easy to provide interactivity with map features, as their vector representation already exists within the client. Yet another benefit is that less centralised server processing power is required, since
rasterisation In computer graphics, rasterisation (British English) or rasterization (American English) is the task of taking an image described in a vector graphics format (shapes) and converting it into a raster image (a series of pixels, dots or lines, whic ...
can be performed directly in the client. This has been described as making "rendering ... a last-mile problem, with fast, high-quality GPU in everyone’s pocket".


History

There is a long history of the use of vector tile schemes in GIS. A very early GIS (circa 1966), the Canada Geographic Information System (CGIS), used a vector tile storage scheme that allowed limited resource computers to efficiently access and process vector map data. CGIS used the term "frame" instead of vector tiles. In 1975, the US Wildlife Service initiated a national program to map and digitize all the wetlands in the US. In 1976 they awarded a contract to Autometric to develop a software application that allowed stereo imagery to be digitized using an analytical stereo plotter. Later support for 2d digitization from single photos (aka single photo resection) on a digitizing table was added. The software was called WAMS (Wetlands Analytical Mapping System). The WAMS data store used a tiled vector structure. Each tile was called a “geounit”. A geounit corresponded to one of the USGS quadrangle scales, typically 1:24000. As the data were digitized, they were immediately stored in the tiled data store and topologically structured. Lines crossing geounit boundaries were automatically split. The storage Coordinate Reference System (CRS) was WGS 72 lat/long. WAMS is described in detail in “The wetlands analytical mapping system: WAMS" ywell and Niedzwiadek, 1980 Building on the operational experience gained in implementing and using WAMS as well as from the Map Overlay and Statistical System (MOSS), in 1986 Autometric released a UNIX based commercial GIS that implemented an enhanced tiled and indexed storage and access structure: DeltaMap (later GenaMap). The tiled structure capabilities and indexing scheme is described in "DeltaMap: Not just another GIS". Where WAMS implemented a fixed tile system based on latitude/longitude 1:24000 quadrangles, DeltaMap allowed the user to define any size tile in any coordinate reference system (CRS). In this way, sparse data required only a few tiles whereas dense data could use much smaller tiles. R-trees were used as the indexing scheme for the vector tiles. Further, unlike earlier tiling implementations, DeltaMap/GenaMap used the same tiling and indexing scheme for any geospatial data type including 2d and 2.5d vector and feature data, satellite imagery, 3D grids such as DEMs, and annotation. In the late 1980s, Genasys further enhanced GenaMap to allow "Continuous, seamless" processing of the tiled layers. Basically, from the end user perspective, the tiles became invisible. This capability was true regardless of whether the user were editing, visualizing, querying, or analyzing the data.


Standards and approaches

As of early 2015, there is no dominant standard for vector tiles. Approaches can differ in their URL format, data serialisation format, packaging of styling information, and support for projections other than Web Mercator.


Protocol buffers (Mapbox)

Mapbox Mapbox is an American provider of custom online maps for websites and applications such as Foursquare, Lonely Planet, the ''Financial Times'', The Weather Channel, Instacart, and Strava. Since 2010, it has rapidly expanded the niche of custom ...
has defined an open standard for vector map tiles called "vector-tile-spec" which uses
Google protocol buffers Protocol Buffers (Protobuf) is a free and open-source cross-platform data format used to serialize structured data. It is useful in developing programs that communicate with each other over a network or for storing data. The method involves an ...
for space-efficient data serialisation. Web Mercator is the projection of reference, but vector tiles may be used to represent data with any projection and tile extent scheme. It is also tied to the
Mapnik Mapnik is an open-source mapping toolkit for desktop and server based map rendering, written in C++. Artem Pavlenko, the original developer of Mapnik, set out with the explicit goal of creating beautiful maps by employing the sub-pixel anti-al ...
rendering engine, using a "serialized version of the internal data that Mapnik uses". In March 2015,
Esri Environmental Systems Research Institute, Inc., doing business as Esri (), is an American Multinational corporation, multinational geographic information system (GIS) software company headquartered in Redlands, California. It is best known for ...
, the dominant geospatial software maker, announced that they would be supporting Mapbox's vector tiles standard in both server and client platforms.


Mapnik Vector Tile

This was an early format developed for the Mapnik renderer.


Other formats

The approach followed by TileStache is to allow multiple data serialisation formats; as of early 2015, it supports GeoJSON, ArcJSON, GeoBSON, Arc GeoServices BSON, GeoAMF and Arc GeoServices BSON. The requested format is given in the URL (e.g., https://example.com/tiles/mylayer/2/1/3.json)


Support


Services and applications

Vector tiles have been used by the Google Maps Android client since December 2010 and on the desktop client since 2013. Vector tiles for rendering
OpenStreetMap OpenStreetMap (abbreviated OSM) is a free, Open Database License, open geographic database, map database updated and maintained by a community of volunteers via open collaboration. Contributors collect data from surveying, surveys, trace from Ae ...
data were first proposed in March 2013 and are supported by Mapnik, the most widely used renderer of OpenStreetMap data.
Mapbox Mapbox is an American provider of custom online maps for websites and applications such as Foursquare, Lonely Planet, the ''Financial Times'', The Weather Channel, Instacart, and Strava. Since 2010, it has rapidly expanded the niche of custom ...
, a commercial provider of custom cartography tools and hosting, has focused its cartography tool, Mapbox Studio, around vector tiles. The popular, and very powerful, Android client for OpenStreetMap data,
osmAnd OsmAnd (; OpenStreetMap Automated Navigation Directions) is a free and open-source map and navigation app for Android and iOS. It uses the OpenStreetMap (OSM) map database for its primary displays, but is an independent app not endorsed by the ...
supports vector tiles, which it calls "vector maps".


Servers

The tile server pipeline TileStache supports several flavours of JSON natively. There is also a plugin vector tile provider called VecTiles which converts
PostGIS PostGIS ( ) is an open source software program that adds support for geographic objects to the PostgreSQL object-relational database. PostGIS follows the Simple Features for SQL specification from the Open Geospatial Consortium (OGC). PostGIS is ...
data into vector tiles in Mapnik Vector Tile format (incompatible with the Mapbox specification) or
TopoJSON GeoJSON is an open standard format designed for representing simple geographical features, along with their non-spatial attributes. It is based on the JSON format. The features include points (therefore addresses and locations), line strings ...
. PGRestAPI (also known as Chubbs Spatial Server) is a standalone NodeJS server which can also generate vector tiles on the fly from a PostGIS data source, as well as serving pre-generated vector tiles from sources such as Mapbox Studio. pg_tileserv is an open source PostGIS-only tile server written in Golang that takes in HTTP tile requests and form and executes
SQL Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel") is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
. ESRI ArcGIS Server 10.4 and ArcGIS Pro 1.2 released in February 2016 added support for vector tiles.


Client libraries

The Leaflet JavaScript library does not directly support vector tiles, but there are third-party plugin for vector tiles, Leaflet.MapboxVectorTile for Leaflet 0.7.x and Leaflet.VectorGrid for Leaflet 1.0.x. Mapbox's own JavaScript library, Mapbox GL JS, can be used. OpenLayers supports vector tiles through the object, as of version 3.


References

{{reflist


External links

* Vector tiles (OpenStreetMap wiki)
Mapbox Vector Tile Specification

OpenMapTiles project
Web mapping Google Maps OpenStreetMap