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 The Vector Map (VMAP), also called Vector Smart Map, is a vector-based collection of geographic information system (GIS) data about Earth at various levels of detail. Level 0 (low resolution) coverage is global and entirely in the public domain. L ...
data. As with the widely used raster
tiled web map A tiled web map, slippy map (in OpenStreetMap terminology) or tile map is a map displayed in a web browser by seamlessly joining dozens of individually requested image or vector data files. It is the most popular way to display and navigate maps, ...
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) is a type of database containing Geographic data and information, geographic data (that is, descriptions of phenomena for which location is relevant), combined with Geographic information system software, sof ...
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 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 {{Unreferenced, date=October 2012 The Canada Geographic Information System (CGIS) was an early geographic information system (GIS) developed for the Government of Canada beginning in the early 1960s. CGIS was used to store geospatial data for t ...
(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 Inc. and Snapchat. Since 2010, it has rapidly expanded the niche of cus ...
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 to communicate with each other over a network or for storing data. The method involves an i ...
for space-efficient data serialisation.
Web Mercator Web Mercator, Google Web Mercator, Spherical Mercator, WGS 84 Web Mercator or WGS 84/Pseudo-Mercator is a variant of the Mercator map projection and is the de facto standard for Web mapping applications. It rose to prominence when Google Maps adop ...
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-ali ...
rendering engine, using a "serialized version of the internal data that Mapnik uses". In March 2015,
Esri Esri (; Environmental Systems Research Institute) is an American multinational geographic information system (GIS) software company. It is best known for its ArcGIS products. With a 43% market share, Esri is the world's leading supplier of GIS ...
, 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., http://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 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 Inc. and Snapchat. Since 2010, it has rapidly expanded the niche of cus ...
, 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 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 OpenStreetMap Found ...
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). Technicall ...
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 Go is a statically typed, compiled programming language designed at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It is syntactically similar to C, but with memory safety, garbage collection, structural typing, and CSP-style con ...
that takes in HTTP tile requests and form and executes SQL. 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 ol.source.VectorTile object, as of version 3.


External links

* Vector tiles (OpenStreetMap wiki)
Mapbox Vector Tile Specification

OpenMapTiles project


References

{{reflist Web mapping Google Maps OpenStreetMap