DRAFT Vector Tile Schema 1.1

DRAFT

This is a DRAFT version of the 1.1 specification and subject to change.

About

The Shortbread vector tile schema is intended to be a basic, lean, general-purpose vector tile schema for OpenStreetMap data. It does not, and is not intended to, cover the full breadth and depth of OpenStreetMap tagging.

This document describes the layers that are defined in the vector tile schema, and the features and attributes available on each layer.

Feature sorting

Some layers have their features sorted by importance or rendering order. This allows you to use rendering engines which do not support feature sorting themselves.

Zooms

Shortbread vector tiles have a minzoom of 0 and a maxzoom of 14. Higher client zooms are achieved with overzoomed zoom 14 tiles.

Water

Layer “ocean”

This layer contains oceans. There are no attributes.

Layer “water_polygons”

This layer contains inland water bodies and glaciers.

Properties

Field Name Type Description
kind string type of water body
way_area float area in square meters (Mercator Projection)

Features

Feature Value of kind OSM tag Geometry Zoom
Glaciers glacier natural=glacier polygon 4+
Water other than rivers water natural=water + water!=river polygon 4+
Rivers river waterway=riverbank , natural=water + water=river polygon 4+
Reservoirs reservoir landuse=reservoir polygon 4+
Drainage basins basin landuse=basin polygon 4+
Docks dock waterway=dock polygon 10+
Canals canal waterway=canal polygon 10+

Layer “water_polygons_labels”

Holds point geometries and names for all named water polygons available in the water_polygons layer.

The way_area attributes allows you to prefer labels of larger areas. Features are sorted by way_area in descending order.

Properties

Field name Type Description
kind string type of water body (see water_polygons layer for a list of values)
way_area float area in square meter (Mercator Projection)
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag

Layer “water_lines”

Holds waterway line geometries. Features are sorted by their layer=* tags in OpenStreetMap in ascending order (default 0).

Properties

Field Name Type Default Description
kind string type of waterway
tunnel boolean false true for tunnel=yes,​building_passage or covered=yes . false otherwise
bridge boolean false true for bridge=yes,​viaduct,​boardwalk,​cantilever,​covered,​low_water_crossing,​movable,​trestle . false otherwise

Features

Type of feature Value of kind OSM tag Geometry Zoom
Canals canal waterway=canal line Canals are available if their line is longer than 0.25 pixel but not below 9.
Rivers river waterway=river line Rivers are available if their line is longer than 0.25 pixel but not below 9.
Streams stream waterway=stream line 14+
Ditches ditch waterway=ditch line 14+

Layer “water_lines_labels”

Hold line geometries and names for named water lines.

Minimum Zoom Levels

Type of feature Zoom
Canals Canals are available if their line is longer than 0.25 pixel but not below 12.
Rivers Rivers are available if their line is longer than 0.25 pixel but not below 12.
Streams 14+
Ditches 14+

Properties

Field Name Type Default Description
kind string type of water body (see water_lines layer for a list of values)
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag
tunnel boolean false true for tunnel=yes,​building_passage or covered=yes , false otherwise
bridge boolean false true for bridge=yes,​viaduct,​boardwalk,​cantilever,​covered,​low_water_crossing,​movable,​trestle , false otherwise

Layer “dam_lines”

Holds line geometries of dams (not dykes).

Properties

Field Name Type
kind string

Features

Type of feature Value of kind OSM tag Geometry Zoom
Dam lines dam waterway=dam line 12+

Layer “dam_polygons”

Holds polygon geometries of dams (not dykes).

Properties

Field Name Type
kind string

Features

Type of feature Value of kind OSM tag Geometry Zoom
Dam areas dam waterway=dam polygon 12+

Layer “pier_lines”

This layer contains piers, breakwaters and groynes mapped as lines. See the pier_polygons layer for those mapped as polygons.

Properties

Field Name Type Description
kind string see Features section for possible values

Features

Type of feature Value of kind OSM tag Geometry Zoom
Piers pier man_made=pier line 12+
Breakwaters breakwater man_made=breakwater line 12+
Groynes groyne man_made=groyne line 12+

Layer “pier_polygons”

