2026-05-24 13:49:43 +02:00
|
|
|
{
|
|
|
|
|
"version": 8,
|
|
|
|
|
"sources": {
|
|
|
|
|
"openmaptiles": {
|
|
|
|
|
"type": "vector",
|
|
|
|
|
"url": "https://gpxstudio.xyz/openmaptiles.json"
|
|
|
|
|
},
|
2026-05-25 09:59:54 +02:00
|
|
|
"esri": {
|
|
|
|
|
"type": "raster",
|
|
|
|
|
"tiles": ["https://services.arcgisonline.com/arcgis/rest/services/World_Imagery/MapServer/WMTS/tile/1.0.0/World_Imagery/default/default028mm/{z}/{y}/{x}.jpg"],
|
|
|
|
|
"tileSize": 256,
|
|
|
|
|
"maxzoom": 19,
|
|
|
|
|
"attribution": "© <a href=\"https://www.esri.com/\" target=\"_blank\">Esri</a>, Vantor, Earthstar Geographics, and the GIS User Community"
|
2026-05-24 13:49:43 +02:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
"sprite": "https://tiles.openfreemap.org/sprites/ofm_f384/ofm",
|
|
|
|
|
"glyphs": "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf",
|
|
|
|
|
"layers": [
|
|
|
|
|
{
|
2026-05-25 09:59:54 +02:00
|
|
|
"id": "esri",
|
|
|
|
|
"type": "raster",
|
|
|
|
|
"source": "esri"
|
2026-05-24 13:49:43 +02:00
|
|
|
},
|
2026-05-25 11:00:55 +02:00
|
|
|
|
|
|
|
|
{
|
|
|
|
|
"id": "waterway_river",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "waterway",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "river"],
|
|
|
|
|
["!=", ["get", "brunnel"], "tunnel"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#a0c8f0",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
11,
|
|
|
|
|
0.5,
|
|
|
|
|
20,
|
|
|
|
|
6
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "waterway_other",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "waterway",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["!=", ["get", "class"], "river"],
|
|
|
|
|
["!=", ["get", "brunnel"], "tunnel"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#a0c8f0",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.3],
|
|
|
|
|
["zoom"],
|
|
|
|
|
13,
|
|
|
|
|
0.5,
|
|
|
|
|
20,
|
|
|
|
|
6
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-24 13:49:43 +02:00
|
|
|
{
|
|
|
|
|
"id": "tunnel_path_pedestrian",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["match", ["get", "class"], ["path", "pedestrian"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "hsl(0,0%,100%)",
|
|
|
|
|
"line-dasharray": [1, 0.75],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
0.5,
|
|
|
|
|
20,
|
|
|
|
|
10
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "tunnel_motorway_link",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "motorway"],
|
|
|
|
|
["==", ["get", "ramp"], 1],
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fc8",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
12.5,
|
|
|
|
|
0,
|
|
|
|
|
13,
|
|
|
|
|
1.5,
|
|
|
|
|
14,
|
|
|
|
|
2.5,
|
|
|
|
|
20,
|
|
|
|
|
11.5
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-25 10:40:38 +02:00
|
|
|
{
|
|
|
|
|
"id": "tunnel_service_track",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["match", ["get", "class"], ["service", "track"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fff",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
15.5,
|
|
|
|
|
0,
|
|
|
|
|
16,
|
|
|
|
|
2,
|
|
|
|
|
20,
|
|
|
|
|
7.5
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-24 13:49:43 +02:00
|
|
|
{
|
|
|
|
|
"id": "tunnel_link",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "ramp"], 1],
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fff4c6",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
12.5,
|
|
|
|
|
0,
|
|
|
|
|
13,
|
|
|
|
|
1.5,
|
|
|
|
|
14,
|
|
|
|
|
2.5,
|
|
|
|
|
20,
|
|
|
|
|
11.5
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-25 10:40:38 +02:00
|
|
|
{
|
|
|
|
|
"id": "tunnel_minor",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["match", ["get", "class"], ["minor"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fff",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
13.5,
|
|
|
|
|
0,
|
|
|
|
|
14,
|
|
|
|
|
2.5,
|
|
|
|
|
20,
|
|
|
|
|
11.5
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "tunnel_secondary_tertiary",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["match", ["get", "class"], ["secondary", "tertiary"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fff4c6",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
6.5,
|
|
|
|
|
0,
|
|
|
|
|
7,
|
|
|
|
|
0.5,
|
|
|
|
|
20,
|
|
|
|
|
10
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-24 13:49:43 +02:00
|
|
|
{
|
|
|
|
|
"id": "tunnel_trunk_primary",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["match", ["get", "class"], ["primary", "trunk"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fff4c6",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
5,
|
|
|
|
|
0,
|
|
|
|
|
7,
|
|
|
|
|
1,
|
|
|
|
|
20,
|
|
|
|
|
18
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "tunnel_motorway",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "motorway"],
|
|
|
|
|
["!=", ["get", "ramp"], 1],
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#ffdaa6",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
5,
|
|
|
|
|
0,
|
|
|
|
|
7,
|
|
|
|
|
1,
|
|
|
|
|
20,
|
|
|
|
|
18
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "tunnel_major_rail",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["match", ["get", "class"], ["rail"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
0.4,
|
|
|
|
|
15,
|
|
|
|
|
0.75,
|
|
|
|
|
20,
|
|
|
|
|
2
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "tunnel_major_rail_hatching",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["==", ["get", "class"], "rail"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-dasharray": [0.2, 8],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14.5,
|
|
|
|
|
0,
|
|
|
|
|
15,
|
|
|
|
|
3,
|
|
|
|
|
20,
|
|
|
|
|
8
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "tunnel_transit_rail",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["match", ["get", "class"], ["transit"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
0.4,
|
|
|
|
|
15,
|
|
|
|
|
0.75,
|
|
|
|
|
20,
|
|
|
|
|
2
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "tunnel_transit_rail_hatching",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "tunnel"],
|
|
|
|
|
["==", ["get", "class"], "transit"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-dasharray": [0.2, 8],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14.5,
|
|
|
|
|
0,
|
|
|
|
|
15,
|
|
|
|
|
3,
|
|
|
|
|
20,
|
|
|
|
|
8
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_area_pattern",
|
|
|
|
|
"type": "fill",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["MultiPolygon", "Polygon"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
2026-05-25 10:29:29 +02:00
|
|
|
"paint": {
|
|
|
|
|
"fill-pattern": "pedestrian_polygon",
|
|
|
|
|
"fill-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 1,
|
|
|
|
|
15, 0.4
|
|
|
|
|
]
|
|
|
|
|
}
|
2026-05-24 13:49:43 +02:00
|
|
|
},
|
|
|
|
|
{
|
2026-05-25 10:44:53 +02:00
|
|
|
"id": "road_path_pedestrian",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"minzoom": 12,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["match", ["get", "class"], ["path", "pedestrian"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "hsl(0,0%,100%)",
|
|
|
|
|
"line-dasharray": [1, 0.7],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
1,
|
|
|
|
|
20,
|
|
|
|
|
10
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_motorway_link",
|
2026-05-24 13:49:43 +02:00
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"minzoom": 12,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["==", ["get", "class"], "motorway"],
|
|
|
|
|
["==", ["get", "ramp"], 1]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round", "line-join": "round"},
|
|
|
|
|
"paint": {
|
2026-05-25 10:44:53 +02:00
|
|
|
"line-color": "#fc8",
|
2026-05-24 13:49:43 +02:00
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
2026-05-25 10:44:53 +02:00
|
|
|
12.5,
|
|
|
|
|
0,
|
2026-05-24 13:49:43 +02:00
|
|
|
13,
|
2026-05-25 10:44:53 +02:00
|
|
|
1.5,
|
2026-05-24 13:49:43 +02:00
|
|
|
14,
|
2026-05-25 10:44:53 +02:00
|
|
|
2.5,
|
2026-05-24 13:49:43 +02:00
|
|
|
20,
|
2026-05-25 10:44:53 +02:00
|
|
|
11.5
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-25 10:40:38 +02:00
|
|
|
{
|
2026-05-25 10:44:53 +02:00
|
|
|
"id": "road_service_track",
|
2026-05-25 10:40:38 +02:00
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["match", ["get", "class"], ["service", "track"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round", "line-join": "round"},
|
|
|
|
|
"paint": {
|
2026-05-25 10:44:53 +02:00
|
|
|
"line-color": "#fff",
|
2026-05-25 10:40:38 +02:00
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
12,
|
2026-05-25 10:44:53 +02:00
|
|
|
0.5,
|
2026-05-25 10:40:38 +02:00
|
|
|
15,
|
2026-05-25 10:44:53 +02:00
|
|
|
2,
|
2026-05-25 10:40:38 +02:00
|
|
|
20,
|
2026-05-25 10:44:53 +02:00
|
|
|
7.5
|
2026-05-25 10:40:38 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-24 13:49:43 +02:00
|
|
|
{
|
2026-05-25 10:44:53 +02:00
|
|
|
"id": "road_link",
|
2026-05-24 13:49:43 +02:00
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"minzoom": 13,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
2026-05-25 10:44:53 +02:00
|
|
|
["==", ["get", "ramp"], 1],
|
2026-05-24 13:49:43 +02:00
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["get", "class"],
|
|
|
|
|
["motorway", "path", "pedestrian", "service", "track"],
|
|
|
|
|
false,
|
|
|
|
|
true
|
2026-05-25 10:44:53 +02:00
|
|
|
]
|
2026-05-24 13:49:43 +02:00
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round", "line-join": "round"},
|
|
|
|
|
"paint": {
|
2026-05-25 10:44:53 +02:00
|
|
|
"line-color": "#fea",
|
2026-05-24 13:49:43 +02:00
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
2026-05-25 10:44:53 +02:00
|
|
|
12.5,
|
|
|
|
|
0,
|
2026-05-24 13:49:43 +02:00
|
|
|
13,
|
2026-05-25 10:44:53 +02:00
|
|
|
1.5,
|
2026-05-24 13:49:43 +02:00
|
|
|
14,
|
2026-05-25 10:44:53 +02:00
|
|
|
2.5,
|
2026-05-24 13:49:43 +02:00
|
|
|
20,
|
2026-05-25 10:44:53 +02:00
|
|
|
11.5
|
2026-05-24 13:49:43 +02:00
|
|
|
],
|
2026-05-25 10:29:29 +02:00
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-25 10:40:38 +02:00
|
|
|
{
|
2026-05-25 10:44:53 +02:00
|
|
|
"id": "road_minor",
|
2026-05-25 10:40:38 +02:00
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["match", ["get", "class"], ["minor"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round", "line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fff",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
13.5,
|
|
|
|
|
0,
|
|
|
|
|
14,
|
|
|
|
|
2.5,
|
|
|
|
|
20,
|
|
|
|
|
18
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_secondary_tertiary",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["match", ["get", "class"], ["secondary", "tertiary"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round", "line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fea",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
6.5,
|
|
|
|
|
0,
|
|
|
|
|
8,
|
|
|
|
|
0.5,
|
|
|
|
|
20,
|
|
|
|
|
13
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-24 13:49:43 +02:00
|
|
|
{
|
|
|
|
|
"id": "road_trunk_primary",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["match", ["get", "class"], ["primary", "trunk"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fea",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
5,
|
|
|
|
|
0,
|
|
|
|
|
7,
|
|
|
|
|
1,
|
|
|
|
|
20,
|
|
|
|
|
18
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_motorway",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"minzoom": 5,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["==", ["get", "class"], "motorway"],
|
|
|
|
|
["!=", ["get", "ramp"], 1]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round", "line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["linear"],
|
|
|
|
|
["zoom"],
|
|
|
|
|
5,
|
|
|
|
|
"hsl(26,87%,62%)",
|
|
|
|
|
6,
|
|
|
|
|
"#fc8"
|
|
|
|
|
],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
5,
|
|
|
|
|
0,
|
|
|
|
|
7,
|
|
|
|
|
1,
|
|
|
|
|
20,
|
|
|
|
|
18
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_major_rail",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["==", ["get", "class"], "rail"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
0.4,
|
|
|
|
|
15,
|
|
|
|
|
0.75,
|
|
|
|
|
20,
|
|
|
|
|
2
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_major_rail_hatching",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["==", ["get", "class"], "rail"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-dasharray": [0.2, 8],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14.5,
|
|
|
|
|
0,
|
|
|
|
|
15,
|
|
|
|
|
3,
|
|
|
|
|
20,
|
|
|
|
|
8
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_transit_rail",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["==", ["get", "class"], "transit"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
0.4,
|
|
|
|
|
15,
|
|
|
|
|
0.75,
|
|
|
|
|
20,
|
|
|
|
|
2
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_transit_rail_hatching",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true],
|
|
|
|
|
["==", ["get", "class"], "transit"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-dasharray": [0.2, 8],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14.5,
|
|
|
|
|
0,
|
|
|
|
|
15,
|
|
|
|
|
3,
|
|
|
|
|
20,
|
|
|
|
|
8
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_one_way_arrow",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"minzoom": 16,
|
|
|
|
|
"filter": ["==", ["get", "oneway"], 1],
|
|
|
|
|
"layout": {"icon-image": "arrow", "symbol-placement": "line"}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_one_way_arrow_opposite",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"minzoom": 16,
|
|
|
|
|
"filter": ["==", ["get", "oneway"], -1],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": "arrow",
|
|
|
|
|
"icon-rotate": 180,
|
|
|
|
|
"symbol-placement": "line"
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "bridge_path_pedestrian",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"],
|
2026-05-25 10:40:38 +02:00
|
|
|
["match", ["get", "class"], ["path", "pedestrian"], true, false]
|
2026-05-24 13:49:43 +02:00
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "hsl(0,0%,100%)",
|
|
|
|
|
"line-dasharray": [1, 0.3],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
0.5,
|
|
|
|
|
20,
|
|
|
|
|
10
|
|
|
|
|
],
|
2026-05-25 10:29:29 +02:00
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "bridge_motorway_link",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "motorway"],
|
|
|
|
|
["==", ["get", "ramp"], 1],
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fc8",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
12.5,
|
|
|
|
|
0,
|
|
|
|
|
13,
|
|
|
|
|
1.5,
|
|
|
|
|
14,
|
|
|
|
|
2.5,
|
|
|
|
|
20,
|
|
|
|
|
11.5
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-25 10:40:38 +02:00
|
|
|
{
|
|
|
|
|
"id": "bridge_service_track",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"],
|
|
|
|
|
["match", ["get", "class"], ["service", "track"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fff",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
15.5,
|
|
|
|
|
0,
|
|
|
|
|
16,
|
|
|
|
|
2,
|
|
|
|
|
20,
|
|
|
|
|
7.5
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-24 13:49:43 +02:00
|
|
|
{
|
|
|
|
|
"id": "bridge_link",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "link"],
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fea",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
12.5,
|
|
|
|
|
0,
|
|
|
|
|
13,
|
|
|
|
|
1.5,
|
|
|
|
|
14,
|
|
|
|
|
2.5,
|
|
|
|
|
20,
|
|
|
|
|
11.5
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-25 10:40:38 +02:00
|
|
|
{
|
|
|
|
|
"id": "bridge_street",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"],
|
|
|
|
|
["match", ["get", "class"], ["minor"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fff",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
13.5,
|
|
|
|
|
0,
|
|
|
|
|
14,
|
|
|
|
|
2.5,
|
|
|
|
|
20,
|
|
|
|
|
18
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "bridge_secondary_tertiary",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"],
|
|
|
|
|
["match", ["get", "class"], ["secondary", "tertiary"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fea",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
6.5,
|
|
|
|
|
0,
|
|
|
|
|
7,
|
|
|
|
|
0.5,
|
|
|
|
|
20,
|
|
|
|
|
10
|
|
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
2026-05-24 13:49:43 +02:00
|
|
|
{
|
|
|
|
|
"id": "bridge_trunk_primary",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"],
|
|
|
|
|
["match", ["get", "class"], ["primary", "trunk"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fea",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
5,
|
|
|
|
|
0,
|
|
|
|
|
7,
|
|
|
|
|
1,
|
|
|
|
|
20,
|
|
|
|
|
18
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "bridge_motorway",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "motorway"],
|
|
|
|
|
["!=", ["get", "ramp"], 1],
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#fc8",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
5,
|
|
|
|
|
0,
|
|
|
|
|
7,
|
|
|
|
|
1,
|
|
|
|
|
20,
|
|
|
|
|
18
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "bridge_major_rail",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "rail"],
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
0.4,
|
|
|
|
|
15,
|
|
|
|
|
0.75,
|
|
|
|
|
20,
|
|
|
|
|
2
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "bridge_major_rail_hatching",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "rail"],
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-dasharray": [0.2, 8],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14.5,
|
|
|
|
|
0,
|
|
|
|
|
15,
|
|
|
|
|
3,
|
|
|
|
|
20,
|
|
|
|
|
8
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "bridge_transit_rail",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "transit"],
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14,
|
|
|
|
|
0.4,
|
|
|
|
|
15,
|
|
|
|
|
0.75,
|
|
|
|
|
20,
|
|
|
|
|
2
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "bridge_transit_rail_hatching",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "transit"],
|
|
|
|
|
["==", ["get", "brunnel"], "bridge"]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "#bbb",
|
|
|
|
|
"line-dasharray": [0.2, 8],
|
|
|
|
|
"line-width": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.4],
|
|
|
|
|
["zoom"],
|
|
|
|
|
14.5,
|
|
|
|
|
0,
|
|
|
|
|
15,
|
|
|
|
|
3,
|
|
|
|
|
20,
|
|
|
|
|
8
|
2026-05-25 10:29:29 +02:00
|
|
|
],
|
|
|
|
|
"line-opacity":[
|
|
|
|
|
"interpolate", ["linear"], ["zoom"],
|
|
|
|
|
13, 0.5,
|
|
|
|
|
15, 0.3
|
2026-05-24 13:49:43 +02:00
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "boundary_3",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "boundary",
|
|
|
|
|
"minzoom": 5,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["typeof", ["get", "admin_level"]], "number"],
|
|
|
|
|
[">=", ["get", "admin_level"], 3],
|
|
|
|
|
["<=", ["get", "admin_level"], 6],
|
|
|
|
|
["!=", ["get", "maritime"], 1],
|
|
|
|
|
["!=", ["get", "disputed"], 1],
|
|
|
|
|
["!", ["has", "claimed_by"]]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "hsl(0,0%,70%)",
|
|
|
|
|
"line-dasharray": [1, 1],
|
|
|
|
|
"line-width": ["interpolate", ["linear", 1], ["zoom"], 7, 1, 11, 2]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "boundary_2",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "boundary",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "admin_level"], 2],
|
|
|
|
|
["!=", ["get", "maritime"], 1],
|
|
|
|
|
["!=", ["get", "disputed"], 1],
|
|
|
|
|
["!", ["has", "claimed_by"]]
|
|
|
|
|
],
|
|
|
|
|
"layout": {"line-cap": "round", "line-join": "round"},
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "hsl(248,1%,41%)",
|
|
|
|
|
"line-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.4, 4, 1],
|
|
|
|
|
"line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "boundary_disputed",
|
|
|
|
|
"type": "line",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "boundary",
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["!=", ["get", "maritime"], 1],
|
|
|
|
|
["==", ["get", "disputed"], 1]
|
|
|
|
|
],
|
|
|
|
|
"paint": {
|
|
|
|
|
"line-color": "hsl(248,1%,41%)",
|
|
|
|
|
"line-dasharray": [1, 2],
|
|
|
|
|
"line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3]
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "waterway_line_label",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "waterway",
|
|
|
|
|
"minzoom": 10,
|
|
|
|
|
"filter": [
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"symbol-placement": "line",
|
|
|
|
|
"symbol-spacing": 350,
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-letter-spacing": 0.2,
|
|
|
|
|
"text-max-width": 5,
|
|
|
|
|
"text-size": 14
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#91c9fa",
|
|
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1.5
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "water_name_point_label",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "water_name",
|
|
|
|
|
"filter": [
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["MultiPoint", "Point"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-letter-spacing": 0.2,
|
|
|
|
|
"text-max-width": 5,
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 0, 10, 8, 14]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#91c9fa",
|
|
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1.5
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "water_name_line_label",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "water_name",
|
|
|
|
|
"filter": [
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"symbol-placement": "line",
|
|
|
|
|
"symbol-spacing": 350,
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-letter-spacing": 0.2,
|
|
|
|
|
"text-max-width": 5,
|
|
|
|
|
"text-size": 14
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#91c9fa",
|
|
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1.5
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "poi_r20",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "poi",
|
|
|
|
|
"minzoom": 17,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["geometry-type"], ["MultiPoint", "Point"], true, false],
|
|
|
|
|
[">=", ["get", "rank"], 20]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": [
|
|
|
|
|
"match",
|
|
|
|
|
["get", "subclass"],
|
|
|
|
|
["florist", "furniture"],
|
|
|
|
|
["get", "subclass"],
|
|
|
|
|
["get", "class"]
|
|
|
|
|
],
|
|
|
|
|
"text-anchor": "top",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-offset": [0, 0.6],
|
|
|
|
|
"text-size": 12
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "poi_r7",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "poi",
|
|
|
|
|
"minzoom": 16,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["geometry-type"], ["MultiPoint", "Point"], true, false],
|
|
|
|
|
[">=", ["get", "rank"], 7],
|
|
|
|
|
["<", ["get", "rank"], 20]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": [
|
|
|
|
|
"match",
|
|
|
|
|
["get", "subclass"],
|
|
|
|
|
["florist", "furniture"],
|
|
|
|
|
["get", "subclass"],
|
|
|
|
|
["get", "class"]
|
|
|
|
|
],
|
|
|
|
|
"text-anchor": "top",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-offset": [0, 0.6],
|
|
|
|
|
"text-size": 12
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "nature_park",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "park",
|
|
|
|
|
"minzoom": 9,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["geometry-type"], ["Point"], true, false],
|
|
|
|
|
["<=", ["get", "rank"], 1]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": "park_11",
|
|
|
|
|
"text-anchor": "top",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-offset": [0, 0.6],
|
|
|
|
|
"text-size": 12
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "poi_r1",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "poi",
|
|
|
|
|
"minzoom": 14,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["match", ["geometry-type"], ["MultiPoint", "Point"], true, false],
|
|
|
|
|
[">=", ["get", "rank"], 1],
|
|
|
|
|
["<", ["get", "rank"], 7]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": [
|
|
|
|
|
"match",
|
|
|
|
|
["get", "subclass"],
|
|
|
|
|
["florist", "furniture"],
|
|
|
|
|
["get", "subclass"],
|
|
|
|
|
["get", "class"]
|
|
|
|
|
],
|
|
|
|
|
"text-anchor": "top",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-offset": [0, 0.6],
|
|
|
|
|
"text-size": 12
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "poi_transit",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "poi",
|
|
|
|
|
"filter": [
|
|
|
|
|
"match",
|
|
|
|
|
["get", "class"],
|
|
|
|
|
["airport", "bus", "rail"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": ["to-string", ["get", "class"]],
|
|
|
|
|
"icon-size": 0.7,
|
|
|
|
|
"text-anchor": "left",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-offset": [0.9, 0],
|
|
|
|
|
"text-size": 12
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#91c9fa",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "poi_peak_rank1_m",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "mountain_peak",
|
|
|
|
|
"minzoom": 10,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", "$type", "Point"],
|
|
|
|
|
["<=", "rank", 1],
|
|
|
|
|
["has", "name"],
|
|
|
|
|
["==", "class", "peak"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": "mountain_11",
|
|
|
|
|
"text-anchor": "top",
|
|
|
|
|
"text-field": ["get", "name"],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-offset": [0, 0.6],
|
|
|
|
|
"text-size": 11,
|
|
|
|
|
"icon-allow-overlap": false
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1.5
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "poi_saddle_m",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "mountain_peak",
|
|
|
|
|
"minzoom": 13,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", "$type", "Point"],
|
|
|
|
|
["<=", "rank", 1],
|
|
|
|
|
["==", "class", "saddle"]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": "attraction_11",
|
|
|
|
|
"text-anchor": "top",
|
|
|
|
|
"text-field": ["get", "name"],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-offset": [0, 0.6],
|
|
|
|
|
"text-size": 11,
|
|
|
|
|
"icon-allow-overlap": false
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1.5
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "highway-name-path",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation_name",
|
|
|
|
|
"minzoom": 15.5,
|
|
|
|
|
"filter": ["==", ["get", "class"], "path"],
|
|
|
|
|
"layout": {
|
|
|
|
|
"symbol-placement": "line",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-rotation-alignment": "map",
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
|
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
|
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "highway-name-minor",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation_name",
|
|
|
|
|
"minzoom": 15,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
["match", ["get", "class"], ["minor", "service", "track"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"symbol-placement": "line",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-rotation-alignment": "map",
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
|
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
|
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "highway-name-major",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation_name",
|
|
|
|
|
"minzoom": 12.2,
|
|
|
|
|
"filter": [
|
|
|
|
|
"match",
|
|
|
|
|
["get", "class"],
|
|
|
|
|
["primary", "secondary", "tertiary", "trunk"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"symbol-placement": "line",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-rotation-alignment": "map",
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
|
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
|
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "highway-shield-non-us",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation_name",
|
|
|
|
|
"minzoom": 8,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["<=", ["get", "ref_length"], 6],
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["get", "network"],
|
|
|
|
|
["us-highway", "us-interstate", "us-state"],
|
|
|
|
|
false,
|
|
|
|
|
true
|
|
|
|
|
]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": ["concat", "road_", ["get", "ref_length"]],
|
|
|
|
|
"icon-rotation-alignment": "viewport",
|
|
|
|
|
"icon-size": 1,
|
|
|
|
|
"symbol-placement": ["step", ["zoom"], "point", 11, "line"],
|
|
|
|
|
"symbol-spacing": 200,
|
|
|
|
|
"text-field": ["to-string", ["get", "ref"]],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-rotation-alignment": "viewport",
|
|
|
|
|
"text-size": 10
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "highway-shield-us-interstate",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation_name",
|
|
|
|
|
"minzoom": 7,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["<=", ["get", "ref_length"], 6],
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
["match", ["get", "network"], ["us-interstate"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": [
|
|
|
|
|
"concat",
|
|
|
|
|
["get", "network"],
|
|
|
|
|
"_",
|
|
|
|
|
["get", "ref_length"]
|
|
|
|
|
],
|
|
|
|
|
"icon-rotation-alignment": "viewport",
|
|
|
|
|
"icon-size": 1,
|
|
|
|
|
"symbol-placement": ["step", ["zoom"], "point", 7, "line", 8, "line"],
|
|
|
|
|
"symbol-spacing": 200,
|
|
|
|
|
"text-field": ["to-string", ["get", "ref"]],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-rotation-alignment": "viewport",
|
|
|
|
|
"text-size": 10
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "road_shield_us",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "transportation_name",
|
|
|
|
|
"minzoom": 9,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["<=", ["get", "ref_length"], 6],
|
|
|
|
|
[
|
|
|
|
|
"match",
|
|
|
|
|
["geometry-type"],
|
|
|
|
|
["LineString", "MultiLineString"],
|
|
|
|
|
true,
|
|
|
|
|
false
|
|
|
|
|
],
|
|
|
|
|
["match", ["get", "network"], ["us-highway", "us-state"], true, false]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": [
|
|
|
|
|
"concat",
|
|
|
|
|
["get", "network"],
|
|
|
|
|
"_",
|
|
|
|
|
["get", "ref_length"]
|
|
|
|
|
],
|
|
|
|
|
"icon-rotation-alignment": "viewport",
|
|
|
|
|
"icon-size": 1,
|
|
|
|
|
"symbol-placement": ["step", ["zoom"], "point", 11, "line"],
|
|
|
|
|
"symbol-spacing": 200,
|
|
|
|
|
"text-field": ["to-string", ["get", "ref"]],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-rotation-alignment": "viewport",
|
|
|
|
|
"text-size": 10
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "airport",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "aerodrome_label",
|
|
|
|
|
"minzoom": 10,
|
|
|
|
|
"filter": ["all", ["has", "iata"]],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-image": "airport_11",
|
|
|
|
|
"icon-size": 1,
|
|
|
|
|
"text-anchor": "top",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-offset": [0, 0.6],
|
|
|
|
|
"text-optional": true,
|
|
|
|
|
"text-padding": 2,
|
|
|
|
|
"text-size": 12
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 0.5,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_other",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"minzoom": 8,
|
|
|
|
|
"filter": [
|
|
|
|
|
"match",
|
|
|
|
|
["get", "class"],
|
|
|
|
|
["city", "continent", "country", "state", "town", "village"],
|
|
|
|
|
false,
|
|
|
|
|
true
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-letter-spacing": 0.1,
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 8, 9, 12, 10],
|
|
|
|
|
"text-transform": "uppercase"
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_village",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"minzoom": 9,
|
|
|
|
|
"filter": ["==", ["get", "class"], "village"],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-allow-overlap": true,
|
|
|
|
|
"icon-image": ["step", ["zoom"], "circle_11_black", 10, ""],
|
|
|
|
|
"icon-optional": false,
|
|
|
|
|
"icon-size": 0.2,
|
|
|
|
|
"text-anchor": "bottom",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-max-width": 8,
|
|
|
|
|
"text-size": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
7,
|
|
|
|
|
10,
|
|
|
|
|
11,
|
|
|
|
|
12
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_town",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"minzoom": 6,
|
|
|
|
|
"filter": ["==", ["get", "class"], "town"],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-allow-overlap": true,
|
|
|
|
|
"icon-image": ["step", ["zoom"], "circle_11_black", 10, ""],
|
|
|
|
|
"icon-optional": false,
|
|
|
|
|
"icon-size": 0.2,
|
|
|
|
|
"text-anchor": "bottom",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-max-width": 8,
|
|
|
|
|
"text-size": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
7,
|
|
|
|
|
12,
|
|
|
|
|
11,
|
|
|
|
|
14
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_state",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"minzoom": 5,
|
|
|
|
|
"maxzoom": 8,
|
|
|
|
|
"filter": ["==", ["get", "class"], "state"],
|
|
|
|
|
"layout": {
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Italic"],
|
|
|
|
|
"text-letter-spacing": 0.2,
|
|
|
|
|
"text-max-width": 9,
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 5, 10, 8, 14],
|
|
|
|
|
"text-transform": "uppercase"
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_city",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"minzoom": 3,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "city"],
|
|
|
|
|
["!=", ["get", "capital"], 2]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-allow-overlap": true,
|
|
|
|
|
"icon-image": ["step", ["zoom"], "circle_11_black", 9, ""],
|
|
|
|
|
"icon-optional": false,
|
|
|
|
|
"icon-size": 0.4,
|
|
|
|
|
"text-anchor": "bottom",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Regular"],
|
|
|
|
|
"text-max-width": 8,
|
|
|
|
|
"text-offset": [0, -0.1],
|
|
|
|
|
"text-size": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
4,
|
|
|
|
|
11,
|
|
|
|
|
7,
|
|
|
|
|
13,
|
|
|
|
|
11,
|
|
|
|
|
18
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_city_capital",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"minzoom": 3,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "city"],
|
|
|
|
|
["==", ["get", "capital"], 2]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"icon-allow-overlap": true,
|
|
|
|
|
"icon-image": ["step", ["zoom"], "circle_11_black", 9, ""],
|
|
|
|
|
"icon-optional": false,
|
|
|
|
|
"icon-size": 0.5,
|
|
|
|
|
"text-anchor": "bottom",
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Bold"],
|
|
|
|
|
"text-max-width": 8,
|
|
|
|
|
"text-offset": [0, -0.2],
|
|
|
|
|
"text-size": [
|
|
|
|
|
"interpolate",
|
|
|
|
|
["exponential", 1.2],
|
|
|
|
|
["zoom"],
|
|
|
|
|
4,
|
|
|
|
|
12,
|
|
|
|
|
7,
|
|
|
|
|
14,
|
|
|
|
|
11,
|
|
|
|
|
20
|
|
|
|
|
]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_country_3",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"minzoom": 2,
|
|
|
|
|
"maxzoom": 9,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "country"],
|
|
|
|
|
[">=", ["get", "rank"], 3]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Bold"],
|
|
|
|
|
"text-max-width": 6.25,
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 3, 9, 7, 17]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_country_2",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"maxzoom": 9,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "country"],
|
|
|
|
|
["==", ["get", "rank"], 2]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Bold"],
|
|
|
|
|
"text-max-width": 6.25,
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 2, 9, 5, 17]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"id": "label_country_1",
|
|
|
|
|
"type": "symbol",
|
|
|
|
|
"source": "openmaptiles",
|
|
|
|
|
"source-layer": "place",
|
|
|
|
|
"maxzoom": 9,
|
|
|
|
|
"filter": [
|
|
|
|
|
"all",
|
|
|
|
|
["==", ["get", "class"], "country"],
|
|
|
|
|
["==", ["get", "rank"], 1]
|
|
|
|
|
],
|
|
|
|
|
"layout": {
|
|
|
|
|
"text-field": [
|
|
|
|
|
"case",
|
|
|
|
|
["has", "name:nonlatin"],
|
|
|
|
|
["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]],
|
|
|
|
|
["coalesce", ["get", "name_en"], ["get", "name"]]
|
|
|
|
|
],
|
|
|
|
|
"text-font": ["Noto Sans Bold"],
|
|
|
|
|
"text-max-width": 6.25,
|
|
|
|
|
"text-size": ["interpolate", ["linear"], ["zoom"], 1, 9, 4, 17]
|
|
|
|
|
},
|
|
|
|
|
"paint": {
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-color": "#fff",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-blur": 1,
|
2026-05-25 10:58:23 +02:00
|
|
|
"text-halo-color": "#000",
|
2026-05-24 13:49:43 +02:00
|
|
|
"text-halo-width": 1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|