From 5e6dbb7c71b741020fee8211cbab789fb4f39184 Mon Sep 17 00:00:00 2001 From: Mustafa Turhan Date: Sun, 28 Sep 2025 14:43:40 +0300 Subject: [PATCH 1/3] create a poc --- package-lock.json | 720 ++- package.json | 4 + public/style.json | 8809 +++++++++++++++++++++++++++++++++++ src/App.tsx | 7 +- src/Map/maplibre-map.tsx | 27 + src/Map/open-layers-map.tsx | 55 + src/Map/style.json | 5572 ++++++++++++++++++++++ 7 files changed, 15190 insertions(+), 4 deletions(-) create mode 100644 public/style.json create mode 100644 src/Map/maplibre-map.tsx create mode 100644 src/Map/open-layers-map.tsx create mode 100644 src/Map/style.json diff --git a/package-lock.json b/package-lock.json index 2566ed8..9c55abe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -19,12 +19,16 @@ "leaflet": "^1.9.3", "leaflet-extra-markers": "^1.2.1", "leaflet.heightgraph": "^1.4.0", + "maplibre-gl": "^5.7.3", + "ol": "^10.6.1", + "ol-mapbox-style": "^13.1.0", "prop-types": "^15.8.1", "ramda": "^0.28.0", "react": "^17.0.0", "react-beautiful-dnd": "^13.1.1", "react-copy-to-clipboard": "^5.1.0", "react-dom": "^17.0.0", + "react-map-gl": "^8.0.4", "react-modern-drawer": "^1.1.2", "react-redux": "^8.0.4", "react-toastify": "^9.1.2", @@ -1370,6 +1374,118 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@mapbox/geojson-rewind": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", + "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", + "license": "ISC", + "dependencies": { + "get-stream": "^6.0.1", + "minimist": "^1.2.6" + }, + "bin": { + "geojson-rewind": "geojson-rewind" + } + }, + "node_modules/@mapbox/jsonlint-lines-primitives": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@mapbox/jsonlint-lines-primitives/-/jsonlint-lines-primitives-2.0.2.tgz", + "integrity": "sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/@mapbox/point-geometry": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-1.1.0.tgz", + "integrity": "sha512-YGcBz1cg4ATXDCM/71L9xveh4dynfGmcLDqufR+nQQy3fKwsAZsWd/x4621/6uJaeB9mwOHE6hPeDgXz9uViUQ==", + "license": "ISC" + }, + "node_modules/@mapbox/tiny-sdf": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.7.tgz", + "integrity": "sha512-25gQLQMcpivjOSA40g3gO6qgiFPDpWRoMfd+G/GoppPIeP6JDaMMkMrEJnMZhKyyS6iKwVt5YKu02vCUyJM3Ug==", + "license": "BSD-2-Clause" + }, + "node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", + "license": "BSD-2-Clause" + }, + "node_modules/@mapbox/vector-tile": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-2.0.4.tgz", + "integrity": "sha512-AkOLcbgGTdXScosBWwmmD7cDlvOjkg/DetGva26pIRiZPdeJYjYKarIlb4uxVzi6bwHO6EWH82eZ5Nuv4T5DUg==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/point-geometry": "~1.1.0", + "@types/geojson": "^7946.0.16", + "pbf": "^4.0.1" + } + }, + "node_modules/@mapbox/vector-tile/node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, + "node_modules/@mapbox/whoots-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", + "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", + "license": "ISC", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "23.3.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-23.3.0.tgz", + "integrity": "sha512-IGJtuBbaGzOUgODdBRg66p8stnwj9iDXkgbYKoYcNiiQmaez5WVRfXm4b03MCDwmZyX93csbfHFWEJJYHnn5oA==", + "license": "ISC", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^3.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC" + }, + "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC" + }, + "node_modules/@maplibre/vt-pbf": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@maplibre/vt-pbf/-/vt-pbf-4.0.3.tgz", + "integrity": "sha512-YsW99BwnT+ukJRkseBcLuZHfITB4puJoxnqPVjo72rhW/TaawVYsgQHcqWLzTxqknttYoDpgyERzWSa/XrETdA==", + "license": "MIT", + "dependencies": { + "@mapbox/point-geometry": "^1.1.0", + "@mapbox/vector-tile": "^2.0.4", + "@types/geojson-vt": "3.2.5", + "@types/supercluster": "^7.1.3", + "geojson-vt": "^4.0.2", + "pbf": "^4.0.1", + "supercluster": "^8.0.1" + } + }, "node_modules/@mui/base": { "version": "5.0.0-alpha.124", "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.124.tgz", @@ -1637,6 +1753,12 @@ "node": ">= 8" } }, + "node_modules/@petamoriken/float16": { + "version": "3.9.2", + "resolved": "https://registry.npmjs.org/@petamoriken/float16/-/float16-3.9.2.tgz", + "integrity": "sha512-VgffxawQde93xKxT3qap3OH+meZf7VaSB5Sqd4Rqc+FP5alWbpOyan/7tRbOAvynjpG3GpdtAuGU/NdhQpmrog==", + "license": "MIT" + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", @@ -3939,6 +4061,15 @@ "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.8.tgz", "integrity": "sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==" }, + "node_modules/@types/geojson-vt": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz", + "integrity": "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/hoist-non-react-statics": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", @@ -4002,6 +4133,12 @@ "types-ramda": "^0.31.0" } }, + "node_modules/@types/rbush": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/rbush/-/rbush-4.0.0.tgz", + "integrity": "sha512-+N+2H39P8X+Hy1I5mC6awlTX54k3FhiUmvt7HWzGJZvF+syUAAxP/stwppS8JE84YHqFgRMv6fCy31202CMFxQ==", + "license": "MIT" + }, "node_modules/@types/react": { "version": "17.0.88", "resolved": "https://packages.atlassian.com/api/npm/npm-remote/@types/react/-/react-17.0.88.tgz", @@ -4075,6 +4212,15 @@ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, + "node_modules/@types/supercluster": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/throttle-debounce": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/@types/throttle-debounce/-/throttle-debounce-5.0.2.tgz", @@ -4651,6 +4797,66 @@ "win32" ] }, + "node_modules/@vis.gl/react-mapbox": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@vis.gl/react-mapbox/-/react-mapbox-8.0.4.tgz", + "integrity": "sha512-NFk0vsWcNzSs0YCsVdt2100Zli9QWR+pje8DacpLkkGEAXFaJsFtI1oKD0Hatiate4/iAIW39SQHhgfhbeEPfQ==", + "license": "MIT", + "peerDependencies": { + "mapbox-gl": ">=3.5.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + }, + "peerDependenciesMeta": { + "mapbox-gl": { + "optional": true + } + } + }, + "node_modules/@vis.gl/react-maplibre": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/@vis.gl/react-maplibre/-/react-maplibre-8.0.4.tgz", + "integrity": "sha512-HwZyfLjEu+y1mUFvwDAkVxinGm8fEegaWN+O8np/WZ2Sqe5Lv6OXFpV6GWz9LOEvBYMbGuGk1FQdejo+4HCJ5w==", + "license": "MIT", + "dependencies": { + "@maplibre/maplibre-gl-style-spec": "^19.2.1" + }, + "peerDependencies": { + "maplibre-gl": ">=4.0.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + }, + "peerDependenciesMeta": { + "maplibre-gl": { + "optional": true + } + } + }, + "node_modules/@vis.gl/react-maplibre/node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "19.3.3", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-19.3.3.tgz", + "integrity": "sha512-cOZZOVhDSulgK0meTsTkmNXb1ahVvmTmWmfx9gRBwc6hq98wS9JP35ESIoNq3xqEan+UN+gn8187Z6E4NKhLsw==", + "license": "ISC", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^3.0.0", + "minimist": "^1.2.8", + "rw": "^1.3.3", + "sort-object": "^3.0.3" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/@vis.gl/react-maplibre/node_modules/json-stringify-pretty-compact": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-3.0.0.tgz", + "integrity": "sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==", + "license": "MIT" + }, "node_modules/@vitejs/plugin-react": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.3.tgz", @@ -4940,6 +5146,15 @@ "node": ">= 0.4" } }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/array-buffer-byte-length": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", @@ -5131,6 +5346,15 @@ "node": ">=12" } }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -5344,6 +5568,25 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/bytewise": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz", + "integrity": "sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==", + "license": "MIT", + "dependencies": { + "bytewise-core": "^1.2.2", + "typewise": "^1.0.3" + } + }, + "node_modules/bytewise-core": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz", + "integrity": "sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==", + "license": "MIT", + "dependencies": { + "typewise-core": "^1.2" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -6810,6 +7053,18 @@ "node": ">=12.0.0" } }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -7180,6 +7435,31 @@ "quickselect": "^2.0.0" } }, + "node_modules/geojson-vt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-4.0.2.tgz", + "integrity": "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==", + "license": "ISC" + }, + "node_modules/geotiff": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/geotiff/-/geotiff-2.1.3.tgz", + "integrity": "sha512-PT6uoF5a1+kbC3tHmZSUsLHBp2QJlHasxxxxPW47QIY1VBKpFB+FcDvX+MxER6UzgLQZ0xDzJ9s48B9JbOCTqA==", + "license": "MIT", + "dependencies": { + "@petamoriken/float16": "^3.4.7", + "lerc": "^3.0.0", + "pako": "^2.0.4", + "parse-headers": "^2.0.2", + "quick-lru": "^6.1.1", + "web-worker": "^1.2.0", + "xml-utils": "^1.0.2", + "zstddec": "^0.1.0" + }, + "engines": { + "node": ">=10.19" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://packages.atlassian.com/api/npm/npm-remote/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -7221,7 +7501,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, "engines": { "node": ">=10" }, @@ -7260,6 +7539,15 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/gh-pages": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-4.0.0.tgz", @@ -7282,6 +7570,12 @@ "node": ">=10" } }, + "node_modules/gl-matrix": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.4.tgz", + "integrity": "sha512-latSnyDNt/8zYUB6VIJ6PCh2jBjJX6gnDsoCZ7LyW7GkqrD51EWwa9qCoGixj8YqBtETQK/xY7OmpTF8xz1DdQ==", + "license": "MIT" + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -7775,6 +8069,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -7896,6 +8199,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-regex": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", @@ -8065,6 +8380,15 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -8246,6 +8570,12 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json-stringify-pretty-compact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", + "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", + "license": "MIT" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -8283,6 +8613,12 @@ "node": ">=4.0" } }, + "node_modules/kdbush": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC" + }, "node_modules/keyboard-key": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.1.0.tgz", @@ -8339,6 +8675,12 @@ "leaflet": "^1.6.0" } }, + "node_modules/lerc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lerc/-/lerc-3.0.0.tgz", + "integrity": "sha512-Rm4J/WaHhRa93nCN2mwWDZFoRVF18G1f47C+kvQWyHGEZxFpTUi73p7lMVSAndyxGt6lJ2/CFbOcf9ra5p8aww==", + "license": "Apache-2.0" + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -8686,6 +9028,93 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mapbox-to-css-font": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mapbox-to-css-font/-/mapbox-to-css-font-3.2.0.tgz", + "integrity": "sha512-kvsEfzvLik34BiFj+S19bv5d70l9qSdkUzrq99dvZ9d5POaLyB4vJMQmq3BoJ5D6lFG1GYnMM7o7cm5Jh8YEEg==", + "license": "BSD-2-Clause" + }, + "node_modules/maplibre-gl": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-5.7.3.tgz", + "integrity": "sha512-T6XsjwcSfOr0vtAt4GTzx4m/vD6nrbR0+61MgMzZ9REQwILSEnhqwNpFuFbDedX6LC3ZWjZWnxN7fN/I66WoDQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/point-geometry": "^1.1.0", + "@mapbox/tiny-sdf": "^2.0.7", + "@mapbox/unitbezier": "^0.0.1", + "@mapbox/vector-tile": "^2.0.4", + "@mapbox/whoots-js": "^3.1.0", + "@maplibre/maplibre-gl-style-spec": "^24.1.1", + "@maplibre/vt-pbf": "^4.0.3", + "@types/geojson": "^7946.0.16", + "@types/geojson-vt": "3.2.5", + "@types/supercluster": "^7.1.3", + "earcut": "^3.0.2", + "geojson-vt": "^4.0.2", + "gl-matrix": "^3.4.4", + "kdbush": "^4.0.2", + "murmurhash-js": "^1.0.0", + "pbf": "^4.0.1", + "potpack": "^2.1.0", + "quickselect": "^3.0.0", + "supercluster": "^8.0.1", + "tinyqueue": "^3.0.0" + }, + "engines": { + "node": ">=16.14.0", + "npm": ">=8.1.0" + }, + "funding": { + "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" + } + }, + "node_modules/maplibre-gl/node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-24.2.0.tgz", + "integrity": "sha512-cE80g83fRcBbZbQC70siOUxUK6YJ/5ZkClDZbmm+hzrUbv+J6yntkMmcpdz9DbOrWOM7FHKR5rruc6Q/hWx5cA==", + "license": "ISC", + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^3.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/maplibre-gl/node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "license": "MIT" + }, + "node_modules/maplibre-gl/node_modules/earcut": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", + "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==", + "license": "ISC" + }, + "node_modules/maplibre-gl/node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC" + }, + "node_modules/maplibre-gl/node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC" + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://packages.atlassian.com/api/npm/npm-remote/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -8777,7 +9206,6 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -8799,6 +9227,12 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/murmurhash-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", + "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==", + "license": "MIT" + }, "node_modules/nanoid": { "version": "3.3.11", "resolved": "https://packages.atlassian.com/api/npm/npm-remote/nanoid/-/nanoid-3.3.11.tgz", @@ -9027,6 +9461,57 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/ol": { + "version": "10.6.1", + "resolved": "https://registry.npmjs.org/ol/-/ol-10.6.1.tgz", + "integrity": "sha512-xp174YOwPeLj7c7/8TCIEHQ4d41tgTDDhdv6SqNdySsql5/MaFJEJkjlsYcvOPt7xA6vrum/QG4UdJ0iCGT1cg==", + "license": "BSD-2-Clause", + "dependencies": { + "@types/rbush": "4.0.0", + "earcut": "^3.0.0", + "geotiff": "^2.1.3", + "pbf": "4.0.1", + "rbush": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/openlayers" + } + }, + "node_modules/ol-mapbox-style": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/ol-mapbox-style/-/ol-mapbox-style-13.1.0.tgz", + "integrity": "sha512-aT1ELGTTbYpvkNalSu6M6BiLBisLWGHfObaAGv9eH82d6K2on7YirtkSrOdzc7f5lLENnQwlGNleJIUrAfZ+Sw==", + "license": "BSD-2-Clause", + "dependencies": { + "@maplibre/maplibre-gl-style-spec": "^23.1.0", + "mapbox-to-css-font": "^3.2.0" + }, + "peerDependencies": { + "ol": "*" + } + }, + "node_modules/ol/node_modules/earcut": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.2.tgz", + "integrity": "sha512-X7hshQbLyMJ/3RPhyObLARM2sNxxmRALLKx1+NVFFnQ9gKzmCrxm9+uLIAdBcvc8FNLpctqlQ2V6AE92Ol9UDQ==", + "license": "ISC" + }, + "node_modules/ol/node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC" + }, + "node_modules/ol/node_modules/rbush": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-4.0.1.tgz", + "integrity": "sha512-IP0UpfeWQujYC8Jg162rMNc01Rf0gWMMAb2Uxus/Q0qOFw4lCcq6ZnQEZwUoJqWyUGJ9th7JjwI4yIWo+uvoAQ==", + "license": "MIT", + "dependencies": { + "quickselect": "^3.0.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -9148,6 +9633,12 @@ "dev": true, "license": "BlueOak-1.0.0" }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==", + "license": "(MIT AND Zlib)" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -9159,6 +9650,12 @@ "node": ">=6" } }, + "node_modules/parse-headers": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.6.tgz", + "integrity": "sha512-Tz11t3uKztEW5FEVZnj1ox8GKblWn+PvHY9TmJV5Mll2uHEwRdR/5Li1OlXoECjLYkApdhWy44ocONwXLiKO5A==", + "license": "MIT" + }, "node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -9257,6 +9754,18 @@ "node": ">= 14.16" } }, + "node_modules/pbf": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-4.0.1.tgz", + "integrity": "sha512-SuLdBvS42z33m8ejRbInMapQe8n0D3vN/Xd5fmWM3tufNgRQFBpaW2YVJxQZV4iPNqb0vEFvssMEo5w9c6BTIA==", + "license": "BSD-3-Clause", + "dependencies": { + "resolve-protobuf-schema": "^2.1.0" + }, + "bin": { + "pbf": "bin/pbf" + } + }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://packages.atlassian.com/api/npm/npm-remote/picocolors/-/picocolors-1.1.1.tgz", @@ -9465,6 +9974,12 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/potpack": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.1.0.tgz", + "integrity": "sha512-pcaShQc1Shq0y+E7GqJqvZj8DTthWV1KeHGdi0Z6IAin2Oi3JnLCOfwnCo84qc+HAp52wT9nK9H7FAJp5a44GQ==", + "license": "ISC" + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -9518,6 +10033,12 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/protocol-buffers-schema": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", + "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", + "license": "MIT" + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -9554,6 +10075,18 @@ ], "license": "MIT" }, + "node_modules/quick-lru": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-6.1.2.tgz", + "integrity": "sha512-AAFUA5O1d83pIHEhJwWCq/RQcRukCkn/NSm2QsTEMle5f2hP0ChI2+3Xb051PZCkLryI/Ir1MVKviT2FIloaTQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/quickselect": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-1.1.1.tgz", @@ -9675,6 +10208,30 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/react-map-gl": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/react-map-gl/-/react-map-gl-8.0.4.tgz", + "integrity": "sha512-SHdpvFIvswsZBg6BCPcwY/nbKuCo3sJM1Cj7Sd+gA3gFRFOixD+KtZ2XSuUWq2WySL2emYEXEgrLZoXsV4Ut4Q==", + "license": "MIT", + "dependencies": { + "@vis.gl/react-mapbox": "8.0.4", + "@vis.gl/react-maplibre": "8.0.4" + }, + "peerDependencies": { + "mapbox-gl": ">=1.13.0", + "maplibre-gl": ">=1.13.0", + "react": ">=16.3.0", + "react-dom": ">=16.3.0" + }, + "peerDependenciesMeta": { + "mapbox-gl": { + "optional": true + }, + "maplibre-gl": { + "optional": true + } + } + }, "node_modules/react-modern-drawer": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/react-modern-drawer/-/react-modern-drawer-1.2.0.tgz", @@ -9893,6 +10450,15 @@ "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, + "node_modules/resolve-protobuf-schema": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", + "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "license": "MIT", + "dependencies": { + "protocol-buffers-schema": "^3.3.1" + } + }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", @@ -9976,6 +10542,12 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause" + }, "node_modules/rxjs": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", @@ -10138,6 +10710,21 @@ "node": ">= 0.4" } }, + "node_modules/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", @@ -10297,6 +10884,41 @@ "tslib": "^2.0.3" } }, + "node_modules/sort-asc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sort-asc/-/sort-asc-0.2.0.tgz", + "integrity": "sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-desc": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/sort-desc/-/sort-desc-0.2.0.tgz", + "integrity": "sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sort-object": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sort-object/-/sort-object-3.0.3.tgz", + "integrity": "sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==", + "license": "MIT", + "dependencies": { + "bytewise": "^1.1.0", + "get-value": "^2.0.2", + "is-extendable": "^0.1.1", + "sort-asc": "^0.2.0", + "sort-desc": "^0.2.0", + "union-value": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -10320,6 +10942,43 @@ "resolved": "https://registry.npmjs.org/splaytree/-/splaytree-3.1.1.tgz", "integrity": "sha512-9FaQ18FF0+sZc/ieEeXHt+Jw2eSpUgUtTLDYB/HXKWvhYVyOc7h1hzkn5MMO3GPib9MmXG1go8+OsBBzs/NMww==" }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "license": "MIT", + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split-string/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/stable-hash-x": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/stable-hash-x/-/stable-hash-x-0.2.0.tgz", @@ -10664,6 +11323,15 @@ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" }, + "node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "license": "ISC", + "dependencies": { + "kdbush": "^4.0.2" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://packages.atlassian.com/api/npm/npm-remote/supports-color/-/supports-color-7.2.0.tgz", @@ -11165,6 +11833,21 @@ "typescript": ">=4.8.4 <6.0.0" } }, + "node_modules/typewise": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz", + "integrity": "sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==", + "license": "MIT", + "dependencies": { + "typewise-core": "^1.2.0" + } + }, + "node_modules/typewise-core": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz", + "integrity": "sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==", + "license": "MIT" + }, "node_modules/unbox-primitive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", @@ -11191,6 +11874,21 @@ "dev": true, "license": "MIT" }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", @@ -11612,6 +12310,12 @@ "loose-envify": "^1.0.0" } }, + "node_modules/web-worker": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/web-worker/-/web-worker-1.5.0.tgz", + "integrity": "sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==", + "license": "Apache-2.0" + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -11846,6 +12550,12 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/xml-utils": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/xml-utils/-/xml-utils-1.10.2.tgz", + "integrity": "sha512-RqM+2o1RYs6T8+3DzDSoTRAUfrvaejbVHcp3+thnAtDKo8LskR+HomLajEy5UjTz24rpka7AxVBRR3g2wTUkJA==", + "license": "CC0-1.0" + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -11876,6 +12586,12 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zstddec": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/zstddec/-/zstddec-0.1.0.tgz", + "integrity": "sha512-w2NTI8+3l3eeltKAdK8QpiLo/flRAr2p8AGeakfMZOXBxOg9HIu4LVDxBi81sYgVhFhdJjv1OrB5ssI8uFPoLg==", + "license": "MIT AND BSD-3-Clause" } } } diff --git a/package.json b/package.json index 1d0ce47..1914949 100644 --- a/package.json +++ b/package.json @@ -34,12 +34,16 @@ "leaflet": "^1.9.3", "leaflet-extra-markers": "^1.2.1", "leaflet.heightgraph": "^1.4.0", + "maplibre-gl": "^5.7.3", + "ol": "^10.6.1", + "ol-mapbox-style": "^13.1.0", "prop-types": "^15.8.1", "ramda": "^0.28.0", "react": "^17.0.0", "react-beautiful-dnd": "^13.1.1", "react-copy-to-clipboard": "^5.1.0", "react-dom": "^17.0.0", + "react-map-gl": "^8.0.4", "react-modern-drawer": "^1.1.2", "react-redux": "^8.0.4", "react-toastify": "^9.1.2", diff --git a/public/style.json b/public/style.json new file mode 100644 index 0000000..6a410c5 --- /dev/null +++ b/public/style.json @@ -0,0 +1,8809 @@ +{ + "version": 8, + "name": "versatiles-colorful", + "metadata": { + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "glyphs": "https://vector.openstreetmap.org/demo/shortbread/fonts/{fontstack}/{range}.pbf", + "sprite": [ + { + "id": "basics", + "url": "https://vector.openstreetmap.org/demo/shortbread/sprites/basics/sprites" + } + ], + "sources": { + "versatiles-shortbread": { + "attribution": "© OpenStreetMap contributors", + "tiles": ["https://vector.openstreetmap.org/shortbread_v1/{z}/{x}/{y}.mvt"], + "type": "vector", + "scheme": "xyz", + "bounds": [-180, -85.0511287798066, 180, 85.0511287798066], + "minzoom": 0, + "maxzoom": 14 + } + }, + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgb(249,244,238)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ocean", + "type": "fill", + "source-layer": "ocean", + "paint": { + "fill-color": "rgb(190,221,243)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-glacier", + "type": "fill", + "source-layer": "water_polygons", + "filter": ["all", ["==", "kind", "glacier"]], + "paint": { + "fill-color": "rgb(255,255,255)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-commercial", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "commercial", "retail"]], + "paint": { + "fill-color": "rgba(247,222,237,0.251)", + "fill-opacity": { + "stops": [ + [10, 0], + [11, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-industrial", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "industrial", "quarry", "railway"]], + "paint": { + "fill-color": "rgba(255,244,194,0.333)", + "fill-opacity": { + "stops": [ + [10, 0], + [11, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-residential", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "garages", "residential"]], + "paint": { + "fill-color": "rgba(234,230,225,0.2)", + "fill-opacity": { + "stops": [ + [10, 0], + [11, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-agriculture", + "type": "fill", + "source-layer": "land", + "filter": [ + "all", + [ + "in", + "kind", + "brownfield", + "farmland", + "farmyard", + "greenfield", + "greenhouse_horticulture", + "orchard", + "plant_nursery", + "vineyard" + ] + ], + "paint": { + "fill-color": "rgb(240,231,209)", + "fill-opacity": { + "stops": [ + [10, 0], + [11, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-waste", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "landfill"]], + "paint": { + "fill-color": "rgb(219,214,189)", + "fill-opacity": { + "stops": [ + [10, 0], + [11, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-park", + "type": "fill", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "park", "village_green", "recreation_ground"] + ], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-garden", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "allotments", "garden"]], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-burial", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "cemetery", "grave_yard"]], + "paint": { + "fill-color": "rgb(221,219,202)", + "fill-opacity": { + "stops": [ + [13, 0], + [14, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-leisure", + "type": "fill", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "miniature_golf", "playground", "golf_course"] + ], + "paint": { + "fill-color": "rgb(231,237,222)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-rock", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "bare_rock", "scree", "shingle"]], + "paint": { + "fill-color": "rgb(224,228,229)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-forest", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "forest"]], + "paint": { + "fill-color": "rgb(102,170,68)", + "fill-opacity": { + "stops": [ + [7, 0], + [8, 0.1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-grass", + "type": "fill", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "grass", "grassland", "meadow", "wet_meadow"] + ], + "paint": { + "fill-color": "rgb(216,232,200)", + "fill-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-vegetation", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "heath", "scrub"]], + "paint": { + "fill-color": "rgb(217,217,165)", + "fill-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "land-sand", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "beach", "sand"]], + "paint": { + "fill-color": "rgb(250,250,237)" + } + }, + { + "source": "versatiles-shortbread", + "id": "land-wetland", + "type": "fill", + "source-layer": "land", + "filter": ["all", ["in", "kind", "bog", "marsh", "string_bog", "swamp"]], + "paint": { + "fill-color": "rgb(211,230,219)" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-river", + "type": "line", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "river"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { + "stops": [ + [9, 0], + [10, 3], + [15, 5], + [17, 9], + [18, 20], + [20, 60] + ] + } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-canal", + "type": "line", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "canal"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { + "stops": [ + [9, 0], + [10, 2], + [15, 4], + [17, 8], + [18, 17], + [20, 50] + ] + } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-stream", + "type": "line", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "stream"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { + "stops": [ + [13, 0], + [14, 1], + [15, 2], + [17, 6], + [18, 12], + [20, 30] + ] + } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-ditch", + "type": "line", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "ditch"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "paint": { + "line-color": "rgb(190,221,243)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [17, 4], + [18, 8], + [20, 20] + ] + } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area", + "type": "fill", + "source-layer": "water_polygons", + "filter": ["==", "kind", "water"], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { + "stops": [ + [4, 0], + [6, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-river", + "type": "fill", + "source-layer": "water_polygons", + "filter": ["==", "kind", "river"], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { + "stops": [ + [4, 0], + [6, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-area-small", + "type": "fill", + "source-layer": "water_polygons", + "filter": ["in", "kind", "reservoir", "basin", "dock"], + "paint": { + "fill-color": "rgb(190,221,243)", + "fill-opacity": { + "stops": [ + [4, 0], + [6, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam-area", + "type": "fill", + "source-layer": "dam_polygons", + "filter": ["==", "kind", "dam"], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-dam", + "type": "line", + "source-layer": "dam_lines", + "filter": ["==", "kind", "dam"], + "paint": { + "line-color": "rgb(190,221,243)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier-area", + "type": "fill", + "source-layer": "pier_polygons", + "filter": ["in", "kind", "pier", "breakwater", "groyne"], + "paint": { + "fill-color": "rgb(249,244,238)", + "fill-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "water-pier", + "type": "line", + "source-layer": "pier_lines", + "filter": ["in", "kind", "pier", "breakwater", "groyne"], + "paint": { + "line-color": "rgb(249,244,238)" + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-dangerarea", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "danger_area"], + "paint": { + "fill-color": "rgb(255,0,0)", + "fill-outline-color": "rgb(255,0,0)", + "fill-opacity": 0.3, + "fill-pattern": "basics:pattern-warning" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-university", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "university"], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-college", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "college"], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-school", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "school"], + "paint": { + "fill-color": "rgb(255,255,128)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-hospital", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "hospital"], + "paint": { + "fill-color": "rgb(255,102,102)", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-prison", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "prison"], + "paint": { + "fill-color": "rgb(253,242,252)", + "fill-pattern": "basics:pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "site-parking", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "parking"], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-bicycleparking", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "bicycle_parking"], + "paint": { + "fill-color": "rgb(235,232,230)" + } + }, + { + "source": "versatiles-shortbread", + "id": "site-construction", + "type": "fill", + "source-layer": "sites", + "filter": ["in", "kind", "construction"], + "paint": { + "fill-color": "rgb(169,169,169)", + "fill-pattern": "basics:pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-area", + "type": "fill", + "source-layer": "street_polygons", + "filter": ["in", "kind", "runway", "taxiway"], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": 0.5 + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway:outline", + "type": "line", + "source-layer": "streets", + "filter": ["==", "kind", "taxiway"], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [13, 0], + [14, 2], + [15, 10], + [16, 14], + [18, 20], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway:outline", + "type": "line", + "source-layer": "streets", + "filter": ["==", "kind", "runway"], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [11, 0], + [12, 6], + [13, 9], + [14, 16], + [15, 24], + [16, 40], + [17, 100], + [18, 160], + [20, 300] + ] + } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-taxiway", + "type": "line", + "source-layer": "streets", + "filter": ["==", "kind", "taxiway"], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [13, 0], + [14, 1], + [15, 8], + [16, 12], + [18, 18], + [20, 36] + ] + }, + "line-opacity": { + "stops": [ + [13, 0], + [14, 1] + ] + } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "airport-runway", + "type": "line", + "source-layer": "streets", + "filter": ["==", "kind", "runway"], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [11, 0], + [12, 5], + [13, 8], + [14, 14], + [15, 22], + [16, 38], + [17, 98], + [18, 158], + [20, 298] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "layout": { + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "building:outline", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(223,219,215)", + "fill-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "building", + "type": "fill", + "source-layer": "buildings", + "paint": { + "fill-color": "rgb(242,234,226)", + "fill-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + }, + "fill-translate": [-2, -2] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": ["all", ["==", "tunnel", true], ["==", "kind", "pedestrian"]], + "paint": { + "fill-color": "rgb(247,247,247)", + "fill-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "footway"]], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "steps"]], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "path"]], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "hsl(288,13%,86%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "cycleway"]], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "hsl(203,11%,87%)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { + "stops": [ + [14, 2], + [16, 4], + [18, 18], + [19, 48], + [20, 96] + ] + }, + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { + "stops": [ + [14, 1], + [16, 3], + [18, 12], + [19, 32], + [20, 48] + ] + }, + "line-opacity": { + "stops": [ + [15, 0], + [16, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(222,222,222)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [11, 2], + [14, 5], + [16, 8], + [18, 30], + [19, 68], + [20, 138] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [7, 0], + [8, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(234,176,126)", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-footway", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "footway"]], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [1, 0.2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-steps", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "steps"]], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [1, 0.2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-path", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "path"]], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "hsl(288,33%,94%)", + "line-dasharray": [1, 0.2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "cycleway"]], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "hsl(203,30%,95%)", + "line-dasharray": [1, 0.2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [14, 1], + [16, 3], + [18, 16], + [19, 44], + [20, 88] + ] + }, + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [14, 1], + [16, 2], + [18, 10], + [19, 28], + [20, 40] + ] + }, + "line-opacity": { + "stops": [ + [15, 0], + [16, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "tunnel", true]], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(247,247,247)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { + "stops": [ + [11, 1], + [14, 4], + [16, 6], + [18, 28], + [19, 64], + [20, 130] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": { + "stops": [ + [8, 0], + [9, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,240,179)", + "line-width": { + "stops": [ + [7, 0], + [8, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": { + "stops": [ + [7, 0], + [8, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,209,148)", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": { + "stops": [ + [5, 0], + [6, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 0.5] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 1], + [20, 14] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 0.5] + ] + } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [16, 1], + [20, 14] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 1], + [20, 14] + ] + }, + "line-opacity": { + "stops": [ + [8, 0], + [9, 0.3] + ] + } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [16, 1], + [20, 14] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["in", "kind", "monorail"], ["==", "tunnel", true]], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["in", "kind", "funicular"], ["==", "tunnel", true]], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [15, 0], + [16, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 0.3] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [15, 0], + [16, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["in", "kind", "monorail"], ["==", "tunnel", true]], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "tunnel-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["in", "kind", "funicular"], ["==", "tunnel", true]], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge", + "type": "fill", + "source-layer": "bridges", + "paint": { + "fill-color": "rgb(244,239,233)", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["==", "kind", "pedestrian"] + ], + "paint": { + "fill-color": "rgba(251,235,255,0.25)", + "fill-opacity": { + "stops": [ + [12, 0], + [13, 1], + [14, 0], + [15, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "footway"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "steps"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "path"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "cycleway"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [14, 2], + [16, 4], + [18, 18], + [19, 48], + [20, 96] + ] + }, + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { + "stops": [ + [14, 1], + [16, 3], + [18, 12], + [19, 32], + [20, 48] + ] + }, + "line-opacity": { + "stops": [ + [15, 0], + [16, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(207,205,202)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [11, 2], + [14, 5], + [16, 8], + [18, 30], + [19, 68], + [20, 138] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [7, 0], + [8, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "way-footway", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "footway"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-steps", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "steps"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-path", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "path"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "cycleway"] + ], + "layout": { + "line-cap": "round" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "street-track", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [14, 1], + [16, 3], + [18, 16], + [19, 44], + [20, 88] + ] + }, + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(251,235,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 0], + [14, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [14, 1], + [16, 2], + [18, 10], + [19, 28], + [20, 40] + ] + }, + "line-opacity": { + "stops": [ + [15, 0], + [16, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [11, 1], + [14, 4], + [16, 6], + [18, 28], + [19, 64], + [20, 130] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": { + "stops": [ + [8, 0], + [9, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [7, 0], + [8, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": { + "stops": [ + [7, 0], + [8, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": { + "stops": [ + [5, 0], + [6, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 1], + [20, 14] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [16, 1], + [20, 14] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 1], + [20, 14] + ] + }, + "line-opacity": { + "stops": [ + [8, 0], + [9, 1] + ] + } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [16, 1], + [20, 14] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [15, 0], + [16, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [15, 0], + [16, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "transport-ferry", + "type": "line", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "rgb(171,199,219)", + "line-width": { + "stops": [ + [10, 1], + [13, 2], + [14, 3], + [16, 4], + [17, 6] + ] + }, + "line-opacity": { + "stops": [ + [10, 0], + [11, 1] + ] + }, + "line-dasharray": [1, 1] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "footway"]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [15, 0], + [16, 7], + [18, 10], + [19, 17], + [20, 31] + ] + } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "steps"]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [15, 0], + [16, 7], + [18, 10], + [19, 17], + [20, 31] + ] + } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "path"]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [15, 0], + [16, 7], + [18, 10], + [19, 17], + [20, 31] + ] + } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "cycleway"]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [15, 0], + [16, 7], + [18, 10], + [19, 17], + [20, 31] + ] + } + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "bridge", true]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + }, + "line-width": { + "stops": [ + [14, 3], + [16, 6], + [18, 25], + [19, 67], + [20, 134] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "bridge", true]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + }, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 8], + [18, 36], + [19, 90], + [20, 179] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "bridge", true]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + }, + "line-width": { + "stops": [ + [14, 3], + [16, 6], + [18, 25], + [19, 67], + [20, 134] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bridge", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + }, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 8], + [18, 36], + [19, 90], + [20, 179] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "bridge", true]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + }, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 8], + [18, 36], + [19, 90], + [20, 179] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:bridge", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "bridge", true]], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + }, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 8], + [18, 36], + [19, 90], + [20, 179] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + }, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 8], + [18, 36], + [19, 90], + [20, 179] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 10], + [18, 20], + [20, 56] + ] + } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 10], + [18, 20], + [20, 56] + ] + } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 10], + [18, 20], + [20, 56] + ] + } + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 10], + [18, 20], + [20, 56] + ] + } + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + }, + "line-width": { + "stops": [ + [12, 3], + [14, 4], + [16, 8], + [18, 36], + [19, 90], + [20, 179] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + }, + "line-width": { + "stops": [ + [11, 3], + [14, 7], + [16, 11], + [18, 42], + [19, 95], + [20, 193] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 6], + [14, 8], + [16, 17], + [18, 50], + [19, 104], + [20, 202] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [7, 0], + [8, 3], + [10, 6], + [14, 8], + [16, 17], + [18, 50], + [19, 104], + [20, 202] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:bridge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": { + "line-cap": "butt", + "line-join": "round" + }, + "paint": { + "line-color": "rgb(244,239,233)", + "line-opacity": 0.5, + "line-width": { + "stops": [ + [5, 0], + [6, 3], + [10, 7], + [14, 7], + [16, 20], + [18, 53], + [19, 118], + [20, 235] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source-layer": "street_polygons", + "filter": ["all", ["==", "bridge", true], ["==", "kind", "pedestrian"]], + "paint": { + "fill-color": "rgb(255,255,255)", + "fill-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "footway"]], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "steps"]], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "path"]], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "rgb(226,212,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "cycleway"]], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [19, 12], + [20, 22] + ] + }, + "line-color": "rgb(215,224,230)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { + "stops": [ + [14, 2], + [16, 4], + [18, 18], + [19, 48], + [20, 96] + ] + }, + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(221,220,218)", + "line-width": { + "stops": [ + [14, 1], + [16, 3], + [18, 12], + [19, 32], + [20, 48] + ] + }, + "line-opacity": { + "stops": [ + [15, 0], + [16, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 7], + [18, 14], + [20, 40] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(217,217,217)", + "line-width": { + "stops": [ + [12, 2], + [14, 3], + [16, 6], + [18, 26], + [19, 64], + [20, 128] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [11, 2], + [14, 5], + [16, 8], + [18, 30], + [19, 68], + [20, 138] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [7, 0], + [8, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(233,172,119)", + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-footway", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "footway"]], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-steps", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "steps"]], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-path", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "path"]], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "rgb(251,235,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-way-cycleway", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "bridge", true], ["in", "kind", "cycleway"]], + "layout": { + "line-cap": "butt" + }, + "paint": { + "line-width": { + "stops": [ + [15, 0], + [16, 4], + [18, 6], + [19, 10], + [20, 20] + ] + }, + "line-color": "rgb(239,249,255)" + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [14, 1], + [16, 3], + [18, 16], + [19, 44], + [20, 88] + ] + }, + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "service"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(247,247,247)", + "line-width": { + "stops": [ + [14, 1], + [16, 2], + [18, 10], + [19, 28], + [20, 40] + ] + }, + "line-opacity": { + "stops": [ + [15, 0], + [16, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "bridge", true]], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-track-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-service-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(255,255,255)" + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-residential-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(239,249,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway-link", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 12], + [20, 38] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-tertiary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,255,255)", + "line-width": { + "stops": [ + [12, 1], + [14, 2], + [16, 5], + [18, 24], + [19, 60], + [20, 120] + ] + }, + "line-opacity": { + "stops": [ + [12, 0], + [13, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-secondary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [11, 1], + [14, 4], + [16, 6], + [18, 28], + [19, 64], + [20, 130] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-primary", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": { + "stops": [ + [8, 0], + [9, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-trunk", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,238,170)", + "line-width": { + "stops": [ + [7, 0], + [8, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": { + "stops": [ + [7, 0], + [8, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-street-motorway", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "paint": { + "line-color": "rgb(255,204,136)", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": { + "stops": [ + [5, 0], + [6, 1] + ] + } + }, + "layout": { + "line-join": "round", + "line-cap": "butt" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "bridge", true] + ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "bridge", true] + ], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(166,184,199)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 1], + [20, 14] + ] + }, + "line-opacity": { + "stops": [ + [11, 0], + [12, 1] + ] + } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [16, 1], + [20, 14] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 1], + [20, 14] + ] + }, + "line-opacity": { + "stops": [ + [8, 0], + [9, 1] + ] + } + }, + "minzoom": 8 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service:outline", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [16, 1], + [20, 14] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["in", "kind", "monorail"], ["==", "bridge", true]], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular:outline", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["in", "kind", "funicular"], ["==", "bridge", true]], + "minzoom": 15, + "paint": { + "line-color": "rgb(177,187,196)", + "line-width": { + "stops": [ + [15, 0], + [16, 5], + [18, 7], + [20, 20] + ] + }, + "line-dasharray": [0.1, 0.5] + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-tram", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "bridge", true] + ], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-narrowgauge", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "bridge", true] + ], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-subway", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(188,202,213)", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-lightrail-service", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [15, 0], + [16, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [14, 0], + [15, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": { + "stops": [ + [14, 0], + [15, 1] + ] + } + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-rail-service", + "type": "line", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "rgb(197,204,211)", + "line-width": { + "stops": [ + [15, 0], + [16, 1], + [20, 10] + ] + }, + "line-dasharray": [2, 2] + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-monorail", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["in", "kind", "monorail"], ["==", "bridge", true]], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "bridge-transport-funicular", + "type": "line", + "source-layer": "streets", + "filter": ["all", ["in", "kind", "funicular"], ["==", "bridge", true]], + "minzoom": 13, + "paint": { + "line-width": { + "stops": [ + [13, 0], + [16, 1], + [17, 2], + [18, 3], + [20, 5] + ] + }, + "line-color": "rgb(177,187,196)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-amenity", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "amenity"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "amenity"], + "arts_centre", + "basics:icon-art_gallery", + "atm", + "basics:icon-atm", + "bank", + "basics:icon-bank", + "bar", + "basics:icon-bar", + "bench", + "basics:icon-bench", + "bicycle_rental", + "basics:icon-bicycle_share", + "biergarten", + "basics:icon-beergarden", + "cafe", + "basics:icon-cafe", + "car_rental", + "basics:icon-car_rental", + "car_sharing", + "basics:icon-car_rental", + "car_wash", + "basics:icon-car_wash", + "cinema", + "basics:icon-cinema", + "college", + "basics:icon-college", + "community_centre", + "basics:icon-community", + "dentist", + "basics:icon-dentist", + "doctors", + "basics:icon-doctor", + "dog_park", + "basics:icon-dog_park", + "drinking_water", + "basics:icon-drinking_water", + "embassy", + "basics:icon-embassy", + "fast_food", + "basics:icon-fast_food", + "fire_station", + "basics:icon-fire_station", + "fountain", + "basics:icon-fountain", + "grave_yard", + "basics:icon-cemetery", + "hospital", + "basics:icon-hospital", + "hunting_stand", + "basics:icon-huntingstand", + "library", + "basics:icon-library", + "marketplace", + "basics:icon-marketplace", + "nightclub", + "basics:icon-nightclub", + "nursing_home", + "basics:icon-nursinghome", + "pharmacy", + "basics:icon-pharmacy", + "place_of_worship", + "basics:icon-place_of_worship", + "playground", + "basics:icon-playground", + "police", + "basics:icon-police", + "post_box", + "basics:icon-postbox", + "post_office", + "basics:icon-post", + "prison", + "basics:icon-prison", + "pub", + "basics:icon-beer", + "recycling", + "basics:icon-recycling", + "restaurant", + "basics:icon-restaurant", + "school", + "basics:icon-school", + "shelter", + "basics:icon-shelter", + "telephone", + "basics:icon-telephone", + "theatre", + "basics:icon-theatre", + "toilets", + "basics:icon-toilet", + "townhall", + "basics:icon-town_hall", + "vending_machine", + "basics:icon-vendingmachine", + "veterinary", + "basics:icon-veterinary", + "waste_basket", + "basics:icon-waste_basket", + "" + ] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-leisure", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "leisure"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "leisure"], + "golf_course", + "basics:icon-golf", + "ice_rink", + "basics:icon-icerink", + "pitch", + "basics:icon-pitch", + "stadium", + "basics:icon-stadium", + "swimming_pool", + "basics:icon-swimming", + "water_park", + "basics:icon-waterpark", + "basics:icon-sports" + ] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-tourism", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "tourism"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "tourism"], + "chalet", + "basics:icon-chalet", + "information", + "basics:transport-information", + "picnic_site", + "basics:icon-picnic_site", + "viewpoint", + "basics:icon-viewpoint", + "zoo", + "basics:icon-zoo", + "" + ] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-shop", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "shop"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "shop"], + "alcohol", + "basics:icon-alcohol_shop", + "bakery", + "basics:icon-bakery", + "beauty", + "basics:icon-beauty", + "beverages", + "basics:icon-beverages", + "books", + "basics:icon-books", + "butcher", + "basics:icon-butcher", + "chemist", + "basics:icon-chemist", + "clothes", + "basics:icon-clothes", + "doityourself", + "basics:icon-doityourself", + "dry_cleaning", + "basics:icon-drycleaning", + "florist", + "basics:icon-florist", + "furniture", + "basics:icon-furniture", + "garden_centre", + "basics:icon-garden_centre", + "general", + "basics:icon-shop", + "gift", + "basics:icon-gift", + "greengrocer", + "basics:icon-greengrocer", + "hairdresser", + "basics:icon-hairdresser", + "hardware", + "basics:icon-hardware", + "jewelry", + "basics:icon-jewelry_store", + "kiosk", + "basics:icon-kiosk", + "laundry", + "basics:icon-laundry", + "newsagent", + "basics:icon-newsagent", + "optican", + "basics:icon-optician", + "outdoor", + "basics:icon-outdoor", + "shoes", + "basics:icon-shoes", + "sports", + "basics:icon-sports", + "stationery", + "basics:icon-stationery", + "toys", + "basics:icon-toys", + "travel_agency", + "basics:icon-travel_agent", + "video", + "basics:icon-video", + "basics:icon-shop" + ] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-man_made", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "man_made"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "man_made"], + "lighthouse", + "basics:icon-lighthouse", + "surveillance", + "basics:icon-surveillance", + "tower", + "basics:icon-observation_tower", + "watermill", + "basics:icon-watermill", + "windmill", + "basics:icon-windmill", + "" + ] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-historic", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "historic"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "historic"], + "artwork", + "basics:icon-artwork", + "castle", + "basics:icon-castle", + "monument", + "basics:icon-monument", + "wayside_shrine", + "basics:icon-shrine", + "basics:icon-historic" + ] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-emergency", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "emergency"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "emergency"], + "defibrillator", + "basics:icon-defibrillator", + "fire_hydrant", + "basics:icon-hydrant", + "phone", + "basics:icon-emergency_phone", + "" + ] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-highway", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "highway"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "poi-office", + "type": "symbol", + "source-layer": "pois", + "filter": ["to-boolean", ["get", "office"]], + "minzoom": 16, + "layout": { + "icon-size": { + "stops": [ + [16, 0.5], + [19, 0.5], + [20, 1] + ] + }, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4] + ] + }, + "icon-color": "rgb(85,85,85)", + "text-color": "rgb(85,85,85)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "paint": { + "line-color": "rgb(249,245,239)", + "line-blur": 1, + "line-width": { + "stops": [ + [2, 0], + [3, 2], + [10, 8] + ] + }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["==", "disputed", true], + ["!=", "maritime", true], + ["!=", "coastline", true] + ], + "paint": { + "line-width": { + "stops": [ + [2, 0], + [3, 2], + [10, 8] + ] + }, + "line-opacity": 0.75, + "line-color": "rgb(249,245,239)" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state:outline", + "type": "line", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 4], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "paint": { + "line-color": "rgb(250,245,240)", + "line-blur": 1, + "line-width": { + "stops": [ + [7, 0], + [8, 2], + [10, 4] + ] + }, + "line-opacity": 0.75 + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country", + "type": "line", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { + "stops": [ + [2, 0], + [3, 1], + [10, 4] + ] + } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-country-disputed", + "type": "line", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["==", "disputed", true], + ["!=", "maritime", true], + ["!=", "coastline", true] + ], + "paint": { + "line-width": { + "stops": [ + [2, 0], + [3, 1], + [10, 4] + ] + }, + "line-color": "rgb(190,188,207)", + "line-dasharray": [2, 1] + }, + "layout": { + "line-cap": "square" + } + }, + { + "source": "versatiles-shortbread", + "id": "boundary-state", + "type": "line", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 4], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "paint": { + "line-color": "rgb(166,166,200)", + "line-width": { + "stops": [ + [7, 0], + [8, 1], + [10, 2] + ] + } + }, + "layout": { + "line-cap": "round", + "line-join": "round" + } + }, + { + "source": "versatiles-shortbread", + "id": "label-address-housenumber", + "type": "symbol", + "source-layer": "addresses", + "filter": ["has", "housenumber"], + "layout": { + "text-field": "{housenumber}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": { + "stops": [ + [17, 8], + [19, 10] + ] + } + }, + "paint": { + "text-halo-color": "rgb(243,235,227)", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "rgb(169,164,158)", + "text-color": "rgb(169,164,158)" + }, + "minzoom": 17 + }, + { + "source": "versatiles-shortbread", + "id": "label-motorway-shield", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "motorway"], + "layout": { + "text-field": "{ref}", + "text-font": ["noto_sans_bold"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [14, 10], + [18, 12], + [20, 16] + ] + } + }, + "paint": { + "icon-color": "rgb(255,255,255)", + "text-color": "rgb(255,255,255)", + "text-halo-color": "rgb(255,204,136)", + "text-halo-width": 0.1, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-pedestrian", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "pedestrian"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [12, 10], + [15, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-livingstreet", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "living_street"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [12, 10], + [15, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-residential", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "residential"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [12, 10], + [15, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-unclassified", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "unclassified"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [12, 10], + [15, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-tertiary", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "tertiary"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [12, 10], + [15, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-secondary", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "secondary"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [12, 10], + [15, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-primary", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "primary"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [12, 10], + [15, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-street-trunk", + "type": "symbol", + "source-layer": "street_labels", + "filter": ["==", "kind", "trunk"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": { + "stops": [ + [12, 10], + [15, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-neighbourhood", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "neighbourhood"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [[14, 12]] + }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,67,73)", + "text-color": "rgb(40,67,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-quarter", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "quarter"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [[13, 13]] + }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,62,73)", + "text-color": "rgb(40,62,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-suburb", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "suburb"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [ + [11, 11], + [13, 14] + ] + }, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "rgb(40,57,73)", + "text-color": "rgb(40,57,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-hamlet", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "hamlet"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [ + [10, 11], + [12, 14] + ] + } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-village", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "village"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [ + [9, 11], + [12, 14] + ] + } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 11 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-town", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "town"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [ + [8, 11], + [12, 14] + ] + } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 9 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-state", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": ["in", "admin_level", 4, "4"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": { + "stops": [ + [5, 8], + [8, 12] + ] + } + }, + "paint": { + "icon-color": "rgb(61,61,77)", + "text-color": "rgb(61,61,77)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-city", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "city"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [ + [7, 11], + [10, 14] + ] + } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 7 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-statecapital", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "state_capital"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [ + [6, 11], + [10, 15] + ] + } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 6 + }, + { + "source": "versatiles-shortbread", + "id": "label-place-capital", + "type": "symbol", + "source-layer": "place_labels", + "filter": ["==", "kind", "capital"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": { + "stops": [ + [5, 12], + [10, 16] + ] + } + }, + "paint": { + "icon-color": "rgb(40,48,73)", + "text-color": "rgb(40,48,73)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 5 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-small", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + ["<=", "way_area", 10000000] + ], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": { + "stops": [ + [4, 8], + [5, 11] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 4 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-medium", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + ["<", "way_area", 90000000], + [">", "way_area", 10000000] + ], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": { + "stops": [ + [3, 8], + [5, 12] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 3 + }, + { + "source": "versatiles-shortbread", + "id": "label-boundary-country-large", + "type": "symbol", + "source-layer": "boundary_labels", + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + [">=", "way_area", 90000000] + ], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": { + "stops": [ + [2, 8], + [5, 13] + ] + } + }, + "paint": { + "icon-color": "rgb(51,51,68)", + "text-color": "rgb(51,51,68)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 2 + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway", + "type": "symbol", + "source-layer": "streets", + "filter": [ + "all", + ["==", "oneway", true], + [ + "in", + "kind", + "trunk", + "primary", + "secondary", + "tertiary", + "unclassified", + "residential", + "living_street" + ] + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": ["noto_sans_regular"] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4], + [20, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4], + [20, 0.4] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "marking-oneway-reverse", + "type": "symbol", + "source-layer": "streets", + "filter": [ + "all", + ["==", "oneway_reverse", true], + [ + "in", + "kind", + "trunk", + "primary", + "secondary", + "tertiary", + "unclassified", + "residential", + "living_street" + ] + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "basics:marking-arrow", + "text-font": ["noto_sans_regular"] + }, + "minzoom": 16, + "paint": { + "icon-opacity": { + "stops": [ + [16, 0], + [17, 0.4], + [20, 0.4] + ] + }, + "text-opacity": { + "stops": [ + [16, 0], + [17, 0.4], + [20, 0.4] + ] + } + } + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-bus", + "type": "symbol", + "source-layer": "public_transport", + "filter": ["==", "kind", "bus_stop"], + "layout": { + "text-field": "{name}", + "icon-size": { + "stops": [ + [16, 0.5], + [18, 1] + ] + }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 16 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-tram", + "type": "symbol", + "source-layer": "public_transport", + "filter": ["==", "kind", "tram_stop"], + "layout": { + "text-field": "{name}", + "icon-size": { + "stops": [ + [15, 0.5], + [17, 1] + ] + }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 15 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-subway", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ + "all", + ["in", "kind", "station", "halt"], + ["==", "station", "subway"] + ], + "layout": { + "text-field": "{name}", + "icon-size": { + "stops": [ + [14, 0.5], + [16, 1] + ] + }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-lightrail", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ + "all", + ["in", "kind", "station", "halt"], + ["==", "station", "light_rail"] + ], + "layout": { + "text-field": "{name}", + "icon-size": { + "stops": [ + [14, 0.5], + [16, 1] + ] + }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 14 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-station", + "type": "symbol", + "source-layer": "public_transport", + "filter": [ + "all", + ["in", "kind", "station", "halt"], + ["!in", "station", "light_rail", "subway"] + ], + "layout": { + "text-field": "{name}", + "icon-size": { + "stops": [ + [13, 0.5], + [15, 1] + ] + }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airfield", + "type": "symbol", + "source-layer": "public_transport", + "filter": ["all", ["==", "kind", "aerodrome"], ["!has", "iata"]], + "layout": { + "text-field": "{name}", + "icon-size": { + "stops": [ + [13, 0.5], + [15, 1] + ] + }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 13 + }, + { + "source": "versatiles-shortbread", + "id": "symbol-transit-airport", + "type": "symbol", + "source-layer": "public_transport", + "filter": ["all", ["==", "kind", "aerodrome"], ["has", "iata"]], + "layout": { + "text-field": "{name}", + "icon-size": { + "stops": [ + [12, 0.5], + [14, 1] + ] + }, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "basics:icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "rgb(102,98,106)", + "text-color": "rgb(102,98,106)", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + }, + "minzoom": 12 + } + ] +} diff --git a/src/App.tsx b/src/App.tsx index 36eb36d..486313e 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,11 +1,14 @@ -import Map from './Map/Map'; import MainControl from './Controls'; import SettingsPanel from './Controls/settings-panel'; +import { OpenLayersMap } from './Map/open-layers-map'; +// import MapLibreMap from './Map/maplibre-map'; export const App = () => { return (
- + {/* */} + {/* */} +
diff --git a/src/Map/maplibre-map.tsx b/src/Map/maplibre-map.tsx new file mode 100644 index 0000000..25b8ecd --- /dev/null +++ b/src/Map/maplibre-map.tsx @@ -0,0 +1,27 @@ +import React from 'react'; +import { Map } from 'react-map-gl/maplibre'; +import maplibregl from 'maplibre-gl'; +import 'maplibre-gl/dist/maplibre-gl.css'; + +import styleData from './style.json'; + +export const MapLibreMap: React.FC = () => { + return ( +
+ +
+ ); +}; + +export default MapLibreMap; diff --git a/src/Map/open-layers-map.tsx b/src/Map/open-layers-map.tsx new file mode 100644 index 0000000..62583ab --- /dev/null +++ b/src/Map/open-layers-map.tsx @@ -0,0 +1,55 @@ +import React, { useEffect, useRef } from 'react'; +import Map from 'ol/Map.js'; +import View from 'ol/View.js'; +import { apply } from 'ol-mapbox-style'; +import 'ol/ol.css'; + +interface OpenLayersMapProps { + className?: string; +} + +export const OpenLayersMap: React.FC = ({ + className = '', +}) => { + const mapRef = useRef(null); + const mapInstanceRef = useRef(null); + + useEffect(() => { + if (!mapRef.current || mapInstanceRef.current) return; + + const map = new Map({ + target: mapRef.current, + view: new View({ + center: [0, 0], + zoom: 2, + }), + }); + + apply(map, '/style.json') + .then(() => { + console.log('Map style applied successfully'); + }) + .catch((error) => { + console.error('Error applying map style:', error); + }); + + mapInstanceRef.current = map; + + // Cleanup function + return () => { + if (mapInstanceRef.current) { + mapInstanceRef.current.setTarget(undefined); + mapInstanceRef.current = null; + } + }; + }, []); + + return ( +
+ ); +}; diff --git a/src/Map/style.json b/src/Map/style.json new file mode 100644 index 0000000..a597ccf --- /dev/null +++ b/src/Map/style.json @@ -0,0 +1,5572 @@ +{ + "version": 8, + "name": "versatiles-colorful", + "metadata": { + "maputnik:renderer": "ol", + "license": "https://creativecommons.org/publicdomain/zero/1.0/" + }, + "sources": { + "versatiles-shortbread": { + "type": "vector", + "url": "https://vector.openstreetmap.org/shortbread_v1/tilejson.json" + } + }, + "sprite": "https://tiles.versatiles.org/assets/sprites/basics/sprites", + "glyphs": "https://tiles.versatiles.org/assets/glyphs/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "#f9f4ee"} + }, + { + "id": "water-ocean", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "ocean", + "paint": {"fill-color": "#beddf3"} + }, + { + "id": "land-glacier", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "water_polygons", + "filter": ["all", ["==", "kind", "glacier"]], + "paint": {"fill-color": "#ffffff"} + }, + { + "id": "land-commercial", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "commercial", "retail"]], + "paint": { + "fill-color": "rgba(247, 222, 237, 0.25098039215686274)", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-industrial", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "industrial", "quarry", "railway"]], + "paint": { + "fill-color": "rgba(255, 244, 194, 0.3333333333333333)", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-residential", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "garages", "residential"]], + "paint": { + "fill-color": "rgba(234, 230, 225, 0.2)", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-agriculture", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": [ + "all", + [ + "in", + "kind", + "brownfield", + "farmland", + "farmyard", + "greenfield", + "greenhouse_horticulture", + "orchard", + "plant_nursery", + "vineyard" + ] + ], + "paint": { + "fill-color": "#f0e7d1", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-waste", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "landfill"]], + "paint": { + "fill-color": "#dbd6bd", + "fill-opacity": {"stops": [[10, 0], [11, 1]]} + } + }, + { + "id": "land-park", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "park", "village_green", "recreation_ground"] + ], + "paint": { + "fill-color": "#d9d9a5", + "fill-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "land-garden", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "allotments", "garden"]], + "paint": { + "fill-color": "#d9d9a5", + "fill-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "land-burial", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "cemetery", "grave_yard"]], + "paint": { + "fill-color": "#dddbca", + "fill-opacity": {"stops": [[13, 0], [14, 1]]} + } + }, + { + "id": "land-leisure", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "miniature_golf", "playground", "golf_course"] + ], + "paint": {"fill-color": "#e7edde"} + }, + { + "id": "land-rock", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "bare_rock", "scree", "shingle"]], + "paint": {"fill-color": "#e0e4e5"} + }, + { + "id": "land-forest", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "forest"]], + "paint": { + "fill-color": "#66aa44", + "fill-opacity": {"stops": [[7, 0], [8, 0.1]]} + } + }, + { + "id": "land-grass", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": [ + "all", + ["in", "kind", "grass", "grassland", "meadow", "wet_meadow"] + ], + "paint": { + "fill-color": "#d8e8c8", + "fill-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "land-vegetation", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "heath", "scrub"]], + "paint": { + "fill-color": "#d9d9a5", + "fill-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "land-sand", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "beach", "sand"]], + "paint": {"fill-color": "#fafaed"} + }, + { + "id": "land-wetland", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "land", + "filter": ["all", ["in", "kind", "bog", "marsh", "string_bog", "swamp"]], + "paint": {"fill-color": "#d3e6db"} + }, + { + "id": "water-river", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "river"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#beddf3", + "line-width": { + "stops": [[9, 0], [10, 3], [15, 5], [17, 9], [18, 20], [20, 60]] + } + } + }, + { + "id": "water-canal", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "canal"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#beddf3", + "line-width": { + "stops": [[9, 0], [10, 2], [15, 4], [17, 8], [18, 17], [20, 50]] + } + } + }, + { + "id": "water-stream", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "stream"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#beddf3", + "line-width": { + "stops": [[13, 0], [14, 1], [15, 2], [17, 6], [18, 12], [20, 30]] + } + } + }, + { + "id": "water-ditch", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "water_lines", + "filter": [ + "all", + ["in", "kind", "ditch"], + ["!=", "tunnel", true], + ["!=", "bridge", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#beddf3", + "line-width": {"stops": [[14, 0], [15, 1], [17, 4], [18, 8], [20, 20]]} + } + }, + { + "id": "water-area", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "water_polygons", + "filter": ["==", "kind", "water"], + "paint": { + "fill-color": "#beddf3", + "fill-opacity": {"stops": [[4, 0], [6, 1]]} + } + }, + { + "id": "water-area-river", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "water_polygons", + "filter": ["==", "kind", "river"], + "paint": { + "fill-color": "#beddf3", + "fill-opacity": {"stops": [[4, 0], [6, 1]]} + } + }, + { + "id": "water-area-small", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "water_polygons", + "filter": ["in", "kind", "reservoir", "basin", "dock"], + "paint": { + "fill-color": "#beddf3", + "fill-opacity": {"stops": [[4, 0], [6, 1]]} + } + }, + { + "id": "water-dam-area", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "dam_polygons", + "filter": ["==", "kind", "dam"], + "paint": { + "fill-color": "#f9f4ee", + "fill-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "water-dam", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "dam_lines", + "filter": ["==", "kind", "dam"], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": {"line-color": "#beddf3"} + }, + { + "id": "water-pier-area", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "pier_polygons", + "filter": ["in", "kind", "pier", "breakwater", "groyne"], + "paint": { + "fill-color": "#f9f4ee", + "fill-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "water-pier", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "pier_lines", + "filter": ["in", "kind", "pier", "breakwater", "groyne"], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": {"line-color": "#beddf3"} + }, + { + "id": "site-dangerarea", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "danger_area"], + "paint": { + "fill-color": "#ff0000", + "fill-outline-color": "#ff0000", + "fill-opacity": 0.3, + "fill-pattern": "pattern-warning" + } + }, + { + "id": "site-university", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "university"], + "paint": {"fill-color": "#ffff80", "fill-opacity": 0.1} + }, + { + "id": "site-college", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "college"], + "paint": {"fill-color": "#ffff80", "fill-opacity": 0.1} + }, + { + "id": "site-school", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "school"], + "paint": {"fill-color": "#ffff80", "fill-opacity": 0.1} + }, + { + "id": "site-hospital", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "hospital"], + "paint": {"fill-color": "#ff6666", "fill-opacity": 0.1} + }, + { + "id": "site-prison", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "prison"], + "paint": { + "fill-color": "#fdf2fc", + "fill-pattern": "pattern-striped", + "fill-opacity": 0.1 + } + }, + { + "id": "site-parking", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "parking"], + "paint": {"fill-color": "#ebe8e6"} + }, + { + "id": "site-bicycleparking", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "bicycle_parking"], + "paint": {"fill-color": "#ebe8e6"} + }, + { + "id": "site-construction", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "sites", + "filter": ["in", "kind", "construction"], + "paint": { + "fill-color": "#a9a9a9", + "fill-pattern": "pattern-hatched_thin", + "fill-opacity": 0.1 + } + }, + { + "id": "airport-area", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "street_polygons", + "filter": ["in", "kind", "runway", "taxiway"], + "paint": {"fill-color": "#ffffff", "fill-opacity": 0.5} + }, + { + "id": "airport-taxiway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["==", "kind", "taxiway"], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[13, 0], [14, 2], [15, 10], [16, 14], [18, 20], [20, 40]] + } + } + }, + { + "id": "airport-runway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["==", "kind", "runway"], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [ + [11, 0], + [12, 6], + [13, 9], + [14, 16], + [15, 24], + [16, 40], + [17, 100], + [18, 160], + [20, 300] + ] + } + } + }, + { + "id": "airport-taxiway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["==", "kind", "taxiway"], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[13, 0], [14, 1], [15, 8], [16, 12], [18, 18], [20, 36]] + }, + "line-opacity": {"stops": [[13, 0], [14, 1]]} + } + }, + { + "id": "airport-runway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["==", "kind", "runway"], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [ + [11, 0], + [12, 5], + [13, 8], + [14, 14], + [15, 22], + [16, 38], + [17, 98], + [18, 158], + [20, 298] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "building:outline", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "buildings", + "paint": { + "fill-color": "#dfdbd7", + "fill-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "building", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "buildings", + "paint": { + "fill-color": "#f2eae2", + "fill-opacity": {"stops": [[14, 0], [15, 1]]}, + "fill-translate": [-2, -2] + } + }, + { + "id": "tunnel-street-pedestrian-zone", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "street_polygons", + "filter": ["all", ["==", "tunnel", true], ["==", "kind", "pedestrian"]], + "paint": { + "fill-color": "#f7f7f7", + "fill-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-way-footway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#e7cbee" + } + }, + { + "id": "tunnel-way-steps:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#e7cbee" + } + }, + { + "id": "tunnel-way-path:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "path"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#e7cbee" + } + }, + { + "id": "tunnel-way-cycleway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#cee2ef" + } + }, + { + "id": "tunnel-street-track:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#dedede", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-street-pedestrian:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#dedede", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "tunnel", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#dedede", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-street-livingstreet:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#dedede", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-residential:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#dedede", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-unclassified:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#dedede", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-tertiary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#dedede", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-secondary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ebb586", + "line-dasharray": [1, 0.3], + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "tunnel-street-primary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ebb586", + "line-dasharray": [1, 0.3], + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "tunnel-street-trunk-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ebb586", + "line-dasharray": [1, 0.3], + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "tunnel-street-motorway-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ebb586", + "line-dasharray": [1, 0.3], + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "tunnel-street-tertiary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#dedede", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-secondary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ebb586", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [[11, 2], [14, 5], [16, 8], [18, 30], [19, 68], [20, 138]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "tunnel-street-primary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ebb586", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "tunnel-street-trunk:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ebb586", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [7, 0], + [8, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "tunnel-street-motorway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ebb586", + "line-dasharray": [1, 0.3], + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + } + }, + { + "id": "tunnel-way-footway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#f5e9f8", + "line-dasharray": [1, 0.2] + } + }, + { + "id": "tunnel-way-steps", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#f5e9f8", + "line-dasharray": [1, 0.2] + } + }, + { + "id": "tunnel-way-path", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "path"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#f5e9f8", + "line-dasharray": [1, 0.2] + } + }, + { + "id": "tunnel-way-cycleway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "tunnel", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#ecf4f9", + "line-dasharray": [1, 0.2] + } + }, + { + "id": "tunnel-street-track", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#f7f7f7", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-street-pedestrian", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#f7f7f7", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "tunnel", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#f7f7f7", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-street-livingstreet", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#f7f7f7", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-residential", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#f7f7f7", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-unclassified", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "tunnel", true]], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#f7f7f7", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-track-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": {"line-color": "#f7f7f7"} + }, + { + "id": "tunnel-street-pedestrian-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-service-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": {"line-color": "#f7f7f7"} + }, + { + "id": "tunnel-street-livingstreet-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-residential-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-unclassified-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["==", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-tertiary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#f7f7f7", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-secondary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#fff6d4", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "tunnel-street-primary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#fff6d4", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "tunnel-street-trunk-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#fff6d4", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "tunnel-street-motorway-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffddaf", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "tunnel-street-tertiary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#f7f7f7", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "tunnel-street-secondary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#fff6d4", + "line-width": { + "stops": [[11, 1], [14, 4], [16, 6], [18, 28], [19, 64], [20, 130]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "tunnel-street-primary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#fff6d4", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "tunnel-street-trunk", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#fff6d4", + "line-width": { + "stops": [ + [7, 0], + [8, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[7, 0], [8, 1]]} + } + }, + { + "id": "tunnel-street-motorway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffddaf", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": {"stops": [[5, 0], [6, 1]]} + } + }, + { + "id": "tunnel-transport-monorail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "tunnel-transport-funicular:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "tunnel-transport-tram:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "tunnel-transport-narrowgauge:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "tunnel-transport-subway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#a6b8c7", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 0.5]]} + } + }, + { + "id": "tunnel-transport-lightrail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 3], + [16, 4], + [18, 8], + [19, 11], + [20, 14] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 0.5]]} + } + }, + { + "id": "tunnel-transport-rail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 3], + [16, 4], + [18, 8], + [19, 11], + [20, 14] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 0.3]]} + } + }, + { + "id": "tunnel-transport-monorail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "tunnel-transport-funicular", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "tunnel-transport-tram", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "tunnel-transport-narrowgauge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "tunnel-transport-subway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#dee5ea", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-transport-lightrail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#e6e9ec", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 2], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "tunnel-transport-rail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "tunnel", true] + ], + "paint": { + "line-color": "#e6e9ec", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 2], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 0.3]]} + } + }, + { + "id": "street-pedestrian-zone", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "street_polygons", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["==", "kind", "pedestrian"] + ], + "paint": { + "fill-color": "hsla(288, 100%, 98%, 0.25)", + "fill-opacity": {"stops": [[12, 0], [13, 1], [14, 0], [15, 1]]} + } + }, + { + "id": "way-footway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "footway"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#f1baff" + } + }, + { + "id": "way-steps:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "steps"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#f1baff" + } + }, + { + "id": "way-path:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "path"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#f1baff" + } + }, + { + "id": "way-cycleway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "cycleway"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#bee6ff" + } + }, + { + "id": "street-track:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "street-pedestrian:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "street-livingstreet:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-residential:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-unclassified:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-tertiary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-secondary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "street-primary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "street-trunk-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "street-motorway-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "street-tertiary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-secondary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "stops": [[11, 2], [14, 5], [16, 8], [18, 30], [19, 68], [20, 138]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "street-primary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "street-trunk:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "stops": [ + [7, 0], + [8, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "street-motorway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + } + }, + { + "id": "way-footway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "footway"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#fdf5ff" + } + }, + { + "id": "way-steps", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "steps"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#fdf5ff" + } + }, + { + "id": "way-path", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "path"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#fdf5ff" + } + }, + { + "id": "way-cycleway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "cycleway"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#eff9ff" + } + }, + { + "id": "street-track", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "street-pedestrian", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#fbebff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 0], [14, 1]]} + } + }, + { + "id": "street-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "street-livingstreet", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-residential", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-unclassified", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-track-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": {"line-color": "#ffffff"} + }, + { + "id": "street-pedestrian-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-service-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": {"line-color": "#ffffff"} + }, + { + "id": "street-livingstreet-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-residential-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-unclassified-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-tertiary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-secondary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "street-primary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "street-trunk-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "street-motorway-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffcc88", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "street-tertiary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "street-secondary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": { + "stops": [[11, 1], [14, 4], [16, 6], [18, 28], [19, 64], [20, 130]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "street-primary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "street-trunk", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": { + "stops": [ + [7, 0], + [8, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[7, 0], [8, 1]]} + } + }, + { + "id": "street-motorway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["!=", "bridge", true], + ["!=", "tunnel", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "round"}, + "paint": { + "line-color": "#ffcc88", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": {"stops": [[5, 0], [6, 1]]} + } + }, + { + "id": "transport-monorail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "transport-funicular:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "transport-tram:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "transport-narrowgauge:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "transport-subway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#a6b8c7", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "transport-lightrail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 3], + [16, 4], + [18, 8], + [19, 11], + [20, 14] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "transport-rail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 3], + [16, 4], + [18, 8], + [19, 11], + [20, 14] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "transport-monorail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "transport-funicular", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "transport-tram", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "transport-narrowgauge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "transport-subway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#dee5ea", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "transport-lightrail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#e6e9ec", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 2], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "transport-rail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["!=", "bridge", true], + ["!=", "tunnel", true] + ], + "paint": { + "line-color": "#e6e9ec", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 2], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "transport-ferry", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "ferries", + "minzoom": 10, + "paint": { + "line-color": "#99caec", + "line-width": {"stops": [[10, 1], [13, 2], [14, 3], [16, 4], [17, 6]]}, + "line-opacity": {"stops": [[10, 0], [11, 1]]}, + "line-dasharray": [1, 1] + } + }, + { + "id": "bridge", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "bridges", + "paint": { + "fill-color": "#f6efe7", + "fill-antialias": true, + "fill-opacity": 0.8 + } + }, + { + "id": "bridge-street-pedestrian-zone", + "type": "fill", + "source": "versatiles-shortbread", + "source-layer": "street_polygons", + "filter": ["all", ["==", "bridge", true], ["==", "kind", "pedestrian"]], + "paint": { + "fill-color": "#ffffff", + "fill-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-way-footway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#f1baff" + } + }, + { + "id": "bridge-way-steps:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#f1baff" + } + }, + { + "id": "bridge-way-path:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "path"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#f1baff" + } + }, + { + "id": "bridge-way-cycleway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 5], [18, 7], [19, 12], [20, 22]] + }, + "line-color": "#bee6ff" + } + }, + { + "id": "bridge-street-track:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#d9d9d9", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-street-pedestrian:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#d9d9d9", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-service:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bridge", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#d9d9d9", + "line-width": { + "stops": [[14, 2], [16, 4], [18, 18], [19, 48], [20, 96]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-street-livingstreet:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#d9d9d9", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-residential:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#d9d9d9", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-unclassified:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#d9d9d9", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-tertiary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#d9d9d9", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-secondary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "bridge-street-primary-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "bridge-street-trunk-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "bridge-street-motorway-link:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#e9ac77", + "line-width": {"stops": [[12, 2], [14, 3], [16, 7], [18, 14], [20, 40]]} + } + }, + { + "id": "bridge-street-tertiary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#d9d9d9", + "line-width": { + "stops": [[12, 2], [14, 3], [16, 6], [18, 26], [19, 64], [20, 128]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-secondary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "stops": [[11, 2], [14, 5], [16, 8], [18, 30], [19, 68], [20, 138]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "bridge-street-primary:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "stops": [ + [8, 0], + [9, 1], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "bridge-street-trunk:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "stops": [ + [7, 0], + [8, 2], + [10, 4], + [14, 6], + [16, 12], + [18, 36], + [19, 74], + [20, 144] + ] + } + } + }, + { + "id": "bridge-street-motorway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#e9ac77", + "line-width": { + "stops": [ + [5, 0], + [6, 2], + [10, 5], + [14, 5], + [16, 14], + [18, 38], + [19, 84], + [20, 168] + ] + } + } + }, + { + "id": "bridge-way-footway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "footway"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#fdf5ff" + } + }, + { + "id": "bridge-way-steps", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "steps"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#fdf5ff" + } + }, + { + "id": "bridge-way-path", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "path"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#fdf5ff" + } + }, + { + "id": "bridge-way-cycleway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": ["all", ["==", "bridge", true], ["in", "kind", "cycleway"]], + "layout": {"line-cap": "butt"}, + "paint": { + "line-width": { + "stops": [[15, 0], [16, 4], [18, 6], [19, 10], [20, 20]] + }, + "line-color": "#eff9ff" + } + }, + { + "id": "bridge-street-track", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "track"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-street-pedestrian", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "pedestrian"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-service", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bridge", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[14, 1], [16, 3], [18, 16], [19, 44], [20, 88]] + }, + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-street-livingstreet", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-residential", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "residential"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-unclassified", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": ["all", ["==", "kind", "unclassified"], ["==", "bridge", true]], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-track-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "track"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": {"line-color": "#ffffff"} + }, + { + "id": "bridge-street-pedestrian-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "pedestrian"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-service-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "service"], + ["==", "bicycle", "designated"], + ["==", "bridge", true], + ["!=", "service", "driveway"] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": {"line-color": "#ffffff"} + }, + { + "id": "bridge-street-livingstreet-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "living_street"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-residential-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "residential"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-unclassified-bicycle", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "kind", "unclassified"], + ["==", "bicycle", "designated"], + ["==", "bridge", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#eff9ff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-tertiary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-secondary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "bridge-street-primary-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "bridge-street-trunk-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "bridge-street-motorway-link", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 12, + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["==", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffcc88", + "line-width": {"stops": [[12, 1], [14, 2], [16, 5], [18, 12], [20, 38]]} + } + }, + { + "id": "bridge-street-tertiary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "tertiary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffffff", + "line-width": { + "stops": [[12, 1], [14, 2], [16, 5], [18, 24], [19, 60], [20, 120]] + }, + "line-opacity": {"stops": [[12, 0], [13, 1]]} + } + }, + { + "id": "bridge-street-secondary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "secondary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": { + "stops": [[11, 1], [14, 4], [16, 6], [18, 28], [19, 64], [20, 130]] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "bridge-street-primary", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "primary"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": { + "stops": [ + [8, 0], + [9, 2], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "bridge-street-trunk", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "trunk"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffeeaa", + "line-width": { + "stops": [ + [7, 0], + [8, 1], + [10, 3], + [14, 5], + [16, 10], + [18, 34], + [19, 70], + [20, 140] + ] + }, + "line-opacity": {"stops": [[7, 0], [8, 1]]} + } + }, + { + "id": "bridge-street-motorway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["==", "bridge", true], + ["in", "kind", "motorway"], + ["!=", "link", true] + ], + "layout": {"line-join": "round", "line-cap": "butt"}, + "paint": { + "line-color": "#ffcc88", + "line-width": { + "stops": [ + [5, 0], + [6, 1], + [10, 4], + [14, 4], + [16, 12], + [18, 36], + [19, 80], + [20, 160] + ] + }, + "line-opacity": {"stops": [[5, 0], [6, 1]]} + } + }, + { + "id": "bridge-transport-monorail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "bridge-transport-funicular:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "bridge-transport-tram:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "bridge-transport-narrowgauge:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 15, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": {"stops": [[15, 0], [16, 5], [18, 7], [20, 20]]}, + "line-dasharray": [0.1, 0.5] + } + }, + { + "id": "bridge-transport-subway:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#a6b8c7", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 3], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "bridge-transport-lightrail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 3], + [16, 4], + [18, 8], + [19, 11], + [20, 14] + ] + }, + "line-opacity": {"stops": [[11, 0], [12, 1]]} + } + }, + { + "id": "bridge-transport-rail:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#b1bbc4", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 3], + [16, 4], + [18, 8], + [19, 11], + [20, 14] + ] + }, + "line-opacity": {"stops": [[8, 0], [9, 1]]} + } + }, + { + "id": "bridge-transport-monorail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "monorail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "bridge-transport-funicular", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "funicular"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "bridge-transport-tram", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "tram"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "bridge-transport-narrowgauge", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "narrow_gauge"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-width": {"stops": [[13, 0], [16, 1], [17, 2], [18, 3], [20, 5]]}, + "line-color": "#b1bbc4" + } + }, + { + "id": "bridge-transport-subway", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "subway"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#dee5ea", + "line-width": { + "stops": [ + [11, 0], + [12, 1], + [15, 2], + [16, 2], + [18, 5], + [19, 6], + [20, 8] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-transport-lightrail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "light_rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#e6e9ec", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 2], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "bridge-transport-rail", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "streets", + "filter": [ + "all", + ["in", "kind", "rail"], + ["!has", "service"], + ["==", "bridge", true] + ], + "paint": { + "line-color": "#e6e9ec", + "line-width": { + "stops": [ + [8, 1], + [13, 1], + [15, 2], + [16, 3], + [18, 6], + [19, 8], + [20, 10] + ] + }, + "line-dasharray": [2, 2], + "line-opacity": {"stops": [[14, 0], [15, 1]]} + } + }, + { + "id": "poi-amenity", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "amenity"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "amenity"], + "arts_centre", + "icon-art_gallery", + "atm", + "icon-atm", + "bank", + "icon-bank", + "bar", + "icon-bar", + "bench", + "icon-bench", + "bicycle_rental", + "icon-bicycle_share", + "biergarten", + "icon-beergarden", + "cafe", + "icon-cafe", + "car_rental", + "icon-car_rental", + "car_sharing", + "icon-car_rental", + "car_wash", + "icon-car_wash", + "cinema", + "icon-cinema", + "college", + "icon-college", + "community_centre", + "icon-community", + "dentist", + "icon-dentist", + "doctors", + "icon-doctor", + "dog_park", + "icon-dog_park", + "drinking_water", + "icon-drinking_water", + "embassy", + "icon-embassy", + "fast_food", + "icon-fast_food", + "fire_station", + "icon-fire_station", + "fountain", + "icon-fountain", + "grave_yard", + "icon-cemetery", + "hospital", + "icon-hospital", + "hunting_stand", + "icon-huntingstand", + "library", + "icon-library", + "marketplace", + "icon-marketplace", + "nightclub", + "icon-nightclub", + "nursing_home", + "icon-nursinghome", + "pharmacy", + "icon-pharmacy", + "place_of_worship", + "icon-place_of_worship", + "playground", + "icon-playground", + "police", + "icon-police", + "post_box", + "icon-postbox", + "post_office", + "icon-post", + "prison", + "icon-prison", + "pub", + "icon-beer", + "recycling", + "icon-recycling", + "restaurant", + "icon-restaurant", + "school", + "icon-school", + "shelter", + "icon-shelter", + "telephone", + "icon-telephone", + "theatre", + "icon-theatre", + "toilets", + "icon-toilet", + "townhall", + "icon-town_hall", + "vending_machine", + "icon-vendingmachine", + "veterinary", + "icon-veterinary", + "waste_basket", + "icon-waste_basket", + "unknown" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "poi-leisure", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "leisure"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "leisure"], + "golf_course", + "icon-golf", + "ice_rink", + "icon-icerink", + "pitch", + "icon-pitch", + "stadium", + "icon-stadium", + "swimming_pool", + "icon-swimming", + "water_park", + "icon-waterpark", + "icon-sports" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "poi-tourism", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "tourism"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "tourism"], + "chalet", + "icon-chalet", + "information", + "transport-information", + "picnic_site", + "icon-picnic_site", + "viewpoint", + "icon-viewpoint", + "zoo", + "icon-zoo", + "unknown" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "poi-shop", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "shop"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "shop"], + "alcohol", + "icon-alcohol_shop", + "bakery", + "icon-bakery", + "beauty", + "icon-beauty", + "beverages", + "icon-beverages", + "books", + "icon-books", + "butcher", + "icon-butcher", + "chemist", + "icon-chemist", + "clothes", + "icon-clothes", + "doityourself", + "icon-doityourself", + "dry_cleaning", + "icon-drycleaning", + "florist", + "icon-florist", + "furniture", + "icon-furniture", + "garden_centre", + "icon-garden_centre", + "general", + "icon-shop", + "gift", + "icon-gift", + "greengrocer", + "icon-greengrocer", + "hairdresser", + "icon-hairdresser", + "hardware", + "icon-hardware", + "jewelry", + "icon-jewelry_store", + "kiosk", + "icon-kiosk", + "laundry", + "icon-laundry", + "newsagent", + "icon-newsagent", + "optican", + "icon-optician", + "outdoor", + "icon-outdoor", + "shoes", + "icon-shoes", + "sports", + "icon-sports", + "stationery", + "icon-stationery", + "toys", + "icon-toys", + "travel_agency", + "icon-travel_agent", + "video", + "icon-video", + "icon-shop" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "poi-man_made", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "man_made"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "man_made"], + "lighthouse", + "icon-lighthouse", + "surveillance", + "icon-surveillance", + "tower", + "icon-observation_tower", + "watermill", + "icon-watermill", + "windmill", + "icon-windmill", + "unknown" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "poi-historic", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "historic"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "historic"], + "artwork", + "icon-artwork", + "castle", + "icon-castle", + "monument", + "icon-monument", + "wayside_shrine", + "icon-shrine", + "icon-historic" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "poi-emergency", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "emergency"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"], + "icon-image": [ + "match", + ["get", "emergency"], + "defibrillator", + "icon-defibrillator", + "fire_hydrant", + "icon-hydrant", + "phone", + "icon-emergency_phone", + "unknown" + ] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "poi-highway", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "highway"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "poi-office", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "pois", + "minzoom": 16, + "filter": ["to-boolean", ["get", "office"]], + "layout": { + "icon-size": {"stops": [[16, 0.5], [19, 0.5], [20, 1]]}, + "symbol-placement": "point", + "icon-optional": true, + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.4]]}, + "icon-color": "#555555", + "text-color": "#555555" + } + }, + { + "id": "boundary-country:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#ffffff", + "line-blur": 1, + "line-width": {"stops": [[2, 0], [3, 2], [10, 8]]}, + "line-opacity": 0.75 + } + }, + { + "id": "boundary-country-disputed:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["==", "disputed", true], + ["!=", "maritime", true], + ["!=", "coastline", true] + ], + "paint": { + "line-width": {"stops": [[2, 0], [3, 2], [10, 8]]}, + "line-opacity": 0.75, + "line-color": "#ffffff" + } + }, + { + "id": "boundary-state:outline", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 4], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#ffffff", + "line-blur": 1, + "line-width": {"stops": [[7, 0], [8, 2], [10, 4]]}, + "line-opacity": 0.75 + } + }, + { + "id": "boundary-country", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#a6a6c8", + "line-width": {"stops": [[2, 0], [3, 1], [10, 4]]} + } + }, + { + "id": "boundary-country-disputed", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 2], + ["==", "disputed", true], + ["!=", "maritime", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "square"}, + "paint": { + "line-width": {"stops": [[2, 0], [3, 1], [10, 4]]}, + "line-color": "#bebccf", + "line-dasharray": [2, 1] + } + }, + { + "id": "boundary-state", + "type": "line", + "source": "versatiles-shortbread", + "source-layer": "boundaries", + "filter": [ + "all", + ["==", "admin_level", 4], + ["!=", "maritime", true], + ["!=", "disputed", true], + ["!=", "coastline", true] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#a6a6c8", + "line-width": {"stops": [[7, 0], [8, 1], [10, 2]]} + } + }, + { + "id": "label-address-housenumber", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "addresses", + "minzoom": 17, + "filter": ["has", "housenumber"], + "layout": { + "text-field": "{housenumber}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "point", + "text-anchor": "center", + "text-size": {"stops": [[17, 8], [19, 10]]} + }, + "paint": { + "text-halo-color": "#f9f6f2", + "text-halo-width": 2, + "text-halo-blur": 1, + "icon-color": "#c7a481", + "text-color": "#c7a481" + } + }, + { + "id": "label-motorway-shield", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 14, + "filter": ["==", "kind", "motorway"], + "layout": { + "text-field": "{ref}", + "text-font": ["noto_sans_bold"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[14, 10], [18, 12], [20, 16]]} + }, + "paint": { + "icon-color": "#ffffff", + "text-color": "#ffffff", + "text-halo-color": "#ffcc88", + "text-halo-width": 0.1, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-pedestrian", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "pedestrian"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-livingstreet", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "living_street"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-residential", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "residential"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-unclassified", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "unclassified"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-tertiary", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "tertiary"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-secondary", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "secondary"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-primary", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "primary"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-street-trunk", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "street_labels", + "minzoom": 12, + "filter": ["==", "kind", "trunk"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "symbol-placement": "line", + "text-anchor": "center", + "text-size": {"stops": [[12, 10], [15, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-neighbourhood", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 14, + "filter": ["==", "kind", "neighbourhood"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[14, 12]]}, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "#284349", + "text-color": "#284349", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-quarter", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 13, + "filter": ["==", "kind", "quarter"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[13, 13]]}, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "#283e49", + "text-color": "#283e49", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-suburb", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 11, + "filter": ["==", "kind", "suburb"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[11, 11], [13, 14]]}, + "text-transform": "uppercase" + }, + "paint": { + "icon-color": "#283949", + "text-color": "#283949", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-hamlet", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 13, + "filter": ["==", "kind", "hamlet"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[10, 11], [12, 14]]} + }, + "paint": { + "icon-color": "#283049", + "text-color": "#283049", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-village", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 11, + "filter": ["==", "kind", "village"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[9, 11], [12, 14]]} + }, + "paint": { + "icon-color": "#283049", + "text-color": "#283049", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-town", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 9, + "filter": ["==", "kind", "town"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[8, 11], [12, 14]]} + }, + "paint": { + "icon-color": "#283049", + "text-color": "#283049", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-boundary-state", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "boundary_labels", + "minzoom": 5, + "filter": ["in", "admin_level", 4, "4"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": {"stops": [[5, 8], [8, 12]]} + }, + "paint": { + "icon-color": "#363647", + "text-color": "#363647", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-city", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 7, + "filter": ["==", "kind", "city"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[7, 11], [10, 14]]} + }, + "paint": { + "icon-color": "#283049", + "text-color": "#283049", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-statecapital", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 6, + "filter": ["==", "kind", "state_capital"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[6, 11], [10, 15]]} + }, + "paint": { + "icon-color": "#283049", + "text-color": "#283049", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-place-capital", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "place_labels", + "minzoom": 5, + "filter": ["==", "kind", "capital"], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-size": {"stops": [[5, 12], [10, 16]]} + }, + "paint": { + "icon-color": "#283049", + "text-color": "#283049", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-boundary-country-small", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "boundary_labels", + "minzoom": 4, + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + ["<=", "way_area", 10000000] + ], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": {"stops": [[4, 8], [5, 11]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-boundary-country-medium", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "boundary_labels", + "minzoom": 3, + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + ["<", "way_area", 90000000], + [">", "way_area", 10000000] + ], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": {"stops": [[3, 8], [5, 12]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "label-boundary-country-large", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "boundary_labels", + "minzoom": 2, + "filter": [ + "all", + ["in", "admin_level", 2, "2"], + [">=", "way_area", 90000000] + ], + "layout": { + "text-field": "{name}", + "text-font": ["noto_sans_regular"], + "text-transform": "uppercase", + "text-anchor": "top", + "text-offset": [0, 0.2], + "text-padding": 0, + "text-optional": true, + "text-size": {"stops": [[2, 8], [5, 13]]} + }, + "paint": { + "icon-color": "#333344", + "text-color": "#333344", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "marking-oneway", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 16, + "filter": [ + "all", + ["==", "oneway", true], + [ + "in", + "kind", + "trunk", + "primary", + "secondary", + "tertiary", + "unclassified", + "residential", + "living_street" + ] + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 175, + "icon-rotate": 90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "marking-arrow", + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.7]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.7]]} + } + }, + { + "id": "marking-oneway-reverse", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "streets", + "minzoom": 16, + "filter": [ + "all", + ["==", "oneway_reverse", true], + [ + "in", + "kind", + "trunk", + "primary", + "secondary", + "tertiary", + "unclassified", + "residential", + "living_street" + ] + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 75, + "icon-rotate": -90, + "icon-rotation-alignment": "map", + "icon-padding": 5, + "symbol-avoid-edges": true, + "icon-image": "marking-arrow", + "text-font": ["noto_sans_regular"] + }, + "paint": { + "icon-opacity": {"stops": [[16, 0], [17, 0.7]]}, + "text-opacity": {"stops": [[16, 0], [17, 0.7]]} + } + }, + { + "id": "symbol-transit-bus", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 16, + "filter": ["==", "kind", "bus_stop"], + "layout": { + "text-field": "{name}", + "icon-size": {"stops": [[16, 0.5], [18, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "icon-bus" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "#66626a", + "text-color": "#66626a", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "symbol-transit-tram", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 15, + "filter": ["==", "kind", "tram_stop"], + "layout": { + "text-field": "{name}", + "icon-size": {"stops": [[15, 0.5], [17, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "transport-tram" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "#66626a", + "text-color": "#66626a", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "symbol-transit-subway", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "station", "halt"], + ["==", "station", "subway"] + ], + "layout": { + "text-field": "{name}", + "icon-size": {"stops": [[14, 0.5], [16, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "icon-rail_metro" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "#66626a", + "text-color": "#66626a", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "symbol-transit-lightrail", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 14, + "filter": [ + "all", + ["in", "kind", "station", "halt"], + ["==", "station", "light_rail"] + ], + "layout": { + "text-field": "{name}", + "icon-size": {"stops": [[14, 0.5], [16, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "icon-rail_light" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "#66626a", + "text-color": "#66626a", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "symbol-transit-station", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 13, + "filter": [ + "all", + ["in", "kind", "station", "halt"], + ["!in", "station", "light_rail", "subway"] + ], + "layout": { + "text-field": "{name}", + "icon-size": {"stops": [[13, 0.5], [15, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "icon-rail" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "#66626a", + "text-color": "#66626a", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "symbol-transit-airfield", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 13, + "filter": ["all", ["==", "kind", "aerodrome"], ["!has", "iata"]], + "layout": { + "text-field": "{name}", + "icon-size": {"stops": [[13, 0.5], [15, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "icon-airfield" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "#66626a", + "text-color": "#66626a", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + }, + { + "id": "symbol-transit-airport", + "type": "symbol", + "source": "versatiles-shortbread", + "source-layer": "public_transport", + "minzoom": 12, + "filter": ["all", ["==", "kind", "aerodrome"], ["has", "iata"]], + "layout": { + "text-field": "{name}", + "icon-size": {"stops": [[12, 0.5], [14, 1]]}, + "symbol-placement": "point", + "icon-keep-upright": true, + "text-font": ["noto_sans_regular"], + "text-size": 10, + "icon-anchor": "bottom", + "text-anchor": "top", + "icon-image": "icon-airport" + }, + "paint": { + "icon-opacity": 0.7, + "icon-color": "#66626a", + "text-color": "#66626a", + "text-halo-color": "rgba(255, 255, 255, 0.8)", + "text-halo-width": 2, + "text-halo-blur": 1 + } + } + ], + "id": "7jxwkaa" +} \ No newline at end of file From 9fb5c94a11ee4bb7e4186516f05f8207451cf32b Mon Sep 17 00:00:00 2001 From: Mustafa Turhan Date: Sun, 28 Sep 2025 14:48:24 +0300 Subject: [PATCH 2/3] add switch --- src/App.tsx | 42 ++++++++++++++++++++++++++++++------- src/Map/open-layers-map.tsx | 2 +- 2 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index 486313e..2085d19 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,16 +1,42 @@ -import MainControl from './Controls'; -import SettingsPanel from './Controls/settings-panel'; +// import MainControl from './Controls'; +// import SettingsPanel from './Controls/settings-panel'; import { OpenLayersMap } from './Map/open-layers-map'; -// import MapLibreMap from './Map/maplibre-map'; +import MapLibreMap from './Map/maplibre-map'; +import Map from './Map/Map'; +import { useState } from 'react'; export const App = () => { + const [mapType, setMapType] = useState<'leaflet' | 'maplibre' | 'openlayers'>( + 'leaflet' + ); + return (
- {/* */} - {/* */} - - - +
+ + + +
+ {mapType === 'leaflet' && } + {mapType === 'maplibre' && } + {mapType === 'openlayers' && } + {/* */} + {/* */}
); }; diff --git a/src/Map/open-layers-map.tsx b/src/Map/open-layers-map.tsx index 62583ab..d508bad 100644 --- a/src/Map/open-layers-map.tsx +++ b/src/Map/open-layers-map.tsx @@ -21,7 +21,7 @@ export const OpenLayersMap: React.FC = ({ target: mapRef.current, view: new View({ center: [0, 0], - zoom: 2, + zoom: 3, }), }); From 0de89862d2cdfe073680d254106182047fe92267 Mon Sep 17 00:00:00 2001 From: Mustafa Turhan Date: Sun, 28 Sep 2025 14:52:01 +0300 Subject: [PATCH 3/3] update style.json of openlayers --- src/Map/open-layers-map.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Map/open-layers-map.tsx b/src/Map/open-layers-map.tsx index d508bad..8eed10c 100644 --- a/src/Map/open-layers-map.tsx +++ b/src/Map/open-layers-map.tsx @@ -4,6 +4,8 @@ import View from 'ol/View.js'; import { apply } from 'ol-mapbox-style'; import 'ol/ol.css'; +import styleData from './style.json'; + interface OpenLayersMapProps { className?: string; } @@ -25,7 +27,7 @@ export const OpenLayersMap: React.FC = ({ }), }); - apply(map, '/style.json') + apply(map, styleData) .then(() => { console.log('Map style applied successfully'); })