This layer contains piers, breakwaters and groynes mapped as polygons. See the pier_lines layer for those mapped as lines.

Properties

Field Name Type Description
kind string see Features section for possible values

Features

Type of feature Value of kind OSM tag Geometry Zoom
Piers pier man_made=pier polygon 12+
Breakwaters breakwater man_made=breakwater polygon 12+
Groynes groyne man_made=groyne polygon 12+

Countries, States, Cities

Layer “boundaries”

Holds boundary lines of countries and states.

Properties

Field name Type Description
admin_level integer highest administrative boundary this line belongs to
maritime boolean Boundary line is located on sea, base on OSM maritime=* tag, or is the coastline (way tagged with natural=coastline )
disputed boolean Boundary line is tagged with disputed=yes or member of a relation with boundary=disputed and admin_level unset or between 2 and 4.

Features

Type of feature Value of admin_level Geometry Zoom
Country boundaries 2 line 0+
State boundaries 4 line 7+

Layer “boundary_labels”

Holds label points for boundary polygons of countries and states. Features are sorted by way_area in descending order.

Properties

Field name Type Description
admin_level integer value of OSM admin_level=* tag, see Features section for possible values
way_area float area in ha
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag

Features

Type of feature Value of admin_level Geometry Minimum Area Zoom
Country boundaries 2 point 2*10^6 km² 2+
Country boundaries 2 point 7*10^5 km² 3+
Country boundaries 2 point 1*10^5 km² 4+
Country boundaries 2 point none 5+
State boundaries 4 point 7*10^5 km² 3+
State boundaries 4 point 1*10^5 km² 4+
State boundaries 4 point none 5+

Layer “place_labels”

Holds label points for populated places. Features are sorted by population in descending order.

Properties

Field Name Type Description
kind string value of OSM place=* tag, see Features section for possible values
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag
population integer value of OSM population=* tag, else defaults (see below)

Features

Type of feature Value of kind OSM tag Geometry Zoom Default Population
National capital capital place=city,​town,​village,​hamlet + capital=yes point 4+ depends on place *
State capital state_capital place=city,​town,​village,​hamlet + capital=4 point 4+ depends on place *
City city place=city (except capitals) point 6+ 100,000
Town town place=town (except capitals) point 7+ 5,000
Village village place=village (except capitals) point 10+ 100
Hamlet hamlet place=hamlet (except capitals) point 10+ 50
Suburb suburb place=suburb point 10+ 1,000
Quarter quarter place=quarter point 10+ 500
Neighbourhood neighbourhood place=neighbourhood point 10+ 100
Isolated dwelling isolated_dwelling place=isolated_dwelling point 10+ 5
Farm farm place=farm point 10+ 5
Island island place=island point 10+ 0
Unpopulated place locality place=locality point 10+ 0

Land Use, Land Cover, Buildings

Layer “land”

This layer contains basic land cover that is usually drawn first.

Properties

Field Name Type Description
kind string see Features section for possible values

Features

Type of feature Value of kind OSM tag Geometry Zoom
Forested areas forest landuse=forest or natural=wood polygon 7+
Grass grass landuse=grass polygon 11+
Meadows meadow landuse=meadow polygon 11+
Orchards orchard landuse=orchard polygon 11+
Vineyards vineyard landuse=vineyard polygon 11+
Allotments allotments landuse=allotments polygon 11+
Cemeteries cemetery landuse=cemetery polygon 13+
Graveyards grave_yard amenity=grave_yard polygon 13+
Village greens village_green landuse=village_green polygon 11+
Recreation grounds recreation_ground landuse=recreation_ground polygon 11+
Greenhouses greenhouse_horticulture landuse=greenhouse_horticulture polygon 11+
Plant nursaries plant_nursery landuse=plant_nursery polygon 11+
Sand sand natural=sand polygon 10+
Beaches beach natural=beach polygon 10+
Heath heath natural=heath polygon 11+
Scrublands scrub natural=scrub polygon 11+
Grasslands grassland natural=grassland polygon 11+
Bare rock bare_rock natural=bare_rock polygon 11+
Scree scree natural=scree polygon 11+
Shingle shingle natural=shingle polygon 11+
Swamps swamp wetland=swamp polygon 11+
Bogs bog wetland=bog polygon 11+
String bogs string_bog wetland=string_bog polygon 11+
Wet meadows wet_meadow wetland=wet_meadow polygon 11+
Marshes marsh wetland=marsh polygon 11+
Golf courses golf_course leisure=golf_course polygon 11+
Parks park leisure=park polygon 11+
Gardens garden leisure=garden polygon 11+
Playgrounds playground leisure=playground polygon 11+
Miniature golf courses miniature_golf leisure=miniature_golf polygon 11+
Residental zones residential landuse=residential polygon 10+
Industrial zones industrial landuse=industrial polygon 10+
Commercial zones commercial landuse=commercial polygon 10+
Garages garages landuse=garages polygon 10+
Retail zones retail landuse=retail polygon 10+
Railway zones railway landuse=railway polygon 10+
Landfills landfill landuse=landfill polygon 10+
Quarries quarry landuse=quarry polygon 11+
Brownfields brownfield landuse=brownfield polygon 10+
Greenfields greenfield landuse=greenfield polygon 10+
Farmyards farmyard landuse=farmyard polygon 10+
Farmland farmland landuse=farmland polygon 10+

