From 48aff99550fce05660001209fde54b2abe16c72f Mon Sep 17 00:00:00 2001 From: Manuel Kasper Date: Sun, 13 Feb 2022 09:49:31 +0100 Subject: [PATCH] Add swisstopo Aerial (SWISSIMAGE) map choice --- src/assets/swisstopo_aerial.json | 437 +++++++++++++++++++++++++++ src/components/MapOptionsControl.vue | 8 +- src/mixins/mapstyle.js | 2 +- 3 files changed, 442 insertions(+), 5 deletions(-) create mode 100644 src/assets/swisstopo_aerial.json diff --git a/src/assets/swisstopo_aerial.json b/src/assets/swisstopo_aerial.json new file mode 100644 index 0000000..4192d48 --- /dev/null +++ b/src/assets/swisstopo_aerial.json @@ -0,0 +1,437 @@ +{ + "version": 8, + "name": "swisstopo_aerial", + "metadata": {"maputnik:renderer": "mbgljs", "openmaptiles:version": "3.x"}, + "center": [7.969664962869274, 47.021278030856564], + "zoom": 9.333879434342306, + "bearing": 0, + "pitch": 0, + "sources": { + "swisstopo": { + "type": "raster", + "tiles": [ + "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swissimage/default/current/3857/{z}/{x}/{y}.jpeg" + ], + "tileSize": 256, + "maxzoom": 19 + }, + "hiking_trails_raster": { + "type": "raster", + "tiles": [ + "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.swisstlm3d-wanderwege/default/current/3857/{z}/{x}/{y}.png" + ], + "tileSize": 256, + "maxzoom": 18 + }, + "skiing_trails_raster": { + "type": "raster", + "tiles": [ + "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo-karto.skitouren/default/current/3857/{z}/{x}/{y}.png" + ], + "tileSize": 256, + "maxzoom": 17 + }, + "snowshoe_trails_raster": { + "type": "raster", + "tiles": [ + "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo-karto.schneeschuhrouten/default/current/3857/{z}/{x}/{y}.png" + ], + "tileSize": 256, + "maxzoom": 17 + }, + "wildlife_areas": { + "type": "raster", + "tiles": [ + "https://wmts.geo.admin.ch/1.0.0/ch.bafu.wrz-wildruhezonen_portal/default/current/3857/{z}/{x}/{y}.png" + ], + "tileSize": 256, + "maxzoom": 18 + }, + "wildlife_reserves": { + "type": "raster", + "tiles": [ + "https://wmts.geo.admin.ch/1.0.0/ch.bafu.wrz-jagdbanngebiete_select/default/current/3857/{z}/{x}/{y}.png" + ], + "tileSize": 256, + "maxzoom": 18 + }, + "slope_classes": { + "type": "raster", + "tiles": [ + "https://wmts.geo.admin.ch/1.0.0/ch.swisstopo.hangneigung-ueber_30/default/current/3857/{z}/{x}/{y}.png" + ], + "tileSize": 256, + "maxzoom": 14 + }, + "summits": { + "type": "vector", + "url": "https://1.{mapServer}.map.sotl.as/data/summits.json" + }, + "summits_inactive": { + "type": "vector", + "url": "https://1.{mapServer}.map.sotl.as/data/summits_inactive.json" + }, + "regions": { + "type": "vector", + "url": "https://1.{mapServer}.map.sotl.as/data/regions.json" + }, + "az": { + "type": "vector", + "url": "https://1.{mapServer}.map.sotl.as/data/az.json" + } + }, + "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.leichte-basiskarte.vt/v1.0.0/sprite/sprite", + "glyphs": "https://vectortiles.geo.admin.ch/fonts/{fontstack}/{range}.pbf", + "transition": {}, + "layers": [ + { + "id": "background", + "type": "background", + "layout": {"visibility": "visible"}, + "paint": {"background-color": "rgba(255, 255, 255, 1)"} + }, + { + "id": "swisstopo", + "type": "raster", + "source": "swisstopo", + "layout": {"visibility": "visible"}, + "paint": { + "raster-opacity": 1.0, + "raster-resampling": "linear" + } + }, + { + "id": "wildlife_areas", + "type": "raster", + "metadata": { + "sotlas-map-option": "wildlife" + }, + "source": "wildlife_areas", + "layout": {"visibility": "none"}, + "paint": { + "raster-opacity": 0.6, + "raster-resampling": "linear" + } + }, + { + "id": "wildlife_reserves", + "type": "raster", + "metadata": { + "sotlas-map-option": "wildlife" + }, + "source": "wildlife_reserves", + "layout": {"visibility": "none"}, + "paint": { + "raster-opacity": 0.6, + "raster-resampling": "linear" + } + }, + { + "id": "summits_az", + "type": "fill", + "metadata": { + "sotlas-map-option": "az" + }, + "source": "az", + "source-layer": "az", + "layout": {"visibility": "none"}, + "minzoom": 12, + "paint": { + "fill-antialias": false, + "fill-color": "rgba(255, 255, 0, 1)", + "fill-opacity": {"stops": [[12, 0], [12.5, 0.5]]} + } + }, + { + "id": "summits_az_border", + "type": "line", + "metadata": { + "sotlas-map-option": "az" + }, + "source": "az", + "source-layer": "az", + "layout": {"visibility": "none"}, + "minzoom": 12, + "paint": { + "line-color": "rgba(235, 196, 0, 1)", + "line-opacity": {"stops": [[12, 0], [12.5, 0.5]]}, + "line-width": {"stops": [[12, 1], [16, 3]]} + } + }, + { + "id": "slope_classes", + "type": "raster", + "metadata": { + "sotlas-map-option": "slope_classes" + }, + "source": "slope_classes", + "layout": {"visibility": "none"}, + "paint": { + "raster-opacity": 0.3, + "raster-resampling": "nearest" + } + }, + { + "id": "hiking_trails_raster", + "type": "raster", + "metadata": { + "sotlas-map-option": "difficulty" + }, + "source": "hiking_trails_raster", + "layout": {"visibility": "none"}, + "paint": { + "raster-opacity": 0.6, + "raster-resampling": "linear" + } + }, + { + "id": "skiing_trails_raster", + "type": "raster", + "metadata": { + "sotlas-map-option": "skiing" + }, + "source": "skiing_trails_raster", + "layout": {"visibility": "none"}, + "paint": { + "raster-opacity": 0.6, + "raster-resampling": "linear" + } + }, + { + "id": "snowshoe_trails_raster", + "type": "raster", + "metadata": { + "sotlas-map-option": "snowshoe" + }, + "source": "snowshoe_trails_raster", + "layout": {"visibility": "none"}, + "paint": { + "raster-opacity": 0.6, + "raster-resampling": "linear" + } + }, + { + "id": "summits_selected", + "type": "circle", + "source": "summits", + "source-layer": "summits", + "filter": ["all", ["in", "code"]], + "layout": {"visibility": "visible"}, + "paint": { + "circle-color": "rgba(2, 153, 243, 1)", + "circle-radius": {"stops": [[6, 15], [20, 50]]}, + "circle-opacity": 0.75, + "circle-stroke-color": "rgba(210, 255, 0, 0.05)", + "circle-stroke-width": 0, + "circle-stroke-opacity": 1, + "circle-blur": 0.7 + } + }, + { + "id": "summits_names", + "type": "symbol", + "source": "summits", + "source-layer": "summits", + "minzoom": 10, + "maxzoom": 24, + "filter": ["all", ["in", "code"]], + "layout": { + "visibility": "visible", + "text-field": "{name}\n{code}\n{alt} m", + "text-size": {"stops": [[10, 10], [20, 16]]}, + "text-font": ["Frutiger Neue Regular"], + "text-anchor": "bottom", + "text-offset": {"stops": [[10, [0, -1]], [20, [0, -2]]]}, + "icon-size": 1, + "symbol-spacing": 250, + "symbol-avoid-edges": false, + "text-keep-upright": true, + "text-transform": "none", + "text-optional": false, + "text-allow-overlap": {"stops": [[18, false], [19, true]]}, + "text-ignore-placement": false, + "text-justify": "center", + "text-rotate": 0 + }, + "paint": { + "text-color": "rgba(255, 255, 255, 1)", + "text-halo-color": "rgba(51, 51, 51, 1)", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "summits_circles", + "type": "circle", + "source": "summits", + "source-layer": "summits", + "filter": ["all", ["in", "code"]], + "layout": {"visibility": "visible"}, + "paint": { + "circle-stroke-color": "rgba(255, 255, 255, 1)", + "circle-color": [ + "match", + ["get", "points"], + [1], + "rgba(77, 122, 32, 1)", + [2], + "rgba(109, 165, 54, 1)", + [4], + "rgba(174, 167, 39, 1)", + [6], + "rgba(239, 168, 24, 1)", + [8], + "rgba(220, 93, 4, 1)", + [10], + "rgba(200, 16, 30, 1)", + "#000" + ], + "circle-stroke-width": {"stops": [[4, 0], [15, 2]]}, + "circle-radius": {"stops": [[0, 0.1], [10, 8], [22, 20]]} + } + }, + { + "id": "summits_activations", + "type": "symbol", + "source": "summits", + "source-layer": "summits", + "minzoom": 10, + "maxzoom": 24, + "filter": ["all", ["in", "code"]], + "layout": { + "text-field": "{act}", + "text-font": ["Frutiger Neue Bold"], + "text-size": {"stops": [[10, 8], [20, 16]]}, + "text-offset": [0,0.1] + }, + "paint": {"text-color": "rgba(255, 255, 255, 1)"} + }, + { + "id": "summits_highlight", + "type": "circle", + "source": "summits", + "source-layer": "summits", + "filter": ["all", ["in", "code"]], + "layout": {"visibility": "visible"}, + "paint": { + "circle-color": "rgba(2, 243, 198, 1)", + "circle-radius": {"stops": [[6, 15], [20, 50]]}, + "circle-opacity": 0.75, + "circle-stroke-color": "rgba(210, 255, 0, 0.05)", + "circle-stroke-width": 0, + "circle-stroke-opacity": 1, + "circle-blur": 0.7 + } + }, + { + "id": "summits_inactive_names", + "type": "symbol", + "metadata": { + "sotlas-map-option": "inactive" + }, + "source": "summits_inactive", + "source-layer": "summits_inactive", + "minzoom": 10, + "maxzoom": 24, + "filter": ["all", ["in", "code"]], + "layout": { + "visibility": "none", + "text-field": "{name}\n{code}\n{alt} m\n(inactive)", + "text-size": {"stops": [[10, 10], [20, 16]]}, + "text-font": ["Frutiger Neue Regular"], + "text-anchor": "bottom", + "text-offset": {"stops": [[10, [0, -1]], [20, [0, -2]]]}, + "icon-size": 1, + "symbol-spacing": 250, + "symbol-avoid-edges": false, + "text-keep-upright": true, + "text-transform": "none", + "text-optional": false, + "text-allow-overlap": {"stops": [[18, false], [19, true]]}, + "text-ignore-placement": false, + "text-justify": "center", + "text-rotate": 0 + }, + "paint": { + "text-color": "rgba(51, 51, 51, 1)", + "text-halo-color": "rgba(255, 255, 255, 1)", + "text-halo-width": 1, + "text-halo-blur": 1, + "text-opacity": 1 + } + }, + { + "id": "summits_inactive_circles", + "type": "circle", + "metadata": { + "sotlas-map-option": "inactive" + }, + "source": "summits_inactive", + "source-layer": "summits_inactive", + "filter": ["all", ["in", "code"]], + "layout": {"visibility": "none"}, + "paint": { + "circle-stroke-color": "rgba(255, 255, 255, 1)", + "circle-color": [ + "match", + ["get", "points"], + [1], + "rgba(77, 122, 32, 0.5)", + [2], + "rgba(109, 165, 54, 0.5)", + [4], + "rgba(174, 167, 39, 0.5)", + [6], + "rgba(239, 168, 24, 0.5)", + [8], + "rgba(220, 93, 4, 0.5)", + [10], + "rgba(200, 16, 30, 0.5)", + "#000" + ], + "circle-stroke-width": {"stops": [[4, 0], [15, 2]]}, + "circle-radius": {"stops": [[0, 0.1], [10, 8], [22, 20]]} + } + }, + { + "id": "regions_areas", + "type": "fill", + "metadata": { + "sotlas-map-option": "regions" + }, + "source": "regions", + "source-layer": "areas", + "minzoom": 0, + "layout": {"visibility": "none"}, + "paint": { + "fill-opacity": 0.15, + "fill-antialias": false, + "fill-color": "rgba(255, 255, 255, 1)" + } + }, + { + "id": "regions_labels", + "type": "symbol", + "metadata": { + "sotlas-map-option": "regions" + }, + "source": "regions", + "source-layer": "labels", + "layout": { + "visibility": "none", + "text-field": "{region}", + "text-anchor": "top-left", + "text-justify": "center", + "text-offset": [0.3, 0.3], + "text-font": ["Frutiger Neue Regular"], + "text-size": {"stops": [[6, 8], [10, 16]]} + }, + "paint": { + "text-halo-color": "rgba(255, 255, 255, 1)", + "text-halo-width": 0.5, + "text-halo-blur": 1, + "text-translate": [0, 0] + } + } + ] +} diff --git a/src/components/MapOptionsControl.vue b/src/components/MapOptionsControl.vue index dcaf162..fff37e3 100644 --- a/src/components/MapOptionsControl.vue +++ b/src/components/MapOptionsControl.vue @@ -15,13 +15,13 @@ Regions - + Contour lines - + Hillshading - + Activation zones @@ -32,7 +32,7 @@ Hiking difficulty -