Schema Reference
The Maptoolkit Vector Tile Schema is carefully drafted to combine highest cartographic quality and density with minimal tile file sizes. It is inspired by Mapbox Streets v7 and OpenMapTiles. Find the definition of vector tileset’s source layers below. Each layer has a set of fields, and many fields have a fixed set of values. Use this reference when you edit a map style sheet.
Layer names match the source-layer value you set in a MapLibre GL JS or Mapbox GL style. Field descriptions and values are taken directly from the tile schema. We stick to OpenStreetMap naming conventions as much as possible.
Standard fields
The label layers (place_label, poi_label, water_label, road_label) share a common set of fields on top of their layer-specific ones. They are listed once here instead of being repeated in every layer table below.
| Field | Description | Allowed values |
|---|---|---|
name | The feature’s primary name. For a non-Latin name, a trailing Latin part in parentheses is dropped — for example 日本 (Japan) becomes 日本. | String |
name_<lang> | The name in a specific language, where available: name_ar, name_cs, name_de, name_en, name_es, name_fr, name_hi, name_hu, name_it, name_ja, name_ko, name_pl, name_zh. | String |
type | The feature’s classification. | Varies by layer |
subtype | A finer classification within the type. | Varies by layer |
rank | How important the feature is, used to decide which labels to show. A lower number means more important. rank is normalized across poi_label, place_label and water_label layers so that the hierarchy of a feature can be be consistently determined between layers. | Integer, 1 to 26 |
is_nonlatin | Present when the name uses a non-Latin script. In that case name_en holds a transliteration if no Latin-script name is available. | 1 or empty |
Zoom levels
A feature’s first visible zoom comes from its rank: more important features (lower rank) appear earlier, at lower zoom levels. The schema has no per-field zoom value — the zoom range is set when the tiles are built.
water
Water as polygons — oceans, lakes, and smaller water bodies — and waterways as lines
(rivers, streams, canals, ditches, and drains). The type field carries the class of each feature.
Water polygons tagged covered=yes are left out; this affects areas only, not waterway lines.
Water areas are present from zoom 0, with detailed areas from OpenStreetMap (OSM)
added from zoom 6 and coarser worldwide areas from Natural Earth at lower zooms.
Waterway lines start at zoom 3; named rivers appear from zoom 9, and smaller waterways
(canals, streams, ditches, drains, and unnamed rivers) from zoom 12 to 14.
| Field | Description | Allowed values |
|---|---|---|
type | The class of the water feature, used to pick fill or line styling. Ocean and sea areas are ocean. Any water area that does not match a more specific class is lake, including reservoirs. Small still-water bodies tagged water=pond, water=basin, or water=wastewater are pond. The open water surface of a flowing water body tagged water=river, water=stream, water=canal, water=ditch, or water=drain is river. Wet and dry docks (waterway=dock) are dock, swimming pools (leisure=swimming_pool) are swimming_pool, and area-mapped fountains (amenity=fountain) are fountain. Waterway lines take their class from the OSM waterway tag: river, stream, canal, drain, or ditch. A waterway in a tunnel gets an underground_ prefix (for example underground_river); this prefix appears only on the per-way waterways added from zoom 9. River lines drawn at zoom 3 to 8 always use the plain river class. The Caspian Sea is a lake, not an ocean. | dock, river, canal, stream, drain, ditch, underground_river, underground_canal, underground_stream, underground_drain, underground_ditch, pond, lake, ocean, swimming_pool, fountain |
intermittent | Set to 1 when the water body or waterway is intermittent — it holds water only part of the year. The field is absent when the feature is not intermittent. On water areas it is present from zoom 6; on waterway lines from zoom 12. | 0, 1 |
crossing | Marks whether the feature crosses on a bridge or runs through a tunnel. The field is absent when the feature is at ground level. Present from zoom 12, on both water areas and waterway lines. | bridge, tunnel |
natural
This layer describes landcover — the physical surface material of the earth, such as wood, grassland,
sand, rock, ice, and wetland. It also carries a base land mask and named protected or restricted areas.
The most common use is styling wood (type=wood) and grass (type=grass) areas as well as protected areas such as national parks.
At low zoom the landcover is generalized, with glaciers and ice shelves from Natural Earth; from zoom 14 it comes directly from OpenStreetMap (OSM) tags.
The zoom from which a feature appears depends on its source: generalized landcover polygons show at
z4-13, OSM landcover polygons from z14, the land base mask (drawn below all landcover) at z4-15, and
landcover lines from z13 (cliff), z15 (tree_row), or z14 (all others). Named protected and
restricted areas appear at a zoom based on their size.
| Field | Description | Allowed values |
|---|---|---|
type | Use type for the broad landcover color of an area. Each value groups related surface materials (for example wood covers wood and forest; grass covers grassland, meadow, village green, and golf greens and fairways). The grouping is shown in the value list below. Besides the landcover values, type can also be: - land — the base land mask, present z4-15 and drawn below all landcover. - military, aboriginal_lands, national_park, protected_area — named protected or restricted areas. | farmland, ice, wood, rock, grass, fell, scrub, wetland, sand, cliff, tree_row, hedge |
subtype | Use subtype for more precise styling than type. For landcover features subtype is the original OpenStreetMap (OSM) value from the natural, landuse, wetland, golf (green/fairway/rough/bunker), or barrier (hedge) tag — so type=wood, for example, splits into subtype=wood or subtype=forest. For named protected and restricted areas subtype is one of aboriginal_lands, protect_class_1, protect_class_2, protect_class_3, or protect_class_other (IUCN protect classes 4-6 are grouped as protect_class_other; other class values produce no subtype). The land mask and military areas carry no subtype. | bare_rock, beach, bog, dune, scrub, shrubbery, farm, farmland, fell, forest, glacier, grass, ice_shelf, grassland, heath, mangrove, marsh, meadow, moor, orchard, plant_nursery, reedbed, saltern, saltmarsh, sand, scree, shoal, swamp, tidalflat, tundra, village_green, vineyard, wet_meadow, wetland, wood, cliff, tree_row, hedge, green, fairway, rough, bunker, aboriginal_lands, protect_class_1, protect_class_2, protect_class_3, protect_class_other |
landuse
Polygons describing how land is used or occupied — residential zones, parks, cemeteries,
parking, schools, hospitals, sports pitches, quarries, airport grounds, and flowerbeds.
Style and query these areas with the type field.
Below zoom 14 the layer holds generalized areas, so coarse maps stay readable. From zoom 14
the individual OpenStreetMap (OSM) source polygons appear, each carrying a broad type and a
more specific subtype.
| Field | Description | Allowed values |
|---|---|---|
type | Broad category of the area, meant for styling — one of the ten values below. Many raw OpenStreetMap (OSM) tag values (landuse, amenity, leisure, tourism, aeroway) map to a single category: for example university, kindergarten, and library all become school, and commercial, industrial, and retail all become residential. Present at every zoom, and the only classification available below zoom 14. | residential, park, cemetery, parking, school, hospital, pitch, quarry, aeroway, flowerbed |
subtype | The exact OpenStreetMap (OSM) tag value the area came from — the first present of landuse, amenity, leisure, tourism, or aeroway. This is the fine-grained classification behind type (its possible values are listed below). Present only on the detailed polygons from zoom 14; generalized areas below zoom 14 carry a type but no subtype. | allotments, recreation_ground, railway, cemetery, residential, commercial, industrial, garages, retail, bus_station, school, university, kindergarten, college, library, education, hospital, healthcare, stadium, pitch, playground, track, theme_park, zoo, quarry, parking, park, garden, golf_course, camp_site, grave_yard, aerodrome, flowerbed |
admin
Administrative boundaries drawn as lines: country borders and their internal
subdivisions such as states and provinces. At low zooms (zoom 0 to 4) the lines come
from Natural Earth; from zoom 5 to 14 they come
from OpenStreetMap (OSM) (boundary=administrative),
with maritime country borders (admin_level = 2) already present at zoom 4.
The import is limited to admin_level 2 or 4.
| Field | Description | Allowed values |
|---|---|---|
admin_level | The OpenStreetMap (OSM) admin_level of the line. Lower numbers mean a more important boundary: 2 is a country border and 4 a main subdivision such as a state or province. A line often belongs to several boundaries at once, in which case it carries the lowest (most important) level. Natural Earth lines at low zooms follow the same scheme (country borders as 2, first-order subdivisions as 4). | |
name_left | ISO 3166-1 alpha-3 code of the country on the left side of the border line (by the direction the line is drawn). Present only on non-disputed country borders (admin_level = 2), from zoom 5 onward. | |
name_right | ISO 3166-1 alpha-3 code of the country on the right side of the border line (by the direction the line is drawn). Present only on non-disputed country borders (admin_level = 2), from zoom 5 onward. | |
disputed | 1 if the border is disputed, 0 otherwise. | 0, 1 |
disputed_name | Name of the disputed border or area, taken from OSM (for example a line of control). Present only on disputed lines. | |
claimed_by | Country that claims the disputed territory, from the OSM claimed_by tag (usually an ISO 3166-1 alpha-2 code). Present only on disputed lines, at admin_level 2 or 4. | |
maritime | 1 if the line is a maritime (sea) border, 0 if it runs on land. | 0, 1 |
road
The road layer holds linear transport features: roads (from
motorways down to tracks and footpaths), railways, aerial ways
(lifts and cable cars), ferry routes, airport runways and taxiways,
and ski or winter pistes. It follows the OpenStreetMap (OSM) road
hierarchy and is usually the core of a map’s line styling.
Most features are lines; the layer also carries polygons for
pedestrian areas (plazas), area dams (type=dam), and the
structural features pier, bridge, and citywalls.
| Field | Description | Allowed values |
|---|---|---|
type | The main class of a feature, used to tell important roads and railways apart from minor ones and to mark roads under construction. For roads it comes from the OSM highway tag, or from construction for a road being built (giving the *_construction values). Railways use railway (type=railway, with the exact kind in subtype), ferries use route=ferry (type=ferry), and aerial ways use aerialway. Non-road features add aeroway (runways and taxiways), piste (ski or winter runs), dam (polygons only), and the structural pier, bridge (polygons only) and citywalls, taken from man_made, historic, and barrier. A way that belongs to a hiking or cycling route shows earlier than its class alone would allow; at those low zooms its type is set to network and subtype is cleared, and the real type/subtype return at higher zoom. | motorway, trunk, primary, secondary, tertiary, minor, path, steps, via_ferrata, network, service, track, raceway, busway, bus_guideway, ferry, aerialway, aeroway, piste, pier, bridge, citywalls, dam, motorway_construction, trunk_construction, primary_construction, secondary_construction, tertiary_construction, minor_construction, path_construction, service_construction, track_construction, raceway_construction |
subtype | A more specific class within type. Railways carry their exact kind here (rail, narrow_gauge, subway, tram, light_rail, monorail, funicular, preserved, miniature). Paths carry the path kind (path, footway, cycleway, bridleway, corridor, steps, or platform); a highway=path marked for bicycles (bicycle=designated) becomes cycleway, and a path or track that is a mountain-bike trail becomes mtb_trail (shown from zoom 13). Aerial ways carry the lift type, aeroways carry runway/taxiway, and pistes carry the piste:type, optionally suffixed with the difficulty as type-difficulty (for example downhill-advanced). Where a road’s OSM value is more specific than type, subtype holds that value — for example motorway_link under type=motorway, or residential under type=minor. | rail, narrow_gauge, preserved, funicular, subway, light_rail, monorail, tram, miniature, pedestrian, path, footway, cycleway, steps, bridleway, corridor, mtb_trail, platform, chair_lift, drag_lift, platter, t-bar, gondola, cable_car, j-bar, mixed_lift, goods, runway, taxiway |
network | The route network a way belongs to, from its membership in an OSM route relation (the relation’s network tag). Two families of value are used. Road networks are normalized to a fixed token — us-* (US road signs), ca-transcanada/ca-provincial*, gb-* (UK roads), ie-* (Ireland), e-road and a-road; for Great Britain and Ireland the gb-*/ie-* value is also worked out from the way’s ref when no route relation is present. Hiking and cycling networks make up the rest: walking iwn/nwn/rwn/lwn and cycling icn/ncn/rcn/lcn (also available on their own in walking_network and cycling_network). Route membership makes a way show earlier than its class alone would allow: each network has a first zoom (icn z6, iwn z7, ncn z8, nwn z9, rcn z10, rwn z11, lwn/lcn z12). When a way is in several networks, the value shown is the one that appears first (lowest zoom; ties go to the cycling network), so it stays set across the way’s whole zoom range. Road networks take precedence over hiking and cycling ones. | us-interstate, us-highway, us-state, ca-transcanada, ca-provincial-arterial, ca-provincial, gb-motorway, gb-trunk, gb-primary, ie-motorway, ie-national, ie-regional, e-road, a-road, iwn, nwn, rwn, lwn, icn, ncn, rcn, lcn |
crossing | Marks a way that is a bridge or tunnel, so you can style it apart from a ground-level way. Absent for a normal way. | bridge, tunnel |
oneway | Travel direction of a one-way segment: 1 runs along the way’s digitized direction, -1 runs against it. The field is absent (never 0) when the way is not one-way. | 1, -1 |
oneway_bicycle | Set to 0 only on a one-way street tagged oneway:bicycle=no, where cyclists may ride against the traffic direction (contraflow). Absent otherwise, meaning cyclists follow the general oneway rule. | 0 |
ramp | Set to 1 when the way is a ramp — a *_link road or an OSM ramp=yes. Present only on motorway, trunk, primary, secondary, and tertiary roads and on railway, aerial way, and ferry features; absent elsewhere, and never 0. | 1 |
service | The kind of service way, from the OSM service tag, kept only for these values: spur, yard, siding, crossover, driveway, alley, and parking_aisle. | spur, yard, siding, crossover, driveway, alley, parking_aisle |
access | Access restriction on the way. The only value is no, set when the OSM access tag is no or private — both mean the way is generally not open to the public. Absent otherwise. | false |
toll | Set to 1 when the way is a toll road (OSM toll tag); absent otherwise. | 1 |
layer | The OSM layer value, giving the way’s vertical stacking order where features cross (a higher number sits above a lower one). Absent when the layer is 0. | |
level | The OSM level value — the building floor the feature is on. Set only for steps, footways, and public_transport=platform features. | |
indoor | Set to 1 for a feature inside a building, from the OSM indoor tag. Set only for steps, footways, and public_transport=platform features, which appear from zoom 15. | 1 |
bicycle | Simplified cycling access, worked out from the OSM bicycle tag and the cycleway/cycleway:both/cycleway:left/cycleway:right tags (the cycleway tags win when they give a usable value). Values: designated (a way meant for cyclists), lane (an on-road cycle lane), sidepath (a separate parallel cycle path), and no (cycling not allowed). Roads only, from zoom 13. | designated, sidepath, lane, no |
mtb_scale | The OSM mtb:scale value — the mountain-bike difficulty rating of a trail. Roads only. | |
sac_scale | The SAC hiking difficulty rating of a path, normalized from the OSM sac_scale tag to the SAC scale numbers T1–T6: hiking→T1, mountain_hiking→T2, demanding_mountain_hiking→T3, alpine_hiking→T4, demanding_alpine_hiking→T5, difficult_alpine_hiking→T6. Any other value is dropped, so the field is absent. Roads only, from zoom 12. | T1, T2, T3, T4, T5, T6 |
via_ferrata_scale | The difficulty grade of a via ferrata, normalized from the OSM via_ferrata_scale tag. Set only on features with type=via_ferrata; absent everywhere else. Numeric grades map to single letters (1→A, 2→B, 3→C, 4→D, 5→E, 6→F). Half steps (1.5, 2.5, and so on) and the +/- modifiers collapse to a two-letter range: 1.5/1+/2-→A/B, 2.5/2+/3-→B/C, 3.5/3+/4-→C/D, 4.5/4+/5-→D/E, 5.5/5+/6-→E/F. Any other value is dropped, so the field is absent. Roads only, from zoom 12. | |
cycling_network | The cycling route network a way belongs to: icn (international), ncn (national), rcn (regional), or lcn (local). This is the cycling value on its own; the combined network field may instead show a walking or road network. | icn, ncn, rcn, lcn |
walking_network | The walking or hiking route network a way belongs to: iwn (international), nwn (national), rwn (regional), or lwn (local). This is the walking value on its own; the combined network field may instead show a cycling or road network. | iwn, nwn, rwn, lwn |
urban | Set to 1 when the way runs through a built-up (urban) area, and absent otherwise. Set for path, track, and steps features. | 1 |
surface | Tells you whether the way is paved or unpaved, so you can style it without matching every raw OpenStreetMap (OSM) value. The value is derived first from the surface tag and otherwise from tracktype. paved maps values such as asphalt, concrete, paving_stones, cobblestone, sett, metal, and wood (and tracktype grade1); unpaved maps gravel, dirt, ground, sand, grass, compacted, and similar (and tracktype grade2–grade5). An unrecognized surface value falls through to the tracktype bucket; the field is unset only when neither surface nor tracktype yields a recognized value. | paved, unpaved |
building
Building footprints from OpenStreetMap (OSM), as polygons. This covers buildings (building=*), building parts (building:part=*), and airport terminals and hangars (aeroway=terminal/hangar, which are treated as buildings). Underground buildings are left out — those tagged location=underground or with a negative OSM level value.
Footprints appear from zoom 13. At zoom 13, nearby buildings are merged into one polygon, so a whole city block shows up as a single shape; from zoom 14 each building is a separate polygon. The height, min_height, building, building_colour, extrude, and colour_index fields are present from zoom 14, and the roof_* fields from zoom 15.
| Field | Description | Allowed values |
|---|---|---|
colour_index | A number from 0 to 9 assigned to each building. Styles use it to vary the fill color between neighboring buildings so they do not all look identical. | |
height | Building height in meters, rounded up to a whole number. Comes from the OSM height tag (or building:height); if that is missing, it is estimated from the number of levels, and with no height or level tag it defaults to 6. | |
min_height | The height in meters at which the building starts above ground, rounded down to a whole number. Comes from the OSM min_height tag (or building:min_height); if that is missing, it is estimated from the minimum level, otherwise 0. Use it to float building parts above the ground, such as an upper floor. | |
extrude | Whether the polygon should be raised into a 3D block. true for normal buildings. false when the feature is the outline member of an OSM type=building relation — there the 3D shape comes from the separate building-part polygons, so the outline stays flat. | |
building | A building category, set only for four types: school, church, public, and train_station. Every other OSM building value (including the common yes) leaves this field unset, so it is present only for these four. | school, church, public, train_station |
roof_shape | Roof shape, as the raw OSM roof:shape value (for example flat, gabled, hipped, pyramidal, dome). Useful for 3D roof rendering. | |
roof_height | Roof height, as the raw OSM roof:height value — a string, usually in meters. | |
roof_material | Roof covering material, as the raw OSM roof:material value (for example tile, metal, slate). | |
roof_colour | Roof color, as the raw OSM roof:colour value — a color name or a hex code. | |
roof_direction | Direction the roof ridge faces, as the raw OSM roof:direction value (degrees or a compass direction). | |
roof_levels | Number of levels contained within the roof, as the raw OSM roof:levels value. | |
roof_angle | Roof pitch angle in degrees, as the raw OSM roof:angle value. | |
roof_orientation | How the roof ridge sits relative to the building, as the raw OSM roof:orientation value (along or across). | |
building_colour | Building color as a lowercase string — usually a hex code like #bd8161, but it can be a color name where the OSM tag is set that way. Comes from the OSM building:colour tag; if that is missing, it is derived from building:material using a fixed table (brick/masonry/traditional #bd8161, wood #d48741, glass #5a81a0, concrete #d3c2b0, metal/steel/tin #b7b1a6, stone/sandstone #b4a995, mud/clay #9d8b75, plaster #dadbdb, cement_block #6a7880, timber_framing #b3b0a9); the capitalized OSM value Brick also maps to the brick color. Material matching is case-sensitive, and materials not in this table produce no color. Buildings with neither tag have no building_colour. |
water_label
Label geometries for named water: oceans, seas, bays, straits, reefs, lakes, reservoirs, and waterways (rivers, canals, streams, drains, ditches). This layer holds only the labels — the water fill polygons are in the water layer. Swimming pools and fountains are not labeled here.
Every named lake and reservoir gets a point label placed inside it, and large ones also carry a center line that follows the water’s shape so a label can curve along it. Oceans and seas are shown from zoom 0; smaller water bodies appear at higher zooms based on their size.
Waterways are labeled as lines, and only when they have a name: rivers from zoom 3, canals from zoom 12, and streams, drains, and ditches from zoom 13. The lowest-zoom river labels come from Natural Earth.
| Field | Description | Allowed values |
|---|---|---|
name | The water feature’s name, from the OpenStreetMap (OSM) name tag. Per-language variants are exposed as name_<lang> — name_de, name_en, name_es, name_fr, name_it, name_pl, name_cs, name_hu, name_ar, name_hi, name_ja, name_ko, name_zh. Each variant is present only when OSM carries the matching name:<lang> tag. | |
type | The kind of water feature. Water bodies use water (lakes and reservoirs), ocean, sea, bay, strait, or reef. Waterways use the OpenStreetMap (OSM) waterway type: river, canal, stream, drain, or ditch. A waterway that runs underground in a tunnel gets an underground_ prefix, for example underground_river. Waterways start at different zooms by type: rivers from zoom 3, canals from zoom 12, and streams, drains, and ditches from zoom 13. | bay, strait, reef, sea, ocean, water, river, canal, stream, drain, ditch, underground_river, underground_canal, underground_stream, underground_drain, underground_ditch |
intermittent | Set to 1 when the water body or waterway is intermittent — it holds water only part of the year. The field is absent otherwise. On waterways it is present only from zoom 12. | 1 |
crossing | Marks whether a waterway is carried on a bridge or runs through a tunnel. The field is absent for waterways at ground level, and it is present only from zoom 12. | bridge, tunnel |
rank | A label-priority value: lower numbers are more important and are meant to be placed first. It reflects the feature’s size — surface area for lakes and reservoirs, length for center lines — or, for waterways, the zoom at which they first appear. Not every feature carries a rank; some ocean, sea, bay, strait, and reef point labels have none. | |
is_nonlatin | Set to 1 when the name contains non-Latin characters, such as Cyrillic, Arabic, or Chinese, Japanese, and Korean (CJK) scripts. The field is absent for Latin-only names. Use it to choose a suitable font for the label. | 1 |
road_label
Labels for transportation features: roads and other highways, railways, aerialways, ferries
(route=ferry), ski and snow pistes, aeroways, motorway-junction (exit) points, and the cycling and
walking node-network junction points used in the Netherlands and Belgium, identified by the
OpenStreetMap (OSM) tag network:type=node_network. A highway way, route relation, or node-network junction is included only
when it carries a name or a ref (a ref on its own is enough); railway, aerialway, ferry, piste, and
aeroway features need a name.
Labels come from a few source types that you tell apart by geometry and by which fields are set.
A way line label carries type and subtype, with network absent. A route-relation line label
carries network, with type and subtype absent. A node-network junction is a point with
network = rcn or rwn and a ref (the node number), with type, subtype, and name absent.
A motorway-junction point is also a point and carries type (the junction’s road class),
subtype = junction, and — where tagged — name and ref. One named way that belongs to named route
relations produces a separate feature per source, so the same road can appear more than once.
To label a motorway use its ref; for other roads use name.
| Field | Description | Allowed values |
|---|---|---|
name | The OSM name of the labeled feature — a highway, route relation, railway, aerialway, ferry, piste, aeroway, or motorway-junction point. Node-network junction points have no name. Localized names come in name_<lang> fields — name_de, name_en, name_fr, name_it, name_es, name_zh, name_ja, name_hi, name_ru, name_ar, name_ko, name_hu, name_cs, name_pl — each present only when the matching name:<lang> tag exists in OSM. | |
ref | The reference code of the feature. For highway ways and route relations it is the OSM ref tag, dropped when longer than 6 characters. For motorway-junction points it is the exit or junction number, for node-network points the node number (the leading digits of rcn_ref/rwn_ref), and for pistes and aeroways their own ref where present. | |
reflen | The character length of the ref value. Use it to size a shield background behind the label, mainly for motorway refs. | |
network | The route or road network the label belongs to. Set on route-relation labels and on node-network junction points (rcn or rwn); absent on way labels and on the other source types. Known road networks are normalized to a canonical token (for example us-interstate, gb-motorway, e-road, a-road). For a relation whose OSM network is not recognized, the raw OSM network string is passed through unchanged, so values outside the list below (such as DE:A) can appear. The hiking and cycling network values (iwn, nwn, rwn, lwn, icn, ncn, rcn, lcn) also set the zoom from which the relation label starts to appear. Specific countries: USA, United Kingdom, Canada. | us-interstate, us-highway, us-state, ca-transcanada, ca-provincial-arterial, ca-provincial, gb-motorway, gb-trunk, gb-primary, ie-motorway, ie-national, ie-regional, e-road, a-road, iwn, nwn, rwn, lwn, icn, ncn, rcn, lcn |
type | The primary kind of transportation feature. For highway ways it is the road class (motorway, trunk, primary, down to service, track, and path, plus their _construction variants). Railways, aerialways, ferries, pistes, and aeroways use the fixed values railway, aerialway, ferry, piste, and aeroway. Pier-like features tagged man_made=pier/break_water/groyne without a highway tag get type=pier. For a motorway-junction point, type is the junction’s road class (motorway/trunk/primary/secondary/tertiary/minor), not the literal motorway_junction — the point is marked as a junction through subtype=junction. Set on way labels and on motorway-junction points; absent on route-relation labels and node-network junction points. | motorway, trunk, primary, secondary, tertiary, minor, service, track, path, raceway, via_ferrata, busway, bus_guideway, steps, motorway_construction, trunk_construction, primary_construction, secondary_construction, tertiary_construction, minor_construction, service_construction, track_construction, path_construction, raceway_construction, railway, aerialway, ferry, piste, aeroway, pier |
subtype | A more detailed classification within the type. For highways it is the raw OSM highway value (mainly for paths and link roads); highway=path with bicycle=designated becomes cycleway, and highway=steps becomes steps. Railways carry the railway kind (rail, narrow_gauge, light_rail, subway, tram, funicular, monorail, and so on), aerialways the aerialway kind (cable_car, gondola, chair_lift, drag_lift, and so on), and aeroways the aeroway kind (runway, taxiway). A piste combines its type and difficulty, for example downhill-advanced or nordic-intermediate. Motorway-junction points use junction, and ferries have no subtype. For railways, aerialways, aeroways, and pistes the value is taken straight from OSM, so values beyond those listed below can occur. Set on way labels and on motorway-junction points; absent on route-relation labels and node-network junction points. | pedestrian, path, footway, cycleway, steps, bridleway, corridor, platform, junction, rail, narrow_gauge, light_rail, subway, tram, funicular, monorail, miniature, preserved, cable_car, gondola, chair_lift, drag_lift, t-bar, j-bar, platter, rope_tow, magic_carpet, zip_line, goods, runway, taxiway |
indoor | Set to 1 when the feature is indoors (OSM indoor=yes), absent otherwise. Present from zoom 15. | 1 |
is_nonlatin | Set to 1 when the name contains non-Latin characters, absent otherwise. Use it to choose fonts or decide on transliteration when rendering the label. | 1 |
place_label
Label points and label lines for named features across a wide range of scales:
places from continents,
countries and
states down to cities, towns, villages
and smaller settlements; islands;
protected areas (national parks, protected areas and aboriginal lands); parks and gardens; dams;
and natural features such as regions, mountain ranges and glaciers.
Most features are points, but large extended features — regions, mountain ranges and glaciers —
come as line geometries so their labels can follow the shape of the feature (style these with
symbol-placement: line).
| Field | Description | Allowed values |
|---|---|---|
name | The name of the place, taken from the OpenStreetMap (OSM) name tag. Localized names are provided as separate fields — name_de, name_en, name_es, name_fr, name_it, name_pl, name_cs, name_hu, name_ar, name_hi, name_ja, name_ko, name_zh — each present only when the matching name:<lang> tag is set in OSM. | |
is_nonlatin | Set to 1 when the place name contains non-Latin characters; absent otherwise. | 1 |
capital | Present on capital settlements. The value is the admin_level of the boundary this place is the capital of — for example 2 for a national capital and 4 for a regional one. capital=yes in OSM is treated as 2. | 2, 3, 4, 5, 6 |
type | The kind of feature. For most features this is the original value of the OSM place tag: a continent, country, state, or island, or a settlement such as city, town or village. Use it to style each kind of place differently and to build a text hierarchy by importance. For protected areas the value is the boundary tag (national_park, protected_area or aboriginal_lands). For parks and similar areas it is the landuse tag, or the leisure tag when there is no landuse value (for example garden, park). Dams always have type dam, and region, mountain-range and glacier features use region, mountain_range or glacier when no more specific value is available. | continent, country, state, province, region, city, town, village, hamlet, borough, suburb, quarter, neighbourhood, isolated_dwelling, city_block, plot, square, courtyard, farm, allotments, archipelago, island, islet, locality, polder, atoll, aboriginal_lands, national_park, protected_area, tree, shrub, cape, beach, rock, stone, isthmus, peninsula, mountain_range, plateau, arch, arete, ridge, cliff, gorge, gully, couloir, cave_entrance, sinkhole, dune, hill, valley, glacier, wood, tree_group, tree_row, scrub, shrubbery, heath, grassland, grass, scree, sand, shingle, shoal, bare_rock, blockfield, mud, earth_bank, landform, fell, tundra, wetland, moor, swamp, water_meadow, cemetery, recreation_ground, garden, park, dam |
subtype | A finer classification for protected areas, for more precise styling. For boundary=aboriginal_lands the subtype is aboriginal_lands. Otherwise it comes from the OSM protect_class: classes 1a, 1b and 1 become protect_class_1, 2 becomes protect_class_2, 3 becomes protect_class_3, and 4, 5 and 6 become protect_class_other. Any other protect_class is dropped from the layer. | protect_class_1, protect_class_2, protect_class_3, protect_class_other, aboriginal_lands |
category | A broader grouping for styling. Countries and states are country; protected areas are national_park, protected_area or aboriginal_lands; parks and gardens are park, military areas are military, and winter-sports areas are winter_sports. Settlements carry a zoom-dependent value: capital cities are capital, a city is always big_place, and town, village, hamlet, suburb and borough start as small_place and switch to big_place as you zoom in, while quarter, neighbourhood and isolated_dwelling stay small_place. Everything else (islands, natural features, dams and centerlines) is other. | other, country, national_park, protected_area, aboriginal_lands, park, military, winter_sports, capital, big_place, small_place |
country | The two-letter ISO 3166-1 alpha-2 country code (for example DE or FR). Present only when type=country. It is taken from the first of the OSM country_code_iso3166_1_alpha_2, ISO3166-1:alpha2 and ISO3166-1 tags that has a value. | |
rank | An importance score that drives the text hierarchy: a lower number means a more important place that appears earlier (at lower zooms) and takes priority when labels compete for space. Countries fall roughly in the range 1–6 and states in 3–8, with the most important cities ranked alongside them; less prominent places get higher numbers that reflect their local importance. Use rank to decide which labels to show or to drive font sizing. rank is normalized not only across the place_label layer, but also across the poi_label and water_label layers so that the hierarchy of a feature can be be consistently determined between layers. | 1-26 |
housenum_label
Point labels for house numbers. Each feature carries one street address number from the OpenStreetMap (OSM) addr:housenumber tag as a point you can draw directly on the map. These labels appear from zoom 15 on.
Where an address is mapped as an area, such as a building outline, the point is placed at the centroid of simple shapes and at an interior point of more complex ones, so it always falls inside the outline.
Duplicate addresses are reduced to a single point per tile, and points with an identical house number are joined into one multipoint feature.
| Field | Description | Allowed values |
|---|---|---|
housenumber | A single street address number, taken from the OpenStreetMap addr:housenumber tag. When the source value lists several numbers separated by semicolons, it is collapsed into a range joined by an en-dash (–). A list of pure numbers becomes its smallest and largest value (for example 5;3;9 becomes 3–9), while a list that includes letters or other non-digit characters keeps its first and last entries as written (for example 5a;5c becomes 5a–5c). Empty entries are ignored, and a value that consists only of separators passes through unchanged. |
poi_label
Points of Interest (POI) — individual places
such as shops, restaurants, schools, parks, peaks, and airports, taken from OpenStreetMap. Each POI is a
point (features mapped as areas are placed at their center) and carries a type/subtype pair and a
category for styling, plus a rank you can use to thin labels by importance.
| Field | Description | Allowed values |
|---|---|---|
name | The place’s name, from the OpenStreetMap name tag. Translated names are added as name_<lang> fields — name_de, name_en, name_es, name_fr, name_it, name_pl, name_cs, name_hu, name_ar, name_hi, name_ja, name_ko, name_zh — and each one is present only when the matching name:<lang> tag exists in OpenStreetMap. | |
type | A broad grouping of the POI for styling. Where a subtype has no broader group, type repeats the subtype value. Grouping lets you style related POIs together: match the school type to cover both the school and kindergarten subtypes, or the shop type to cover every kind of shop. Some type values add a distinction beyond the plain groups. The religious_* values (religious_christian, religious_jewish, religious_muslim, religious_buddhist, religious_hindu, religious_shinto) split a place of worship by its religion, and use temple when the religion is unknown. solar and wind mark power generators and plants by their energy source. observation_tower, communications_tower, defensive_tower, and flagpole separate towers by their kind. gondola, chair_lift, drag_lift, and goods mark aerial-lift stations by the lift they serve. pyramid covers pyramid-shaped tombs and ruined pyramids. You will also see the plain restaurant and bakery values. The generator, station, dog_park, crossing, and traffic_signals values never reach the tiles. | shop, computer, shoes, doityourself, furniture, florist, bicycle, car, toilets, atm, bank, town_hall, fast_food, park, dog_park, bus_stop, rail, rail_metro, tram, rail_miniature, rail_funicular, rail_monorail, station, entrance, aerodrome, ferry_terminal, charging_station, fuel, bicycle_repair_station, bicycle_rental, bicycle_parking, campsite, laundry, grocery, market, library, college, lodging, ice_cream, post, cafe, school, alcohol_shop, bar, harbor, car_rental, car_repair, border_control, toll_booth, fire_station, police, hospital, pharmacy, cemetery, beer, music, playground, stadium, sports_centre, ice_rink, american_football, baseball, basketball, climbing, cricket, equestrian, golf, fitness_station, hockey, sailing, shooting, skateboard, soccer, surfing, tennis, trampoline, volleyball, water_ski, clothing_store, drinking_water, swimming, fountain, water_tower, watermill, windmill, observation_tower, communications_tower, lighthouse, generator, castle, temple, ruins, zoo, aquarium, theme_park, museum, theatre, cinema, art_gallery, monument, city_gate, fort, tomb, religious_christian, religious_buddhist, religious_shinto, monastery, information, guidepost, flagpole, bench, hunting_stand, picnic_site, traffic_signals, crossing, lift_gate, gate, peak, mountain_pass, tree, geyser, firepit, alpine_hut, shelter, viewpoint, parking, attraction |
subtype | The detailed classification of the POI, taken from the value of the OpenStreetMap tag it came from — one of amenity, barrier, historic, information, landuse, leisure, railway, shop, sport, station, religion, tourism, aerialway, building, highway, office or waterway. Use it when you need finer control than type gives you. | |
ele | Height above sea level in meters, from the OpenStreetMap ele tag, rounded to the nearest whole number. Present on peaks, mountain passes, mountain huts and other natural or mountain features. | |
ele_ft | The same elevation converted to feet, rounded to the nearest whole number. | |
customary_ft | Set to 1 on natural features (peaks, volcanoes, springs, trees, geysers, and the like) that lie in a country where feet is the customary unit of elevation — in practice the USA. A style can use it to show ele_ft there instead of ele. Absent everywhere else. | 1, null |
iata | The 3-letter International Air Transport Association (IATA) airport code; present on aerodromes that have one. | |
is_nonlatin | Set to 1 when name contains non-Latin characters, which helps a style pick a suitable font. Absent otherwise. | 1 |
rank | An importance bucket for thinning labels, where 1 is the most important. Values run 1–4; peaks and all other POIs are each sorted into this same 1–4 range. A common pattern is to show only rank=1 at low zooms and reveal the higher buckets as you zoom in. | |
rank_new | The finer-grained importance score behind rank, again with lower meaning more important. Ordinary POIs fall in the range 11–26; peaks use 10–17. Reach for this when the four rank buckets are too coarse for controlling label density. Many tag combinations shift the score toward more important — a heritage listing or tourism=attraction, for example. rank is normalized not only across the poi_label layer, but also across the place_label and water_label layers so that the hierarchy of a feature can be be consistently determined between layers. | |
stop_main | Marks the main stop within a group of public-transport stops (train stations and halts, subways, trams, bus stations, and bus stops). Stops are grouped by their uic_ref tag, which is not used everywhere; the most central stop in each group is flagged with stop_main=1. | 1 |
level | The building floor the POI is on, as a number, from the OpenStreetMap level tag. | |
indoor | Set to 1 when the POI is inside a building (mapped as indoor in OpenStreetMap); absent otherwise. | 1 |
urban | Set to 1 when the POI falls inside an urban area. Only computed for a few types (bus_stop, drinking_water, and parking); absent on every other POI. | 1 |
category | A broad grouping of the POI’s type, meant for styling. Every feature in the layer has one of the categories listed below; a POI whose type maps to no category is left out of the layer entirely. | health, traffic, education, attraction, public, sport, park, water, religion, food, shop, peak, other |