Layer “sites”

This layer is for types of land use that will usually be above the basic land layer, but below buildings.

Properties

Field Name Type Description
kind string see Features section for possible values

Features

Type of feature Value of kind OSM tag Geometry Zoom
Military danger areas danger_area military=danger_area polygon 14+
Sports centers sports_centre leisure=sports_centre polygon 14+
University campuses university amenity=university polygon 14+
College campuses college amenity=college polygon 14+
School campuses school amenity=school polygon 14+
Hospital campuses hospital amenity=hospital polygon 14+
Prison areaa prison amenity=prison polygon 14+
Car parks parking amenity=parking polygon 14+
Bicycle parking bicycle_parking amenity=bicycle_parking polygon 14+
Construction sites construction landuse=construction polygon 14+

Layer “buildings”

Has polygons for everything with a building tag (not building=no) from zoom 14 on.

There is a property for all features on this layer, called dummy, a number which is always 1.

Layer “addresses”

Has points for everything with an address from zoom 14+. Polygons are represented by a point.

If a feature is available in the pois layer, it will not be duplicated in the addresses layer.

Properties

Field Name Type OSM Key
housename string addr:housename=*
housenumber string addr:housenumber=*

Streets and Transport

Layer “streets”

Holds line geometries of the whole road network. Features are ordered by the so-called z-order value which is computed from road class, OSM layer=* , bridge=* and tunnel=* tags. More important roads are are sorted before less important roads, tunnels before bridges.

Properties

Field Name Type Zoom Default Description
kind string 5+ always set Feature class, contains value of highway=* , aeroway=* or railway=*
link boolean 11+ false true for link roads ( highway=motorway_link,​trunk_link,​primary_link,​secondary_link,​tertiary_link )
rail boolean 5+ false true for railways, false otherwise
tunnel boolean 11+ false true for tunnel=yes,​building_passage or covered=yes , false otherwise
bridge boolean 11+ false true for bridge=yes,​viaduct,​boardwalk,​cantilever,​covered,​low_water_crossing,​movable,​trestle , false otherwise
oneway boolean 14+ false true for oneway=yes,​1,​true,​-1 ; always false for rail features
oneway_reverse boolean 14+ false true for reverse (not reversible) oneways ( oneway=-1 ); always false for rail features
tracktype string 11+ field not available value of tracktype=*
surface string 11+ empty string value of surface=*
service string 11+ field not available value of service=*
bicycle string 14+ empty string value of bicycle=*
horse string 14+ empty string value of horse=*

Features

The following features are available in this layer:

Type of feature Value of kind Zoom Comment
Motorways and their links motorway 5+ Use link flag to differentiate between main roads type and their links.
Trunk roads and their links trunk 6+ Use link flag to differentiate between main roads type and their links.
Primary roads and their links primary 8+ Use link flag to differentiate between main roads type and their links.
Secondary roads and their links secondary 9+ Use link flag to differentiate between main roads type and their links.
Tertiary roads and their links tertiary 10+ Use link flag to differentiate between main roads type and their links.
Side roads unclassified 12+
Residential roads residential 12+
Roads exclusively for buses busway 12+
Bus guideways bus_guideway 12+
Residential roads w/traffic calming living_street 13+
Service roads service 13+
Pedestrian roads pedestrian 13+
Tracks track 13+
Footpaths footway 13+
Steps steps 13+
Unspecified paths path 13+ use the bicycle and horse attributes for details about permitted use of the path
Bicycle paths cycleway 13+
Runway runway 11+
Taxiway taxiway 13+
Railway rail 8/10+ ways with service=* on zoom level 10+, other ways on zoom level 8+
Narrow gauge railway narrow_gauge 8/10+ ways with service=* on zoom level 10+, other ways on zoom level 8+
Tram tram 10+
Light railway light_rail 10+
Funicular funicular 10+
Subway subway 10+
Monorail monorail 10+

Layer “street_polygons”

Holds polygons geometries of certain streets mapped as polygons. Features are ordered by the so-called z-order value which is computed from road class, OSM layer=* , bridge=* and tunnel=* tags. More important roads are are sorted before less important roads, tunnels before bridges.

Properties

Field Name Type Default Description
kind string always set Feature class, contains value of highway=* or area:aeroway=*
bridge boolean false true for bridge=yes,​viaduct,​boardwalk,​cantilever,​covered,​low_water_crossing,​movable,​trestle , false otherwise
rail boolean false always false
service string empty string value of service=*
surface string empty string value of surface=*
tunnel boolean false true for tunnel=yes,​building_passage or covered=yes , false otherwise

Features

The following features are available in this layer:

Type of feature Value of kind Zoom
Pedestrian areas pedestrian 14+
Service roads service 14+
Runways runway 11+
Taxiways taxiway 13+

Layer “street_labels”

This layer holds street geometries for labelling. It contains their names and reference numbers.

Properties

Field Name Type OSM Key
kind string value of OSM highway=* , aeroway=* or taxiway=* tag
ref string value of OSM ref=* tag, semicolons replaced by newline characters (ASCII character 10)
ref_rows integer number of lines of the ref value
ref_cols integer maximum line length of the ref value
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag
tunnel boolean true for tunnel=yes,​building_passage or covered=yes . false otherwise

Features

Type of feature Value of kind Zoom
Motorway motorway 10+
Motorway links motorway_link 13+
Trunk roads trunk 12+
Trunk roads trunk_link 13+
Primary roads primary 12+
Primary links primary_link 13+
Secondary roads secondary 13+
Secondary links secondary_link 13+
Tertiary roads tertiary 13+
Tertiary links tertiary_link 14+
Side roads unclassified 14+
Residential roads residential 14+
Residential roads w/traffic calming living_street 14+
Roads exclusively for buses busway 14+
Bus guideways bus_guideway 14+
Service roads service 14+
Pedestrian roads pedestrian 14+
Tracks track 14+
Footpaths footway 14+
Steps steps 14+
Unspecified paths path 14+
Bicycle paths cycleway 14+
Runway runway 11+
Taxiway taxiway 13+
Railway rail 10+
Narrow gauge railway narrow_gauge 10+
Tram tram 10+
Light railway light_rail 10+
Funicular funicular 10+
Subway subway 10+
Monorail monorail 10+

Layer “streets_polygons_labels”

Holds labelling points of the polygons of the “streets_polygons” layer.

Properties

Field Name Type OSM Key
kind string value of OSM highway=* or aeroway=* tag
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag

Features

The following features are available in this layer:

Feature Class value of kind Zoom
pedestrian pedestrian 14+
service roads service 14+
runway runway 14+
taxiway taxiway 14+

Layer “street_labels_points”

This layer holds motorway exit labels.

Properties

Field Name Type OSM Key
kind string value of OSM highway=* tag
ref string value of OSM ref=* tag
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag

Features

The following features are available in this layer:

Feature Class Value of kind Zoom
Motorway exits motorway_junction 12+

Layer “bridges”

This layer contains bridges mapped as polygons. There is no distinction which type of road, railway, runway or waterway uses this bridge.

