Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Standards and approaches  



2.1  Protocol buffers (Mapbox)  





2.2  Mapnik Vector Tile  





2.3  Other formats  







3 Support  



3.1  Services and applications  





3.2  Servers  





3.3  Client libraries  







4 External links  





5 References  














Vector tiles







Add links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Vector tiles, tiled vectorsorvectiles[1] 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 maps, 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,[2] because only data within the current viewport, and at the current zoom level needs to be transferred. The GIS 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.[2] 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[s] in everyone’s pocket".[3]

History

[edit]

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.[4] 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" [Pywell 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),[5] 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".[6] 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

[edit]

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)

[edit]

Mapbox has defined an open standard for vector map tiles called "vector-tile-spec" which uses Google protocol buffers 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.[7] It is also tied to the Mapnik rendering engine, using a "serialized version of the internal data that Mapnik uses".[8]

In March 2015, Esri, the dominant geospatial software maker, announced that they would be supporting Mapbox's vector tiles standard in both server and client platforms.[9]

Mapnik Vector Tile

[edit]

This was an early format developed for the Mapnik renderer.[10]

Other formats

[edit]

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

[edit]

Services and applications

[edit]

Vector tiles have been used by the Google Maps Android client since December 2010[11] and on the desktop client since 2013.[12] Vector tiles for rendering OpenStreetMap data were first proposed in March 2013[1] and are supported by Mapnik,[13] the most widely used renderer of OpenStreetMap data. Mapbox, a commercial provider of custom cartography tools and hosting, has focused its cartography tool, Mapbox Studio, around vector tiles.[14]

The popular, and very powerful, Android client for OpenStreetMap data, osmAnd supports vector tiles, which it calls "vector maps".[15]

Servers

[edit]

The tile server pipeline TileStache supports several flavours of JSON natively.[16] There is also a plugin vector tile provider called VecTiles[17] which converts PostGIS data into vector tiles in Mapnik Vector Tile format (incompatible with the Mapbox specification[18]) or TopoJSON.

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.[19]

pg_tileserv is an open source PostGIS-only tile server written in Golang that takes in HTTP tile requests and form and executes SQL. [20]

ESRI ArcGIS Server 10.4[21] and ArcGIS Pro 1.2[22] released in February 2016 added support for vector tiles.

Client libraries

[edit]

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[23] and Leaflet.VectorGrid for Leaflet 1.0.x.[24]

Mapbox's own JavaScript library, Mapbox GL JS, can be used.[25]

OpenLayers supports vector tiles through the ol.source.VectorTile object,[26] as of version 3.

[edit]

References

[edit]
  1. ^ a b "the liberty of postgreslessness: tiled vectors in mapnik (tecznotes)". mike.teczno.com. Retrieved 2014-08-24.
  • ^ a b "About Tiled Vectors". research.microsoft.com. Retrieved 2014-08-24.
  • ^ Migurski, Michal (2013-04-01). "Geomeetup Slides 2013-04" (PDF).
  • ^ "Introductory Readings In Geographic Information Systems". CRC Press. Retrieved 2016-04-26.
  • ^ Moss: A Historical Perspective https://www.scribd.com/document/4606038/2004-Article-by-Carl-Reed-MOSS-A-Historical-perspective
  • ^ Reed C N (1986) DELTAMAP: Not just another new GIS- Proceedings of the 3rd International Symposium on Spatial Data Handling. IGU Commission on Geographical Data Sensing and Processing, Williamsville NY, pp. 375-83
  • ^ "vector-tile-spec/2.1 at master · mapbox/vector-tile-spec · GitHub". github.com. Retrieved 2016-05-24.
  • ^ "Vector Tiles Overview". Mapbox. Archived from the original on 2015-03-18. Retrieved 2015-03-12.
  • ^ "Mapbox Vector Tile Specification adopted by Esri". Mapbox blog. 2015-03-17.
  • ^ "Python: module TileStache.Goodies.VecTiles.mvt". tilestache.org. Retrieved 2015-11-20.
  • ^ "Under the hood of Google Maps 5.0 for Android - Official Google Mobile Blog". googlemobile.blogspot.com.au. Retrieved 2014-08-24.
  • ^ "Redesigned Google Maps hands-on: vector-based, more personal and coming soon to mobile". engadget.com. 16 May 2013. Retrieved 2014-08-24.
  • ^ "mapbox/mapnik-vector-tile · GitHub". github.com. Retrieved 2014-08-24.
  • ^ "Vector Tiles for MapBox Streets | Mapbox". mapbox.com. Retrieved 2014-08-24.
  • ^ "HowToVectorTileData - osmand - This article describes how to use key features - Global Mobile Map Viewing & Navigation for Offline and Online OSM Maps - Google Project Hosting". Retrieved 2014-08-24.
  • ^ "TileStache.Vector".
  • ^ "TileStache.Goodies.VecTiles.server".
  • ^ "Protobuf.skip unimplemented types · Issue #15 · SpatialServer/Leaflet.MapboxVectorTile". GitHub. Retrieved 2015-11-20.
  • ^ "PGRestAPI (aka Chubbs Spatial Server)". GitHub. 2015-02-25.
  • ^ "pg_tileserv for PostGIS".
  • ^ "ArcGIS 10.4 is here!". 18 February 2016.
  • ^ "What's new in ArcGIS Pro 1.2—ArcGIS Pro | Documentation".
  • ^ "Leaflet.MapboxVectorTile". GitHub. 2015-02-12.
  • ^ "Leaflet.VectorGrid". GitHub. 2017-02-16.
  • ^ "API Documentation". Mapbox.
  • ^ "Open Layers VectorTile documentation".

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Vector_tiles&oldid=1215503516"

    Categories: 
    Web mapping
    Google Maps
    OpenStreetMap
    Hidden categories: 
    Articles with short description
    Short description is different from Wikidata
     



    This page was last edited on 25 March 2024, at 14:57 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki