switch contour lines based on units

This commit is contained in:
vcoppe
2026-05-25 16:50:28 +02:00
parent c758bda1a9
commit 2fdb58bc7d
2 changed files with 142 additions and 65 deletions
+132 -64
View File
@@ -16,6 +16,12 @@
"tiles": ["http://localhost:8080/contours_m/{z}/{x}/{y}.mvt"],
"minzoom": 4,
"maxzoom": 12
},
"contours_ft": {
"type": "vector",
"tiles": ["http://localhost:8080/contours_ft/{z}/{x}/{y}.mvt"],
"minzoom": 4,
"maxzoom": 12
}
},
"sprite": "https://tiles.openfreemap.org/sprites/ofm_f384/ofm",
@@ -117,48 +123,82 @@
}
},
{
"id": "hillshading",
"type": "fill",
"source": "hillshading",
"source-layer": "hillshading",
"paint": {
"fill-color": "#bdbdbd",
"fill-opacity": 0.2
}
"id": "hillshading",
"type": "fill",
"source": "hillshading",
"source-layer": "hillshading",
"paint": {
"fill-color": "#bdbdbd",
"fill-opacity": 0.2
}
},
{
"id": "contours_index_m",
"type": "line",
"source": "contours_m",
"source-layer": "contours_m",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 500], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 250], 0]],
["all", [">=", ["zoom"], 13], ["==", ["%", ["get", "ele"], 100], 0]]
],
"paint": {
"line-color": "rgb(124, 122, 121)",
"line-opacity": 0.1,
"line-width": 1.0
}
"id": "contours_index_m",
"type": "line",
"source": "contours_m",
"source-layer": "contours_m",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 500], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 250], 0]],
["all", [">=", ["zoom"], 13], ["==", ["%", ["get", "ele"], 100], 0]]
],
"paint": {
"line-color": "rgb(124, 122, 121)",
"line-opacity": 0.1,
"line-width": 1.0
}
},
{
"id": "contours_m",
"type": "line",
"source": "contours_m",
"source-layer": "contours_m",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 100], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 50], 0]],
["all", [">=", ["zoom"], 13], ["==", ["%", ["get", "ele"], 25], 0]]
],
"paint": {
"line-color": "rgb(126, 124, 121)",
"line-opacity": 0.3,
"line-width": 0.5
}
"id": "contours_m",
"type": "line",
"source": "contours_m",
"source-layer": "contours_m",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 100], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 50], 0]],
["all", [">=", ["zoom"], 13], ["==", ["%", ["get", "ele"], 25], 0]]
],
"paint": {
"line-color": "rgb(126, 124, 121)",
"line-opacity": 0.3,
"line-width": 0.5
}
},
{
"id": "contours_index_ft",
"type": "line",
"source": "contours_ft",
"source-layer": "contours_ft",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 2000], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 800], 0]],
["all", [">=", ["zoom"], 13], ["==", ["%", ["get", "ele"], 400], 0]]
],
"paint": {
"line-color": "rgb(124, 122, 121)",
"line-opacity": 0.1,
"line-width": 1.0
}
},
{
"id": "contours_ft",
"type": "line",
"source": "contours_ft",
"source-layer": "contours_ft",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 400], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 200], 0]],
["all", [">=", ["zoom"], 13], ["==", ["%", ["get", "ele"], 100], 0]]
],
"paint": {
"line-color": "rgb(126, 124, 121)",
"line-opacity": 0.3,
"line-width": 0.5
}
},
{
"id": "landuse_pitch",
@@ -2243,32 +2283,60 @@
}
},
{
"id": "contours_label_m",
"type": "symbol",
"source": "contours_m",
"source-layer": "contours_m",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 500], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 250], 0]],
["all", ["==", ["zoom"], 13], ["==", ["%", ["get", "ele"], 100], 0]],
["all", [">=", ["zoom"], 14], ["==", ["%", ["get", "ele"], 50], 0]]
],
"layout": {
"text-size": ["interpolate", ["linear"], ["zoom"], 11, 6, 18, 10],
"text-allow-overlap": false,
"symbol-avoid-edges": true,
"text-ignore-placement": false,
"symbol-placement": "line",
"text-rotation-alignment": "map",
"text-field": "{ele}m",
"text-padding": 0
},
"paint": {
"text-color": "#5c5c5c",
"text-halo-color": "rgba(255,255,255,0.85)",
"text-halo-width": 1.25
}
"id": "contours_label_m",
"type": "symbol",
"source": "contours_m",
"source-layer": "contours_m",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 500], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 250], 0]],
["all", ["==", ["zoom"], 13], ["==", ["%", ["get", "ele"], 100], 0]],
["all", [">=", ["zoom"], 14], ["==", ["%", ["get", "ele"], 50], 0]]
],
"layout": {
"text-size": ["interpolate", ["linear"], ["zoom"], 11, 6, 18, 10],
"text-allow-overlap": false,
"symbol-avoid-edges": true,
"text-ignore-placement": false,
"symbol-placement": "line",
"text-rotation-alignment": "map",
"text-field": "{ele}m",
"text-padding": 0
},
"paint": {
"text-color": "#5c5c5c",
"text-halo-color": "rgba(255,255,255,0.85)",
"text-halo-width": 1.25
}
},
{
"id": "contours_label_ft",
"type": "symbol",
"source": "contours_ft",
"source-layer": "contours_ft",
"filter": [
"any",
["all", ["<=", ["zoom"], 11], ["==", ["%", ["get", "ele"], 2000], 0]],
["all", ["==", ["zoom"], 12], ["==", ["%", ["get", "ele"], 1000], 0]],
["all", ["==", ["zoom"], 13], ["==", ["%", ["get", "ele"], 400], 0]],
["all", [">=", ["zoom"], 14], ["==", ["%", ["get", "ele"], 200], 0]]
],
"layout": {
"text-size": ["interpolate", ["linear"], ["zoom"], 11, 6, 18, 10],
"text-allow-overlap": false,
"symbol-avoid-edges": true,
"text-ignore-placement": false,
"symbol-placement": "line",
"text-rotation-alignment": "map",
"text-field": "{ele}ft",
"text-padding": 0
},
"paint": {
"text-color": "#5c5c5c",
"text-halo-color": "rgba(255,255,255,0.85)",
"text-halo-width": 1.25
}
},
{
"id": "waterway_line_label",