Please mind that only some bridges are mapped as polygons but almost all roads located on a bridge have their location on a bridge as an attribute (see streets layer for details).

Properties

Field Name Type Description
kind string see Features section for possible values

Features

Type of feature Value of kind OSM tag Geometry Zoom
Bridge areas bridge man_made=bridge polygon 12+

Layer “aerialways”

Holds aerialways as lines.

Properties

Field Name Type OSM Key
kind string aerialway=*

Features

Type of feature Value of kind OSM tag Zoom
Cable car cable_car aerialway=cable_car 12+
Gondola gondola aerialway=gondola 12+
Goods cable car goods aerialway=goods 12+
Chair lift chair_lift aerialway=chair_lift 12+
Drag lift drag_lift aerialway=drag_lift 12+
T-bar lift t-bar aerialway=t-bar 12+
J-bar lift j-bar aerialway=j-bar 12+
Platter lift platter aerialway=platter 12+
Rope-tow lift rope-tow aerialway=rope_tow 12+

Layer “ferries”

Holds line geometries of ferries.

Properties

Field Name Type OSM Key
kind string
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag

Features

The following features are available in this layer:

Type of feature value of kind OSM tag Zoom
Motor vehicle ferries ferry route=ferry + motor_vehicle!=no 10+
All other ferries ferry route=ferry 12+

Points of interest

Layer “public_transport”

Holds public transport stops as points. Areas in OSM are represented by a point.

Properties

Field Name Type Description
kind string feature class
name string value of OSM name=* tag
name_en string value of OSM name:en=* tag
name_de string value of OSM name:de=* tag
iata string value of OSM iata=* tag

Features

Type of feature Value of kind OSM tag Zoom
Airport, aerodrome aerodrome aeroway=aerodrome 11+
Helipad helipad aeroway=helipad 13+
Railway station station railway=station 13+
Railway halt halt railway=halt 13+
Tram stop tram_stop railway=tram_stop 14+
Bus station bus_station amenity=bus_station 13+
Bus stop bus_stop highway=bus_stop 14+
Ferry terminal ferry_terminal amenity=ferry_terminal 12+
Aerialway station aerialway_station aerialway=station 13+

Layer “pois”

Holds points of interest as point geometries. Areas in OSM are represented by a point.

All features are available on zoom level 14 only.

Properties

Field Name Type Default Description
amenity string null value of OSM amenity=* tag if listed in the “Features” subsection below
leisure string null value of OSM leisure=* tag if listed in the “Features” subsection below
tourism string null value of OSM tourism=* tag if listed in the “Features” subsection below
shop string null value of OSM shop=* tag if listed in the “Features” subsection below
man_made string null value of OSM man_made=* tag if listed in the “Features” subsection below
historic string null value of OSM historic=* tag if listed in the “Features” subsection below
emergency string null value of OSM emergency=* tag if listed in the “Features” subsection below
highway string null value of OSM highway=* tag if listed in the “Features” subsection below
office string null value of OSM office=* tag if listed in the “Features” subsection below
name string null value of OSM name=* tag
name_en string null value of OSM name:en=* tag
name_de string null value of OSM name:de=* tag
housename string null addr:housename=*
housenumber string null addr:housenumber=*

The following attributes are set for selected features only. Their value comes from the equally named OSM keys.

Field Name Type Default Selection criteria (OSM tags)
cuisine string null amenity=restaurant,​fast_food,​pub,​bar,​cafe
sport string null leisure=pitch,​sports_centre
vending string null amenity=vending_machine
information string null tourism=information
tower:type string null man_made=tower
religion string null amenity=place_of_worship
denomination string null amenity=place_of_worship

The following attributes are set for selected features only. They are true if the specified OSM key has the value yes.

Field Name Type Default Selection criteria (OSM tags)
recycling:glass_bottles boolean false amenity=recycling
recycling:paper boolean false amenity=recycling
recycling:clothes boolean false amenity=recycling
recycling:scrap_metal boolean false amenity=recycling
atm boolean false amenity=bank

Features

The following key-value combinations are included in this layer:

Types

Where a field is assigned a type, it is the name of a type in the MVT specification, except that when integer is specificed any of the integer types in the specification may be used.