From 0156060de158ec36d1ebc3b6ea38a056afe4eead Mon Sep 17 00:00:00 2001 From: Paul Norman Date: Wed, 16 Sep 2026 14:27:07 -0700 Subject: [PATCH] Create new file for version 1.2 of the specification --- shortbread-website/content/schema/1.2.md | 869 +++++++++++++++++++++++ 1 file changed, 869 insertions(+) create mode 100644 shortbread-website/content/schema/1.2.md diff --git a/shortbread-website/content/schema/1.2.md b/shortbread-website/content/schema/1.2.md new file mode 100644 index 0000000..b8f0db2 --- /dev/null +++ b/shortbread-website/content/schema/1.2.md @@ -0,0 +1,869 @@ ++++ +title = "Vector Tile Schema 1.2 DRAFT" +linkTitle = "1.2 DRAFT" +description = "This page describes the layers of the Shortbread vector schema and their contents as of version 1.2" +toc = true ++++ + +## 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. + +## Names + +Wherever a feature has a `name` attribute it also may have `name_xx` tags, where `xx` is an IETF language code and the contents of the tag come from `name:xx`. For example a feature could have `name_ko`, `name_ko-Latn` and `name_nan-Latn-tailo` attributes that come from the `name:ko`, `name:ko-Latn`, and `name:nan-Latn-tailo` tags. + +Implementations may define their own list of IETF language codes that they include in their 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` | {{< tag natural glacier >}} | polygon | 4+ | +| Water other than rivers | `water` | {{< tag natural water >}} + `water!=river` | polygon | 4+ | +| Rivers | `river` | {{< tag waterway riverbank >}}, {{< tag natural water >}} + {{< tag water river >}} | polygon | 4+ | +| Reservoirs | `reservoir` | {{< tag landuse reservoir >}} | polygon | 4+ | +| Drainage basins | `basin` | {{< tag landuse basin >}} | polygon | 4+ | +| Docks | `dock` | {{< tag waterway dock >}} | polygon | 10+ | +| Canals | `canal` | {{< tag 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 {{< tag name >}} tag | + +### Layer "water_lines" + +Holds waterway line geometries. Features are sorted by their {{< tag 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 {{< tag tunnel yes building_passage >}} or {{< tag covered yes >}}. `false` otherwise | +| `bridge` | boolean | false | `true` for {{< tag 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` | {{< tag waterway canal >}} | line | Canals are available if their line is longer than 0.25 pixel but not below 9. | +| Rivers | `river` | {{< tag waterway river >}} | line | Rivers are available if their line is longer than 0.25 pixel but not below 9. | +| Streams | `stream` | {{< tag waterway stream >}} | line | 14+ | +| Drainage waterways | `drain` | {{< tag waterway drain >}} | line | 14+ | +| Ditches | `ditch` | {{< tag 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 {{< tag name >}} tag | +| `tunnel` | boolean | false | `true` for {{< tag tunnel yes building_passage >}} or {{< tag covered yes >}}, `false` otherwise | +| `bridge` | boolean | false | `true` for {{< tag 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` | {{< tag 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` | {{< tag 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` | {{< tag man_made pier >}} | line | 12+ | +| Breakwaters | `breakwater` | {{< tag man_made breakwater >}} | line | 12+ | +| Groynes | `groyne` | {{< tag 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` | {{< tag man_made pier >}} | polygon | 12+ | +| Breakwaters | `breakwater` | {{< tag man_made breakwater >}} | polygon | 12+ | +| Groynes | `groyne` | {{< tag 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 | The most significant admin_level of a boundary line | +| `maritime` | boolean | If a boundary line is on the sea | +| `disputed` | boolean | If a boundary line is disputed | + +Boundary ways are children of parent relation(s) with {{< tag type boundary >}}, {{< tag boundary administrative >}}, and {{< tag admin_level 2 4 >}}. The `admin_level` property of the linestring comes from the lowest numerical admin_level value of the parent relations. E.g. if a way is a member of one administrative boundary relation with {{< tag admin_level 2 >}} and a second with {{< tag admin_level 4 >}} the linestring has the `admin_level` property set to the integer `2`. + +A boundary line is considered `maritime` if the way has a: +- {{< tag maritime yes>}} tag or +- {{< tag natural coastline >}} tag. + +A boundary line is disputed if the way has a: +- {{< tag disputed yes >}} tag on itself, +- parent relation with {{< tag type boundary >}} and {{< tag boundary disputed >}} and no {{< tag admin_level >}}, or +- parent relation with {{< tag type boundary >}} and {{< tag boundary disputed >}} and {{< tag admin_level 2 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 {{< tag admin_level >}} tag, see Features section for possible values | +| `way_area` | float | area in ha | +| `name` | string | value of OSM {{< tag name >}} 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 {{< tag place >}} tag, see Features section for possible values | +| `name` | string | value of OSM {{< tag name >}} tag | +| `population` | integer | value of OSM {{< tag population >}} tag, else defaults (see below) | + +#### Features + +| Type of feature | Value of `kind` | OSM tag | Geometry | Zoom | Default Population | +| ----------------- | :------------------ | :------------------------------------------------------------------- | :------- | :--- | :------------------ | +| National capital | `capital` | {{< tag place city town village hamlet >}} + {{< tag capital yes >}} | point | 4+ | depends on place \* | +| State capital | `state_capital` | {{< tag place city town village hamlet >}} + {{< tag capital 4 >}} | point | 4+ | depends on place \* | +| City | `city` | {{< tag place city >}} (except capitals) | point | 6+ | 100,000 | +| Town | `town` | {{< tag place town >}} (except capitals) | point | 7+ | 5,000 | +| Village | `village` | {{< tag place village >}} (except capitals) | point | 10+ | 100 | +| Hamlet | `hamlet` | {{< tag place hamlet >}} (except capitals) | point | 10+ | 50 | +| Suburb | `suburb` | {{< tag place suburb >}} | point | 10+ | 1,000 | +| Quarter | `quarter` | {{< tag place quarter >}} | point | 10+ | 500 | +| Neighbourhood | `neighbourhood` | {{< tag place neighbourhood >}} | point | 10+ | 100 | +| Isolated dwelling | `isolated_dwelling` | {{< tag place isolated_dwelling >}} | point | 10+ | 5 | +| Farm | `farm` | {{< tag place farm >}} | point | 10+ | 5 | +| Island | `island` | {{< tag place island >}} | point | 10+ | 0 | +| Unpopulated place | `locality` | {{< tag 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` | {{< tag landuse forest >}} or {{< tag natural wood >}} | polygon | 7+ | +| Grass | `grass` | {{< tag landuse grass >}} | polygon | 11+ | +| Meadows | `meadow` | {{< tag landuse meadow >}} | polygon | 11+ | +| Orchards | `orchard` | {{< tag landuse orchard >}} | polygon | 11+ | +| Vineyards | `vineyard` | {{< tag landuse vineyard >}} | polygon | 11+ | +| Allotments | `allotments` | {{< tag landuse allotments >}} | polygon | 11+ | +| Cemeteries | `cemetery` | {{< tag landuse cemetery >}} | polygon | 13+ | +| Graveyards | `grave_yard` | {{< tag amenity grave_yard >}} | polygon | 13+ | +| Village greens | `village_green` | {{< tag landuse village_green >}} | polygon | 11+ | +| Recreation grounds | `recreation_ground` | {{< tag landuse recreation_ground >}} | polygon | 11+ | +| Greenhouses | `greenhouse_horticulture` | {{< tag landuse greenhouse_horticulture >}} | polygon | 11+ | +| Plant nursaries | `plant_nursery` | {{< tag landuse plant_nursery >}} | polygon | 11+ | +| Sand | `sand` | {{< tag natural sand >}} | polygon | 10+ | +| Beaches | `beach` | {{< tag natural beach >}} | polygon | 10+ | +| Heath | `heath` | {{< tag natural heath >}} | polygon | 11+ | +| Scrublands | `scrub` | {{< tag natural scrub >}} | polygon | 11+ | +| Grasslands | `grassland` | {{< tag natural grassland >}} | polygon | 11+ | +| Bare rock | `bare_rock` | {{< tag natural bare_rock >}} | polygon | 11+ | +| Scree | `scree` | {{< tag natural scree >}} | polygon | 11+ | +| Shingle | `shingle` | {{< tag natural shingle >}} | polygon | 11+ | +| Swamps | `swamp` | {{< tag wetland swamp >}} | polygon | 11+ | +| Bogs | `bog` | {{< tag wetland bog >}} | polygon | 11+ | +| String bogs | `string_bog` | {{< tag wetland string_bog >}} | polygon | 11+ | +| Wet meadows | `wet_meadow` | {{< tag wetland wet_meadow >}} | polygon | 11+ | +| Marshes | `marsh` | {{< tag wetland marsh >}} | polygon | 11+ | +| Golf courses | `golf_course` | {{< tag leisure golf_course >}} | polygon | 11+ | +| Parks | `park` | {{< tag leisure park >}} | polygon | 11+ | +| Gardens | `garden` | {{< tag leisure garden >}} | polygon | 11+ | +| Playgrounds | `playground` | {{< tag leisure playground >}} | polygon | 11+ | +| Miniature golf courses | `miniature_golf` | {{< tag leisure miniature_golf >}} | polygon | 11+ | +| Residental zones | `residential` | {{< tag landuse residential >}} | polygon | 10+ | +| Industrial zones | `industrial` | {{< tag landuse industrial >}} | polygon | 10+ | +| Commercial zones | `commercial` | {{< tag landuse commercial >}} | polygon | 10+ | +| Garages | `garages` | {{< tag landuse garages >}} | polygon | 10+ | +| Retail zones | `retail` | {{< tag landuse retail >}} | polygon | 10+ | +| Railway zones | `railway` | {{< tag landuse railway >}} | polygon | 10+ | +| Landfills | `landfill` | {{< tag landuse landfill >}} | polygon | 10+ | +| Quarries | `quarry` | {{< tag landuse quarry >}} | polygon | 11+ | +| Brownfields | `brownfield` | {{< tag landuse brownfield >}} | polygon | 10+ | +| Greenfields | `greenfield` | {{< tag landuse greenfield >}} | polygon | 10+ | +| Farmyards | `farmyard` | {{< tag landuse farmyard >}} | polygon | 10+ | +| Farmland | `farmland` | {{< tag 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` | {{< tag military danger_area >}} | polygon | 14+ | +| Sports centers | `sports_centre` | {{< tag leisure sports_centre >}} | polygon | 14+ | +| University campuses | `university` | {{< tag amenity university >}} | polygon | 14+ | +| College campuses | `college` | {{< tag amenity college >}} | polygon | 14+ | +| School campuses | `school` | {{< tag amenity school >}} | polygon | 14+ | +| Hospital campuses | `hospital` | {{< tag amenity hospital >}} | polygon | 14+ | +| Prison areaa | `prison` | {{< tag amenity prison >}} | polygon | 14+ | +| Car parks | `parking` | {{< tag amenity parking >}} | polygon | 14+ | +| Bicycle parking | `bicycle_parking` | {{< tag amenity bicycle_parking >}} | polygon | 14+ | +| Construction sites | `construction` | {{< tag 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 | {{< tag "addr:housename" >}} | +| `housenumber` | string | {{< tag "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 {{< tag layer >}}, {{< tag bridge >}} and {{< tag 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 {{< tag highway >}}, {{< tag aeroway >}} or {{< tag railway >}} | +| `link` | boolean | 11+ | false | true for link roads ({{< tag 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 {{< tag tunnel yes building_passage >}} or {{< tag covered yes >}}, `false` otherwise | +| `bridge` | boolean | 11+ | false | true for {{< tag bridge yes viaduct boardwalk cantilever covered low_water_crossing movable trestle >}}, `false` otherwise | +| `oneway` | boolean | 14+ | false | true for {{< tag oneway yes 1 true -1 >}}; always false for rail features | +| `oneway_reverse` | boolean | 14+ | false | true for reverse (not reversible) oneways ({{< tag oneway -1 >}}); always false for rail features | +| `tracktype` | string | 11+ | field not available | value of {{< tag tracktype >}} | +| `surface` | string | 11+ | empty string | value of {{< tag surface >}} | +| `service` | string | 11+ | field not available | value of {{< tag service >}} | +| `motorcar` | string | 13+ | field not available | Access for motorcars, only if {{< tag highway >}} is present | +| `bicycle` | string | 13+ | field not available | Access for bicycles, only if {{< tag highway >}} is present | +| `foot` | string | 13+ | field not available | Access for pedestrians, only if {{< tag highway >}} is present | +| `horse` | string | 13+ | field not available | Access for horses, only if {{< tag highway >}} is present | + +#### Access tag mapping + +The `motorcar`, `bicycle`, `foot`, and `horse` attributes are derived from OpenStreetMap access tags using the following mapping: + +| OSM tag value | Mapped to | +| ---------------- | :-------- | +| `yes` | yes | +| `designated` | yes | +| `permissive` | yes | +| `customers` | limited | +| `destination` | limited | +| `agricultural` | limited | +| `forestry` | limited | +| `delivery` | limited | +| `discouraged` | limited | +| `permit` | limited | +| `dismount` | no | +| `military` | no | +| `private` | no | +| `no` | no | + +Other values are removed and not considered when evaluating access tags. + +For each access type (motorcar, bicycle, foot, horse), the first matching OSM tag in the following priority order is used: +- `motorcar`: {{< tag motorcar >}}, {{< tag motor_vehicle >}}, {{< tag vehicle >}}, {{< tag access >}} +- `bicycle`: {{< tag bicycle >}}, {{< tag vehicle >}}, {{< tag access >}} +- `foot`: {{< tag foot >}}, {{< tag access >}} +- `horse`: {{< tag horse >}}, {{< tag access >}} + +If no access tags are present the property is not present. Access is only evaulated for {{< tag highway >}} objects; railways and aeroways do not have `motorcar`, `bicycle`, `foot`, or `horse` properties. + +#### 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 {{< tag service >}} on zoom level 10+, other ways on zoom level 8+ | +| Narrow gauge railway | `narrow_gauge` | 8/10+ | ways with {{< tag 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 {{< tag layer >}}, {{< tag bridge >}} and {{< tag 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 {{< tag highway >}} or {{< tag "area:aeroway" >}} | +| `bridge` | boolean | false | true for {{< tag bridge yes viaduct boardwalk cantilever covered low_water_crossing movable trestle >}}, `false` otherwise | +| `rail` | boolean | false | always false | +| `service` | string | empty string | value of {{< tag service >}} | +| `surface` | string | empty string | value of {{< tag surface >}} | +| `tunnel` | boolean | false | true for {{< tag tunnel yes building_passage >}} or {{< tag 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 {{< tag highway >}}, {{< tag aeroway >}} or {{< tag taxiway >}} tag | +| `ref` | string | value of OSM {{< tag 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 {{< tag name >}} tag | +| `tunnel` | boolean | `true` for {{< tag tunnel yes building_passage >}} or {{< tag 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 {{< tag highway >}} or {{< tag aeroway >}} tag | +| `name` | string | value of OSM {{< tag name >}} 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 {{< tag highway >}} tag | +| `ref` | string | value of OSM {{< tag ref >}} tag | +| `name` | string | value of OSM {{< tag name >}} 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` | {{< tag man_made bridge >}} | polygon | 12+ | + +### Layer "aerialways" + +Holds aerialways as lines. + +#### Properties + +| Field Name | Type | OSM Key | +| ---------- | :----- | :-------------------- | +| `kind` | string | {{< tag aerialway >}} | + +#### Features + +| Type of feature | Value of `kind` | OSM tag | Zoom | +| --------------- | :-------------- | :-------------------------------- | :--- | +| Cable car | `cable_car` | {{< tag aerialway cable_car >}} | 12+ | +| Gondola | `gondola` | {{< tag aerialway gondola >}} | 12+ | +| Goods cable car | `goods` | {{< tag aerialway goods >}} | 12+ | +| Chair lift | `chair_lift` | {{< tag aerialway chair_lift >}} | 12+ | +| Drag lift | `drag_lift` | {{< tag aerialway drag_lift >}} | 12+ | +| T-bar lift | `t-bar` | {{< tag aerialway t-bar >}} | 12+ | +| J-bar lift | `j-bar` | {{< tag aerialway j-bar >}} | 12+ | +| Platter lift | `platter` | {{< tag aerialway platter >}} | 12+ | +| Rope-tow lift | `rope-tow` | {{< tag aerialway rope_tow >}} | 12+ | + +### Layer "ferries" + +Holds line geometries of ferries. + +#### Properties + +| Field Name | Type | OSM Key | +| ---------- | :----- | :------------------------------------- | +| `kind` | string | | +| `name` | string | value of OSM {{< tag name >}} tag | + +#### Features + +The following features are available in this layer: + +| Type of feature | value of `kind` | OSM tag | Zoom | +| --------------------- | :-------------- | :-------------------------------------------- | :--- | +| Motor vehicle ferries | `ferry` | {{< tag route ferry >}} + `motor_vehicle!=no` | 10+ | +| All other ferries | `ferry` | {{< tag 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 {{< tag name >}} tag | +| `iata` | string | value of OSM {{< tag iata >}} tag | + +#### Features + +| Type of feature | Value of `kind` | OSM tag | Zoom | +| ------------------ | :------------------ | :--------------------------------- | :--- | +| Airport, aerodrome | `aerodrome` | {{< tag aeroway aerodrome >}} | 11+ | +| Helipad | `helipad` | {{< tag aeroway helipad >}} | 13+ | +| Railway station | `station` | {{< tag railway station >}} | 13+ | +| Railway halt | `halt` | {{< tag railway halt >}} | 13+ | +| Tram stop | `tram_stop` | {{< tag railway tram_stop >}} | 14+ | +| Bus station | `bus_station` | {{< tag amenity bus_station >}} | 13+ | +| Bus stop | `bus_stop` | {{< tag highway bus_stop >}} | 14+ | +| Ferry terminal | `ferry_terminal` | {{< tag amenity ferry_terminal >}} | 12+ | +| Aerialway station | `aerialway_station` | {{< tag 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 {{< tag amenity >}} tag if listed in the "Features" subsection below | +| `leisure` | string | null | value of OSM {{< tag leisure >}} tag if listed in the "Features" subsection below | +| `tourism` | string | null | value of OSM {{< tag tourism >}} tag if listed in the "Features" subsection below | +| `shop` | string | null | value of OSM {{< tag shop >}} tag if listed in the "Features" subsection below | +| `man_made` | string | null | value of OSM {{< tag man_made >}} tag if listed in the "Features" subsection below | +| `historic` | string | null | value of OSM {{< tag historic >}} tag if listed in the "Features" subsection below | +| `emergency` | string | null | value of OSM {{< tag emergency >}} tag if listed in the "Features" subsection below | +| `highway` | string | null | value of OSM {{< tag highway >}} tag if listed in the "Features" subsection below | +| `office` | string | null | value of OSM {{< tag office >}} tag if listed in the "Features" subsection below | +| `name` | string | null | value of OSM {{< tag name >}} tag | +| `housename` | string | null | {{< tag "addr:housename" >}} | +| `housenumber` | string | null | {{< tag "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 | {{< tag amenity restaurant fast_food pub bar cafe >}} | +| `sport` | string | null | {{< tag leisure pitch sports_centre >}} | +| `vending` | string | null | {{< tag amenity vending_machine >}} | +| `information` | string | null | {{< tag tourism information >}} | +| `tower:type` | string | null | {{< tag man_made tower >}} | +| `religion` | string | null | {{< tag amenity place_of_worship >}} | +| `denomination` | string | null | {{< tag 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 | {{< tag amenity recycling >}} | +| `recycling:paper` | boolean | false | {{< tag amenity recycling >}} | +| `recycling:clothes` | boolean | false | {{< tag amenity recycling >}} | +| `recycling:scrap_metal` | boolean | false | {{< tag amenity recycling >}} | +| `atm` | boolean | false | {{< tag amenity bank >}} | + +#### Features + +The following key-value combinations are included in this layer: + +- {{< tag amenity arts_centre >}} +- {{< tag amenity atm >}} +- {{< tag amenity bank >}} +- {{< tag amenity bar >}} +- {{< tag amenity bench >}} +- {{< tag amenity bicycle_rental >}} +- {{< tag amenity biergarten >}} +- {{< tag amenity cafe >}} +- {{< tag amenity car_rental >}} +- {{< tag amenity car_sharing >}} +- {{< tag amenity car_wash >}} +- {{< tag amenity cinema >}} +- {{< tag amenity clinic >}} +- {{< tag amenity college >}} +- {{< tag amenity community_centre >}} +- {{< tag amenity courthouse >}} +- {{< tag amenity dentist >}} +- {{< tag amenity doctors >}} +- {{< tag amenity drinking_water >}} +- {{< tag amenity embassy >}} +- {{< tag amenity fast_food >}} +- {{< tag amenity fire_station >}} +- {{< tag amenity food_court >}} +- {{< tag amenity fountain >}} +- {{< tag amenity fuel >}} +- {{< tag amenity grave_yard >}} +- {{< tag amenity hospital >}} +- {{< tag amenity hunting_stand >}} +- {{< tag amenity library >}} +- {{< tag amenity marketplace >}} +- {{< tag amenity nightclub >}} +- {{< tag amenity nursing_home >}} +- {{< tag amenity pharmacy >}} +- {{< tag amenity place_of_worship >}} +- {{< tag amenity police >}} +- {{< tag amenity post_box >}} +- {{< tag amenity post_office >}} +- {{< tag amenity prison >}} +- {{< tag amenity pub >}} +- {{< tag amenity public_building >}} +- {{< tag amenity recycling >}} +- {{< tag amenity restaurant >}} +- {{< tag amenity school >}} +- {{< tag amenity shelter >}} +- {{< tag amenity telephone >}} +- {{< tag amenity theatre >}} +- {{< tag amenity toilets >}} +- {{< tag amenity townhall >}} +- {{< tag amenity university >}} +- {{< tag amenity vending_machine >}} +- {{< tag amenity veterinary >}} +- {{< tag amenity waste_basket >}} +- {{< tag emergency defibrillator >}} +- {{< tag emergency fire_hydrant >}} +- {{< tag emergency phone >}} +- {{< tag highway emergency_access_point >}} +- {{< tag historic archaeological_site >}} +- {{< tag historic battlefield >}} +- {{< tag historic castle >}} +- {{< tag historic fort >}} +- {{< tag historic memorial >}} +- {{< tag historic monument >}} +- {{< tag historic ruins >}} +- {{< tag historic wayside_cross >}} +- {{< tag historic wayside_shrine >}} +- {{< tag leisure dog_park >}} +- {{< tag leisure golf_course >}} +- {{< tag leisure ice_rink >}} +- {{< tag leisure park >}} +- {{< tag leisure pitch >}} +- {{< tag leisure playground >}} +- {{< tag leisure sports_centre >}} +- {{< tag leisure stadium >}} +- {{< tag leisure swimming_pool >}} +- {{< tag leisure water_park >}} +- {{< tag man_made lighthouse >}} +- {{< tag man_made surveillance >}} +- {{< tag man_made tower >}} +- {{< tag man_made wastewater_plant >}} +- {{< tag man_made water_well >}} +- {{< tag man_made water_works >}} +- {{< tag man_made watermill >}} +- {{< tag man_made windmill >}} +- {{< tag office diplomatic >}} +- {{< tag shop alcohol >}} +- {{< tag shop bakery >}} +- {{< tag shop beauty >}} +- {{< tag shop beverages >}} +- {{< tag shop bicycle >}} +- {{< tag shop books >}} +- {{< tag shop butcher >}} +- {{< tag shop car >}} +- {{< tag shop chemist >}} +- {{< tag shop clothes >}} +- {{< tag shop computer >}} +- {{< tag shop convenience >}} +- {{< tag shop department_store >}} +- {{< tag shop doityourself >}} +- {{< tag shop dry_cleaning >}} +- {{< tag shop florist >}} +- {{< tag shop furniture >}} +- {{< tag shop garden_centre >}} +- {{< tag shop general >}} +- {{< tag shop gift >}} +- {{< tag shop greengrocer >}} +- {{< tag shop hairdresser >}} +- {{< tag shop hardware >}} +- {{< tag shop jewelry >}} +- {{< tag shop kiosk >}} +- {{< tag shop laundry >}} +- {{< tag shop mall >}} +- {{< tag shop mobile_phone >}} +- {{< tag shop newsagent >}} +- {{< tag shop optician >}} +- {{< tag shop outdoor >}} +- {{< tag shop shoes >}} +- {{< tag shop sports >}} +- {{< tag shop stationery >}} +- {{< tag shop supermarket >}} +- {{< tag shop toys >}} +- {{< tag shop travel_agency >}} +- {{< tag shop video >}} +- {{< tag tourism artwork >}} +- {{< tag tourism alpine_hut >}} +- {{< tag tourism bed_and_breakfast >}} +- {{< tag tourism camp_site >}} +- {{< tag tourism caravan_site >}} +- {{< tag tourism chalet >}} +- {{< tag tourism guest_house >}} +- {{< tag tourism hostel >}} +- {{< tag tourism hotel >}} +- {{< tag tourism information >}} +- {{< tag tourism motel >}} +- {{< tag tourism picnic_site >}} +- {{< tag tourism theme_park >}} +- {{< tag tourism viewpoint >}} +- {{< tag tourism zoo >}} + +## 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.