diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 66070fb6..7aa991be 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,6 +11,13 @@ updates: interval: "daily" time: "20:00" open-pull-requests-limit: 10 + groups: + development-dependencies: + dependency-type: "development" + applies-to: version-updates + update-types: + - "minor" + - "patch" labels: - "javascript" - "dependencies" diff --git a/.gitignore b/.gitignore index aeb91381..76445035 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ .vscode node_modules ui/node_modules +ui/stats.html ui/.pnp.* ui/.yarn/* !ui/.yarn/patches diff --git a/CHANGELOG.md b/CHANGELOG.md index 8589ab33..0e41cc81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,15 +7,153 @@ and this project adheres to [Calendar Versioning](https://calver.org/) with pate ## [Unreleased] -### Changed +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/main...develop -- Adjust Docker tags to have stable, develop and major tags +## v24.9.0 +### What's Changed +- feat(map): also adjust imagery map with new style +- feat(map): improve map loading speed +- feat(map): improve styling of railways and aeroways +- feat(map): switch mapstyle to basemap vector tiles and enable housenumbers +- fix(map): improve map styling +- fix(map): prevent that style switching causes map to not move anymore +- fix(translations): improve French Translations (#442) +- chore(deps): bump @apollo/client from 3.11.4 to 3.11.5 in /ui (#411) +- chore(deps): bump @apollo/client from 3.11.5 to 3.11.6 in /ui (#417) +- chore(deps): bump @apollo/client from 3.11.6 to 3.11.7 in /ui (#419) +- chore(deps): bump @apollo/client from 3.11.7 to 3.11.8 in /ui (#422) +- chore(deps): bump @watergis/maplibre-gl-export in /ui (#407) +- chore(deps): bump dompurify (#435) +- chore(deps): bump i18next from 23.14.0 to 23.15.1 in /ui (#428) +- chore(deps): bump micromatch (#400) +- chore(deps): bump react-i18next from 15.0.1 to 15.0.2 in /ui (#433) +- chore(deps): bump react-router-dom from 6.26.1 to 6.26.2 in /ui (#426) +- chore(deps-dev): bump @eslint/js from 9.9.0 to 9.9.1 in /ui (#401) +- chore(deps-dev): bump @testing-library/jest-dom in /ui (#403) +- chore(deps-dev): bump eslint from 9.9.0 to 9.9.1 in /ui (#402) +- chore(deps-dev): bump jsdom from 24.1.1 to 25.0.0 in /ui (#405) +- chore(deps-dev): bump the development-dependencies group (#409) +- chore(deps-dev): bump the development-dependencies group (#416) +- chore(deps-dev): bump the development-dependencies group (#418) +- chore(deps-dev): bump the development-dependencies group (#431) +- chore(deps-dev): bump the development-dependencies group (#436) +- chore(deps-dev): bump the development-dependencies group across 1 directory with 3 updates (#443) +- chore(deps-dev): bump the development-dependencies group across 1 directory with 4 updates (#424) +- chore(deps-dev): bump the development-dependencies group across 1 directory with 6 updates (#430) +- chore(deps-dev): bump the development-dependencies group across 1 directory with 6 updates (#434) +- chore(deps-dev): bump the development-dependencies group across 1 directory with 7 updates (#415) +- chore(deps-dev): bump the development-dependencies group across 1 directory with 9 updates (#440) +- chore(deps-dev): bump ts-jest from 29.2.4 to 29.2.5 in /ui (#404) +- ci: improve dependabot configuration -## [22.0.0] - 2022-08-15 +### New Contributors +* @sebug made their first contribution in https://github.com/f-eld-ch/sitrep/pull/442 -### Added +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v24.8.0...v24.9.0 -- Initial Version with a working scope for adding new incidents, corresponding journals and messages. -- Triage workflow working on per-incident defined sets of division tags +## v24.8.0 +### What's Changed +* chore(deps-dev): bump @testing-library/jest-dom from 6.4.5 to 6.4.6 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/374 +* chore(deps-dev): bump @testing-library/react from 15.0.7 to 16.0.0 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/370 +* chore(deps-dev): bump @types/node from 20.12.11 to 20.14.10 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/378 +* chore(deps-dev): bump @types/node from 20.12.11 to 20.14.11 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/380 +* chore(deps-dev): bump @types/react from 18.2.48 to 18.3.3 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/371 +* chore(deps-dev): bump @types/react from 18.2.48 to 18.3.3 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/381 +* chore(deps-dev): bump @types/react from 18.3.3 to 18.3.4 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/398 +* chore(deps-dev): bump husky from 9.1.4 to 9.1.5 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/396 +* chore(deps-dev): bump jsdom from 24.0.0 to 24.1.0 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/373 +* chore(deps-dev): bump ts-jest from 29.1.2 to 29.2.4 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/385 +* chore(deps-dev): bump vite from 5.4.1 to 5.4.2 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/395 +* chore(deps-dev): bump vite-plugin-checker from 0.6.4 to 0.7.2 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/375 +* chore(deps): bump @watergis/maplibre-gl-export from 2.0.1 to 3.8.2 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/382 +* chore(deps): bump dayjs from 1.11.12 to 1.11.13 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/391 +* chore(deps): bump docker/build-push-action from 5 to 6 by @dependabot in https://github.com/f-eld-ch/sitrep/pull/389 +* chore(deps): bump oauth2-proxy/oauth2-proxy from v7.5.1 to v7.6.0 by @dependabot in https://github.com/f-eld-ch/sitrep/pull/347 +* chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates by @dependabot in https://github.com/f-eld-ch/sitrep/pull/368 +* chore(deps): update to maplibre 4.5.2 by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/399 +* chore(deps): upgrade various dependencies by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/388 -[unreleased]: https://github.com/Redgecko/sitrep/compare/v1.0.0...HEAD +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v24.6.0...v24.8.0 + + +## v24.6.0 + +### What's Changed +* feat(ui): enable DarkMode in UI by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/365 +* fix(ui): adds missing autocomplete for email receiver details by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/357 +* chore(deps-dev): bump vite from 5.1.4 to 5.1.7 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/359 +* chore(deps): bump ejs from 3.1.8 to 3.1.10 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/362 +* chore(deps): bump tar from 6.1.12 to 6.2.1 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/360 +* chore(deps): upgrade yarn and other dependencies by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/364 +* enable multiplatform builds by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/363 + +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v24.2.3...v24.6.0 + + +## v24.2.3 + +### Highlights +* Map is now fully synchronized with the backend and across subscribed clients from this incident. We consider the map still a beta feature but the basic functionality has been created. At the moment only one layer is supported. + +### What's Changed +* feat(map): sync map to backend by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/354 +* feat(map): improve icon text coloring and alignment by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/355 + +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v24.2.2...v24.2.3 + +## v24.2.2 +### What's Changed +* feat(ui): better incident name by @lukastresch in https://github.com/f-eld-ch/sitrep/pull/353 +* chore(deps): bump ip from 2.0.0 to 2.0.1 in /ui by @dependabot in https://github.com/f-eld-ch/sitrep/pull/351 + +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v24.2.1...v24.2.2 + +## v24.2.1 +### What's Changed +* feat(map): add custom style with B612 fonts to map by @nimdanitro in https://github.com/f-eld-ch/sitrep/pull/346 +* feat(ui): add dedicated login page to initialize OIDC login flow + +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v24.2.0...v24.2.1 + +## v24.2.0 +### What's Changed +* feat(map): improve drawing UI for map, feature remains in beta with only locally synced features +* feat(ui): adds time / date to Navbar +* feat(ui): small improvements on overall design +* fix(map): adds missing icons and improved "Brandzone" and "Zerstört" polygon pattern. +* chore(deps): various dependency updates + +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v24.1.1...v24.2.0 + +## v24.1.1 +### What's Changed +* feat(map): improve Map Drawings to properly display start and end icons of lines + +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v24.1.0...v24.1.1 + +## v24.1.0 +### What's Changed +* feat(ui): change default font to [B612](https://b612-font.com/) +* feat(ui): adds autoscroll in feed +* chore(deps): upgrade various dependencies to their latest versions + +### New Contributors +* @lukastresch made their first contribution in https://github.com/f-eld-ch/sitrep/pull/284 + +**Full Changelog**: https://github.com/f-eld-ch/sitrep/compare/v23.2.0...v24.1.0 + +## v23.2.0 +This is release containing mainly dependency upgrades and security fixes + +### What's Changed +* chore(deps): various dependency upgrades + +**Full Changelog**: https://github.com/RedGecko/sitrep/compare/v23.1.0...v23.2.0 + +## v23.1.0 +This is release containing mainly dependency upgrades and security fixes + +### What's Changed +* chore(deps): various dependency upgrades + +**Full Changelog**: https://github.com/RedGecko/sitrep/compare/v22.11.2...v23.1.0- chore(docker): add selinux compose file diff --git a/README.md b/README.md index 15b29db8..6c35d2e4 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,12 @@ OAUTH2_PROXY_REDIRECT_URL=http://localhost:3000/oauth2/callback # port for yarn docker compose --env-file .env.local up -d ``` +If you are running on a SElinux enabled machine, use the selinux compose file: +``` +docker compose -f docker-compose.selinux.yml --env-file .env.local up -d +``` + + 4. Run yarn ``` diff --git a/docker-compose.selinux.yml b/docker-compose.selinux.yml new file mode 100644 index 00000000..b2e58bc8 --- /dev/null +++ b/docker-compose.selinux.yml @@ -0,0 +1,118 @@ +name: sitrep +services: + graphql-engine: + depends_on: + postgres: + condition: service_started + dex: + condition: service_started + environment: + HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET} + HASURA_GRAPHQL_DEV_MODE: "true" + HASURA_GRAPHQL_ENABLE_CONSOLE: "false" + HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log + HASURA_GRAPHQL_JWT_SECRET: '{"type":"RS256","jwk_url": "http://dex:5556/dex/keys" ,"header":{"type":"Authorization"},"claims_map":{"x-hasura-user-id":{"path":"$.sub"},"x-hasura-email":{"path":"$.email"},"x-hasura-allowed-roles":["viewer","editor"],"x-hasura-default-role":"editor"}}' + HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres + HASURA_GRAPHQL_UNAUTHORIZED_ROLE: anonymous + PG_DATABASE_URL: postgres://postgres:${POSTGRES_PASSWORD}@postgres:5432/postgres + build: + dockerfile: Dockerfile.hasura + networks: + default: null + ports: + - mode: ingress + target: 8080 + published: "8080" + protocol: tcp + restart: always + oauth2proxy: + depends_on: + graphql-engine: + condition: service_started + dex: + condition: service_started + environment: + OAUTH2_PROXY_CLIENT_ID: ${OAUTH2_PROXY_CLIENT_ID} + OAUTH2_PROXY_CLIENT_SECRET: ${OAUTH2_PROXY_CLIENT_SECRET} + OAUTH2_PROXY_CODE_CHALLENGE_METHOD: S256 + OAUTH2_PROXY_COOKIE_SECRET: ${OAUTH2_PROXY_COOKIE_SECRET} + OAUTH2_PROXY_COOKIE_CSRF_PER_REQUEST: true + OAUTH2_PROXY_COOKIE_CSRF_EXPIRE: 5m + OAUTH2_PROXY_EMAIL_DOMAINS: "*" + OAUTH2_PROXY_HTTP_ADDRESS: :4180 + OAUTH2_PROXY_OIDC_ISSUER_URL: http://dex:5556/dex + OAUTH2_PROXY_INSECURE_OIDC_SKIP_ISSUER_VERIFICATION: true + OAUTH2_PROXY_PASS_ACCESS_TOKEN: "true" + OAUTH2_PROXY_PASS_AUTHORIZATION_HEADER: "true" + OAUTH2_PROXY_PROVIDER: oidc + OAUTH2_PROXY_PROXY_WEBSOCKETS: "true" + OAUTH2_PROXY_UPSTREAMS: http://graphql-engine:8080/v1/graphql + OAUTH2_PROXY_SKIP_PROVIDER_BUTTON: true + OAUTH2_PROXY_REDIRECT_URL: ${OAUTH2_PROXY_REDIRECT_URL} + # disable autodiscovery due to token endpoint not properly accessible on localhost for oauth2proxy + OAUTH2_PROXY_SKIP_OIDC_DISCOVERY: "true" + OAUTH2_PROXY_OIDC_JWKS_URL: http://dex:5556/dex/keys + OAUTH2_PROXY_LOGIN_URL: http://localhost:5556/dex/auth + OAUTH2_PROXY_REDEEM_URL: http://dex:5556/dex/token + OAUTH2_PROXY_SKIP_AUTH_ROUTES: ^\/(manifest\.json|favicon\.ico|asset-manifest\.json|service-worker\.js\.map|service-worker\.js|robots\.txt|logo\d+\.png) + image: quay.io/oauth2-proxy/oauth2-proxy:v7.5.1 + restart: always + networks: + default: null + ports: + - mode: ingress + target: 4180 + published: "4180" + protocol: tcp + postgres: + environment: + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + image: postgis/postgis:14-3.2 + networks: + default: null + restart: always + volumes: + - type: volume + source: db_data + target: /var/lib/postgresql/data + volume: {} + ports: + - mode: ingress + target: 5432 + published: "5432" + protocol: tcp + dex: + image: docker.io/dexidp/dex:v2.38.0 + restart: always + environment: + OAUTH2_PROXY_CLIENT_ID: ${OAUTH2_PROXY_CLIENT_ID} + OAUTH2_PROXY_CLIENT_SECRET: ${OAUTH2_PROXY_CLIENT_SECRET} + DEX_CONNECTORS_ENABLE_MOCK: "true" + DEX_CONNECTORS_ENABLE_DEMO_USER: "true" + DEX_ISSUER: http://localhost:5556/dex + networks: + default: null + command: dex serve /etc/dex/config-demo.yaml + volumes: + - "./example/dexidp/config-demo.yaml:/etc/dex/config-demo.yaml:Z" + - type: volume + source: dex_data + target: /var/sqlite/dex + volume: {} + ports: + - mode: ingress + target: 5556 + published: "5556" + protocol: tcp + - mode: ingress + target: 5557 + published: "5557" + protocol: tcp +networks: + default: + name: sitrep_default +volumes: + db_data: + name: sitrep_db_data + dex_data: + name: sitrep_dex_data diff --git a/ui/package.json b/ui/package.json index a55c14ed..d126bf3a 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,10 +1,10 @@ { "name": "sitrep", - "version": "24.8.0", + "version": "24.9.0", "private": true, "type": "module", "dependencies": { - "@apollo/client": "^3.11.4", + "@apollo/client": "^3.11.8", "@fortawesome/fontawesome-svg-core": "^6.6.0", "@fortawesome/free-regular-svg-icons": "^6.6.0", "@fortawesome/free-solid-svg-icons": "^6.6.0", @@ -13,25 +13,25 @@ "@turf/bearing": "^7.1.0", "@turf/center": "^7.1.0", "@turf/helpers": "^7.1.0", - "@watergis/maplibre-gl-export": "~3.8.2", + "@watergis/maplibre-gl-export": "~3.8.3", "bulma": "^1.0.2", "classnames": "^2.5.1", "dayjs": "^1.11.13", "graphql": "^16.9.0", "hat": "^0.0.3", - "i18next": "^23.14.0", + "i18next": "^23.15.1", "i18next-browser-languagedetector": "^8.0.0", "lodash": "^4.17.21", "mapbox-gl-style-switcher": "^1.0.11", - "maplibre-gl": "4.5.2", + "maplibre-gl": "4.7.1", "react": "^18.3.1", "react-autocomplete-hint": "^2.0.0", "react-color": "^2.19.3", "react-dom": "^18.3.1", - "react-i18next": "^15.0.1", + "react-i18next": "^15.0.2", "react-map-gl": "~7.1.7", "react-markdown": "^9.0.1", - "react-router-dom": "^6.26.1", + "react-router-dom": "^6.26.2", "usehooks-ts": "^3.1.0", "uuid": "^10.0.0", "web-vitals": "^4.2.3" @@ -62,52 +62,54 @@ "devDependencies": { "@eslint/compat": "^1.1.1", "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "^9.9.0", + "@eslint/js": "^9.11.1", "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.4.8", - "@testing-library/react": "^16.0.0", + "@testing-library/jest-dom": "^6.5.0", + "@testing-library/react": "^16.0.1", "@testing-library/user-event": "^14.5.2", "@types/hat": "^0.0.4", - "@types/jest": "^29.5.12", - "@types/lodash": "^4.17.7", + "@types/jest": "^29.5.13", + "@types/lodash": "^4.17.9", "@types/mapbox__mapbox-gl-draw": "~1.4.6", - "@types/node": "^20.16.1", - "@types/react": "^18.3.4", + "@types/node": "^20.16.8", + "@types/react": "^18.3.9", "@types/react-color": "^3.0.12", "@types/react-dom": "^18.3.0", "@types/react-router-dom": "^5.3.3", "@types/semver": "^7.5.8", "@types/uuid": "^10.0.0", - "@typescript-eslint/eslint-plugin": "^8.2.0", - "@typescript-eslint/parser": "^8.2.0", - "@vite-pwa/assets-generator": "^0.2.4", + "@typescript-eslint/eslint-plugin": "^8.7.0", + "@typescript-eslint/parser": "^8.7.0", + "@vite-pwa/assets-generator": "^0.2.6", "@vitejs/plugin-react-swc": "^3.7.0", - "@vitest/coverage-v8": "^2.0.5", - "eslint": "^9.9.0", - "eslint-plugin-react": "^7.35.0", + "@vitest/coverage-v8": "^2.1.1", + "eslint": "^9.11.1", + "eslint-plugin-react": "^7.36.1", "globals": "^15.9.0", - "husky": "^9.1.5", + "husky": "^9.1.6", "jest": "^29.7.0", - "jsdom": "^24.1.1", - "lint-staged": "^15.2.9", + "jsdom": "^25.0.1", + "lint-staged": "^15.2.10", "prettier": "^3.3.3", - "sass": "^1.77.8", + "rollup-plugin-visualizer": "^5.12.0", + "sass": "^1.79.3", "semver": "^7.6.3", "source-map-explorer": "^2.5.3", - "ts-jest": "^29.2.4", - "typescript": "^5.5.4", - "vite": "^5.4.2", - "vite-plugin-checker": "^0.7.2", + "ts-jest": "^29.2.5", + "typescript": "^5.6.2", + "vite": "^5.4.8", + "vite-plugin-checker": "^0.8.0", "vite-plugin-eslint": "^1.8.1", - "vite-plugin-pwa": "^0.20.1", + "vite-plugin-pwa": "^0.20.5", "vite-plugin-svgr": "^4.2.0", "vite-tsconfig-paths": "^5.0.1", - "vitest": "^2.0.5" + "vitest": "^2.1.1" }, "resolutions": { "vite": "^5.4.2", "sharp": "^0.33.5", - "braces": "^3.0.3" + "braces": "^3.0.3", + "maplibre-gl": "4.6.0" }, "packageManager": "yarn@4.4.0" } diff --git a/ui/public/map/sprites/babs.json b/ui/public/map/sprites/babs.json new file mode 100644 index 00000000..55e6f376 --- /dev/null +++ b/ui/public/map/sprites/babs.json @@ -0,0 +1,947 @@ +{ + "ABCDekontaminationsstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 0 + }, + "AbsperrungVerkehrswege": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 0 + }, + "Angehoerigensammelstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 0 + }, + "Atomunfall": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 0 + }, + "Autounfall": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 0 + }, + "BLaboratorium": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 160, + "y": 0 + }, + "BeabsichtigteErkundung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 192, + "y": 0 + }, + "BeabsichtigteVerschiebung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 224, + "y": 0 + }, + "BeabsichtigterEinsatz": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 256, + "y": 0 + }, + "Beobachtung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 288, + "y": 0 + }, + "Beschaedigung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 320, + "y": 0 + }, + "Betreuungsstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 352, + "y": 0 + }, + "Betriebsstoffabgabestelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 384, + "y": 0 + }, + "Bezirksfuehrungsorgan": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 416, + "y": 0 + }, + "Biounfall": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 448, + "y": 0 + }, + "Bombenanschlag": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 480, + "y": 0 + }, + "Bombendrohung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 32 + }, + "Brand": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 64 + }, + "Brandanschlag": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 96 + }, + "BrandeinzelnesGebaeudeFlamme": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 128 + }, + "BranduebergriffErfolgt": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 160 + }, + "BranduebergriffGefahr": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 192 + }, + "Chemieunfall": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 224 + }, + "Chemikalien": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 256 + }, + "Debriefingstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 288 + }, + "Demogewaltlos": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 320 + }, + "Demogewaltsam": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 352 + }, + "Drohung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 384 + }, + "Duerre": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 416 + }, + "DurchgefuehrteErkundung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 448 + }, + "DurchgefuehrteVerschiebung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 0, + "y": 480 + }, + "DurchgefuehrterEinsatz": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 32 + }, + "EingesperrteAbgeschnittene": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 32 + }, + "Einsatz": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 32 + }, + "Einsatzleiter": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 32 + }, + "Einsatzleitung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 160, + "y": 32 + }, + "Einsatzraum": { + "height": 18, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 438 + }, + "Einsatzzentrale": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 192, + "y": 32 + }, + "Eisenbahnunglueck": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 224, + "y": 32 + }, + "Energieausfall": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 256, + "y": 32 + }, + "Epidemie": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 288, + "y": 32 + }, + "Erdbeben": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 320, + "y": 32 + }, + "Erdrutsch": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 352, + "y": 32 + }, + "Explosion": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 384, + "y": 32 + }, + "ExplosionGefahr": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 416, + "y": 32 + }, + "Fluechtlinge": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 448, + "y": 32 + }, + "Flugzeugabsturz": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 480, + "y": 32 + }, + "Gas": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 64 + }, + "Gebaeudeeinsturz": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 96 + }, + "GefahrElektrizitaet": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 128 + }, + "GefahrdurchLoeschenmitWasser": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 160 + }, + "GefahrentafelmitUNNummer": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 192 + }, + "GefahrfuerGrundwasser": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 224 + }, + "Gemeindefuehrungsorgan": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 256 + }, + "Gruppe": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 288 + }, + "Gruppenfuehrer": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 320 + }, + "Helikopterlandeplatz": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 352 + }, + "Informationsstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 384 + }, + "Informationszentrum": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 416 + }, + "Infrastrukturschaden": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 448 + }, + "KGSNotdepot": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 32, + "y": 480 + }, + "KGSNotlager": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 64 + }, + "KGSSammelpunkt": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 64 + }, + "Kadaversammelstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 64 + }, + "Kanalisationsausfall": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 160, + "y": 64 + }, + "KantonalesFuehrungsorgan": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 192, + "y": 64 + }, + "KommandopostenFront": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 224, + "y": 64 + }, + "KommandopostenRueckwaertiges": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 256, + "y": 64 + }, + "Kommunikationsstoerung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 288, + "y": 64 + }, + "Kompanie": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 320, + "y": 64 + }, + "Kontrollstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 352, + "y": 64 + }, + "Kontrollzentrum": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 384, + "y": 64 + }, + "Lawine": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 416, + "y": 64 + }, + "Massenpanik": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 448, + "y": 64 + }, + "Materialdepot": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 480, + "y": 64 + }, + "MobileEinsatzzentrale": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 96 + }, + "Obdachlose": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 128 + }, + "Oelverschmutzung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 160 + }, + "OffizierZugfuehrer": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 192 + }, + "Patientensammelstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 224 + }, + "PatternBeabsichtigteErkundung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 256 + }, + "PatternBrandzone": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 288 + }, + "PatternLineBeabsichtigteErkundung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 320 + }, + "PatternLineErkundung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 352 + }, + "PatternLineRettungsachse": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 384 + }, + "PatternLineRutschgebiet": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 416 + }, + "PatternLineRutschgebietGespiegelt": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 448 + }, + "PatternLineUnpassierbar": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 64, + "y": 480 + }, + "PatternZerstoert": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 96 + }, + "Pforte": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 96 + }, + "Pluenderung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 160, + "y": 96 + }, + "RadioaktiveStoffe": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 192, + "y": 96 + }, + "RegionalesFuehrungsorgan": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 224, + "y": 96 + }, + "RettungsAchse": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 256, + "y": 96 + }, + "Rutschgebiet": { + "height": 22, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 416 + }, + "Sabotage": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 288, + "y": 96 + }, + "Sammelstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 320, + "y": 96 + }, + "Sanitaetshilfsstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 352, + "y": 96 + }, + "Sanitaetsumladestelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 384, + "y": 96 + }, + "Schadengebiet": { + "height": 18, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 456 + }, + "Sperre": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 416, + "y": 96 + }, + "StandortmobileFuehrungsstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 448, + "y": 96 + }, + "Starkniederschlag": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 480, + "y": 96 + }, + "Stau": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 128 + }, + "Strerschwertbefahrbarbegehbar": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 160 + }, + "Streugutsammelstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 192 + }, + "Strnichtbefahrbarschwerbegehbar": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 224 + }, + "Strunpassierbargesperrt": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 256 + }, + "Stuetzpunkt": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 288 + }, + "Sturm": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 320 + }, + "Tankloeschfahrzeug": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 352 + }, + "Teilzerstoerung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 384 + }, + "Terroranschlag": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 416 + }, + "Tierseuche": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 448 + }, + "Totalzerstoerung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 96, + "y": 480 + }, + "Tote": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 128 + }, + "Totensammelstelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 160, + "y": 128 + }, + "Trinkwasserabgabestelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 192, + "y": 128 + }, + "TruemmerbereichSignatur": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 224, + "y": 128 + }, + "Trupp": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 256, + "y": 128 + }, + "UeberschwemmtesGebiet": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 288, + "y": 128 + }, + "Ueberschwemmung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 320, + "y": 128 + }, + "Ueberwachung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 352, + "y": 128 + }, + "Umleitung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 384, + "y": 128 + }, + "Unfall": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 416, + "y": 128 + }, + "Verkehrsposten": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 448, + "y": 128 + }, + "Verletzte": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 480, + "y": 128 + }, + "Verletztennest": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 160 + }, + "Vermisste": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 192 + }, + "Verpflegungsabgabestelle": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 224 + }, + "Verschiebung": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 256 + }, + "Wasservsgausfall": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 288 + }, + "Wasserwerfer": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 320 + }, + "ZivilesFuehrungsorgan": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 352 + }, + "Zug": { + "height": 32, + "pixelRatio": 1, + "width": 32, + "x": 128, + "y": 384 + } +} \ No newline at end of file diff --git a/ui/public/map/sprites/babs.png b/ui/public/map/sprites/babs.png new file mode 100644 index 00000000..bb0d2607 Binary files /dev/null and b/ui/public/map/sprites/babs.png differ diff --git a/ui/public/map/sprites/babs@2x.json b/ui/public/map/sprites/babs@2x.json new file mode 100644 index 00000000..ee37be47 --- /dev/null +++ b/ui/public/map/sprites/babs@2x.json @@ -0,0 +1,947 @@ +{ + "ABCDekontaminationsstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 0 + }, + "AbsperrungVerkehrswege": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 0 + }, + "Angehoerigensammelstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 0 + }, + "Atomunfall": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 0 + }, + "Autounfall": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 0 + }, + "BLaboratorium": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 320, + "y": 0 + }, + "BeabsichtigteErkundung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 384, + "y": 0 + }, + "BeabsichtigteVerschiebung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 448, + "y": 0 + }, + "BeabsichtigterEinsatz": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 512, + "y": 0 + }, + "Beobachtung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 576, + "y": 0 + }, + "Beschaedigung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 640, + "y": 0 + }, + "Betreuungsstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 704, + "y": 0 + }, + "Betriebsstoffabgabestelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 768, + "y": 0 + }, + "Bezirksfuehrungsorgan": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 832, + "y": 0 + }, + "Biounfall": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 896, + "y": 0 + }, + "Bombenanschlag": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 960, + "y": 0 + }, + "Bombendrohung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 64 + }, + "Brand": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 128 + }, + "Brandanschlag": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 192 + }, + "BrandeinzelnesGebaeudeFlamme": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 256 + }, + "BranduebergriffErfolgt": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 320 + }, + "BranduebergriffGefahr": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 384 + }, + "Chemieunfall": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 448 + }, + "Chemikalien": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 512 + }, + "Debriefingstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 576 + }, + "Demogewaltlos": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 640 + }, + "Demogewaltsam": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 704 + }, + "Drohung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 768 + }, + "Duerre": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 832 + }, + "DurchgefuehrteErkundung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 896 + }, + "DurchgefuehrteVerschiebung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 0, + "y": 960 + }, + "DurchgefuehrterEinsatz": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 64 + }, + "EingesperrteAbgeschnittene": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 64 + }, + "Einsatz": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 64 + }, + "Einsatzleiter": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 64 + }, + "Einsatzleitung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 320, + "y": 64 + }, + "Einsatzraum": { + "height": 36, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 876 + }, + "Einsatzzentrale": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 384, + "y": 64 + }, + "Eisenbahnunglueck": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 448, + "y": 64 + }, + "Energieausfall": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 512, + "y": 64 + }, + "Epidemie": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 576, + "y": 64 + }, + "Erdbeben": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 640, + "y": 64 + }, + "Erdrutsch": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 704, + "y": 64 + }, + "Explosion": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 768, + "y": 64 + }, + "ExplosionGefahr": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 832, + "y": 64 + }, + "Fluechtlinge": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 896, + "y": 64 + }, + "Flugzeugabsturz": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 960, + "y": 64 + }, + "Gas": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 128 + }, + "Gebaeudeeinsturz": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 192 + }, + "GefahrElektrizitaet": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 256 + }, + "GefahrdurchLoeschenmitWasser": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 320 + }, + "GefahrentafelmitUNNummer": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 384 + }, + "GefahrfuerGrundwasser": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 448 + }, + "Gemeindefuehrungsorgan": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 512 + }, + "Gruppe": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 576 + }, + "Gruppenfuehrer": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 640 + }, + "Helikopterlandeplatz": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 704 + }, + "Informationsstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 768 + }, + "Informationszentrum": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 832 + }, + "Infrastrukturschaden": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 896 + }, + "KGSNotdepot": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 64, + "y": 960 + }, + "KGSNotlager": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 128 + }, + "KGSSammelpunkt": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 128 + }, + "Kadaversammelstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 128 + }, + "Kanalisationsausfall": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 320, + "y": 128 + }, + "KantonalesFuehrungsorgan": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 384, + "y": 128 + }, + "KommandopostenFront": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 448, + "y": 128 + }, + "KommandopostenRueckwaertiges": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 512, + "y": 128 + }, + "Kommunikationsstoerung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 576, + "y": 128 + }, + "Kompanie": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 640, + "y": 128 + }, + "Kontrollstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 704, + "y": 128 + }, + "Kontrollzentrum": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 768, + "y": 128 + }, + "Lawine": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 832, + "y": 128 + }, + "Massenpanik": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 896, + "y": 128 + }, + "Materialdepot": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 960, + "y": 128 + }, + "MobileEinsatzzentrale": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 192 + }, + "Obdachlose": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 256 + }, + "Oelverschmutzung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 320 + }, + "OffizierZugfuehrer": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 384 + }, + "Patientensammelstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 448 + }, + "PatternBeabsichtigteErkundung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 512 + }, + "PatternBrandzone": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 576 + }, + "PatternLineBeabsichtigteErkundung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 640 + }, + "PatternLineErkundung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 704 + }, + "PatternLineRettungsachse": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 768 + }, + "PatternLineRutschgebiet": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 832 + }, + "PatternLineRutschgebietGespiegelt": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 896 + }, + "PatternLineUnpassierbar": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 128, + "y": 960 + }, + "PatternZerstoert": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 192 + }, + "Pforte": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 192 + }, + "Pluenderung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 320, + "y": 192 + }, + "RadioaktiveStoffe": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 384, + "y": 192 + }, + "RegionalesFuehrungsorgan": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 448, + "y": 192 + }, + "RettungsAchse": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 512, + "y": 192 + }, + "Rutschgebiet": { + "height": 44, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 832 + }, + "Sabotage": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 576, + "y": 192 + }, + "Sammelstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 640, + "y": 192 + }, + "Sanitaetshilfsstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 704, + "y": 192 + }, + "Sanitaetsumladestelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 768, + "y": 192 + }, + "Schadengebiet": { + "height": 36, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 912 + }, + "Sperre": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 832, + "y": 192 + }, + "StandortmobileFuehrungsstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 896, + "y": 192 + }, + "Starkniederschlag": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 960, + "y": 192 + }, + "Stau": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 256 + }, + "Strerschwertbefahrbarbegehbar": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 320 + }, + "Streugutsammelstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 384 + }, + "Strnichtbefahrbarschwerbegehbar": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 448 + }, + "Strunpassierbargesperrt": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 512 + }, + "Stuetzpunkt": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 576 + }, + "Sturm": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 640 + }, + "Tankloeschfahrzeug": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 704 + }, + "Teilzerstoerung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 768 + }, + "Terroranschlag": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 832 + }, + "Tierseuche": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 896 + }, + "Totalzerstoerung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 192, + "y": 960 + }, + "Tote": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 256 + }, + "Totensammelstelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 320, + "y": 256 + }, + "Trinkwasserabgabestelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 384, + "y": 256 + }, + "TruemmerbereichSignatur": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 448, + "y": 256 + }, + "Trupp": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 512, + "y": 256 + }, + "UeberschwemmtesGebiet": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 576, + "y": 256 + }, + "Ueberschwemmung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 640, + "y": 256 + }, + "Ueberwachung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 704, + "y": 256 + }, + "Umleitung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 768, + "y": 256 + }, + "Unfall": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 832, + "y": 256 + }, + "Verkehrsposten": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 896, + "y": 256 + }, + "Verletzte": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 960, + "y": 256 + }, + "Verletztennest": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 320 + }, + "Vermisste": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 384 + }, + "Verpflegungsabgabestelle": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 448 + }, + "Verschiebung": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 512 + }, + "Wasservsgausfall": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 576 + }, + "Wasserwerfer": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 640 + }, + "ZivilesFuehrungsorgan": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 704 + }, + "Zug": { + "height": 64, + "pixelRatio": 2, + "width": 64, + "x": 256, + "y": 768 + } +} \ No newline at end of file diff --git a/ui/public/map/sprites/babs@2x.png b/ui/public/map/sprites/babs@2x.png new file mode 100644 index 00000000..f6f08e26 Binary files /dev/null and b/ui/public/map/sprites/babs@2x.png differ diff --git a/ui/public/map/sprites/basemap.json b/ui/public/map/sprites/basemap.json new file mode 100644 index 00000000..3e259480 --- /dev/null +++ b/ui/public/map/sprites/basemap.json @@ -0,0 +1 @@ +{"scree_very_large_1": {"width": 128, "height": 128, "x": 0, "y": 0, "pixelRatio": 1.0}, "scree_very_large_2": {"width": 128, "height": 128, "x": 128, "y": 0, "pixelRatio": 1.0}, "scree_very_large_3": {"width": 128, "height": 128, "x": 0, "y": 128, "pixelRatio": 1.0}, "scree_very_large_4": {"width": 128, "height": 128, "x": 128, "y": 128, "pixelRatio": 1.0}, "scree_large_1": {"width": 64, "height": 64, "x": 256, "y": 0, "pixelRatio": 1.0}, "scree_large_2": {"width": 64, "height": 64, "x": 320, "y": 0, "pixelRatio": 1.0}, "scree_large_3": {"width": 64, "height": 64, "x": 384, "y": 0, "pixelRatio": 1.0}, "scree_large_4": {"width": 64, "height": 64, "x": 448, "y": 0, "pixelRatio": 1.0}, "wetland_blue": {"width": 64, "height": 64, "x": 256, "y": 128, "pixelRatio": 1.0}, "scree_medium_1": {"width": 32, "height": 32, "x": 320, "y": 128, "pixelRatio": 1.0}, "scree_medium_2": {"width": 32, "height": 32, "x": 352, "y": 128, "pixelRatio": 1.0}, "scree_medium_3": {"width": 32, "height": 32, "x": 384, "y": 128, "pixelRatio": 1.0}, "scree_medium_4": {"width": 32, "height": 32, "x": 416, "y": 128, "pixelRatio": 1.0}, "windturbine_grey": {"width": 24, "height": 32, "x": 448, "y": 128, "pixelRatio": 1.0}, "airplane_large_grey": {"width": 28, "height": 28, "x": 472, "y": 128, "pixelRatio": 1.0}, "airplane_medium_grey": {"width": 26, "height": 26, "x": 0, "y": 256, "pixelRatio": 1.0}, "communications_tower_grey": {"width": 18, "height": 26, "x": 26, "y": 256, "pixelRatio": 1.0}, "observation_tower_grey": {"width": 18, "height": 25, "x": 44, "y": 256, "pixelRatio": 1.0}, "airplane_small_grey": {"width": 24, "height": 24, "x": 62, "y": 256, "pixelRatio": 1.0}, "arrow_line_blue": {"width": 24, "height": 19, "x": 86, "y": 256, "pixelRatio": 1.0}, "golf_grey": {"width": 14, "height": 18, "x": 110, "y": 256, "pixelRatio": 1.0}, "arrow_blue": {"width": 6, "height": 16, "x": 124, "y": 256, "pixelRatio": 1.0}, "arrow_brown": {"width": 6, "height": 16, "x": 130, "y": 256, "pixelRatio": 1.0}, "arrow_grey": {"width": 6, "height": 16, "x": 136, "y": 256, "pixelRatio": 1.0}, "castle_grey": {"width": 10, "height": 16, "x": 142, "y": 256, "pixelRatio": 1.0}, "forkknife_crossed_grey": {"width": 17, "height": 16, "x": 152, "y": 256, "pixelRatio": 1.0}, "orchard_green": {"width": 16, "height": 16, "x": 169, "y": 256, "pixelRatio": 1.0}, "scree_small_1": {"width": 16, "height": 16, "x": 185, "y": 256, "pixelRatio": 1.0}, "scree_small_2": {"width": 16, "height": 16, "x": 201, "y": 256, "pixelRatio": 1.0}, "scree_small_3": {"width": 16, "height": 16, "x": 217, "y": 256, "pixelRatio": 1.0}, "scree_small_4": {"width": 16, "height": 16, "x": 233, "y": 256, "pixelRatio": 1.0}, "vinyard_green": {"width": 16, "height": 16, "x": 249, "y": 256, "pixelRatio": 1.0}, "viewpoint_grey": {"width": 18, "height": 15, "x": 265, "y": 256, "pixelRatio": 1.0}, "box_white_grey_casing_1": {"width": 12, "height": 14, "x": 283, "y": 256, "pixelRatio": 1.0}, "box_white_grey_casing_10": {"width": 60, "height": 14, "x": 295, "y": 256, "pixelRatio": 1.0}, "box_white_grey_casing_11": {"width": 66, "height": 14, "x": 355, "y": 256, "pixelRatio": 1.0}, "box_white_grey_casing_12": {"width": 72, "height": 14, "x": 421, "y": 256, "pixelRatio": 1.0}, "box_white_grey_casing_2": {"width": 18, "height": 14, "x": 493, "y": 256, "pixelRatio": 1.0}, "box_white_grey_casing_3": {"width": 22, "height": 14, "x": 0, "y": 282, "pixelRatio": 1.0}, "box_white_grey_casing_4": {"width": 28, "height": 14, "x": 22, "y": 282, "pixelRatio": 1.0}, "box_white_grey_casing_5": {"width": 34, "height": 14, "x": 50, "y": 282, "pixelRatio": 1.0}, "box_white_grey_casing_6": {"width": 38, "height": 14, "x": 84, "y": 282, "pixelRatio": 1.0}, "box_white_grey_casing_7": {"width": 44, "height": 14, "x": 122, "y": 282, "pixelRatio": 1.0}, "box_white_grey_casing_8": {"width": 50, "height": 14, "x": 166, "y": 282, "pixelRatio": 1.0}, "box_white_grey_casing_9": {"width": 54, "height": 14, "x": 216, "y": 282, "pixelRatio": 1.0}, "camping_grey": {"width": 16, "height": 14, "x": 270, "y": 282, "pixelRatio": 1.0}, "hospital_grey": {"width": 14, "height": 14, "x": 286, "y": 282, "pixelRatio": 1.0}, "cave_grey": {"width": 18, "height": 13, "x": 300, "y": 282, "pixelRatio": 1.0}, "helicopter_grey": {"width": 25, "height": 13, "x": 318, "y": 282, "pixelRatio": 1.0}, "circle_circle_dark_grey_12": {"width": 12, "height": 12, "x": 343, "y": 282, "pixelRatio": 1.0}, "circle_dark_grey_12": {"width": 12, "height": 12, "x": 355, "y": 282, "pixelRatio": 1.0}, "dot_circle_dark_grey_12": {"width": 12, "height": 12, "x": 367, "y": 282, "pixelRatio": 1.0}, "circle_circle_dark_grey_10": {"width": 10, "height": 10, "x": 379, "y": 282, "pixelRatio": 1.0}, "circle_dark_grey_10": {"width": 10, "height": 10, "x": 389, "y": 282, "pixelRatio": 1.0}, "dot_circle_dark_grey_10": {"width": 10, "height": 10, "x": 399, "y": 282, "pixelRatio": 1.0}, "waterfall_blue": {"width": 6, "height": 9, "x": 409, "y": 282, "pixelRatio": 1.0}, "circle_dark_grey_8": {"width": 8, "height": 8, "x": 415, "y": 282, "pixelRatio": 1.0}, "dot_circle_dark_grey_8": {"width": 8, "height": 8, "x": 423, "y": 282, "pixelRatio": 1.0}, "dot_dark_grey_8": {"width": 8, "height": 8, "x": 431, "y": 282, "pixelRatio": 1.0}, "square_red": {"width": 7, "height": 7, "x": 439, "y": 282, "pixelRatio": 1.0}, "circle_dark_grey_6": {"width": 6, "height": 6, "x": 446, "y": 282, "pixelRatio": 1.0}, "dot_circle_dark_grey_6": {"width": 6, "height": 6, "x": 452, "y": 282, "pixelRatio": 1.0}, "dot_dark_grey_6": {"width": 6, "height": 6, "x": 458, "y": 282, "pixelRatio": 1.0}, "circle_dark_grey_4": {"width": 4, "height": 4, "x": 464, "y": 282, "pixelRatio": 1.0}, "dot_blue": {"width": 4, "height": 4, "x": 468, "y": 282, "pixelRatio": 1.0}, "dot_dark_grey_4": {"width": 4, "height": 4, "x": 472, "y": 282, "pixelRatio": 1.0}, "dot_red": {"width": 4, "height": 4, "x": 476, "y": 282, "pixelRatio": 1.0}, "dot_dark_grey_3": {"width": 3, "height": 3, "x": 480, "y": 282, "pixelRatio": 1.0}, "line_blue_long": {"width": 24, "height": 2, "x": 483, "y": 282, "pixelRatio": 1.0}, "line_blue_short": {"width": 18, "height": 2, "x": 0, "y": 296, "pixelRatio": 1.0}} diff --git a/ui/public/map/sprites/basemap.png b/ui/public/map/sprites/basemap.png new file mode 100644 index 00000000..e07db1b3 Binary files /dev/null and b/ui/public/map/sprites/basemap.png differ diff --git a/ui/public/map/sprites/basemap@2x.json b/ui/public/map/sprites/basemap@2x.json new file mode 100644 index 00000000..8c9800d8 --- /dev/null +++ b/ui/public/map/sprites/basemap@2x.json @@ -0,0 +1 @@ +{"scree_very_large_1": {"width": 256, "height": 256, "x": 0, "y": 0, "pixelRatio": 2.0}, "scree_very_large_2": {"width": 256, "height": 256, "x": 256, "y": 0, "pixelRatio": 2.0}, "scree_very_large_3": {"width": 256, "height": 256, "x": 0, "y": 256, "pixelRatio": 2.0}, "scree_very_large_4": {"width": 256, "height": 256, "x": 256, "y": 256, "pixelRatio": 2.0}, "scree_large_1": {"width": 128, "height": 128, "x": 512, "y": 0, "pixelRatio": 2.0}, "scree_large_2": {"width": 128, "height": 128, "x": 640, "y": 0, "pixelRatio": 2.0}, "scree_large_3": {"width": 128, "height": 128, "x": 768, "y": 0, "pixelRatio": 2.0}, "scree_large_4": {"width": 128, "height": 128, "x": 896, "y": 0, "pixelRatio": 2.0}, "wetland_blue": {"width": 128, "height": 128, "x": 512, "y": 256, "pixelRatio": 2.0}, "scree_medium_1": {"width": 64, "height": 64, "x": 640, "y": 256, "pixelRatio": 2.0}, "scree_medium_2": {"width": 64, "height": 64, "x": 704, "y": 256, "pixelRatio": 2.0}, "scree_medium_3": {"width": 64, "height": 64, "x": 768, "y": 256, "pixelRatio": 2.0}, "scree_medium_4": {"width": 64, "height": 64, "x": 832, "y": 256, "pixelRatio": 2.0}, "windturbine_grey": {"width": 48, "height": 64, "x": 896, "y": 256, "pixelRatio": 2.0}, "airplane_large_grey": {"width": 56, "height": 56, "x": 944, "y": 256, "pixelRatio": 2.0}, "airplane_medium_grey": {"width": 52, "height": 52, "x": 0, "y": 512, "pixelRatio": 2.0}, "communications_tower_grey": {"width": 36, "height": 52, "x": 52, "y": 512, "pixelRatio": 2.0}, "observation_tower_grey": {"width": 36, "height": 50, "x": 88, "y": 512, "pixelRatio": 2.0}, "airplane_small_grey": {"width": 48, "height": 48, "x": 124, "y": 512, "pixelRatio": 2.0}, "arrow_line_blue": {"width": 48, "height": 38, "x": 172, "y": 512, "pixelRatio": 2.0}, "golf_grey": {"width": 28, "height": 36, "x": 220, "y": 512, "pixelRatio": 2.0}, "arrow_blue": {"width": 12, "height": 32, "x": 248, "y": 512, "pixelRatio": 2.0}, "arrow_brown": {"width": 12, "height": 32, "x": 260, "y": 512, "pixelRatio": 2.0}, "arrow_grey": {"width": 12, "height": 32, "x": 272, "y": 512, "pixelRatio": 2.0}, "castle_grey": {"width": 20, "height": 32, "x": 284, "y": 512, "pixelRatio": 2.0}, "forkknife_crossed_grey": {"width": 34, "height": 32, "x": 304, "y": 512, "pixelRatio": 2.0}, "orchard_green": {"width": 32, "height": 32, "x": 338, "y": 512, "pixelRatio": 2.0}, "scree_small_1": {"width": 32, "height": 32, "x": 370, "y": 512, "pixelRatio": 2.0}, "scree_small_2": {"width": 32, "height": 32, "x": 402, "y": 512, "pixelRatio": 2.0}, "scree_small_3": {"width": 32, "height": 32, "x": 434, "y": 512, "pixelRatio": 2.0}, "scree_small_4": {"width": 32, "height": 32, "x": 466, "y": 512, "pixelRatio": 2.0}, "vinyard_green": {"width": 32, "height": 32, "x": 498, "y": 512, "pixelRatio": 2.0}, "viewpoint_grey": {"width": 36, "height": 30, "x": 530, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_1": {"width": 24, "height": 28, "x": 566, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_10": {"width": 120, "height": 28, "x": 590, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_11": {"width": 132, "height": 28, "x": 710, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_12": {"width": 144, "height": 28, "x": 842, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_2": {"width": 36, "height": 28, "x": 986, "y": 512, "pixelRatio": 2.0}, "box_white_grey_casing_3": {"width": 44, "height": 28, "x": 0, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_4": {"width": 56, "height": 28, "x": 44, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_5": {"width": 68, "height": 28, "x": 100, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_6": {"width": 76, "height": 28, "x": 168, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_7": {"width": 88, "height": 28, "x": 244, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_8": {"width": 100, "height": 28, "x": 332, "y": 564, "pixelRatio": 2.0}, "box_white_grey_casing_9": {"width": 108, "height": 28, "x": 432, "y": 564, "pixelRatio": 2.0}, "camping_grey": {"width": 32, "height": 28, "x": 540, "y": 564, "pixelRatio": 2.0}, "hospital_grey": {"width": 28, "height": 28, "x": 572, "y": 564, "pixelRatio": 2.0}, "cave_grey": {"width": 36, "height": 26, "x": 600, "y": 564, "pixelRatio": 2.0}, "helicopter_grey": {"width": 50, "height": 26, "x": 636, "y": 564, "pixelRatio": 2.0}, "circle_circle_dark_grey_12": {"width": 24, "height": 24, "x": 686, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_12": {"width": 24, "height": 24, "x": 710, "y": 564, "pixelRatio": 2.0}, "dot_circle_dark_grey_12": {"width": 24, "height": 24, "x": 734, "y": 564, "pixelRatio": 2.0}, "circle_circle_dark_grey_10": {"width": 20, "height": 20, "x": 758, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_10": {"width": 20, "height": 20, "x": 778, "y": 564, "pixelRatio": 2.0}, "dot_circle_dark_grey_10": {"width": 20, "height": 20, "x": 798, "y": 564, "pixelRatio": 2.0}, "waterfall_blue": {"width": 12, "height": 18, "x": 818, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_8": {"width": 16, "height": 16, "x": 830, "y": 564, "pixelRatio": 2.0}, "dot_circle_dark_grey_8": {"width": 16, "height": 16, "x": 846, "y": 564, "pixelRatio": 2.0}, "dot_dark_grey_8": {"width": 16, "height": 16, "x": 862, "y": 564, "pixelRatio": 2.0}, "square_red": {"width": 14, "height": 14, "x": 878, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_6": {"width": 12, "height": 12, "x": 892, "y": 564, "pixelRatio": 2.0}, "dot_circle_dark_grey_6": {"width": 12, "height": 12, "x": 904, "y": 564, "pixelRatio": 2.0}, "dot_dark_grey_6": {"width": 12, "height": 12, "x": 916, "y": 564, "pixelRatio": 2.0}, "circle_dark_grey_4": {"width": 8, "height": 8, "x": 928, "y": 564, "pixelRatio": 2.0}, "dot_blue": {"width": 8, "height": 8, "x": 936, "y": 564, "pixelRatio": 2.0}, "dot_dark_grey_4": {"width": 8, "height": 8, "x": 944, "y": 564, "pixelRatio": 2.0}, "dot_red": {"width": 8, "height": 8, "x": 952, "y": 564, "pixelRatio": 2.0}, "dot_dark_grey_3": {"width": 6, "height": 6, "x": 960, "y": 564, "pixelRatio": 2.0}, "line_blue_long": {"width": 48, "height": 4, "x": 966, "y": 564, "pixelRatio": 2.0}, "line_blue_short": {"width": 36, "height": 4, "x": 0, "y": 592, "pixelRatio": 2.0}} diff --git a/ui/public/map/sprites/basemap@2x.png b/ui/public/map/sprites/basemap@2x.png new file mode 100644 index 00000000..ccdcd7a0 Binary files /dev/null and b/ui/public/map/sprites/basemap@2x.png differ diff --git a/ui/public/map/sprite/sprite.json b/ui/public/map/sprites/imagery.json similarity index 100% rename from ui/public/map/sprite/sprite.json rename to ui/public/map/sprites/imagery.json diff --git a/ui/public/map/sprite/sprite.png b/ui/public/map/sprites/imagery.png similarity index 100% rename from ui/public/map/sprite/sprite.png rename to ui/public/map/sprites/imagery.png diff --git a/ui/public/map/sprites/imagery@2x.json b/ui/public/map/sprites/imagery@2x.json new file mode 100644 index 00000000..02a83210 --- /dev/null +++ b/ui/public/map/sprites/imagery@2x.json @@ -0,0 +1,282 @@ +{ + "windturbine_white": { + "width": 64, + "height": 76, + "x": 0, + "y": 0, + "pixelRatio": 2.0 + }, + "communications_tower_white": { + "width": 48, + "height": 66, + "x": 64, + "y": 0, + "pixelRatio": 2.0 + }, + "observation_tower_white": { + "width": 52, + "height": 62, + "x": 0, + "y": 76, + "pixelRatio": 2.0 + }, + "airplane_large_white": { + "width": 56, + "height": 56, + "x": 52, + "y": 76, + "pixelRatio": 2.0 + }, + "airplane_medium_white": { + "width": 54, + "height": 54, + "x": 108, + "y": 76, + "pixelRatio": 2.0 + }, + "golf_white": { + "width": 52, + "height": 54, + "x": 162, + "y": 76, + "pixelRatio": 2.0 + }, + "camping_white": { + "width": 44, + "height": 48, + "x": 112, + "y": 0, + "pixelRatio": 2.0 + }, + "airplane_small_white": { + "width": 46, + "height": 46, + "x": 156, + "y": 0, + "pixelRatio": 2.0 + }, + "castle_white": { + "width": 32, + "height": 44, + "x": 214, + "y": 76, + "pixelRatio": 2.0 + }, + "viewpoint_white": { + "width": 52, + "height": 42, + "x": 202, + "y": 0, + "pixelRatio": 2.0 + }, + "cave_white": { + "width": 56, + "height": 40, + "x": 0, + "y": 138, + "pixelRatio": 2.0 + }, + "hospital_white": { + "width": 38, + "height": 38, + "x": 56, + "y": 138, + "pixelRatio": 2.0 + }, + "waterfall_blue": { + "width": 24, + "height": 36, + "x": 94, + "y": 138, + "pixelRatio": 2.0 + }, + "circle_black_12": { + "width": 32, + "height": 32, + "x": 118, + "y": 138, + "pixelRatio": 2.0 + }, + "circle_circle_black_12": { + "width": 32, + "height": 32, + "x": 150, + "y": 138, + "pixelRatio": 2.0 + }, + "dot_circle_black_12": { + "width": 32, + "height": 32, + "x": 182, + "y": 138, + "pixelRatio": 2.0 + }, + "helicopter_white": { + "width": 52, + "height": 32, + "x": 0, + "y": 178, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_1": { + "width": 24, + "height": 28, + "x": 52, + "y": 178, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_10": { + "width": 120, + "height": 28, + "x": 76, + "y": 178, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_11": { + "width": 132, + "height": 28, + "x": 0, + "y": 210, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_12": { + "width": 144, + "height": 28, + "x": 0, + "y": 238, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_2": { + "width": 36, + "height": 28, + "x": 132, + "y": 210, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_3": { + "width": 44, + "height": 28, + "x": 168, + "y": 210, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_4": { + "width": 56, + "height": 28, + "x": 144, + "y": 238, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_5": { + "width": 68, + "height": 28, + "x": 0, + "y": 266, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_6": { + "width": 76, + "height": 28, + "x": 68, + "y": 266, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_7": { + "width": 88, + "height": 28, + "x": 144, + "y": 266, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_8": { + "width": 100, + "height": 28, + "x": 212, + "y": 210, + "pixelRatio": 2.0 + }, + "box_white_grey_casing_9": { + "width": 108, + "height": 28, + "x": 312, + "y": 210, + "pixelRatio": 2.0 + }, + "circle_black_10": { + "width": 28, + "height": 28, + "x": 420, + "y": 210, + "pixelRatio": 2.0 + }, + "circle_circle_black_10": { + "width": 28, + "height": 28, + "x": 448, + "y": 210, + "pixelRatio": 2.0 + }, + "dot_circle_black_10": { + "width": 28, + "height": 28, + "x": 476, + "y": 210, + "pixelRatio": 2.0 + }, + "circle_black_8": { + "width": 24, + "height": 24, + "x": 200, + "y": 238, + "pixelRatio": 2.0 + }, + "dot_circle_black_8": { + "width": 24, + "height": 24, + "x": 224, + "y": 238, + "pixelRatio": 2.0 + }, + "circle_black_6": { + "width": 20, + "height": 20, + "x": 248, + "y": 238, + "pixelRatio": 2.0 + }, + "dot_circle_black_6": { + "width": 20, + "height": 20, + "x": 268, + "y": 238, + "pixelRatio": 2.0 + }, + "square_red": { + "width": 20, + "height": 20, + "x": 288, + "y": 238, + "pixelRatio": 2.0 + }, + "circle_black_4": { + "width": 16, + "height": 16, + "x": 308, + "y": 238, + "pixelRatio": 2.0 + }, + "dot_blue": { + "width": 16, + "height": 16, + "x": 324, + "y": 238, + "pixelRatio": 2.0 + }, + "dot_red": { + "width": 16, + "height": 16, + "x": 340, + "y": 238, + "pixelRatio": 2.0 + } +} \ No newline at end of file diff --git a/ui/public/map/sprites/imagery@2x.png b/ui/public/map/sprites/imagery@2x.png new file mode 100644 index 00000000..9620ce60 Binary files /dev/null and b/ui/public/map/sprites/imagery@2x.png differ diff --git a/ui/src/App.scss b/ui/src/App.scss index 2778dbf2..4718658e 100644 --- a/ui/src/App.scss +++ b/ui/src/App.scss @@ -72,8 +72,6 @@ $grey-lightest: hsl(221, 14%, 93%); @import url("assets/b612-mono/b612-mono.css"); @import url("assets/b612/b612.css"); -@import "maplibre-gl/dist/maplibre-gl"; - // Other customizations section { &.is-fullheight-with-navbar { @@ -131,22 +129,6 @@ section { border-color: $red; } -.maplibregl-map { - min-height: 79vh; -} - -.maplibregl-ctrl-bottom-right .maplibregl-ctrl { - float: right; - margin: 0 10px px 30px 0; -} - -.mapboxgl-ctrl-group { - @extend .maplibregl-ctrl-group !optional; -} - -.mapboxgl-ctrl { - @extend .maplibregl-ctrl !optional; -} @media screen { .is-print { diff --git a/ui/src/assets/babs/32/ABCDekontaminationsstelle.svg b/ui/src/assets/babs/32/ABCDekontaminationsstelle.svg new file mode 100644 index 00000000..2dbe140c --- /dev/null +++ b/ui/src/assets/babs/32/ABCDekontaminationsstelle.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/AbsperrungVerkehrswege.svg b/ui/src/assets/babs/32/AbsperrungVerkehrswege.svg new file mode 100644 index 00000000..e698c506 --- /dev/null +++ b/ui/src/assets/babs/32/AbsperrungVerkehrswege.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Angehoerigensammelstelle.svg b/ui/src/assets/babs/32/Angehoerigensammelstelle.svg new file mode 100644 index 00000000..a17be83f --- /dev/null +++ b/ui/src/assets/babs/32/Angehoerigensammelstelle.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Atomunfall.svg b/ui/src/assets/babs/32/Atomunfall.svg new file mode 100644 index 00000000..3314968a --- /dev/null +++ b/ui/src/assets/babs/32/Atomunfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Autounfall.svg b/ui/src/assets/babs/32/Autounfall.svg new file mode 100644 index 00000000..660799b8 --- /dev/null +++ b/ui/src/assets/babs/32/Autounfall.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/BLaboratorium.svg b/ui/src/assets/babs/32/BLaboratorium.svg new file mode 100644 index 00000000..01b7ce46 --- /dev/null +++ b/ui/src/assets/babs/32/BLaboratorium.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/BeabsichtigteErkundung.svg b/ui/src/assets/babs/32/BeabsichtigteErkundung.svg new file mode 100644 index 00000000..045dd9ed --- /dev/null +++ b/ui/src/assets/babs/32/BeabsichtigteErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/BeabsichtigteVerschiebung.svg b/ui/src/assets/babs/32/BeabsichtigteVerschiebung.svg new file mode 100644 index 00000000..1067a5e2 --- /dev/null +++ b/ui/src/assets/babs/32/BeabsichtigteVerschiebung.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/BeabsichtigterEinsatz.svg b/ui/src/assets/babs/32/BeabsichtigterEinsatz.svg new file mode 100644 index 00000000..0d5eb40b --- /dev/null +++ b/ui/src/assets/babs/32/BeabsichtigterEinsatz.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Beobachtung.svg b/ui/src/assets/babs/32/Beobachtung.svg new file mode 100644 index 00000000..b95b7dfe --- /dev/null +++ b/ui/src/assets/babs/32/Beobachtung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Beschaedigung.svg b/ui/src/assets/babs/32/Beschaedigung.svg new file mode 100644 index 00000000..5664489e --- /dev/null +++ b/ui/src/assets/babs/32/Beschaedigung.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Betreuungsstelle.svg b/ui/src/assets/babs/32/Betreuungsstelle.svg new file mode 100644 index 00000000..21b67fe4 --- /dev/null +++ b/ui/src/assets/babs/32/Betreuungsstelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Betriebsstoffabgabestelle.svg b/ui/src/assets/babs/32/Betriebsstoffabgabestelle.svg new file mode 100644 index 00000000..19952672 --- /dev/null +++ b/ui/src/assets/babs/32/Betriebsstoffabgabestelle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Bezirksfuehrungsorgan.svg b/ui/src/assets/babs/32/Bezirksfuehrungsorgan.svg new file mode 100644 index 00000000..2f50b3c5 --- /dev/null +++ b/ui/src/assets/babs/32/Bezirksfuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Biounfall.svg b/ui/src/assets/babs/32/Biounfall.svg new file mode 100644 index 00000000..2ab525cc --- /dev/null +++ b/ui/src/assets/babs/32/Biounfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Bombenanschlag.svg b/ui/src/assets/babs/32/Bombenanschlag.svg new file mode 100644 index 00000000..d1d771d6 --- /dev/null +++ b/ui/src/assets/babs/32/Bombenanschlag.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Bombendrohung.svg b/ui/src/assets/babs/32/Bombendrohung.svg new file mode 100644 index 00000000..d4d38e40 --- /dev/null +++ b/ui/src/assets/babs/32/Bombendrohung.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Brand.svg b/ui/src/assets/babs/32/Brand.svg new file mode 100644 index 00000000..bc367542 --- /dev/null +++ b/ui/src/assets/babs/32/Brand.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Brandanschlag.svg b/ui/src/assets/babs/32/Brandanschlag.svg new file mode 100644 index 00000000..8e1d7f8c --- /dev/null +++ b/ui/src/assets/babs/32/Brandanschlag.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/BrandeinzelnesGebaeudeFlamme.svg b/ui/src/assets/babs/32/BrandeinzelnesGebaeudeFlamme.svg new file mode 100644 index 00000000..a99c5474 --- /dev/null +++ b/ui/src/assets/babs/32/BrandeinzelnesGebaeudeFlamme.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/BranduebergriffErfolgt.svg b/ui/src/assets/babs/32/BranduebergriffErfolgt.svg new file mode 100644 index 00000000..84a7e343 --- /dev/null +++ b/ui/src/assets/babs/32/BranduebergriffErfolgt.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/BranduebergriffGefahr.svg b/ui/src/assets/babs/32/BranduebergriffGefahr.svg new file mode 100644 index 00000000..177f3ce2 --- /dev/null +++ b/ui/src/assets/babs/32/BranduebergriffGefahr.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Chemieunfall.svg b/ui/src/assets/babs/32/Chemieunfall.svg new file mode 100644 index 00000000..a232c5dc --- /dev/null +++ b/ui/src/assets/babs/32/Chemieunfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Chemikalien.svg b/ui/src/assets/babs/32/Chemikalien.svg new file mode 100644 index 00000000..7d1bb3ff --- /dev/null +++ b/ui/src/assets/babs/32/Chemikalien.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Debriefingstelle.svg b/ui/src/assets/babs/32/Debriefingstelle.svg new file mode 100644 index 00000000..eb73fcbb --- /dev/null +++ b/ui/src/assets/babs/32/Debriefingstelle.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Demogewaltlos.svg b/ui/src/assets/babs/32/Demogewaltlos.svg new file mode 100644 index 00000000..305a1e9d --- /dev/null +++ b/ui/src/assets/babs/32/Demogewaltlos.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Demogewaltsam.svg b/ui/src/assets/babs/32/Demogewaltsam.svg new file mode 100644 index 00000000..678fcc51 --- /dev/null +++ b/ui/src/assets/babs/32/Demogewaltsam.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Drohung.svg b/ui/src/assets/babs/32/Drohung.svg new file mode 100644 index 00000000..ae922771 --- /dev/null +++ b/ui/src/assets/babs/32/Drohung.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Duerre.svg b/ui/src/assets/babs/32/Duerre.svg new file mode 100644 index 00000000..7147ddd6 --- /dev/null +++ b/ui/src/assets/babs/32/Duerre.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/DurchgefuehrteErkundung.svg b/ui/src/assets/babs/32/DurchgefuehrteErkundung.svg new file mode 100644 index 00000000..55f4a07a --- /dev/null +++ b/ui/src/assets/babs/32/DurchgefuehrteErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/DurchgefuehrteVerschiebung.svg b/ui/src/assets/babs/32/DurchgefuehrteVerschiebung.svg new file mode 100644 index 00000000..897d4376 --- /dev/null +++ b/ui/src/assets/babs/32/DurchgefuehrteVerschiebung.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/DurchgefuehrterEinsatz.svg b/ui/src/assets/babs/32/DurchgefuehrterEinsatz.svg new file mode 100644 index 00000000..7c2799c8 --- /dev/null +++ b/ui/src/assets/babs/32/DurchgefuehrterEinsatz.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/EingesperrteAbgeschnittene.svg b/ui/src/assets/babs/32/EingesperrteAbgeschnittene.svg new file mode 100644 index 00000000..93a4100c --- /dev/null +++ b/ui/src/assets/babs/32/EingesperrteAbgeschnittene.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Einsatz.svg b/ui/src/assets/babs/32/Einsatz.svg new file mode 100644 index 00000000..45ea2977 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatz.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Einsatzleiter.svg b/ui/src/assets/babs/32/Einsatzleiter.svg new file mode 100644 index 00000000..2c487521 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatzleiter.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Einsatzleitung.svg b/ui/src/assets/babs/32/Einsatzleitung.svg new file mode 100644 index 00000000..ee6e3670 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatzleitung.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Einsatzraum.svg b/ui/src/assets/babs/32/Einsatzraum.svg new file mode 100644 index 00000000..18ebad21 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatzraum.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Einsatzzentrale.svg b/ui/src/assets/babs/32/Einsatzzentrale.svg new file mode 100644 index 00000000..19630ca6 --- /dev/null +++ b/ui/src/assets/babs/32/Einsatzzentrale.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Eisenbahnunglueck.svg b/ui/src/assets/babs/32/Eisenbahnunglueck.svg new file mode 100644 index 00000000..d7f0a8f8 --- /dev/null +++ b/ui/src/assets/babs/32/Eisenbahnunglueck.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Energieausfall.svg b/ui/src/assets/babs/32/Energieausfall.svg new file mode 100644 index 00000000..3e482552 --- /dev/null +++ b/ui/src/assets/babs/32/Energieausfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Epidemie.svg b/ui/src/assets/babs/32/Epidemie.svg new file mode 100644 index 00000000..ef499a1f --- /dev/null +++ b/ui/src/assets/babs/32/Epidemie.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Erdbeben.svg b/ui/src/assets/babs/32/Erdbeben.svg new file mode 100644 index 00000000..3879844f --- /dev/null +++ b/ui/src/assets/babs/32/Erdbeben.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Erdrutsch.svg b/ui/src/assets/babs/32/Erdrutsch.svg new file mode 100644 index 00000000..e2903763 --- /dev/null +++ b/ui/src/assets/babs/32/Erdrutsch.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Explosion.svg b/ui/src/assets/babs/32/Explosion.svg new file mode 100644 index 00000000..32b8e0fc --- /dev/null +++ b/ui/src/assets/babs/32/Explosion.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/ExplosionGefahr.svg b/ui/src/assets/babs/32/ExplosionGefahr.svg new file mode 100644 index 00000000..697daffd --- /dev/null +++ b/ui/src/assets/babs/32/ExplosionGefahr.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Fluechtlinge.svg b/ui/src/assets/babs/32/Fluechtlinge.svg new file mode 100644 index 00000000..a19f5c91 --- /dev/null +++ b/ui/src/assets/babs/32/Fluechtlinge.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Flugzeugabsturz.svg b/ui/src/assets/babs/32/Flugzeugabsturz.svg new file mode 100644 index 00000000..adb66e3d --- /dev/null +++ b/ui/src/assets/babs/32/Flugzeugabsturz.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Gas.svg b/ui/src/assets/babs/32/Gas.svg new file mode 100644 index 00000000..5195ba9f --- /dev/null +++ b/ui/src/assets/babs/32/Gas.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Gebaeudeeinsturz.svg b/ui/src/assets/babs/32/Gebaeudeeinsturz.svg new file mode 100644 index 00000000..8cbc8251 --- /dev/null +++ b/ui/src/assets/babs/32/Gebaeudeeinsturz.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/GefahrElektrizitaet.svg b/ui/src/assets/babs/32/GefahrElektrizitaet.svg new file mode 100644 index 00000000..6a3fcad2 --- /dev/null +++ b/ui/src/assets/babs/32/GefahrElektrizitaet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/GefahrdurchLoeschenmitWasser.svg b/ui/src/assets/babs/32/GefahrdurchLoeschenmitWasser.svg new file mode 100644 index 00000000..d2bc854a --- /dev/null +++ b/ui/src/assets/babs/32/GefahrdurchLoeschenmitWasser.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/GefahrentafelmitUNNummer.svg b/ui/src/assets/babs/32/GefahrentafelmitUNNummer.svg new file mode 100644 index 00000000..3bad582e --- /dev/null +++ b/ui/src/assets/babs/32/GefahrentafelmitUNNummer.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/GefahrfuerGrundwasser.svg b/ui/src/assets/babs/32/GefahrfuerGrundwasser.svg new file mode 100644 index 00000000..4941f62b --- /dev/null +++ b/ui/src/assets/babs/32/GefahrfuerGrundwasser.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Gemeindefuehrungsorgan.svg b/ui/src/assets/babs/32/Gemeindefuehrungsorgan.svg new file mode 100644 index 00000000..14e5318b --- /dev/null +++ b/ui/src/assets/babs/32/Gemeindefuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Gruppe.svg b/ui/src/assets/babs/32/Gruppe.svg new file mode 100644 index 00000000..e0c58507 --- /dev/null +++ b/ui/src/assets/babs/32/Gruppe.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Gruppenfuehrer.svg b/ui/src/assets/babs/32/Gruppenfuehrer.svg new file mode 100644 index 00000000..1e75eaec --- /dev/null +++ b/ui/src/assets/babs/32/Gruppenfuehrer.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Helikopterlandeplatz.svg b/ui/src/assets/babs/32/Helikopterlandeplatz.svg new file mode 100644 index 00000000..f011b38d --- /dev/null +++ b/ui/src/assets/babs/32/Helikopterlandeplatz.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Informationsstelle.svg b/ui/src/assets/babs/32/Informationsstelle.svg new file mode 100644 index 00000000..47ac715e --- /dev/null +++ b/ui/src/assets/babs/32/Informationsstelle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Informationszentrum.svg b/ui/src/assets/babs/32/Informationszentrum.svg new file mode 100644 index 00000000..c9468c36 --- /dev/null +++ b/ui/src/assets/babs/32/Informationszentrum.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Infrastrukturschaden.svg b/ui/src/assets/babs/32/Infrastrukturschaden.svg new file mode 100644 index 00000000..35cd198e --- /dev/null +++ b/ui/src/assets/babs/32/Infrastrukturschaden.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KGSNotdepot.svg b/ui/src/assets/babs/32/KGSNotdepot.svg new file mode 100644 index 00000000..f4a34313 --- /dev/null +++ b/ui/src/assets/babs/32/KGSNotdepot.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KGSNotlager.svg b/ui/src/assets/babs/32/KGSNotlager.svg new file mode 100644 index 00000000..18dc5df7 --- /dev/null +++ b/ui/src/assets/babs/32/KGSNotlager.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KGSSammelpunkt.svg b/ui/src/assets/babs/32/KGSSammelpunkt.svg new file mode 100644 index 00000000..d60bbe2a --- /dev/null +++ b/ui/src/assets/babs/32/KGSSammelpunkt.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Kadaversammelstelle.svg b/ui/src/assets/babs/32/Kadaversammelstelle.svg new file mode 100644 index 00000000..40e94a8c --- /dev/null +++ b/ui/src/assets/babs/32/Kadaversammelstelle.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Kanalisationsausfall.svg b/ui/src/assets/babs/32/Kanalisationsausfall.svg new file mode 100644 index 00000000..c7de5b3d --- /dev/null +++ b/ui/src/assets/babs/32/Kanalisationsausfall.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KantonalesFuehrungsorgan.svg b/ui/src/assets/babs/32/KantonalesFuehrungsorgan.svg new file mode 100644 index 00000000..f930978c --- /dev/null +++ b/ui/src/assets/babs/32/KantonalesFuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KommandopostenFront.svg b/ui/src/assets/babs/32/KommandopostenFront.svg new file mode 100644 index 00000000..1c5b8f61 --- /dev/null +++ b/ui/src/assets/babs/32/KommandopostenFront.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/ui/src/assets/babs/32/KommandopostenRueckwaertiges.svg b/ui/src/assets/babs/32/KommandopostenRueckwaertiges.svg new file mode 100644 index 00000000..5704e6f3 --- /dev/null +++ b/ui/src/assets/babs/32/KommandopostenRueckwaertiges.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Kommunikationsstoerung.svg b/ui/src/assets/babs/32/Kommunikationsstoerung.svg new file mode 100644 index 00000000..55a4bbe9 --- /dev/null +++ b/ui/src/assets/babs/32/Kommunikationsstoerung.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Kompanie.svg b/ui/src/assets/babs/32/Kompanie.svg new file mode 100644 index 00000000..4fa8d073 --- /dev/null +++ b/ui/src/assets/babs/32/Kompanie.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Kontrollstelle.svg b/ui/src/assets/babs/32/Kontrollstelle.svg new file mode 100644 index 00000000..2011a0f7 --- /dev/null +++ b/ui/src/assets/babs/32/Kontrollstelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Kontrollzentrum.svg b/ui/src/assets/babs/32/Kontrollzentrum.svg new file mode 100644 index 00000000..c661267f --- /dev/null +++ b/ui/src/assets/babs/32/Kontrollzentrum.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Lawine.svg b/ui/src/assets/babs/32/Lawine.svg new file mode 100644 index 00000000..669193ad --- /dev/null +++ b/ui/src/assets/babs/32/Lawine.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Massenpanik.svg b/ui/src/assets/babs/32/Massenpanik.svg new file mode 100644 index 00000000..26f7dd40 --- /dev/null +++ b/ui/src/assets/babs/32/Massenpanik.svg @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Materialdepot.svg b/ui/src/assets/babs/32/Materialdepot.svg new file mode 100644 index 00000000..b82aadbd --- /dev/null +++ b/ui/src/assets/babs/32/Materialdepot.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/MobileEinsatzzentrale.svg b/ui/src/assets/babs/32/MobileEinsatzzentrale.svg new file mode 100644 index 00000000..42a2c480 --- /dev/null +++ b/ui/src/assets/babs/32/MobileEinsatzzentrale.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Obdachlose.svg b/ui/src/assets/babs/32/Obdachlose.svg new file mode 100644 index 00000000..3c4af213 --- /dev/null +++ b/ui/src/assets/babs/32/Obdachlose.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Oelverschmutzung.svg b/ui/src/assets/babs/32/Oelverschmutzung.svg new file mode 100644 index 00000000..33ea3a46 --- /dev/null +++ b/ui/src/assets/babs/32/Oelverschmutzung.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/OffizierZugfuehrer.svg b/ui/src/assets/babs/32/OffizierZugfuehrer.svg new file mode 100644 index 00000000..a699a47a --- /dev/null +++ b/ui/src/assets/babs/32/OffizierZugfuehrer.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Patientensammelstelle.svg b/ui/src/assets/babs/32/Patientensammelstelle.svg new file mode 100644 index 00000000..22c89b8f --- /dev/null +++ b/ui/src/assets/babs/32/Patientensammelstelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/PatternBeabsichtigteErkundung.svg b/ui/src/assets/babs/32/PatternBeabsichtigteErkundung.svg new file mode 100644 index 00000000..cd70fe01 --- /dev/null +++ b/ui/src/assets/babs/32/PatternBeabsichtigteErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/PatternBrandzone.svg b/ui/src/assets/babs/32/PatternBrandzone.svg new file mode 100644 index 00000000..31505c0b --- /dev/null +++ b/ui/src/assets/babs/32/PatternBrandzone.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/PatternLineBeabsichtigteErkundung.svg b/ui/src/assets/babs/32/PatternLineBeabsichtigteErkundung.svg new file mode 100644 index 00000000..a3c8bf4a --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineBeabsichtigteErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/PatternLineErkundung.svg b/ui/src/assets/babs/32/PatternLineErkundung.svg new file mode 100644 index 00000000..7c345e72 --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineErkundung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/PatternLineRettungsachse.svg b/ui/src/assets/babs/32/PatternLineRettungsachse.svg new file mode 100644 index 00000000..4e1bb365 --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineRettungsachse.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/PatternLineRutschgebiet.svg b/ui/src/assets/babs/32/PatternLineRutschgebiet.svg new file mode 100644 index 00000000..a503480b --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineRutschgebiet.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/PatternLineRutschgebietGespiegelt.svg b/ui/src/assets/babs/32/PatternLineRutschgebietGespiegelt.svg new file mode 100644 index 00000000..276308a3 --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineRutschgebietGespiegelt.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/PatternLineUnpassierbar.svg b/ui/src/assets/babs/32/PatternLineUnpassierbar.svg new file mode 100644 index 00000000..36153581 --- /dev/null +++ b/ui/src/assets/babs/32/PatternLineUnpassierbar.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/PatternZerstoert.svg b/ui/src/assets/babs/32/PatternZerstoert.svg new file mode 100644 index 00000000..cedaea63 --- /dev/null +++ b/ui/src/assets/babs/32/PatternZerstoert.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Pforte.svg b/ui/src/assets/babs/32/Pforte.svg new file mode 100644 index 00000000..e4d2ae94 --- /dev/null +++ b/ui/src/assets/babs/32/Pforte.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Pluenderung.svg b/ui/src/assets/babs/32/Pluenderung.svg new file mode 100644 index 00000000..c4a89034 --- /dev/null +++ b/ui/src/assets/babs/32/Pluenderung.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/RadioaktiveStoffe.svg b/ui/src/assets/babs/32/RadioaktiveStoffe.svg new file mode 100644 index 00000000..1969e584 --- /dev/null +++ b/ui/src/assets/babs/32/RadioaktiveStoffe.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/RegionalesFuehrungsorgan.svg b/ui/src/assets/babs/32/RegionalesFuehrungsorgan.svg new file mode 100644 index 00000000..0c84aec8 --- /dev/null +++ b/ui/src/assets/babs/32/RegionalesFuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/RettungsAchse.svg b/ui/src/assets/babs/32/RettungsAchse.svg new file mode 100644 index 00000000..831474f3 --- /dev/null +++ b/ui/src/assets/babs/32/RettungsAchse.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Rutschgebiet.svg b/ui/src/assets/babs/32/Rutschgebiet.svg new file mode 100644 index 00000000..d9389db5 --- /dev/null +++ b/ui/src/assets/babs/32/Rutschgebiet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Sabotage.svg b/ui/src/assets/babs/32/Sabotage.svg new file mode 100644 index 00000000..3dc01182 --- /dev/null +++ b/ui/src/assets/babs/32/Sabotage.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Sammelstelle.svg b/ui/src/assets/babs/32/Sammelstelle.svg new file mode 100644 index 00000000..09c6b0ed --- /dev/null +++ b/ui/src/assets/babs/32/Sammelstelle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Sanitaetshilfsstelle.svg b/ui/src/assets/babs/32/Sanitaetshilfsstelle.svg new file mode 100644 index 00000000..5282bb79 --- /dev/null +++ b/ui/src/assets/babs/32/Sanitaetshilfsstelle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Sanitaetsumladestelle.svg b/ui/src/assets/babs/32/Sanitaetsumladestelle.svg new file mode 100644 index 00000000..b3ec0b64 --- /dev/null +++ b/ui/src/assets/babs/32/Sanitaetsumladestelle.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Schadengebiet.svg b/ui/src/assets/babs/32/Schadengebiet.svg new file mode 100644 index 00000000..d28d396d --- /dev/null +++ b/ui/src/assets/babs/32/Schadengebiet.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Sperre.svg b/ui/src/assets/babs/32/Sperre.svg new file mode 100644 index 00000000..7e1b732d --- /dev/null +++ b/ui/src/assets/babs/32/Sperre.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/StandortmobileFuehrungsstelle.svg b/ui/src/assets/babs/32/StandortmobileFuehrungsstelle.svg new file mode 100644 index 00000000..41b00d38 --- /dev/null +++ b/ui/src/assets/babs/32/StandortmobileFuehrungsstelle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Starkniederschlag.svg b/ui/src/assets/babs/32/Starkniederschlag.svg new file mode 100644 index 00000000..3d39ca5b --- /dev/null +++ b/ui/src/assets/babs/32/Starkniederschlag.svg @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Stau.svg b/ui/src/assets/babs/32/Stau.svg new file mode 100644 index 00000000..cced949e --- /dev/null +++ b/ui/src/assets/babs/32/Stau.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Strerschwertbefahrbarbegehbar.svg b/ui/src/assets/babs/32/Strerschwertbefahrbarbegehbar.svg new file mode 100644 index 00000000..9dbeff50 --- /dev/null +++ b/ui/src/assets/babs/32/Strerschwertbefahrbarbegehbar.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Streugutsammelstelle.svg b/ui/src/assets/babs/32/Streugutsammelstelle.svg new file mode 100644 index 00000000..0af0c24b --- /dev/null +++ b/ui/src/assets/babs/32/Streugutsammelstelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/Strnichtbefahrbarschwerbegehbar.svg b/ui/src/assets/babs/32/Strnichtbefahrbarschwerbegehbar.svg new file mode 100644 index 00000000..febbd47d --- /dev/null +++ b/ui/src/assets/babs/32/Strnichtbefahrbarschwerbegehbar.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Strunpassierbargesperrt.svg b/ui/src/assets/babs/32/Strunpassierbargesperrt.svg new file mode 100644 index 00000000..294350d7 --- /dev/null +++ b/ui/src/assets/babs/32/Strunpassierbargesperrt.svg @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Stuetzpunkt.svg b/ui/src/assets/babs/32/Stuetzpunkt.svg new file mode 100644 index 00000000..48668777 --- /dev/null +++ b/ui/src/assets/babs/32/Stuetzpunkt.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Sturm.svg b/ui/src/assets/babs/32/Sturm.svg new file mode 100644 index 00000000..982fc9e8 --- /dev/null +++ b/ui/src/assets/babs/32/Sturm.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Tankloeschfahrzeug.svg b/ui/src/assets/babs/32/Tankloeschfahrzeug.svg new file mode 100644 index 00000000..83fa78b1 --- /dev/null +++ b/ui/src/assets/babs/32/Tankloeschfahrzeug.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Teilzerstoerung.svg b/ui/src/assets/babs/32/Teilzerstoerung.svg new file mode 100644 index 00000000..fad72401 --- /dev/null +++ b/ui/src/assets/babs/32/Teilzerstoerung.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Terroranschlag.svg b/ui/src/assets/babs/32/Terroranschlag.svg new file mode 100644 index 00000000..a6225bfa --- /dev/null +++ b/ui/src/assets/babs/32/Terroranschlag.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Tierseuche.svg b/ui/src/assets/babs/32/Tierseuche.svg new file mode 100644 index 00000000..211f313a --- /dev/null +++ b/ui/src/assets/babs/32/Tierseuche.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Totalzerstoerung.svg b/ui/src/assets/babs/32/Totalzerstoerung.svg new file mode 100644 index 00000000..2e90bff4 --- /dev/null +++ b/ui/src/assets/babs/32/Totalzerstoerung.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/ui/src/assets/babs/32/Tote.svg b/ui/src/assets/babs/32/Tote.svg new file mode 100644 index 00000000..503a59db --- /dev/null +++ b/ui/src/assets/babs/32/Tote.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Totensammelstelle.svg b/ui/src/assets/babs/32/Totensammelstelle.svg new file mode 100644 index 00000000..4d2fdf62 --- /dev/null +++ b/ui/src/assets/babs/32/Totensammelstelle.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Trinkwasserabgabestelle.svg b/ui/src/assets/babs/32/Trinkwasserabgabestelle.svg new file mode 100644 index 00000000..c51ff5bd --- /dev/null +++ b/ui/src/assets/babs/32/Trinkwasserabgabestelle.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/ui/src/assets/babs/32/TruemmerbereichSignatur.svg b/ui/src/assets/babs/32/TruemmerbereichSignatur.svg new file mode 100644 index 00000000..0a790cdc --- /dev/null +++ b/ui/src/assets/babs/32/TruemmerbereichSignatur.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Trupp.svg b/ui/src/assets/babs/32/Trupp.svg new file mode 100644 index 00000000..d4afeb94 --- /dev/null +++ b/ui/src/assets/babs/32/Trupp.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/UeberschwemmtesGebiet.svg b/ui/src/assets/babs/32/UeberschwemmtesGebiet.svg new file mode 100644 index 00000000..931bcb8e --- /dev/null +++ b/ui/src/assets/babs/32/UeberschwemmtesGebiet.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Ueberschwemmung.svg b/ui/src/assets/babs/32/Ueberschwemmung.svg new file mode 100644 index 00000000..e6e578e5 --- /dev/null +++ b/ui/src/assets/babs/32/Ueberschwemmung.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Ueberwachung.svg b/ui/src/assets/babs/32/Ueberwachung.svg new file mode 100644 index 00000000..681d7df5 --- /dev/null +++ b/ui/src/assets/babs/32/Ueberwachung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Umleitung.svg b/ui/src/assets/babs/32/Umleitung.svg new file mode 100644 index 00000000..a7799d6e --- /dev/null +++ b/ui/src/assets/babs/32/Umleitung.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Unfall.svg b/ui/src/assets/babs/32/Unfall.svg new file mode 100644 index 00000000..f0173c9e --- /dev/null +++ b/ui/src/assets/babs/32/Unfall.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Verkehrsposten.svg b/ui/src/assets/babs/32/Verkehrsposten.svg new file mode 100644 index 00000000..9c905f87 --- /dev/null +++ b/ui/src/assets/babs/32/Verkehrsposten.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/babs/32/Verletzte.svg b/ui/src/assets/babs/32/Verletzte.svg new file mode 100644 index 00000000..1c2f0ff4 --- /dev/null +++ b/ui/src/assets/babs/32/Verletzte.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Verletztennest.svg b/ui/src/assets/babs/32/Verletztennest.svg new file mode 100644 index 00000000..97d7ba58 --- /dev/null +++ b/ui/src/assets/babs/32/Verletztennest.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/ui/src/assets/babs/32/Vermisste.svg b/ui/src/assets/babs/32/Vermisste.svg new file mode 100644 index 00000000..c032b434 --- /dev/null +++ b/ui/src/assets/babs/32/Vermisste.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Verpflegungsabgabestelle.svg b/ui/src/assets/babs/32/Verpflegungsabgabestelle.svg new file mode 100644 index 00000000..946abb88 --- /dev/null +++ b/ui/src/assets/babs/32/Verpflegungsabgabestelle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/ui/src/assets/babs/32/Verschiebung.svg b/ui/src/assets/babs/32/Verschiebung.svg new file mode 100644 index 00000000..3eefb0e8 --- /dev/null +++ b/ui/src/assets/babs/32/Verschiebung.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ui/src/assets/babs/32/Wasservsgausfall.svg b/ui/src/assets/babs/32/Wasservsgausfall.svg new file mode 100644 index 00000000..a61fc8ad --- /dev/null +++ b/ui/src/assets/babs/32/Wasservsgausfall.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Wasserwerfer.svg b/ui/src/assets/babs/32/Wasserwerfer.svg new file mode 100644 index 00000000..d541c470 --- /dev/null +++ b/ui/src/assets/babs/32/Wasserwerfer.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/ZivilesFuehrungsorgan.svg b/ui/src/assets/babs/32/ZivilesFuehrungsorgan.svg new file mode 100644 index 00000000..b4c6f404 --- /dev/null +++ b/ui/src/assets/babs/32/ZivilesFuehrungsorgan.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/ui/src/assets/babs/32/Zug.svg b/ui/src/assets/babs/32/Zug.svg new file mode 100644 index 00000000..a9dc9de8 --- /dev/null +++ b/ui/src/assets/babs/32/Zug.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json index 11f87a00..514c1950 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte-imagery.vt.json @@ -1,10 +1,10 @@ { "version": 8, - "id": "18808082-340d-4827-9c35-a22244e6a16d", - "name": "imagerybasemap_v3.0.0", + "id": "0b8f7418-1dcb-48a2-aff6-57e2a9439ffc", + "name": "imagerybasemap_v1.15.0", "sources": { - "leichtebasiskarte_v3.0.1": { - "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.leichte-basiskarte.vt/v3.0.1/tiles.json", + "base_v1.0.0": { + "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.base.vt/v1.0.0/tiles.json", "type": "vector" }, "swissimage_wmts": { @@ -36,7 +36,7 @@ { "id": "water_line", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "waterway", "minzoom": 9.0, "layout": { @@ -224,15 +224,25 @@ "!=", "intermittent", 1 + ], + [ + "!in", + "class", + "riverbank", + "shoreline", + "shoreline_changing_level" ] ] }, { "id": "park", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "park", "minzoom": 7.0, + "layout": { + "visibility": "visible" + }, "paint": { "line-color": "rgba(112, 180, 70, 1)", "line-width": [ @@ -276,7 +286,7 @@ { "id": "boundary_disputed", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "boundary", "minzoom": 0.0, "layout": { @@ -286,7 +296,7 @@ }, "paint": { "line-blur": 1, - "line-color": "rgba(255, 0, 255, 1)", + "line-color": "hsl(318,65%,45%)", "line-width": [ "interpolate", [ @@ -337,7 +347,7 @@ ], 2, 16, - 10 + 7 ] ], "line-opacity": 0.4, @@ -374,7 +384,7 @@ { "id": "boundary", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "boundary", "minzoom": 0.0, "layout": { @@ -384,7 +394,7 @@ }, "paint": { "line-blur": 1, - "line-color": "rgba(188, 40, 144, 1)", + "line-color": "hsl(318,65%,45%)", "line-width": [ "interpolate", [ @@ -424,7 +434,7 @@ ], 2, 16, - 10 + 7 ] ], "line-opacity": 0.4 @@ -457,7 +467,7 @@ { "id": "tunnel_public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 8.0, "layout": { @@ -557,11 +567,11 @@ "stops": [ [ 12, - "rgba(240, 60, 60, 1)" + "rgba(170, 170, 170, 1)" ], [ 15, - "rgba(240, 80, 85, 1)" + "rgba(170, 170, 170, 1)" ] ] }, @@ -573,7 +583,18 @@ [ "zoom" ], - 8, + 9, + [ + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 10, [ "match", [ @@ -604,12 +625,24 @@ "yard", "siding" ], - 0.2, - 1 + 0, + 0.75 ], - 0.2 + 0.5 ], - 0.2 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0.5 + ] ], 14, [ @@ -618,6 +651,8 @@ "get", "class" ], + "transit", + 1, [ "rail" ], @@ -642,16 +677,24 @@ "yard", "siding" ], - 0.2, - 1.5 + 0, + 2 ], - 1.5 + 1 ], [ - "cable_car" - ], - 1.5, - 1 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -661,35 +704,22 @@ "class" ], [ - "rail" + "transit" ], + 1.5, [ "match", [ "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" + "service" ], [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1.5, - 2 + "yard", + "siding" ], + 1.5, 2 - ], - 1.5 + ] ] ], "line-opacity": [ @@ -774,9 +804,9 @@ { "id": "tunnel_road", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 7.0, + "minzoom": 8.0, "layout": { "line-cap": "butt", "line-join": "miter", @@ -898,55 +928,65 @@ [ "zoom" ], - 7, - [ - "literal", - 0 - ], 8, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary" + 5, + 10, + 99 ], 1, - 0 - ], - 9, - [ - "match", - [ - "get", - "class" - ], [ - "motorway", - "trunk", - "primary" - ], - 1.1, - 0 + "match", + [ + "get", + "ramp" + ], + 1, + 1, + 0 + ] ], 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary", - "secondary" + 5, + 6, + 7, + 8, + 10, + 99 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1.2, + [ + "primary", + "secondary", + "tertiary", + "minor" + ], + 1, + 0 ], - 1.2, 0 ], 11, @@ -954,33 +994,37 @@ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "secondary" + "is_route" ], - 1.3, - 0 - ], - 12, - [ - "match", [ - "get", - "class" + 5, + 6, + 7, + 8, + 10, + 99 ], [ - "motorway", - "trunk", - "primary", - "secondary", - "tertiary" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1.3, + [ + "primary", + "secondary", + "tertiary", + "minor" + ], + 1, + 0 ], - 1.4, - 0 + 0.25 ], 13, [ @@ -1054,26 +1098,34 @@ ] ], "line-offset": 0, - "line-opacity": { - "stops": [ - [ - 9, - 0 - ], - [ - 10, - 0.4 - ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + 0, + 9, + [ + "match", [ - 16, - 0.35 + "get", + "oneway" ], - [ - 17, - 0.25 - ] - ] - }, + 2, + 0, + 0.4 + ], + 10, + 0.6, + 15, + 0.35, + 16, + 0.25 + ], "line-dasharray": [ 6, 3 @@ -1091,11 +1143,24 @@ "class", "rail", "ferry", + "car_ferry", "transit", "cable_car", + "chair_lift", "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", "path", - "footway" + "footway", + "trail", + "rail", + "track", + "transit", + "via_ferrata", + "mask_terrain" ], [ "==", @@ -1107,7 +1172,7 @@ { "id": "tunnel_road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 6.0, "layout": { @@ -1138,11 +1203,11 @@ "line-opacity": { "stops": [ [ - 16, + 15, 0.4 ], [ - 17, + 16, 0.3 ] ] @@ -1178,7 +1243,7 @@ { "id": "road_via_ferrata", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 14.0, "layout": { @@ -1246,7 +1311,7 @@ { "id": "road_paths", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 13.0, "layout": { @@ -1287,11 +1352,11 @@ "line-opacity": { "stops": [ [ - 16, + 15, 0.35 ], [ - 17, + 16, 0.275 ] ] @@ -1337,7 +1402,7 @@ { "id": "road_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 8.0, "layout": { @@ -1381,395 +1446,721 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 0.5, - 2 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.5, + 2 + ], + [ + "trunk" + ], + 2, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.5, + 0 ] ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.25 + ], + [ + "trunk" + ], + 2.25, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.75, + 0 ] ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.75 + ], + [ + "trunk" + ], + 2.75, + "primary", + 2.5, + "secondary", + 2.5, + "tertiary", + 2, + [ + "minor", + "service" ], - 1, 1.5, - 3.75 - ], - [ - "trunk" + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 3.75, - 3.75 + 0.75, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 3.75, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "match", + [ + "get", + "ramp" + ], + 1, + 1.25, + 3.25 ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "trunk" ], 3.25, + "primary", + 3, + "secondary", + 3, + "tertiary", + 2.5, + [ + "minor", + "service" + ], + 1.75, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 2.25, + 1, + 1.25, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "minor", - "path", - "track", - "footway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3.75 + ], + [ + "trunk" + ], + 3.75, + "primary", + 4, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" ], 2, 0 ], - 0 + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 0 + ] ], 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.75, - 4.25 + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.5, + 2 ], + 11, [ - "trunk" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + "primary", + 3, + "secondary", + 2.75, + "tertiary", + 2.75, + [ + "minor", + "service" + ], + 2, + 2 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 4.25, - 4.25 - ], - [ - "primary" - ], - 4.25, - [ - "secondary" - ], - 3.75, - [ - "tertiary" - ], - 2.75, - [ - "minor" - ], - 1.75, - 0 + 1.75, + 0 + ] ], - 15, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 5, - 6.5 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway" ], - 1, - 6.5, - 7.5 - ], - [ - "primary" - ], - 7.5, - [ - "secondary" - ], - 6.5, - [ + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + [ + "trunk" + ], + 5.5, + "primary", + 5.5, + "secondary", + 5, "tertiary", - "rail" + 4, + [ + "minor", + "service" + ], + 3, + 2.5 ], - 5.5, [ - "minor" - ], - 3.5, - 2.5 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + "primary", + 3.5, + "secondary", + 3, + "tertiary", + 3, + [ + "minor", + "service" + ], + 2.5, + 2.5 + ] ], - 16, + 15, [ "match", [ "get", - "class" - ], - [ - "motorway" + "subclass" ], + "funicular", + 3, [ "match", [ "get", - "ramp" + "class" ], - 1, - 8.5, - 10.5 - ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 5, + 6.5 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 6.5, + 10.5 + ], + [ + "primary", + "primary_construction" + ], + 6.5, + [ + "secondary", + "secondary_construction" + ], + 5.5, + [ + "tertiary", + "tertiary_construction" + ], + 4.5, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 3.5, + [ + "rail", + "rail_construction" + ], + 5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 1.25, + 3 + ] + ], + 16, + [ + "match", [ - "trunk" + "get", + "subclass" ], + "funicular", + 6, [ "match", [ "get", - "oneway" + "class" ], - 1, - 10.5, - 13.5 - ], - [ - "primary" - ], - 13.5, - [ - "secondary" - ], - 11.5, - [ - "tertiary", - "rail" - ], - 9.5, - [ - "minor" - ], - 7.5, - 6.5 + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 8, + 10 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 10, + 13 + ], + [ + "primary", + "primary_construction" + ], + 10, + [ + "secondary", + "secondary_construction" + ], + 9, + [ + "tertiary", + "tertiary_construction" + ], + 8, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 7, + [ + "rail", + "rail_construction" + ], + 9.5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 6.5, + 6 + ] ], 20, [ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "rail" - ], - 117, - [ - "secondary" - ], - 112, - [ - "tertiary" + "subclass" ], - 107, + "funicular", + 20, [ - "minor" - ], - 97, - 92 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 112, + 126 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 126, + 136 + ], + [ + "primary", + "primary_construction" + ], + 117, + [ + "secondary", + "secondary_construction" + ], + 112, + [ + "tertiary", + "tertiary_construction" + ], + 107, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 97, + [ + "rail", + "rail_construction" + ], + 120, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 81, + 92 + ] ] ], "line-opacity": [ @@ -1784,22 +2175,10 @@ 8, 0, 9, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk" - ], - 0.3, - 0.4 - ], - 16, 0.3, - 17, + 15, + 0.2, + 16, [ "match", [ @@ -1830,17 +2209,23 @@ "class" ], [ - "ferry", "cable_car", "car_ferry", "chair_lift", + "ferry", "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", "path", "footway", "trail", "rail", "transit", - "via_ferrata" + "via_ferrata", + "mask_terrain" ], false, true @@ -1865,7 +2250,7 @@ { "id": "car_ferry", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 10.0, "layout": { @@ -1946,7 +2331,7 @@ { "id": "ferry", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 12.0, "layout": { @@ -2000,7 +2385,7 @@ { "id": "public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 9.0, "layout": { @@ -2016,98 +2401,163 @@ [ "zoom" ], - 8, + 14, + 0.6, + 18, + 0.4 + ], + "line-color": { + "stops": [ + [ + 12, + "rgba(238, 234, 234, 1)" + ], + [ + 15, + "rgba(116, 114, 114, 1)" + ] + ] + }, + "line-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 9, [ "match", [ "get", - "class" + "is_route" ], + 99, [ - "rail" + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 0 + ], + 10, + [ + "match", + [ + "get", + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" ], - 2.5, - 0.6 + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 0.75 + ], + 0.5 ], - 0.6 + 0.5 ], - 0.6 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0 + ] ], 14, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], + "transit", + 1, [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" ], - 2.5, - 0.6 + 2, + 1 ], - 0.6 - ], - 0.6 - ], - 18, - 0.4 - ], - "line-color": { - "stops": [ - [ - 12, - "rgba(240, 60, 60, 1)" + 0 ], [ - 15, - "rgba(240, 80, 85, 1)" + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 ] - ] - }, - "line-width": [ + ], + 16, + 0.5 + ], + "line-opacity": [ "interpolate", [ "linear" @@ -2116,6 +2566,21 @@ "zoom" ], 8, + 0, + 9, + [ + "match", + [ + "get", + "class" + ], + [ + "rail" + ], + 1, + 0 + ], + 12, [ "match", [ @@ -2134,7 +2599,8 @@ [ "rail", "narrow_gauge", - "rack_rail" + "rack_rail", + "funicular" ], [ "match", @@ -2146,14 +2612,14 @@ "yard", "siding" ], - 0.2, + 0, 1 ], - 0.2 + 0 ], - 0.2 + 0 ], - 14, + 13, [ "match", [ @@ -2172,7 +2638,8 @@ [ "rail", "narrow_gauge", - "rack_rail" + "rack_rail", + "funicular" ], [ "match", @@ -2184,18 +2651,14 @@ "yard", "siding" ], - 0.2, - 1.5 + 0, + 1 ], - 1.5 - ], - [ - "cable_car" + 0 ], - 1.5, 1 ], - 18, + 14, [ "match", [ @@ -2214,7 +2677,8 @@ [ "rail", "narrow_gauge", - "rack_rail" + "rack_rail", + "funicular" ], [ "match", @@ -2226,66 +2690,16 @@ "yard", "siding" ], - 1.5, - 2 + 0, + 1 ], - 2 - ], - 1.5 - ] - ], - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 9, - 0, - 10, - [ - "match", - [ - "get", - "service" - ], - [ - "siding" - ], - 0, - 1 - ], - 12, - [ - "match", - [ - "get", - "service" - ], - [ - "siding" - ], - 0, - 1 - ], - 13, - [ - "match", - [ - "get", - "service" - ], - [ - "siding" + 0 ], - 0, 1 ], + 15, + 1, 16, - 0.5, - 17, 0 ] }, @@ -2312,7 +2726,7 @@ { "id": "spot_elevation", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "spot_elevation", "minzoom": 14.0, "layout": { @@ -2416,85 +2830,40 @@ ] }, { - "id": "waterway_line_label", + "id": "boundary_canton_l_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "waterway", + "source": "base_v1.0.0", + "source-layer": "boundary", "minzoom": 13.0, "layout": { "text-font": [ - "B612 Italic" + "B612 Regular" ], "text-size": [ "interpolate", [ - "exponential", - 1.5 + "linear" ], [ "zoom" ], - 10, - 10.5, - 16, - [ - "match", - [ - "to-string", - [ - "get", - "width" - ] - ], - [ - "8", - "9", - "10" - ], - 16, - [ - "7", - "6", - "5" - ], - 15, - [ - "4", - "3" - ], - 14, - [ - "2", - "1" - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "river", - "canal" - ], - 18, - 14 - ] - ] + 13, + 11, + 18, + 14 ], "text-field": [ "get", - "name:latin" + "adm4_l" ], - "text-padding": 0, - "symbol-spacing": 650, - "symbol-z-order": "auto", - "text-max-width": 9999, - "symbol-placement": "line", - "text-keep-upright": true, - "text-allow-overlap": false, - "text-letter-spacing": [ + "visibility": "visible", + "text-offset": [ + 0, + 1 + ], + "text-justify": "center", + "text-padding": 0.01, + "symbol-spacing": [ "interpolate", [ "linear" @@ -2502,12 +2871,246 @@ [ "zoom" ], - 8, - 0.1, - 12, - [ - "match", - [ + 13, + 200, + 18, + 400 + ], + "text-max-angle": 30, + "text-transform": "uppercase", + "symbol-placement": "line", + "icon-keep-upright": false, + "text-keep-upright": true, + "text-allow-overlap": false, + "text-letter-spacing": 0.3, + "text-pitch-alignment": "auto", + "text-ignore-placement": true, + "text-rotation-alignment": "auto" + }, + "paint": { + "text-color": "hsl(300,90%,84%)", + "text-opacity": 0.9, + "text-halo-blur": 1, + "text-halo-color": "rgba(16, 16, 16, 1)", + "text-halo-width": 1.5, + "text-translate-anchor": "viewport" + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "admin_level" + ], + [ + 2, + 4 + ], + true, + false + ], + [ + "!=", + [ + "get", + "adm4_l" + ], + [ + "get", + "adm4_r" + ] + ] + ] + }, + { + "id": "boundary_canton_r_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "boundary", + "minzoom": 13.0, + "layout": { + "text-font": [ + "B612 Regular" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 11, + 18, + 14 + ], + "text-field": [ + "get", + "adm4_r" + ], + "visibility": "visible", + "text-offset": [ + 0, + -1 + ], + "text-justify": "center", + "text-padding": 0.01, + "symbol-spacing": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 13, + 200, + 18, + 400 + ], + "text-max-angle": 30, + "text-transform": "uppercase", + "symbol-placement": "line", + "icon-keep-upright": false, + "text-keep-upright": true, + "text-allow-overlap": false, + "text-letter-spacing": 0.3, + "text-pitch-alignment": "auto", + "text-ignore-placement": true, + "text-rotation-alignment": "auto" + }, + "paint": { + "text-color": "hsl(300,90%,84%)", + "text-opacity": 0.9, + "text-halo-blur": 1, + "text-halo-color": "rgba(16, 16, 16, 1)", + "text-halo-width": 1.5, + "text-translate-anchor": "viewport" + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "admin_level" + ], + [ + 2, + 4 + ], + true, + false + ], + [ + "!=", + [ + "get", + "adm4_l" + ], + [ + "get", + "adm4_r" + ] + ] + ] + }, + { + "id": "waterway_line_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "waterway", + "minzoom": 13.0, + "layout": { + "text-font": [ + "B612 Italic" + ], + "text-size": [ + "interpolate", + [ + "exponential", + 1.5 + ], + [ + "zoom" + ], + 10, + 10.5, + 16, + [ + "match", + [ + "to-string", + [ + "get", + "width" + ] + ], + [ + "8", + "9", + "10" + ], + 16, + [ + "7", + "6", + "5" + ], + 15, + [ + "4", + "3" + ], + 14, + [ + "2", + "1" + ], + 13, + [ + "match", + [ + "get", + "class" + ], + [ + "river", + "canal" + ], + 18, + 14 + ] + ] + ], + "text-field": [ + "get", + "name:latin" + ], + "visibility": "visible", + "text-padding": 0, + "symbol-spacing": 650, + "symbol-z-order": "auto", + "text-max-width": 9999, + "symbol-placement": "line", + "text-keep-upright": true, + "text-allow-overlap": false, + "text-letter-spacing": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + 0.1, + 12, + [ + "match", + [ "get", "class" ], @@ -2554,7 +3157,7 @@ { "id": "public_transportation_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation_name", "minzoom": 13.0, "layout": { @@ -2595,7 +3198,7 @@ "text-rotation-alignment": "map" }, "paint": { - "text-color": "rgba(255, 175, 180, 1)", + "text-color": "rgba(227, 227, 227, 1)", "text-halo-blur": 1, "text-halo-color": "rgba(32,32,32, 1)", "text-halo-width": [ @@ -2623,17 +3226,14 @@ "in", "class", "rail", - "transit", - "cable_car", - "gondola", - "chair_lift" + "transit" ] ] }, { "id": "transportation_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation_name", "minzoom": 13.0, "layout": { @@ -2750,45 +3350,44 @@ "!in", "class", "rail", + "ferry", + "car_ferry", "transit", "cable_car", + "chair_lift", "gondola", - "chair_lift" + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "rail", + "transit", + "via_ferrata", + "mask_terrain" ] ] }, { "id": "aerialway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 12.0, + "minzoom": 12, "layout": { - "line-cap": "butt", "visibility": "visible" }, "paint": { - "line-blur": { - "stops": [ - [ - 14, - 0.6 - ], - [ - 18, - 0.4 - ] - ] - }, + "line-blur": 0.25, "line-color": { "stops": [ [ - 12, - "rgba(240, 60, 60, 1)" + 7, + "rgba(156, 155, 155, 1)" ], [ 15, - "rgba(240, 80, 85, 1)" + "rgba(106, 105, 105, 1)" ] ] }, @@ -2801,7 +3400,7 @@ "zoom" ], 8, - 1, + 0.2, 14, [ "match", @@ -2812,8 +3411,8 @@ [ "cable_car" ], - 1.5, - 1 + 2, + 0.75 ], 18, [ @@ -2825,7 +3424,7 @@ [ "cable_car" ], - 2, + 4, 1.5 ] ], @@ -2837,10 +3436,37 @@ [ "zoom" ], + 12, + 0, + 13, + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car", + "gondola" + ], + 1, + 0 + ], 14, - 1, - 15, - 0.8 + [ + "match", + [ + "get", + "class" + ], + [ + "cable_car", + "gondola", + "chair_lift" + ], + 1, + 0 + ] ] }, "filter": [ @@ -2857,10 +3483,10 @@ { "id": "road_number", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation_name", - "minzoom": 11.0, - "maxzoom": 24.0, + "minzoom": 13.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -2942,7 +3568,7 @@ { "id": "area_name_glacier_point_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 14.0, "layout": { @@ -2963,6 +3589,7 @@ 20 ], "text-field": "{name:latin}", + "visibility": "visible", "symbol-spacing": { "stops": [ [ @@ -3009,775 +3636,86 @@ { "id": "area_name_glacier_line_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 12.0, "layout": { "text-font": [ "B612 Italic" ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 10, - 11, - 16, - 20 - ], - "text-field": "{name:latin}", - "symbol-spacing": { - "stops": [ - [ - 12, - 250 - ], - [ - 13, - 950 - ] - ] - }, - "symbol-z-order": "auto", - "text-max-width": 99999, - "symbol-placement": "line-center", - "text-keep-upright": true, - "symbol-avoid-edges": true, - "text-allow-overlap": false, - "text-letter-spacing": { - "stops": [ - [ - 10, - 0.15 - ], - [ - 12, - 0.3 - ] - ] - }, - "text-pitch-alignment": "map", - "text-ignore-placement": false, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgba(175, 220, 255,1)", - "text-halo-blur": 1, - "text-halo-color": "rgba(16, 16, 16, 1)", - "text-halo-width": 1 - }, - "filter": [ - "all", - [ - "==", - "$type", - "LineString" - ], - [ - "in", - "subclass", - "glacier" - ] - ] - }, - { - "id": "poi_rank3", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "poi", - "minzoom": 15.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 12, - 18, - 16 - ], - "icon-image": [ - "match", - [ - "get", - "subclass" - ], - [ - "tram_stop", - "bus_stop", - "elevator", - "halt", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "subway_entrance", - "subway_stop" - ], - "dot_red", - "waterfall", - "waterfall_blue", - "observation_tower", - "observation_tower_white", - [ - "survey_point", - "surveying_pyramid" - ], - "dot_black_4", - "" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "icon-rotate": [ - "to-number", - [ - "get", - "direction" - ] - ], - "text-anchor": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "elevator", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "subway_entrance", - "subway_stop", - "survey_point", - "surveying_pyramid" - ], - "bottom-left", - [ - "driving_centre", - "waterfall", - "observation_tower", - "stone_1", - "stone_2", - "stone_3", - "stone_4", - "stone_5" - ], - "left", - "center" - ], - "text-offset": [ - "match", - [ - "get", - "subclass" - ], - "observation_tower", - [ - "literal", - [ - 0.5, - 0.2 - ] - ], - "waterfall", - [ - "literal", - [ - 0.5, - 0.1 - ] - ], - [ - "literal", - [ - 0.4, - 0.1 - ] - ] - ], - "text-justify": "left", - "text-padding": 2, - "icon-optional": false, - "text-optional": false, - "text-max-width": 10, - "icon-allow-overlap": false, - "text-letter-spacing": 0.03, - "icon-ignore-placement": false, - "icon-rotation-alignment": "map" - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "elevator", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "subway_entrance", - "subway_stop" - ], - "rgba(255, 175, 180, 1)", - "waterfall", - "rgba(150, 220, 255,1)", - "rgba(255, 255, 250, 1)" - ], - "icon-opacity": [ - "step", - [ - "zoom" - ], - 0, - 15, - [ - "case", - [ - "has", - "name" - ], - 1, - 0 - ] - ], - "text-opacity": [ - "step", - [ - "zoom" - ], - 0, - 15, - [ - "match", - [ - "get", - "subclass" - ], - [ - "monument", - "stone_1", - "stone_2", - "stone_3", - "stone_4", - "stone_5", - "tower" - ], - 0, - 1 - ], - 16, - [ - "match", - [ - "get", - "class" - ], - [ - "monument", - "stone" - ], - 0, - 1 - ], - 17, - 1 - ], - "text-halo-blur": 1, - "text-halo-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "elevator", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "subway_entrance", - "subway_stop" - ], - "rgba(32, 32, 32, 1)", - "rgba(48, 48, 48, 1)" - ], - "text-halo-width": 2 - }, - "filter": [ - "all", - [ - "match", - [ - "get", - "class" - ], - [ - "allottments", - "attraction", - "aerialway", - "bus", - "building", - "cave", - "elevator", - "entrance", - "garden", - "monument", - "museum", - "place_of_worship", - "railway", - "survey_point", - "stone", - "tower", - "wastewater_plant", - "waterfall" - ], - true, - false - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "allottments", - "attraction", - "cave", - "building", - "bus_stop", - "cable_car_station", - "chair_lift_station", - "driving_centre", - "elevator", - "garden", - "gondola_station", - "halt", - "monument", - "museum", - "observation_tower", - "aerialway_station", - "stone_1", - "stone_2", - "stone_3", - "stone_4", - "stone_5", - "subway_entrance", - "subway_stop", - "survey_point", - "surveying_pyramid", - "tram_stop", - "tower", - "wastewater_plant", - "waterfall", - "" - ], - true, - false - ] - ] - }, - { - "id": "poi_rank2", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "poi", - "minzoom": 13.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 12, - 18, - 16 - ], - "icon-image": [ - "match", - [ - "get", - "subclass" - ], - [ - "camp_site", - "caravan_site" - ], - "camping_white", - [ - "golf_course", - "golf" - ], - "golf_white", - [ - "ferry", - "car_ferry", - "ferry_terminal" - ], - "dot_blue", - "funicular_stop", - "dot_red", - "observation", - "observation_tower_white", - "wind_turbine", - "windturbine_white", - "communications_tower", - "communications_tower_white", - "" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "icon-offset": [ - 0, - 0 - ], - "text-anchor": [ - "match", - [ - "get", - "class" - ], - [ - "monastery", - "lodging" - ], - "left", - [ - "match", - [ - "get", - "subclass" - ], - [ - "caravan_site", - "camp_site", - "golf_course", - "golf", - "communications_tower", - "observation" - ], - "left", - [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop" - ], - "bottom-left", - "center" - ] - ], - "text-offset": [ - "match", - [ - "get", - "subclass" - ], - [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop" - ], - [ - "literal", - [ - 0.4, - 0.1 - ] - ], - [ - "literal", - [ - 0.8, - 0.1 - ] - ] - ], - "text-justify": "left", - "icon-optional": false, - "text-optional": true, - "text-max-width": 10, - "icon-allow-overlap": false, - "text-letter-spacing": [ - "match", - [ - "get", - "class" - ], - [ - "park", - "attraction" - ], - 0.05, - 0.03 - ], - "icon-ignore-placement": false - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "ferry", - "car_ferry", - "ferry_terminal", - "weir" - ], - "rgba(150, 220, 255,1)", - "funicular_stop", - "rgba(255, 175, 180, 1)", - "rgba(255, 255, 250, 1)" - ], - "icon-opacity": [ - "step", - [ - "zoom" - ], - 0, - 14, - [ - "match", - [ - "get", - "subclass" - ], - [ - "wind_turbine", - "caravan_site", - "camp_site", - "communications_tower", - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop", - "golf_course", - "golf", - "observation", - "cemetery", - "stadium", - "park" - ], - 1, - 0 - ], - 16, - 1 - ], - "text-opacity": [ - "step", - [ - "zoom" - ], - 0, - 14, - [ - "match", - [ - "get", - "class" - ], - [ - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "ruins", - "stadium", - "park", - "pitch" - ], - 1, - 0 - ], - 15, - [ - "match", - [ - "get", - "class" - ], - [ - "campsite", - "ferry", - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "stadium", - "park", - "pitch", - "place_of_worship", - "ruins", - "sports_centre", - "zoo" - ], - 1, - 0 - ], - 16, - [ - "match", - [ - "get", - "class" - ], - [ - "campsite", - "dam", - "ferry_terminal", - "fuel", - "funicular", - "golf", - "golf_course", - "horse_racing", - "lodging", - "cemetery", - "stadium", - "military", - "park", - "pitch", - "place_of_worship", - "power", - "ruins", - "sports_centre", - "tower", - "zoo" - ], - 1, - 0 - ], - 17, - 1 - ], - "text-halo-blur": 1, - "text-halo-color": [ - "match", + "text-size": [ + "interpolate", [ - "get", - "subclass" + "linear" ], [ - "funicular_stop" + "zoom" ], - "rgba(32,32,32, 1)", - "rgba(48, 48, 48, 1)" + 10, + 11, + 16, + 20 ], - "text-halo-width": 2 + "text-field": "{name:latin}", + "visibility": "visible", + "symbol-spacing": { + "stops": [ + [ + 12, + 250 + ], + [ + 13, + 950 + ] + ] + }, + "symbol-z-order": "auto", + "text-max-width": 99999, + "symbol-placement": "line-center", + "text-keep-upright": true, + "symbol-avoid-edges": true, + "text-allow-overlap": false, + "text-letter-spacing": { + "stops": [ + [ + 10, + 0.15 + ], + [ + 12, + 0.3 + ] + ] + }, + "text-pitch-alignment": "map", + "text-ignore-placement": false, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgba(175, 220, 255,1)", + "text-halo-blur": 1, + "text-halo-color": "rgba(16, 16, 16, 1)", + "text-halo-width": 1 }, "filter": [ - "any", - [ - "match", - [ - "get", - "subclass" - ], - [ - "observatory", - "tower", - "communications_tower" - ], - true, - false - ], + "all", [ - "match", - [ - "get", - "class" - ], - [ - "antenna_area", - "cemetery", - "college", - "ferry_terminal", - "funicular", - "attraction", - "fuel", - "golf", - "golf_course", - "horse_racing", - "lock", - "lodging", - "military", - "monastery", - "park", - "pitch", - "prison", - "ruins", - "school", - "sports_centre", - "stadium", - "swimming_pool", - "university", - "power", - "weir", - "zoo" - ], - true, - false + "==", + "$type", + "LineString" ], [ - "match", - [ - "get", - "subclass" - ], - "camp_site", - true, - false + "in", + "subclass", + "glacier" ] ] }, { "id": "poi_rank1", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "poi", "minzoom": 14.0, "layout": { @@ -3823,7 +3761,7 @@ "subclass" ], "railway_station", - "square_red", + "circle_dark_grey_6", "castle", "castle_white", "hospital", @@ -3888,16 +3826,7 @@ "text-letter-spacing": 0.03 }, "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - "railway_station", - "rgba(255, 175, 180, 1)", - "rgba(255, 255, 250, 1)" - ], + "text-color": "rgba(240, 240, 240, 1)", "icon-opacity": [ "step", [ @@ -3995,14 +3924,14 @@ { "id": "place_other", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 11.0, "maxzoom": 17.0, "layout": { "icon-size": 1, "text-font": [ - "B612 Regular" + "B612 Bold" ], "text-size": [ "interpolate", @@ -4167,10 +4096,10 @@ { "id": "peaks_other", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 15.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4355,10 +4284,10 @@ { "id": "peaks_rank5+", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 13.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4536,10 +4465,10 @@ { "id": "peaks_rank4", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 12.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4717,10 +4646,10 @@ { "id": "peaks_rank3", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 11.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4859,8 +4788,74 @@ }, "paint": { "text-color": "rgba(255, 255, 248, 1)", - "icon-opacity": 1, - "text-opacity": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-width": 0, @@ -4898,10 +4893,10 @@ { "id": "peaks_rank2", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 10.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -4995,53 +4990,119 @@ "get", "name:latin" ], - {}, - "\n", - {}, + {}, + "\n", + {}, + [ + "get", + "ele" + ], + { + "font-scale": 0.75 + } + ], + "visibility": "visible", + "icon-anchor": "center", + "icon-offset": [ + 0, + 0 + ], + "text-anchor": "bottom-left", + "text-offset": [ + 0, + 0 + ], + "icon-padding": 0, + "text-justify": "auto", + "text-padding": 2, + "icon-optional": false, + "text-optional": false, + "symbol-z-order": [ + "literal", + "auto" + ], + "text-max-width": 8, + "symbol-placement": "point", + "text-line-height": 1.15, + "icon-allow-overlap": false, + "text-allow-overlap": false, + "text-radial-offset": 0.3, + "text-letter-spacing": 0.025, + "icon-pitch-alignment": "auto", + "icon-ignore-placement": false, + "text-ignore-placement": false, + "icon-rotation-alignment": "auto" + }, + "paint": { + "text-color": "rgba(255, 255, 248, 1)", + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, [ - "get", - "ele" + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 ], - { - "font-scale": 0.75 - } - ], - "visibility": "visible", - "icon-anchor": "center", - "icon-offset": [ - 0, - 0 - ], - "text-anchor": "bottom-left", - "text-offset": [ - 0, - 0 - ], - "icon-padding": 0, - "text-justify": "auto", - "text-padding": 2, - "icon-optional": false, - "text-optional": false, - "symbol-z-order": [ - "literal", - "auto" + 12, + 1 ], - "text-max-width": 8, - "symbol-placement": "point", - "text-line-height": 1.15, - "icon-allow-overlap": false, - "text-allow-overlap": false, - "text-radial-offset": 0.3, - "text-letter-spacing": 0.025, - "icon-pitch-alignment": "auto", - "icon-ignore-placement": false, - "text-ignore-placement": false, - "icon-rotation-alignment": "auto" - }, - "paint": { - "text-color": "rgba(255, 255, 248, 1)", - "icon-opacity": 1, - "text-opacity": 1, "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-color": "rgba(0, 0, 0, 0)", @@ -5080,14 +5141,14 @@ { "id": "place_hamlet_isolated_dwelling", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", - "minzoom": 11.0, + "minzoom": 12.0, "maxzoom": 17.0, "layout": { "icon-size": 1, "text-font": [ - "B612 Regular" + "B612 Bold" ], "text-size": [ "interpolate", @@ -5280,10 +5341,10 @@ { "id": "place_country_exclave", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 11.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "text-font": [ "B612 Bold" @@ -5312,8 +5373,8 @@ "text-letter-spacing": 0.12 }, "paint": { - "text-color": "rgba(255, 147, 255, 0.9)", - "text-opacity": 1, + "text-color": "hsl(300,90%,80%)", + "text-opacity": 0.9, "text-halo-blur": 1, "text-halo-color": "rgba(16, 16, 16, 1)", "text-halo-width": 1 @@ -5336,14 +5397,14 @@ { "id": "place_village", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 7.0, "maxzoom": 16.0, "layout": { "icon-size": 1, "text-font": [ - "B612 Regular" + "B612 Bold" ], "text-size": [ "interpolate", @@ -5355,99 +5416,249 @@ 1 ], [ - "zoom" + "zoom" + ], + 4, + [ + "case", + [ + "<=", + 3000, + [ + "get", + "population" + ] + ], + 12, + 10 + ], + 16, + [ + "case", + [ + "<=", + 3000, + [ + "get", + "population" + ] + ], + 26, + 24 + ] + ], + "icon-image": [ + "step", + [ + "zoom" + ], + "circle_black_4", + 6, + "circle_black_4", + 8, + "circle_black_6", + 10, + "circle_black_8", + 12, + "circle_black_10" + ], + "text-field": [ + "get", + "name:latin" + ], + "visibility": "visible", + "text-anchor": [ + "literal", + "bottom-left" + ], + "text-offset": [ + "literal", + [ + 0.4, + 0.2 + ] + ], + "text-justify": "auto", + "text-padding": 20, + "icon-optional": false, + "text-optional": false, + "symbol-z-order": [ + "literal", + "auto" + ], + "text-max-width": 10, + "text-transform": "none", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-letter-spacing": 0.03 + }, + "paint": { + "text-color": "rgba(255, 255, 250, 1)", + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 7, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ], + 8, + [ + "case", + [ + ">", + 14, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 9, + [ + "case", + [ + ">", + 15, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 10, + [ + "case", + [ + ">", + 18, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 11, + [ + "case", + [ + ">", + 28, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 12, + 1, + 13, + 0 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 7, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ], + 8, + [ + "case", + [ + ">", + 14, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 9, + [ + "case", + [ + ">", + 15, + [ + "get", + "rank" + ] + ], + 1, + 0 ], - 4, + 10, [ "case", [ - "<=", - 3000, + ">", + 18, [ "get", - "population" + "rank" ] ], - 12, - 10 + 1, + 0 ], - 16, + 11, [ "case", [ - "<=", - 3000, + ">", + 28, [ "get", - "population" + "rank" ] ], - 26, - 24 - ] - ], - "icon-image": [ - "step", - [ - "zoom" + 1, + 0 ], - "circle_black_4", - 6, - "circle_black_4", - 8, - "circle_black_6", - 10, - "circle_black_8", 12, - "circle_black_10" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "text-anchor": [ - "literal", - "bottom-left" - ], - "text-offset": [ - "literal", - [ - 0.4, - 0.2 - ] - ], - "text-justify": "auto", - "text-padding": 20, - "icon-optional": false, - "text-optional": false, - "symbol-z-order": [ - "literal", - "auto" - ], - "text-max-width": 10, - "text-transform": "none", - "symbol-sort-key": [ - "to-number", - [ - "get", - "rank" - ] - ], - "text-letter-spacing": 0.03 - }, - "paint": { - "text-color": "rgba(255, 255, 250, 1)", - "icon-opacity": [ - "step", - [ - "zoom" - ], - 1, - 13, - 0 + 1 ], - "text-opacity": 1, "text-halo-blur": 1, "text-halo-color": "rgba(48, 48, 48, 1)", "text-halo-width": 1.5 @@ -5464,10 +5675,10 @@ { "id": "peaks_rank1", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 9.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -5626,7 +5837,29 @@ 10, 1 ], - "text-opacity": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 9, + [ + "case", + [ + "<=", + 3200, + [ + "get", + "ele" + ] + ], + 1, + 0 + ], + 10, + 1 + ], "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-color": "rgba(255, 255, 255, 1)", @@ -5665,7 +5898,7 @@ { "id": "aerodrome_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aerodrome_label", "minzoom": 11.0, "layout": { @@ -5740,6 +5973,7 @@ "get", "name:latin" ], + "visibility": "visible", "icon-anchor": "center", "text-anchor": "left", "text-offset": [ @@ -5771,10 +6005,51 @@ "paint": { "text-color": "rgba(255, 255, 250, 1)", "icon-opacity": [ - "literal", + "step", + [ + "zoom" + ], + 0, + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 12, 1 ], - "text-opacity": 1, "text-halo-blur": 1, "icon-halo-width": 0, "text-halo-color": "rgba(48, 48, 48, 1)", @@ -5804,7 +6079,7 @@ { "id": "place_town", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 6.0, "maxzoom": 15.0, @@ -5911,11 +6186,73 @@ [ "zoom" ], + 0, + 6, + [ + "case", + [ + ">", + 10, + [ + "get", + "rank" + ] + ], + 1, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ] + ], + 8, 1, 12, 0 ], - "text-opacity": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 6, + [ + "case", + [ + ">", + 10, + [ + "get", + "rank" + ] + ], + 1, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ] + ], + 8, + 1 + ], "text-halo-blur": 1, "text-halo-color": "rgba(48, 48, 48, 1)", "text-halo-width": 1.5 @@ -5932,10 +6269,10 @@ { "id": "water_name_point_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "water_name", "minzoom": 7.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "text-font": [ "B612 Italic" @@ -6317,7 +6654,7 @@ { "id": "park_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "park", "minzoom": 8.0, "maxzoom": 18.0, @@ -6343,6 +6680,7 @@ 28 ], "text-field": "{name:latin}", + "visibility": "visible", "text-padding": [ "interpolate", [ @@ -6384,7 +6722,7 @@ { "id": "area_name_massif_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 11.0, "layout": { @@ -6405,6 +6743,7 @@ 23 ], "text-field": "{name:latin}", + "visibility": "visible", "symbol-spacing": { "stops": [ [ @@ -6464,7 +6803,7 @@ { "id": "place_city", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 2.0, "maxzoom": 13.0, @@ -6565,14 +6904,136 @@ } ], "metadata": { - "maputnik:renderer": "mbgljs", - "openmaptiles:version": "3.x", - "ga:version": "v1.13.0", - "ga:publisher": "CI:ac3e99d6-5d72-4d5b-9d12-59f8c5af5468", + "maptiler:template": { + "groups": [ + { + "id": "HTRhC5uNor6RDy5nPccLk", + "icon": "variant2", + "name": "label", + "layers": [ + "place_city", + "area_name_massif_label", + "park_label", + "water_name_point_label", + "place_town", + "aerodrome_label", + "place_village", + "place_country_exclave", + "place_hamlet_isolated_dwelling", + "place_other", + "area_name_glacier_line_label", + "area_name_glacier_point_label" + ] + }, + { + "id": "UZ5NoGREoXyWMKvxy0_c3", + "icon": "poi", + "name": "poi", + "layers": [ + "poi_rank1" + ] + }, + { + "id": "nY2FkLbFM-XVY_uuMY6kP", + "icon": "terrain", + "name": "mountain_peak", + "layers": [ + "peaks_rank1", + "peaks_rank2", + "peaks_rank3", + "peaks_rank4", + "peaks_rank5+", + "peaks_other" + ] + }, + { + "id": "rC9bGjQLn98NdUCE2ObLc", + "icon": "transport", + "name": "transportation", + "layers": [ + "ferry", + "car_ferry", + "public_transport", + "road_fill", + "road_paths", + "road_via_ferrata", + "tunnel_road_path_footway", + "tunnel_road", + "tunnel_public_transport", + "road_number", + "public_transportation_label", + "aerialway", + "transportation_label" + ] + }, + { + "id": "administrative", + "icon": "administrative", + "name": "boundary", + "layers": [ + "boundary_canton_l_label", + "boundary_canton_r_label", + "boundary", + "boundary_disputed", + "park" + ] + }, + { + "id": "38biI46S8IApkhroETSU0", + "icon": "terrain", + "name": "terrain", + "layers": [ + "spot_elevation" + ] + }, + { + "id": "rwXlmJdxx8aLmg8LxrDO7", + "icon": "water", + "name": "water", + "layers": [ + "water_line", + "waterway_line_label" + ] + }, + { + "id": "background", + "icon": "background", + "name": "Background", + "layers": [ + "background" + ] + } + ], + "viewState": { + "mapType": "Style", + "activeBlock": "rC9bGjQLn98NdUCE2ObLc", + "toolPanelType": "Layers", + "selectedLayers": [ + "tunnel_road" + ], + "propertyPanelType": "Edit", + "editorFocusProperty": null, + "layersViewPanelType": "Verticality" + }, + "userSettings": { + "preferredViewPanelType": "Verticality" + } + }, + "ga:version": "v1.17.0", + "ga:publisher": "CI:597e6ccf-63c7-4a22-9279-940877bf6866", "ga:branch": "master" }, "glyphs": "/map/fonts/{fontstack}/{range}.pbf", - "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.leichte-basiskarte-imagery.vt/sprite/sprite", + "sprite": [ + { + "id": "default", + "url": "/map/sprites/imagery" + }, + { + "id": "babs", + "url": "/map/sprites/babs" + } + ], "bearing": 0.0, "pitch": 0.0, "center": [ diff --git a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json index eab639bd..97d1dae8 100644 --- a/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json +++ b/ui/src/assets/map/styles/ch.swisstopo.leichte-basiskarte.vt.json @@ -1,14 +1,14 @@ { "version": 8, - "id": "f101c24c-3cbe-4c43-9ede-e09d7b28c858", - "name": "lightbasemap_v3.0.0", + "id": "7ddfe552-9888-40f8-97ce-c21cbf83d5c8", + "name": "lightbasemap_v1.15.0", "sources": { "terrain_v1.0.0": { "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.relief.vt/v1.0.0/tiles.json", "type": "vector" }, - "leichtebasiskarte_v3.0.1": { - "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.leichte-basiskarte.vt/v3.0.1/tiles.json", + "base_v1.0.0": { + "url": "https://vectortiles.geo.admin.ch/tiles/ch.swisstopo.base.vt/v1.0.0/tiles.json", "type": "vector" } }, @@ -311,7 +311,7 @@ { "id": "contour_line", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 13.0, "layout": { @@ -586,7 +586,7 @@ { "id": "landcover", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 5.0, "layout": { @@ -740,7 +740,7 @@ { "id": "landcover_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 10.0, "layout": { @@ -796,10 +796,54 @@ ] ] }, + { + "id": "landcover_pt", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "landcover_pt", + "minzoom": 14, + "layout": { + "icon-size": [ + "interpolate", + [ + "exponential", + 1.6 + ], + [ + "zoom" + ], + 14, + 0.2, + 18, + 1 + ], + "text-font": [], + "icon-image": "dot_green", + "visibility": "visible", + "icon-allow-overlap": false, + "icon-pitch-alignment": "map", + "icon-ignore-placement": false, + "icon-rotation-alignment": "map" + }, + "paint": { + "icon-opacity": { + "stops": [ + [ + 14, + 0.4 + ], + [ + 18, + 0.6 + ] + ] + } + } + }, { "id": "landuse", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landuse", "layout": { "visibility": "visible" @@ -860,7 +904,7 @@ { "id": "landuse_outline", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landuse", "layout": { "visibility": "visible" @@ -919,7 +963,7 @@ { "id": "water_line_intermittent", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "waterway", "minzoom": 12.0, "layout": { @@ -1131,7 +1175,7 @@ { "id": "water_line", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "waterway", "minzoom": 7.0, "layout": { @@ -1360,13 +1404,20 @@ "!=", "intermittent", 1 + ], + [ + "!in", + "class", + "riverbank", + "shoreline", + "shoreline_changing_level" ] ] }, { "id": "water_polygon", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "water", "layout": { "visibility": "visible" @@ -1428,7 +1479,7 @@ { "id": "contour_line_water", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 13.0, "layout": { @@ -1683,7 +1734,7 @@ { "id": "label_contour_line_20_grey", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 16.0, "layout": { @@ -1826,7 +1877,7 @@ { "id": "label_contour_line_20_blue", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 16.0, "layout": { @@ -1970,7 +2021,7 @@ { "id": "label_contour_line_20_brown", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 16.0, "layout": { @@ -2113,7 +2164,7 @@ { "id": "label_contour_line_100_grey", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 14.0, "layout": { @@ -2265,7 +2316,7 @@ { "id": "label_contour_line_100_blue", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 14.0, "layout": { @@ -2418,7 +2469,7 @@ { "id": "label_contour_line_100_brown", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "contour_line", "minzoom": 14.0, "layout": { @@ -2570,7 +2621,7 @@ { "id": "water_outline", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "water", "layout": { "visibility": "visible" @@ -2608,9 +2659,12 @@ { "id": "pattern_landcover_vineyard", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "fill-opacity": [ "interpolate", @@ -2642,9 +2696,12 @@ { "id": "pattern_landcover_wetlands", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "fill-color": "#000000", "fill-opacity": [ @@ -2678,9 +2735,12 @@ { "id": "pattern_landcover_orchard", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landcover", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "fill-opacity": [ "interpolate", @@ -2712,9 +2772,12 @@ { "id": "park", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "park", "minzoom": 7.0, + "layout": { + "visibility": "visible" + }, "paint": { "line-color": "rgba(171, 197, 159, 1)", "line-width": [ @@ -2763,7 +2826,7 @@ { "id": "boundary_disputed", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "boundary", "minzoom": 0.0, "layout": { @@ -2883,7 +2946,7 @@ { "id": "boundary", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "boundary", "minzoom": 0.0, "layout": { @@ -3005,9 +3068,9 @@ { "id": "tunnel_public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 8.0, + "minzoom": 8, "layout": { "line-cap": "butt", "line-join": "miter", @@ -3105,11 +3168,11 @@ "stops": [ [ 7, - "rgba(255, 50, 50, 1)" + "rgba(170, 170, 170, 1)" ], [ 15, - "rgba(255, 80, 80, 1)" + "rgba(170, 170, 170, 1)" ] ] }, @@ -3121,7 +3184,18 @@ [ "zoom" ], - 8, + 9, + [ + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 10, [ "match", [ @@ -3152,12 +3226,24 @@ "yard", "siding" ], - 0.2, + 0, 0.75 ], - 0.2 + 0.5 ], - 0.2 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0.5 + ] ], 14, [ @@ -3166,6 +3252,8 @@ "get", "class" ], + "transit", + 1, [ "rail" ], @@ -3190,16 +3278,24 @@ "yard", "siding" ], - 0.1, - 1.25 + 0, + 2 ], 1 ], [ - "cable_car" - ], - 1, - 0.75 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -3209,39 +3305,22 @@ "class" ], [ - "rail" + "transit" ], + 1.5, [ "match", [ "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" + "service" ], [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1, - 2 + "yard", + "siding" ], + 1.5, 2 - ], - [ - "cable_car" - ], - 2, - 1.5 + ] ] ], "line-opacity": [ @@ -3259,12 +3338,21 @@ "match", [ "get", - "class" + "is_route" ], + 99, [ - "rail" + "match", + [ + "get", + "class" + ], + [ + "rail" + ], + 0.8, + 0 ], - 0.8, 0 ], 13, @@ -3374,9 +3462,9 @@ { "id": "tunnel_road", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 7.0, + "minzoom": 7, "layout": { "line-cap": "butt", "line-join": "miter", @@ -3392,63 +3480,129 @@ "zoom" ], 7, + 3, + 8, + 0.4 + ], + "line-color": { + "stops": [ + [ + 6, + "rgba(170, 170, 170, 1)" + ], + [ + 11, + "rgba(130, 130, 130, 1)" + ] + ] + }, + "line-width": [ + "interpolate", [ - "literal", - 2 + "linear" ], - 8, [ - "literal", - 1 + "zoom" ], - 9, + 8, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary" + 5, + 10, + 99 ], - 0.4, - 3 + 1, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1, + 0 + ] ], 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary", - "secondary" + 5, + 6, + 7, + 8, + 10, + 99 ], - 0.4, - 3 + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1.2, + [ + "primary", + "secondary", + "tertiary", + "minor" + ], + 1, + 0 + ], + 0 ], 11, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway", - "trunk", - "primary", - "secondary" + 5, + 6, + 7, + 8, + 10, + 99 ], - 0.4, - 3 + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + 1.3, + [ + "primary", + "secondary", + "tertiary", + "minor" + ], + 1, + 0 + ], + 0.25 ], - 12, + 13, [ "match", [ @@ -3457,112 +3611,7 @@ ], [ "motorway", - "trunk", - "primary", - "secondary", - "tertiary" - ], - 0.4, - 3 - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "secondary", - "tertiary" - ], - 0.4, - [ - "minor" - ], - 1, - 3 - ], - 15, - 0.4 - ], - "line-color": { - "stops": [ - [ - 6, - "rgba(170, 170, 170, 1)" - ], - [ - 11, - "rgba(130, 130, 130, 1)" - ] - ] - }, - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - 1, - 10, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk" - ], - 1.2, - [ - "primary", - "secondary", - "tertiary", - "minor" - ], - 1, - 0 - ], - 11, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk" - ], - 1.3, - [ - "primary", - "secondary", - "tertiary", - "minor" - ], - 1, - 0 - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk" + "trunk" ], 1.5, [ @@ -3688,10 +3737,24 @@ "class", "rail", "ferry", + "car_ferry", "transit", "cable_car", + "chair_lift", "gondola", - "path" + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "path", + "footway", + "trail", + "rail", + "track", + "transit", + "via_ferrata", + "mask_terrain" ], [ "==", @@ -3703,7 +3766,7 @@ { "id": "tunnel_road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 6.0, "layout": { @@ -3804,9 +3867,12 @@ { "id": "construct_line", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "construct", "minzoom": 14.0, + "layout": { + "visibility": "visible" + }, "paint": { "line-blur": 0.4, "line-color": "hsl(220, 10%, 67%)", @@ -3847,9 +3913,12 @@ { "id": "construct", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "construct", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "fill-color": [ "interpolate", @@ -3934,7 +4003,7 @@ { "id": "aeroway_polygon_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aeroway", "minzoom": 11.0, "layout": { @@ -3984,7 +4053,7 @@ { "id": "aeroway_line_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aeroway", "minzoom": 11.0, "layout": { @@ -4027,7 +4096,7 @@ { "id": "road_via_ferrata_trail", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 14.0, "layout": { @@ -4146,9 +4215,10 @@ { "id": "road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 11.0, + "maxzoom": 22.0, "layout": { "line-cap": "butt", "line-join": "bevel", @@ -4193,21 +4263,43 @@ [ "zoom" ], + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, [ "match", [ "get", - "class" + "is_route" ], + 11, [ - "path", - "track", - "footway" + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 ], - 0.5, - 1 + 0 ], + 14, + 0.7, 15, 1 ], @@ -4301,9 +4393,12 @@ { "id": "building_ln", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "building_ln", "minzoom": 13.0, + "layout": { + "visibility": "visible" + }, "paint": { "line-blur": 0.4, "line-color": [ @@ -4342,12 +4437,38 @@ 0.2, 1 ] - } + }, + "filter": [ + "all", + [ + "match", + [ + "get", + "class" + ], + [ + "horse_racing", + "ski_jump", + "toboggan", + "track", + "weir" + ], + true, + false + ], + [ + "==", + [ + "geometry-type" + ], + "LineString" + ] + ] }, { "id": "road_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -4368,7 +4489,7 @@ 3, 8, 0.4, - 12, + 11, [ "match", [ @@ -4378,7 +4499,7 @@ [ 11 ], - 2, + 4, 0.4 ], 13, @@ -4443,328 +4564,571 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 1.5, - 3 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" - ], - 4, - [ - "match", [ - "get", - "is_route" + "motorway" ], - 11, - 0, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3 + ], + [ + "trunk" + ], + 3, 3 - ] + ], + 0 ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" - ], - 4, - [ - "match", [ - "get", - "is_route" + "motorway" ], - 11, - 0, - 3 - ] - ], - 12, - [ - "match", - [ - "get", - "class" + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 3.5 + ], + [ + "trunk" + ], + 3.5, + 3 + ], + 0 + ], + 10, + [ + "match", + [ + "get", + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 4 + ], + [ + "trunk" + ], + 4, + "primary", + 3.5, + "secondary", + 3.5, + "tertiary", 3, - 5 - ], - [ - "trunk" + [ + "minor", + "service" + ], + 2.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5, - 5 + 2, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.5, + 4.5 ], - 5, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "trunk" ], + 4.5, + "primary", + 4, + "secondary", + 4, + "tertiary", + 3.5, [ - 11 + "minor", + "service" ], - 0.75, + 2.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "track", + "path", + "footway" ], - 4.5, + 0.5, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 11 - ], - 0.75, - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 3.25, + 1, + 2.5, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "track" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5 + ], + "primary", + 5, + "secondary", + 4.5, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" ], 0.75, 0 ], [ - "minor" + 11 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk", + "primary", + "secondary", + "tertiary", + "minor" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 0.75 ], - 3, - 0 - ], - 0 - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway" - ], - [ - "match", [ - "get", - "ramp" + "track", + "path", + "footway" ], - 1, - 3.5, - 5.5 - ], - [ - "trunk" + 0.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5.5, - 5.5 - ], - [ - "primary" - ], - 5.5, - [ - "secondary" - ], - 5, - [ - "tertiary" - ], - 4, - [ - "minor" - ], - 3, - [ - "track" - ], - 0.5, - 0 + 2.75, + 0 + ] ], - 15, + 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + [ + "trunk" + ], + 6, + "primary", + 5.5, + "secondary", + 5, + "tertiary", + 4.5, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 1 + ], + 3 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + "primary", + 4, + "secondary", + 3.75, + "tertiary", + 3.75, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 0.5 + ], + 3 + ], + 0 + ], + 14, + [ + "match", + [ + "get", + "is_route" + ], + [ + 5, + 6, + 7, + 8, + 10, + 99 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + [ + "trunk" + ], + 7, + "primary", + 6.5, + "secondary", + 6, + "tertiary", + 5, + [ + "minor", + "service" + ], + 4, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ] + ], + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, 6.5, 8 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -4774,29 +5138,53 @@ ], 1, 8, - 9 - ], - [ - "primary" + 12 ], - 9, [ - "secondary" + "primary", + "primary_construction" ], 8, [ - "tertiary" + "secondary", + "secondary_construction" ], 7, [ - "minor" + "tertiary", + "tertiary_construction" + ], + 6, + [ + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 5, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 1.1, - 4 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 4, + 1.1 + ], + 4.5 ], 16, [ @@ -4806,7 +5194,8 @@ "class" ], [ - "motorway" + "motorway", + "motorway_construction" ], [ "match", @@ -4819,7 +5208,8 @@ 12 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -4832,25 +5222,49 @@ 15 ], [ - "primary" + "primary", + "primary_construction" ], - 15, + 12, [ - "secondary" + "secondary", + "secondary_construction" ], - 13, + 11, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 11, + 10, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 9, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 8.5, + 1.1 ], - 1.1, 8 ], 20, @@ -4862,28 +5276,77 @@ ], [ "motorway", - "trunk", - "primary", - "rail" + "motorway_construction" ], - 120, - [ - "secondary" - ], - 115, [ - "tertiary" + "match", + [ + "get", + "ramp" + ], + 1, + 115, + 130 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 130, + 140 + ], + [ + "primary", + "primary_construction" + ], + 120, + [ + "secondary", + "secondary_construction" + ], + 115, + [ + "tertiary", + "tertiary_construction" ], 110, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 100, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 84, + 5 ], - 3, - 95 + 100 ] ], "line-offset": 0, @@ -4906,12 +5369,18 @@ "chair_lift", "ferry", "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", "path", "footway", "trail", "rail", "transit", - "via_ferrata" + "via_ferrata", + "mask_terrain" ], false, true @@ -4950,7 +5419,7 @@ { "id": "landuse_parking", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landuse", "layout": { "visibility": "visible" @@ -4982,7 +5451,7 @@ { "id": "landuse_parking_outline", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "landuse", "layout": { "visibility": "visible" @@ -5028,7 +5497,7 @@ { "id": "road_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -5097,395 +5566,721 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 0.5, - 2 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.5, + 2 + ], + [ + "trunk" + ], + 2, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.5, + 0 ] ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.25 + ], + [ + "trunk" + ], + 2.25, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.75, + 0 ] ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.75 + ], + [ + "trunk" + ], + 2.75, + "primary", + 2.5, + "secondary", + 2.5, + "tertiary", + 2, + [ + "minor", + "service" ], - 1, 1.5, - 3.75 - ], - [ - "trunk" + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 3.75, - 3.75 + 0.75, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 3.75, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.25, + 3.25 + ], + [ + "trunk" + ], + 3.25, + "primary", + 3, + "secondary", + 3, + "tertiary", + 2.5, + [ + "minor", + "service" + ], + 1.75, 0 ], - [ - "secondary" - ], [ "match", [ "get", - "is_route" - ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 3.25, + 1, + 1.25, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "tertiary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 2.25, - 0 - ], - [ - "minor", - "path", - "track", - "footway" - ], - [ - "match", [ - "get", - "is_route" + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3.75 ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "trunk" + ], + 3.75, + "primary", + 4, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" ], 2, 0 ], - 0 + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 0 + ] ], 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.75, - 4.25 + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.5, + 2 ], + 11, [ - "trunk" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + "primary", + 3, + "secondary", + 2.75, + "tertiary", + 2.75, + [ + "minor", + "service" + ], + 2, + 2 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 4.25, - 4.25 - ], - [ - "primary" - ], - 4.25, - [ - "secondary" - ], - 3.75, - [ - "tertiary" - ], - 2.75, - [ - "minor" - ], - 1.75, - 0 + 1.75, + 0 + ] ], - 15, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + [ + "trunk" + ], + 5.5, + "primary", + 5.5, + "secondary", 5, - 6.5 - ], - [ - "trunk" + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + 2.5 ], [ "match", [ "get", - "oneway" + "class" ], - 1, - 6.5, - 7.5 - ], - [ - "primary" - ], - 7.5, - [ - "secondary" - ], - 6.5, - [ + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + "primary", + 3.5, + "secondary", + 3, "tertiary", - "rail" - ], - 5.5, - [ - "minor" - ], - 3.5, - 2.5 + 3, + [ + "minor", + "service" + ], + 2.5, + 2.5 + ] ], - 16, + 15, [ "match", [ "get", - "class" - ], - [ - "motorway" + "subclass" ], + "funicular", + 3, [ "match", [ "get", - "ramp" + "class" ], - 1, - 8.5, - 10.5 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway", + "motorway_construction" ], - 1, - 10.5, - 13.5 - ], - [ - "primary" - ], - 13.5, - [ - "secondary" - ], - 11.5, - [ - "tertiary", - "rail" - ], - 9.5, - [ - "minor" - ], - 7.5, - 6.5 - ], - 20, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "rail" - ], - 117, - [ - "secondary" - ], - 112, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 5, + 6.5 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 6.5, + 10.5 + ], + [ + "primary", + "primary_construction" + ], + 6.5, + [ + "secondary", + "secondary_construction" + ], + 5.5, + [ + "tertiary", + "tertiary_construction" + ], + 4.5, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 3.5, + [ + "rail", + "rail_construction" + ], + 5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 1.25, + 3 + ] + ], + 16, + [ + "match", [ - "tertiary" + "get", + "subclass" ], - 107, + "funicular", + 6, [ - "minor" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 8, + 10 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 10, + 13 + ], + [ + "primary", + "primary_construction" + ], + 10, + [ + "secondary", + "secondary_construction" + ], + 9, + [ + "tertiary", + "tertiary_construction" + ], + 8, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 7, + [ + "rail", + "rail_construction" + ], + 9.5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 6.5, + 6 + ] + ], + 20, + [ + "match", + [ + "get", + "subclass" ], - 97, - 92 + "funicular", + 20, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 112, + 126 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 126, + 136 + ], + [ + "primary", + "primary_construction" + ], + 117, + [ + "secondary", + "secondary_construction" + ], + 112, + [ + "tertiary", + "tertiary_construction" + ], + 107, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 97, + [ + "rail", + "rail_construction" + ], + 120, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 81, + 92 + ] ] ] }, @@ -5503,13 +6298,19 @@ "chair_lift", "ferry", "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", "path", "footway", "trail", "rail", "track", "transit", - "via_ferrata" + "via_ferrata", + "mask_terrain" ], false, true @@ -5548,7 +6349,7 @@ { "id": "aeroway_line_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aeroway", "minzoom": 11.0, "layout": { @@ -5602,7 +6403,7 @@ { "id": "aeroway_polygon_fill", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aeroway", "minzoom": 11.0, "layout": { @@ -5644,7 +6445,7 @@ { "id": "car_ferry", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 9.0, "layout": { @@ -5760,7 +6561,7 @@ { "id": "ferry", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 12.0, "layout": { @@ -5849,9 +6650,9 @@ { "id": "public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 8.0, + "minzoom": 8, "layout": { "visibility": "visible" }, @@ -5947,11 +6748,11 @@ "stops": [ [ 7, - "rgba(255, 50, 50, 1)" + "rgba(238, 234, 234, 1)" ], [ 15, - "rgba(255, 80, 80, 1)" + "rgba(116, 114, 114, 1)" ] ] }, @@ -5963,85 +6764,133 @@ [ "zoom" ], - 8, + 9, [ "match", [ "get", - "class" + "is_route" ], + 99, [ - "rail" + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 0 + ], + 10, + [ + "match", + [ + "get", + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 0.75 ], - 0.2, 0.5 ], - 0.2 + 0.5 ], - 0.2 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0 + ] ], 14, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], + "transit", + 1, [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" ], - 0.2, + 2, 1 ], - 1 + 0 ], [ - "cable_car" - ], - 1, - 0.75 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -6051,35 +6900,22 @@ "class" ], [ - "rail" + "transit" ], + 1.5, [ "match", [ "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" + "service" ], [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1.5, - 2 + "yard", + "siding" ], + 1.5, 2 - ], - 1.5 + ] ] ], "line-opacity": [ @@ -6105,19 +6941,6 @@ 1, 0 ], - 12, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - 1, - 0 - ], 13, [ "match", @@ -6193,7 +7016,7 @@ { "id": "sinkhole", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "spot_elevation", "minzoom": 14.0, "layout": { @@ -6271,7 +7094,7 @@ { "id": "building_2d", "type": "fill", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "building", "minzoom": 13.0, "layout": { @@ -6304,10 +7127,43 @@ } } }, + { + "id": "housenumber", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "housenumber", + "minzoom": 17, + "layout": { + "text-font": [ + "B612 Regular" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 17, + 11, + 18, + 13 + ], + "text-field": [ + "get", + "housenumber" + ], + "visibility": "visible" + }, + "paint": { + "text-color": "rgba(90, 90, 90, 1)" + } + }, { "id": "building_2d_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "building", "minzoom": 15.0, "layout": { @@ -6345,10 +7201,152 @@ ] } }, + { + "id": "lake_elevation", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "spot_elevation", + "minzoom": 12.0, + "layout": { + "icon-size": 1, + "text-font": [ + "B612 Italic" + ], + "text-size": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 14, + 10.5, + 18, + 13 + ], + "icon-image": [ + "case", + [ + "has", + "lake_depth" + ], + "arrow_line_blue", + [ + "==", + [ + "length", + [ + "to-string", + [ + "get", + "ele" + ] + ] + ], + 3 + ], + "line_blue_short", + "line_blue_long" + ], + "text-field": [ + "case", + [ + "has", + "lake_depth" + ], + [ + "concat", + [ + "get", + "ele" + ], + "\n\n", + [ + "get", + "lake_depth" + ] + ], + [ + "get", + "ele" + ] + ], + "visibility": "visible", + "icon-offset": [ + 0, + 0 + ], + "text-anchor": "center", + "text-offset": [ + "case", + [ + "has", + "lake_depth" + ], + [ + "literal", + [ + 0.35, + -0.5 + ] + ], + [ + "literal", + [ + 0, + -0.5 + ] + ] + ], + "text-justify": "center", + "icon-optional": false, + "text-optional": false, + "symbol-placement": "point", + "text-line-height": 1, + "text-keep-upright": false, + "icon-allow-overlap": true, + "text-allow-overlap": false, + "text-radial-offset": 0, + "text-pitch-alignment": "auto", + "icon-ignore-placement": true, + "text-ignore-placement": false, + "text-rotation-alignment": "auto" + }, + "paint": { + "icon-color": "#000000", + "text-color": "rgba(20, 136, 205, 1)", + "icon-opacity": 1, + "text-opacity": 1, + "text-halo-blur": 1, + "text-halo-color": "rgba(242, 242, 242, 0.6)", + "text-halo-width": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 12, + 1, + 18, + 2 + ] + }, + "filter": [ + "all", + [ + "==", + "class", + "lake_elevation" + ] + ] + }, { "id": "bridge-l1_road_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -6369,7 +7367,7 @@ 3, 8, 0.4, - 12, + 11, [ "match", [ @@ -6379,7 +7377,7 @@ [ 11 ], - 2, + 4, 0.4 ], 13, @@ -6444,30 +7442,19 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" + "is_route" ], - 1, - 1.5, - 3 - ], - 10, - [ - "match", [ - "get", - "is_route" + 5, + 10, + 99 ], - 11, - 0, [ "match", [ @@ -6484,318 +7471,519 @@ "ramp" ], 1, - 2.5, - 4 + 1.5, + 3 ], [ "trunk" ], - 4, + 3, 3 - ] + ], + 0 ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" - ], - 4, - [ - "match", [ - "get", - "is_route" + "motorway" ], - 11, - 0, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 3.5 + ], + [ + "trunk" + ], + 3.5, 3 - ] + ], + 0 ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 4 + ], + [ + "trunk" + ], + 4, + "primary", + 3.5, + "secondary", + 3.5, + "tertiary", 3, - 5 - ], - [ - "trunk" + [ + "minor", + "service" + ], + 2.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5, - 5 + 2, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.5, + 4.5 ], - 5, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "trunk" ], + 4.5, + "primary", + 4, + "secondary", + 4, + "tertiary", + 3.5, [ - 11 + "minor", + "service" ], - 0.75, + 2.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "track", + "path", + "footway" ], - 4.5, + 0.5, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 11 - ], - 0.75, - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 3.25, + 1, + 2.5, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "track" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5 + ], + "primary", + 5, + "secondary", + 4.5, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" ], 0.75, 0 ], [ - "minor" + 11 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk", + "primary", + "secondary", + "tertiary", + "minor" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 0.75 ], - 3, - 0 - ], - 0 - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "motorway" - ], - [ - "match", [ - "get", - "ramp" + "track", + "path", + "footway" ], - 1, - 3.5, - 5.5 - ], - [ - "trunk" + 0.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5.5, - 5.5 - ], - [ - "primary" - ], - 5.5, - [ - "secondary" - ], - 5, - [ - "tertiary" - ], - 4, - [ - "minor" - ], - 3, - 0 + 2.75, + 0 + ] ], - 15, + 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 6.5, - 8 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway" ], - 1, - 8, - 9 - ], - [ - "primary" - ], - 9, - [ - "secondary" - ], - 8, - [ - "tertiary" - ], - 7, - [ - "minor" - ], - 5, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + [ + "trunk" + ], + 6, + "primary", + 5.5, + "secondary", + 5, + "tertiary", + 4.5, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 1 + ], + 3 + ], + 11, [ - "track" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + "primary", + 4, + "secondary", + 3.75, + "tertiary", + 3.75, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 0.5 + ], + 3 ], - 1.1, - 4 + 0 ], - 16, + 14, + [ + "match", + [ + "get", + "is_route" + ], + [ + 5, + 6, + 7, + 8, + 10, + 99 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + [ + "trunk" + ], + 7, + "primary", + 6.5, + "secondary", + 6, + "tertiary", + 5, + [ + "minor", + "service" + ], + 4, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ] + ], + 15, [ "match", [ @@ -6803,7 +7991,8 @@ "class" ], [ - "motorway" + "motorway", + "motorway_construction" ], [ "match", @@ -6812,11 +8001,12 @@ "ramp" ], 1, - 10, - 12 + 6.5, + 8 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -6825,32 +8015,56 @@ "oneway" ], 1, - 12, - 15 + 8, + 12 ], [ - "primary" + "primary", + "primary_construction" ], - 15, + 8, [ - "secondary" + "secondary", + "secondary_construction" ], - 13, + 7, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 11, + 6, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], - 9, + 5, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 1.1, - 8 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 4, + 1.1 + ], + 4.5 ], - 20, + 16, [ "match", [ @@ -6859,28 +8073,158 @@ ], [ "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 10, + 12 + ], + [ "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 12, + 15 + ], + [ "primary", - "rail" + "primary_construction" ], - 120, + 12, [ - "secondary" + "secondary", + "secondary_construction" ], - 115, + 11, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 110, + 10, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], - 100, + 9, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 3, - 95 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 8.5, + 1.1 + ], + 8 + ], + 20, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 115, + 130 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 130, + 140 + ], + [ + "primary", + "primary_construction" + ], + 120, + [ + "secondary", + "secondary_construction" + ], + 115, + [ + "tertiary", + "tertiary_construction" + ], + 110, + [ + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" + ], + 100, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 84, + 5 + ], + 100 ] ], "line-offset": 0, @@ -6906,7 +8250,14 @@ "footway", "transit", "cable_car", - "gondola" + "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "mask_terrain", + "via_ferrata" ], [ "==", @@ -6923,9 +8274,9 @@ { "id": "bridge-l1_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 7.0, + "minzoom": 7, "layout": { "line-cap": "butt", "line-join": "round", @@ -7026,409 +8377,721 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 0.5, - 2 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.5, + 2 + ], + [ + "trunk" + ], + 2, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.5, + 0 ] ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.25 + ], + [ + "trunk" + ], + 2.25, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.75, + 0 ] ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.75 + ], + [ + "trunk" + ], + 2.75, + "primary", + 2.5, + "secondary", + 2.5, + "tertiary", + 2, + [ + "minor", + "service" ], - 1, 1.5, - 3.75 - ], - [ - "trunk" + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 3.75, - 3.75 + 0.75, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 3.75, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.25, + 3.25 + ], + [ + "trunk" + ], + 3.25, + "primary", + 3, + "secondary", + 3, + "tertiary", + 2.5, + [ + "minor", + "service" + ], + 1.75, 0 ], - [ - "secondary" - ], [ "match", [ "get", - "is_route" + "ramp" ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 - ], - 3.25, + 1, + 1.25, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "tertiary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 2.25, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3.75 + ], + [ + "trunk" + ], + 3.75, + "primary", + 4, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" + ], + 2, 0 ], - [ - "minor", - "path", - "track", - "footway" - ], [ "match", [ "get", - "is_route" - ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 2, + 1, + 1.5, 0 - ], - 0 + ] ], 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.75, - 4.25 + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.5, + 2 ], + 11, [ - "trunk" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + "primary", + 3, + "secondary", + 2.75, + "tertiary", + 2.75, + [ + "minor", + "service" + ], + 2, + 2 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 4.25, - 4.25 - ], - [ - "primary" - ], - 4.25, - [ - "secondary" - ], - 3.75, - [ - "tertiary" - ], - 2.75, - [ - "minor" - ], - 1.75, - 0 + 1.75, + 0 + ] ], - 15, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + [ + "trunk" + ], + 5.5, + "primary", + 5.5, + "secondary", 5, - 6.5 - ], - [ - "trunk" + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + 2.5 ], [ "match", [ "get", - "oneway" + "class" ], - 1, - 6.5, - 7.5 - ], - [ - "primary" - ], - 7.5, - [ - "secondary" - ], - 6.5, - [ + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + "primary", + 3.5, + "secondary", + 3, "tertiary", - "rail" - ], - 5.5, - [ - "minor" - ], - 3.5, - [ - "transit", - "track", - "path", - "footway" - ], - 2.5, - 2.5 + 3, + [ + "minor", + "service" + ], + 2.5, + 2.5 + ] ], - 16, + 15, [ "match", [ "get", - "class" - ], - [ - "motorway" + "subclass" ], + "funicular", + 3, [ "match", [ "get", - "ramp" + "class" ], - 1, - 8.5, - 10.5 - ], - [ - "trunk" + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 5, + 6.5 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 6.5, + 10.5 + ], + [ + "primary", + "primary_construction" + ], + 6.5, + [ + "secondary", + "secondary_construction" + ], + 5.5, + [ + "tertiary", + "tertiary_construction" + ], + 4.5, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 3.5, + [ + "rail", + "rail_construction" + ], + 5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 1.25, + 3 + ] + ], + 16, + [ + "match", + [ + "get", + "subclass" ], + "funicular", + 6, [ "match", [ "get", - "oneway" + "class" ], - 1, - 10.5, - 13.5 - ], - [ - "primary" - ], - 13.5, - [ - "secondary" - ], - 11.5, - [ - "tertiary", - "rail" - ], - 9.5, - [ - "minor" - ], - 7.5, - [ - "transit", - "track", - "path", - "footway" - ], - 6.5, - 6.5 + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 8, + 10 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 10, + 13 + ], + [ + "primary", + "primary_construction" + ], + 10, + [ + "secondary", + "secondary_construction" + ], + 9, + [ + "tertiary", + "tertiary_construction" + ], + 8, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 7, + [ + "rail", + "rail_construction" + ], + 9.5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 6.5, + 6 + ] ], 20, [ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk", - "primary", - "rail" - ], - 117, - [ - "secondary" - ], - 112, - [ - "tertiary" + "subclass" ], - 107, + "funicular", + 20, [ - "minor" - ], - 97, - 92 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 112, + 126 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 126, + 136 + ], + [ + "primary", + "primary_construction" + ], + 117, + [ + "secondary", + "secondary_construction" + ], + 112, + [ + "tertiary", + "tertiary_construction" + ], + 107, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 97, + [ + "rail", + "rail_construction" + ], + 120, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 81, + 92 + ] ] ], "line-opacity": 1 @@ -7445,7 +9108,14 @@ "class", "ferry", "cable_car", - "gondola" + "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "mask_terrain", + "via_ferrata" ], [ "==", @@ -7462,7 +9132,7 @@ { "id": "bridge-l1_road_track", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 14.0, "layout": { @@ -7525,9 +9195,44 @@ [ "zoom" ], + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, - 0.5, + [ + "match", + [ + "get", + "is_route" + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 + ], + 0 + ], 14, + 0.7, + 15, 1 ] }, @@ -7561,7 +9266,7 @@ { "id": "bridge-l1_road_path_footway", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 11.0, "layout": { @@ -7608,9 +9313,44 @@ [ "zoom" ], + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, - 0.5, + [ + "match", + [ + "get", + "is_route" + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 + ], + 0 + ], 14, + 0.7, + 15, 1 ], "line-dasharray": [ @@ -7682,9 +9422,9 @@ { "id": "bridge-l1_public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 10.0, + "minzoom": 10, "layout": { "line-cap": "round", "visibility": "visible" @@ -7777,11 +9517,11 @@ "stops": [ [ 7, - "rgba(255, 50, 50, 1)" + "rgba(206, 132, 132, 1)" ], [ 15, - "rgba(255, 80, 80, 1)" + "rgba(85, 53, 53, 1)" ] ] }, @@ -7793,85 +9533,145 @@ [ "zoom" ], - 8, + 9, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", "subclass" ], - [ - "rail", - "narrow_gauge", - "rack_rail" - ], - [ - "match", - [ - "get", - "service" + "rail", + 0.75, + 0 + ], + 0 + ], + 10, + [ + "match", + [ + "get", + "is_route" + ], + 99, + [ + "match", + [ + "get", + "class" + ], + [ + "rail" + ], + [ + "match", + [ + "get", + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 0.75 ], - 0.2, 0.5 ], - 0.2 + 0.5 ], - 0.2 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0 + ] ], 14, [ "match", [ "get", - "class" - ], - [ - "rail" + "is_route" ], + 99, [ "match", [ "get", - "subclass" + "class" ], + "transit", + 1, [ - "rail", - "narrow_gauge", - "rack_rail" + "rail" ], [ "match", [ "get", - "service" + "subclass" ], [ - "yard", - "siding" + "rail", + "narrow_gauge", + "rack_rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 2 ], - 0.1, 1 ], - 1 + 0 ], [ - "cable_car" - ], - 1, - 0.75 + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -7881,39 +9681,22 @@ "class" ], [ - "rail" + "transit" ], + 1.5, [ "match", [ "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" + "service" ], [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1.5, - 2 + "yard", + "siding" ], + 1.5, 2 - ], - [ - "cable_car" - ], - 2, - 1.5 + ] ] ], "line-opacity": [ @@ -8036,7 +9819,7 @@ { "id": "bridge-l2_road_casing", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -8057,7 +9840,7 @@ 3, 8, 0.4, - 12, + 11, [ "match", [ @@ -8067,7 +9850,7 @@ [ 11 ], - 2, + 4, 0.4 ], 13, @@ -8132,315 +9915,571 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 1.5, - 3 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3 + ], + [ + "trunk" + ], + 3, + 3 ], - 4, - 3 + 0 ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.5, - 4 - ], - [ - "trunk" - ], - 4, - [ - "match", [ - "get", - "is_route" + "motorway" ], - 11, - 0, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 3.5 + ], + [ + "trunk" + ], + 3.5, 3 - ] + ], + 0 ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2, + 4 + ], + [ + "trunk" + ], + 4, + "primary", + 3.5, + "secondary", + 3.5, + "tertiary", 3, - 5 - ], - [ - "trunk" + [ + "minor", + "service" + ], + 2.5, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 5, - 5 + 2, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.5, + 4.5 ], - 5, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "trunk" ], + 4.5, + "primary", + 4, + "secondary", + 4, + "tertiary", + 3.5, [ - 11 + "minor", + "service" ], - 0.75, + 2.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "track", + "path", + "footway" ], - 4.5, + 0.5, 0 ], - [ - "tertiary" - ], [ "match", [ "get", - "is_route" - ], - [ - 11 - ], - 0.75, - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 3.25, + 1, + 2.5, 0 + ] + ], + 12, + [ + "match", + [ + "get", + "is_route" ], [ - "track" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5 + ], + "primary", + 5, + "secondary", + 4.5, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" ], 0.75, 0 ], [ - "minor" + 11 ], [ "match", [ "get", - "is_route" + "class" ], [ - 11 + "motorway", + "trunk", + "primary", + "secondary", + "tertiary", + "minor" ], - 0.75, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 0.75 ], - 3, + [ + "track", + "path", + "footway" + ], + 0.5, 0 ], - 0 + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 0 + ] ], 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + [ + "trunk" + ], + 6, + "primary", + 5.5, + "secondary", + 5, + "tertiary", + 4.5, + [ + "minor", + "service" ], - 1, 3.5, - 5.5 - ], - [ - "trunk" + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 1 + ], + 3 ], + 11, [ "match", [ "get", - "oneway" + "class" ], - 1, - 5.5, - 5.5 - ], - [ - "primary" - ], - 5.5, - [ - "secondary" - ], - 5, - [ - "tertiary" - ], - 4, - [ - "minor" + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 3, + 6 + ], + "primary", + 4, + "secondary", + 3.75, + "tertiary", + 3.75, + [ + "minor", + "service" + ], + 3, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3, + 0.5 + ], + 3 ], - 3, 0 ], - 15, + 14, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + [ + "trunk" + ], + 7, + "primary", + 6.5, + "secondary", + 6, + "tertiary", + 5, + [ + "minor", + "service" + ], + 4, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ], + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 4, + 7 + ], + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3.5, + [ + "track", + "path", + "footway" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 3.5, + 0.75 + ], + 3.5 + ] + ], + 15, + [ + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" ], 1, 6.5, 8 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -8450,29 +10489,53 @@ ], 1, 8, - 9 - ], - [ - "primary" + 12 ], - 9, [ - "secondary" + "primary", + "primary_construction" ], 8, [ - "tertiary" + "secondary", + "secondary_construction" ], 7, [ - "minor" + "tertiary", + "tertiary_construction" + ], + 6, + [ + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 5, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 1.1, - 4 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 4, + 1.1 + ], + 4.5 ], 16, [ @@ -8482,7 +10545,8 @@ "class" ], [ - "motorway" + "motorway", + "motorway_construction" ], [ "match", @@ -8495,7 +10559,8 @@ 12 ], [ - "trunk" + "trunk", + "trunk_construction" ], [ "match", @@ -8508,25 +10573,49 @@ 15 ], [ - "primary" + "primary", + "primary_construction" ], - 15, + 12, [ - "secondary" + "secondary", + "secondary_construction" ], - 13, + 11, [ - "tertiary" + "tertiary", + "tertiary_construction" ], - 11, + 10, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 9, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 8.5, + 1.1 ], - 1.1, 8 ], 20, @@ -8538,28 +10627,77 @@ ], [ "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 115, + 130 + ], + [ "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 130, + 140 + ], + [ "primary", - "rail" + "primary_construction" ], 120, [ - "secondary" + "secondary", + "secondary_construction" ], 115, [ - "tertiary" + "tertiary", + "tertiary_construction" ], 110, [ - "minor" + "minor", + "minor_construction", + "service", + "service_construction", + "rail", + "rail_construction" ], 100, [ - "track" + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" ], - 3, - 95 + [ + "match", + [ + "get", + "subclass" + ], + "covered_bridge", + 84, + 5 + ], + 100 ] ], "line-offset": 0, @@ -8585,7 +10723,14 @@ "footway", "transit", "cable_car", - "gondola" + "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "mask_terrain", + "via_ferrata" ], [ "==", @@ -8602,7 +10747,7 @@ { "id": "bridge-l2_fill", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 7.0, "layout": { @@ -8705,331 +10850,373 @@ "zoom" ], 7, - [ - "literal", - 0 - ], + 0, 8, [ "match", [ "get", - "ramp" - ], - 1, - 0.5, - 2 - ], - 10, - [ - "match", - [ - "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.5, + 2 + ], + [ + "trunk" + ], + 2, + 2 ], - 2.75, [ "match", [ "get", - "is_route" + "ramp" ], - 11, - 0, - 2 + 1, + 0.5, + 0 ] ], - 11, + 9, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 1.5, - 2.75 - ], - [ - "trunk" - ], - 2.75, - [ - "match", [ - "get", - "is_route" + "motorway" ], - 11, - 0, + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.25 + ], + [ + "trunk" + ], + 2.25, 2 + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 0 ] ], - 12, + 10, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" + ], + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 0.75, + 2.75 + ], + [ + "trunk" + ], + 2.75, + "primary", + 2.5, + "secondary", + 2.5, + "tertiary", + 2, + [ + "minor", + "service" ], - 1, 1.5, - 3.75 - ], - [ - "trunk" + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 3.75, - 3.75 + 0.75, + 0 + ] + ], + 11, + [ + "match", + [ + "get", + "is_route" ], [ - "primary" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "is_route" + "class" ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "motorway" ], - 3.75, - 0 - ], - [ - "secondary" - ], - [ - "match", [ - "get", - "is_route" + "match", + [ + "get", + "ramp" + ], + 1, + 1.25, + 3.25 ], [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "trunk" ], 3.25, - 0 - ], - [ - "tertiary" - ], - [ - "match", - [ - "get", - "is_route" - ], + "primary", + 3, + "secondary", + 3, + "tertiary", + 2.5, [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "minor", + "service" ], - 2.25, + 1.75, 0 ], - [ - "minor", - "path", - "track", - "footway" - ], [ "match", [ "get", - "is_route" - ], - [ - 5, - 6, - 7, - 8, - 9, - 10, - 99 + "ramp" ], - 2, + 1, + 1.25, 0 - ], - 0 + ] ], - 13, + 12, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 2.75, - 4.25 - ], - [ - "trunk" + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.5, + 3.75 + ], + [ + "trunk" + ], + 3.75, + "primary", + 4, + "secondary", + 3.5, + "tertiary", + 3, + [ + "minor", + "service" + ], + 2, + 0 ], [ "match", [ "get", - "oneway" + "ramp" ], 1, - 4.25, - 4.25 - ], - [ - "primary" - ], - 4.25, - [ - "secondary" - ], - 3.75, - [ - "tertiary" - ], - 2.75, - [ - "minor" - ], - 1.75, - 0 + 1.5, + 0 + ] ], - 15, + 13, [ "match", [ "get", - "class" + "is_route" ], [ - "motorway" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "ramp" + "class" ], - 1, - 5, - 6.5 - ], - [ - "trunk" - ], - [ - "match", [ - "get", - "oneway" + "motorway" ], - 1, - 6.5, - 7.5 - ], - [ - "primary" - ], - 7.5, - [ - "secondary" - ], - 6.5, - [ - "tertiary", - "rail" - ], - 5.5, - [ - "minor" - ], - 3.5, - [ - "transit", - "track", - "path" - ], - 2.5, - 2.5 - ], - 16, - [ - "match", - [ - "get", - "class" + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + [ + "trunk" + ], + 4.5, + "primary", + 4.5, + "secondary", + 4, + "tertiary", + 3.5, + [ + "minor", + "service" + ], + 2.5, + 2 ], + 11, [ - "motorway" + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 1.75, + 4.5 + ], + "primary", + 3, + "secondary", + 2.75, + "tertiary", + 2.75, + [ + "minor", + "service" + ], + 2, + 2 ], [ "match", @@ -9038,74 +11225,346 @@ "ramp" ], 1, - 8.5, - 10.5 + 1.75, + 0 + ] + ], + 14, + [ + "match", + [ + "get", + "is_route" ], [ - "trunk" + 5, + 6, + 7, + 8, + 10, + 99 ], [ "match", [ "get", - "oneway" + "class" ], - 1, - 10.5, - 13.5 + [ + "motorway" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + [ + "trunk" + ], + 5.5, + "primary", + 5.5, + "secondary", + 5, + "tertiary", + 4, + [ + "minor", + "service" + ], + 3, + 2.5 ], [ - "primary" - ], - 13.5, + "match", + [ + "get", + "class" + ], + [ + "motorway", + "trunk" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 2.75, + 5.5 + ], + "primary", + 3.5, + "secondary", + 3, + "tertiary", + 3, + [ + "minor", + "service" + ], + 2.5, + 2.5 + ] + ], + 15, + [ + "match", [ - "secondary" + "get", + "subclass" ], - 11.5, + "funicular", + 3, [ - "tertiary", - "rail" - ], - 9.5, + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 5, + 6.5 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 6.5, + 10.5 + ], + [ + "primary", + "primary_construction" + ], + 6.5, + [ + "secondary", + "secondary_construction" + ], + 5.5, + [ + "tertiary", + "tertiary_construction" + ], + 4.5, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 3.5, + [ + "rail", + "rail_construction" + ], + 5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 1.25, + 3 + ] + ], + 16, + [ + "match", [ - "minor" + "get", + "subclass" ], - 7.5, + "funicular", + 6, [ - "transit", - "track", - "path" - ], - 6.5, - 6.5 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 8, + 10 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 10, + 13 + ], + [ + "primary", + "primary_construction" + ], + 10, + [ + "secondary", + "secondary_construction" + ], + 9, + [ + "tertiary", + "tertiary_construction" + ], + 8, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 7, + [ + "rail", + "rail_construction" + ], + 9.5, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 6.5, + 6 + ] ], 20, [ "match", [ "get", - "class" + "subclass" ], + "funicular", + 20, [ - "motorway", - "trunk", - "primary", - "rail" - ], - 117, - [ - "secondary" - ], - 112, - [ - "tertiary" - ], - 107, - [ - "minor" - ], - 97, - 92 + "match", + [ + "get", + "class" + ], + [ + "motorway", + "motorway_construction" + ], + [ + "match", + [ + "get", + "ramp" + ], + 1, + 112, + 126 + ], + [ + "trunk", + "trunk_construction" + ], + [ + "match", + [ + "get", + "oneway" + ], + 1, + 126, + 136 + ], + [ + "primary", + "primary_construction" + ], + 117, + [ + "secondary", + "secondary_construction" + ], + 112, + [ + "tertiary", + "tertiary_construction" + ], + 107, + [ + "minor", + "minor_construction", + "service", + "service_construction" + ], + 97, + [ + "rail", + "rail_construction" + ], + 120, + [ + "track", + "track_construction", + "path", + "path_construction", + "footway", + "footway_construction", + "transit", + "transit_construction" + ], + 81, + 92 + ] ] ], "line-opacity": 1 @@ -9122,7 +11581,14 @@ "class", "ferry", "cable_car", - "gondola" + "gondola", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor", + "mask_terrain", + "via_ferrata" ], [ "==", @@ -9139,7 +11605,7 @@ { "id": "bridge-l2_road_track", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", "minzoom": 14.0, "layout": { @@ -9166,881 +11632,35 @@ [ 9, "rgba(80, 80, 80, 1)" - ], - [ - 15, - "rgba(90, 90, 90, 1)" - ] - ] - }, - "line-width": [ - "interpolate", - [ - "exponential", - 2 - ], - [ - "zoom" - ], - 13, - 0.5, - 15, - 1.1, - 16, - 1.1, - 18, - 2, - 20, - 3 - ], - "line-offset": 0, - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 0.5, - 14, - 1 - ] - }, - "metadata": { - "maputnik:comment": "casing color for motorway is brown" - }, - "filter": [ - "all", - [ - ">", - "layer", - 1 - ], - [ - "==", - "class", - "track" - ], - [ - "==", - "$type", - "LineString" - ], - [ - "!=", - "subclass", - "covered_bridge" - ] - ] - }, - { - "id": "bridge-l2_road_path_footway", - "type": "line", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "transportation", - "minzoom": 11.0, - "layout": { - "line-cap": "butt", - "line-join": "bevel", - "visibility": "visible" - }, - "paint": { - "line-blur": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 15, - 0.1, - 20, - 0.4 - ], - "line-color": "rgba(115, 115, 115, 1)", - "line-width": [ - "interpolate", - [ - "exponential", - 1.5 - ], - [ - "zoom" - ], - 13, - 0.5, - 15, - 1.1, - 20, - 3 - ], - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 0.5, - 14, - 1 - ], - "line-dasharray": [ - "step", - [ - "zoom" - ], - [ - "literal", - [ - 6, - 2 - ] - ], - 16, - [ - "literal", - [ - 9, - 3 - ] - ], - 17, - [ - "literal", - [ - 12, - 4 - ] - ], - 18, - [ - "literal", - [ - 15, - 5 - ] - ] - ] - }, - "metadata": { - "maputnik:comment": "cannot be in the same layer as road_casings because dasharray doesn't support expressions" - }, - "filter": [ - "all", - [ - ">", - "layer", - 1 - ], - [ - "in", - "class", - "path", - "footway" - ], - [ - "==", - "$type", - "LineString" - ], - [ - "!=", - "subclass", - "covered_bridge" - ] - ] - }, - { - "id": "bridge-l2_public_transport", - "type": "line", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "transportation", - "minzoom": 10.0, - "layout": { - "line-cap": "round", - "visibility": "visible" - }, - "paint": { - "line-blur": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "rail" - ], - [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 2.5, - 0.6 - ], - 0.6 - ], - 0.6 - ], - 14, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "rail" - ], - [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 2.5, - 0.6 - ], - 0.6 - ], - 0.6 - ], - 18, - 0.4 - ], - "line-color": { - "stops": [ - [ - 7, - "rgba(255, 50, 50, 1)" - ], - [ - 15, - "rgba(255, 80, 80, 1)" - ] - ] - }, - "line-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" - ], - [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 0.2, - 0.5 - ], - 0.2 - ], - 0.2 - ], - 14, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" - ], - [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 0.1, - 1 - ], - 1 - ], - [ - "cable_car" - ], - 1, - 0.75 - ], - 18, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail" - ], - [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 1.5, - 2 - ], - 2 - ], - [ - "cable_car" - ], - 2, - 1.5 - ] - ], - "line-opacity": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 8, - 0, - 9, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - 1, - 0 - ], - 12, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - 1, - 0 - ], - 13, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - 1, - 0 - ], - 14, - [ - "match", - [ - "get", - "class" - ], - [ - "rail" - ], - [ - "match", - [ - "get", - "subclass" - ], - [ - "rail", - "narrow_gauge", - "rack_rail", - "funicular" - ], - [ - "match", - [ - "get", - "service" - ], - [ - "yard", - "siding" - ], - 0, - 1 - ], - 0 - ], - 0 - ], - 14.5, - 1 - ] - }, - "filter": [ - "all", - [ - ">", - "layer", - 1 - ], - [ - "in", - "class", - "rail", - "transit", - "cable_car", - "gondola" - ], - [ - "==", - "$type", - "LineString" - ], - [ - "!=", - "subclass", - "covered_bridge" - ] - ] - }, - { - "id": "lake_elevation", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "spot_elevation", - "minzoom": 12.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Italic" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 10.5, - 18, - 13 - ], - "icon-image": [ - "case", - [ - "has", - "lake_depth" - ], - "arrow_line_blue", - [ - "==", - [ - "length", - [ - "to-string", - [ - "get", - "ele" - ] - ] - ], - 3 - ], - "line_blue_short", - "line_blue_long" - ], - "text-field": [ - "case", - [ - "has", - "lake_depth" - ], - [ - "concat", - [ - "get", - "ele" - ], - "\n\n", - [ - "get", - "lake_depth" - ] - ], - [ - "get", - "ele" - ] - ], - "visibility": "visible", - "icon-offset": [ - 0, - 0 - ], - "text-anchor": "center", - "text-offset": [ - "case", - [ - "has", - "lake_depth" - ], - [ - "literal", - [ - 0.35, - -0.5 - ] - ], - [ - "literal", - [ - 0, - -0.5 - ] - ] - ], - "text-justify": "center", - "icon-optional": false, - "text-optional": false, - "symbol-placement": "point", - "text-line-height": 1, - "text-keep-upright": false, - "icon-allow-overlap": true, - "text-allow-overlap": false, - "text-radial-offset": 0, - "text-pitch-alignment": "auto", - "icon-ignore-placement": true, - "text-ignore-placement": false, - "text-rotation-alignment": "auto" - }, - "paint": { - "icon-color": "#000000", - "text-color": "rgba(20, 136, 205, 1)", - "icon-opacity": 1, - "text-opacity": 1, - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 1, - 18, - 2 - ] - }, - "filter": [ - "all", - [ - "==", - "class", - "lake_elevation" - ] - ] - }, - { - "id": "spot_elevation", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "spot_elevation", - "minzoom": 14.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Regular" - ], - "text-size": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 10.5, - 18, - 13 - ], - "icon-image": [ - "match", - [ - "get", - "class" - ], - [ - "spot_elevation", - "terrain_spot_elevation" - ], - "dot_dark_grey_3", - "" - ], - "text-field": [ - "get", - "ele" - ], - "visibility": "visible", - "icon-offset": [ - 0, - 0 - ], - "icon-rotate": 0, - "text-anchor": "center", - "icon-padding": 30, - "icon-optional": false, - "text-optional": false, - "symbol-placement": "point", - "text-line-height": 0.9, - "text-keep-upright": false, - "text-allow-overlap": false, - "text-radial-offset": 0.3, - "text-variable-anchor": [ - "literal", - [ - "bottom-left", - "top-left", - "bottom-right", - "top-right" - ] - ], - "text-ignore-placement": false - }, - "paint": { - "icon-color": "#000000", - "text-color": "rgba(80, 80, 80, 1)", - "icon-opacity": 0.8, - "text-opacity": [ - "literal", - 1 - ], - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 12, - 1.5, - 18, - 3 - ] - }, - "filter": [ - "all", - [ - "!in", - "class", - "doline", - "lake_elevation", - "sinkhole", - "sinkhole_rock", - "sinkhole_scree", - "sinkhole_water", - "sinkhole_ice" - ] - ] - }, - { - "id": "waterway_line_label", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "waterway", - "minzoom": 9.0, - "layout": { - "text-font": [ - "B612 Italic" - ], - "text-size": [ - "interpolate", - [ - "exponential", - 1.5 - ], - [ - "zoom" - ], - 10, - 10.5, - 16, - [ - "match", - [ - "to-string", - [ - "get", - "width" - ] - ], - [ - "9", - "10" - ], - 18, - [ - "7", - "8" - ], - 17, - [ - "5", - "6" - ], - 16, - "4", - 15, - "3", - 14, - "2", - 13, - "1", - 12, + ], [ - "match", - [ - "get", - "class" - ], - [ - "river", - "canal" - ], - 18, - 14 + 15, + "rgba(90, 90, 90, 1)" ] ] + }, + "line-width": [ + "interpolate", + [ + "exponential", + 2 + ], + [ + "zoom" + ], + 13, + 0.5, + 15, + 1.1, + 16, + 1.1, + 18, + 2, + 20, + 3 ], - "text-field": [ - "get", - "name:latin" - ], - "text-padding": 0, - "symbol-spacing": 650, - "symbol-z-order": "auto", - "text-max-width": 9999, - "symbol-placement": "line", - "text-keep-upright": true, - "text-allow-overlap": false, - "text-letter-spacing": [ + "line-offset": 0, + "line-opacity": [ "interpolate", [ "linear" @@ -10048,34 +11668,62 @@ [ "zoom" ], - 8, - 0.1, + 11, + [ + "match", + [ + "get", + "is_route" + ], + 11, + 0.5, + 0 + ], 12, [ "match", [ "get", - "class" + "is_route" ], + 11, [ - "river" + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 ], - 0.4, - 0.2 - ] - ], - "text-pitch-alignment": "map", - "text-ignore-placement": false, - "text-rotation-alignment": "map" + 0 + ], + 14, + 0.7, + 15, + 1 + ] }, - "paint": { - "text-color": "rgb(20, 136, 205)", - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": 2 + "metadata": { + "maputnik:comment": "casing color for motorway is brown" }, "filter": [ "all", + [ + ">", + "layer", + 1 + ], + [ + "==", + "class", + "track" + ], [ "==", "$type", @@ -10083,22 +11731,38 @@ ], [ "!=", - "intermittent", - 1 + "subclass", + "covered_bridge" ] ] }, { - "id": "transportation_label", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "transportation_name", - "minzoom": 13.0, + "id": "bridge-l2_road_path_footway", + "type": "line", + "source": "base_v1.0.0", + "source-layer": "transportation", + "minzoom": 11.0, "layout": { - "text-font": [ - "B612 Regular" + "line-cap": "butt", + "line-join": "bevel", + "visibility": "visible" + }, + "paint": { + "line-blur": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 15, + 0.1, + 20, + 0.4 ], - "text-size": [ + "line-color": "rgba(115, 115, 115, 1)", + "line-width": [ "interpolate", [ "exponential", @@ -10107,156 +11771,221 @@ [ "zoom" ], - 14, + 13, + 0.5, + 15, + 1.1, + 20, + 3 + ], + "line-opacity": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 11, [ "match", [ "get", - "class" - ], - [ - "motorway", - "trunk" + "is_route" ], 11, - 10.5 + 0.5, + 0 ], - 18, + 12, [ "match", [ "get", - "class" + "is_route" ], + 11, [ - "motorway", - "trunk" + "match", + [ + "get", + "class" + ], + [ + "path", + "track", + "footway" + ], + 0.5, + 1 ], - 18, - 16 - ] - ], - "text-field": "{name:latin}", - "visibility": "visible", - "text-anchor": "center", - "text-offset": [ - 0, - 0 - ], - "text-padding": 2, - "symbol-spacing": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" + 0 ], + 14, + 0.7, 15, - 200, - 18, - 400 - ], - "symbol-z-order": "auto", - "text-max-angle": 40, - "text-transform": "none", - "symbol-placement": "line", - "text-keep-upright": true, - "symbol-avoid-edges": true, - "text-letter-spacing": 0.1, - "text-pitch-alignment": "map", - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "class" - ], - [ - "rail", - "transit", - "cable_car", - "gondola", - "chair_lift" - ], - "rgba(255, 50, 50, 1)", - [ - "ferry", - "car_ferry" - ], - "rgba(20, 136, 205, 1)", - "rgba(60, 60, 70, 1)" - ], - "text-halo-blur": 0.2, - "text-halo-color": [ - "match", - [ - "get", - "class" - ], - [ - "rail", - "transit", - "cable_car", - "gondola", - "chair_lift", - "motorway", - "trunk" - ], - "rgba(255, 255, 255, 0.6)", - "rgba(255, 255, 255, 0.8)" + 1 ], - "text-halo-width": [ - "interpolate", + "line-dasharray": [ + "step", [ - "linear" + "zoom" ], [ - "zoom" + "literal", + [ + 6, + 2 + ] ], - 14, + 16, [ - "match", + "literal", [ - "get", - "class" - ], + 9, + 3 + ] + ], + 17, + [ + "literal", [ - "rail", - "transit", - "cable_car", - "gondola", - "chair_lift" - ], - 1, - 1.5 + 12, + 4 + ] ], - 20, - 3 + 18, + [ + "literal", + [ + 15, + 5 + ] + ] ] }, + "metadata": { + "maputnik:comment": "cannot be in the same layer as road_casings because dasharray doesn't support expressions" + }, "filter": [ "all", + [ + ">", + "layer", + 1 + ], + [ + "in", + "class", + "path", + "footway" + ], [ "==", "$type", "LineString" + ], + [ + "!=", + "subclass", + "covered_bridge" ] ] }, { - "id": "aerialway", + "id": "bridge-l2_public_transport", "type": "line", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "transportation", - "minzoom": 12.0, + "minzoom": 10.0, "layout": { + "line-cap": "round", "visibility": "visible" }, "paint": { - "line-blur": 0.25, + "line-blur": [ + "interpolate", + [ + "linear" + ], + [ + "zoom" + ], + 8, + [ + "match", + [ + "get", + "class" + ], + [ + "rail" + ], + [ + "match", + [ + "get", + "subclass" + ], + [ + "rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 2.5, + 0.6 + ], + 0.6 + ], + 0.6 + ], + 14, + [ + "match", + [ + "get", + "class" + ], + [ + "rail" + ], + [ + "match", + [ + "get", + "subclass" + ], + [ + "rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 2.5, + 0.6 + ], + 0.6 + ], + 0.6 + ], + 18, + 0.4 + ], "line-color": { "stops": [ [ @@ -10277,20 +12006,145 @@ [ "zoom" ], - 8, - 0.2, + 9, + [ + "match", + [ + "get", + "is_route" + ], + 99, + [ + "match", + [ + "get", + "subclass" + ], + "rail", + 0.75, + 0 + ], + 0 + ], + 10, + [ + "match", + [ + "get", + "is_route" + ], + 99, + [ + "match", + [ + "get", + "class" + ], + [ + "rail" + ], + [ + "match", + [ + "get", + "subclass" + ], + [ + "rail", + "narrow_gauge", + "rack_rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 0.75 + ], + 0.5 + ], + 0.5 + ], + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 0.75, + 0 + ] + ], 14, [ "match", [ "get", - "class" + "is_route" ], + 99, [ - "cable_car" + "match", + [ + "get", + "class" + ], + "transit", + 1, + [ + "rail" + ], + [ + "match", + [ + "get", + "subclass" + ], + [ + "rail", + "narrow_gauge", + "rack_rail" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 2 + ], + 1 + ], + 0 ], - 1, - 0.75 + [ + "match", + [ + "get", + "subclass" + ], + [ + "cable_car", + "funicular" + ], + 1, + 0 + ] ], 18, [ @@ -10300,10 +12154,22 @@ "class" ], [ - "cable_car" + "transit" ], - 2, - 1.5 + 1.5, + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 1.5, + 2 + ] ] ], "line-opacity": [ @@ -10314,9 +12180,9 @@ [ "zoom" ], - 12, + 8, 0, - 13, + 9, [ "match", [ @@ -10324,13 +12190,12 @@ "class" ], [ - "cable_car", - "gondola" + "rail" ], 1, 0 ], - 14, + 12, [ "match", [ @@ -10338,262 +12203,100 @@ "class" ], [ - "cable_car", - "gondola", - "chair_lift" + "rail" ], 1, 0 - ] - ] - }, - "filter": [ - "all", - [ - "in", - "class", - "cable_car", - "gondola", - "chair_lift" - ] - ] - }, - { - "id": "road_number", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "transportation_name", - "minzoom": 11.0, - "layout": { - "icon-size": 1, - "text-font": [ - "B612 Bold" - ], - "text-size": 10.5, - "icon-image": "box_white_grey_casing_{ref_length}", - "text-field": [ - "get", - "ref" - ], - "visibility": "visible", - "icon-offset": [ - 0, - -1.3 - ], - "text-anchor": "center", - "icon-padding": 2, - "text-justify": "center", - "icon-optional": false, - "icon-text-fit": "none", - "text-optional": false, - "symbol-spacing": [ - "step", - [ - "zoom" - ], - 300, - 10, - 600, - 14, - 800 - ], - "symbol-z-order": "auto", - "symbol-placement": "line", - "icon-keep-upright": false, - "text-keep-upright": true, - "icon-allow-overlap": false, - "symbol-avoid-edges": false, - "text-letter-spacing": 0, - "icon-pitch-alignment": "viewport", - "text-pitch-alignment": "viewport", - "icon-ignore-placement": false, - "icon-rotation-alignment": "viewport", - "text-rotation-alignment": "viewport" - }, - "paint": { - "text-color": "rgba(64, 64, 64, 1)", - "icon-opacity": 1, - "text-opacity": 1, - "text-halo-blur": 0, - "text-halo-color": "rgba(0, 0, 0, 0)", - "text-halo-width": 0 - }, - "filter": [ - "all", - [ - "in", - "class", - "motorway", - "trunk", - "primary" - ], - [ - "has", - "ref" - ], - [ - "<=", - "ref_length", - 12 - ], - [ - "==", - "$type", - "LineString" - ] - ] - }, - { - "id": "area_name_glacier_point_label", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "area_name", - "minzoom": 14.0, - "layout": { - "text-font": [ - "B612 Italic" - ], - "text-size": [ - "interpolate", - [ - "linear" ], + 13, [ - "zoom" - ], - 10, - 11, - 16, - 20 - ], - "text-field": "{name:latin}", - "symbol-spacing": { - "stops": [ + "match", [ - 12, - 250 + "get", + "class" ], [ - 14, - 550 - ] - ] - }, - "symbol-z-order": "auto", - "text-max-width": 99999, - "symbol-placement": "point", - "text-keep-upright": true, - "symbol-avoid-edges": true, - "text-allow-overlap": false, - "text-letter-spacing": 0.15, - "text-pitch-alignment": "map", - "text-ignore-placement": false, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgba(55, 146, 201, 1)", - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": 1 - }, - "filter": [ - "all", - [ - "==", - "$type", - "Point" - ], - [ - "in", - "subclass", - "glacier" - ] - ] - }, - { - "id": "area_name_glacier_line_label", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "area_name", - "minzoom": 12.0, - "layout": { - "text-font": [ - "B612 Italic" - ], - "text-size": [ - "interpolate", - [ - "linear" + "rail" + ], + 1, + 0 ], + 14, [ - "zoom" - ], - 10, - 11, - 16, - 20 - ], - "text-field": "{name:latin}", - "symbol-spacing": { - "stops": [ + "match", [ - 12, - 250 + "get", + "class" ], [ - 14, - 550 - ] - ] - }, - "symbol-z-order": "auto", - "text-max-width": 99999, - "symbol-placement": "line-center", - "text-keep-upright": true, - "symbol-avoid-edges": true, - "text-allow-overlap": false, - "text-letter-spacing": { - "stops": [ + "rail" + ], [ - 10, - 0.15 + "match", + [ + "get", + "subclass" + ], + [ + "rail", + "narrow_gauge", + "rack_rail", + "funicular" + ], + [ + "match", + [ + "get", + "service" + ], + [ + "yard", + "siding" + ], + 0, + 1 + ], + 0 ], - [ - 12, - 0.3 - ] - ] - }, - "text-pitch-alignment": "map", - "text-ignore-placement": false, - "text-rotation-alignment": "map" - }, - "paint": { - "text-color": "rgba(55, 146, 201, 1)", - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": 1 + 0 + ], + 14.5, + 1 + ] }, "filter": [ "all", + [ + ">", + "layer", + 1 + ], + [ + "in", + "class", + "rail", + "transit", + "cable_car", + "gondola" + ], [ "==", "$type", "LineString" ], [ - "in", + "!=", "subclass", - "glacier" + "covered_bridge" ] ] }, { - "id": "poi_rank3", + "id": "spot_elevation", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "poi", - "minzoom": 15.0, + "source": "base_v1.0.0", + "source-layer": "spot_elevation", + "minzoom": 14.0, "layout": { "icon-size": 1, "text-font": [ @@ -10608,267 +12311,245 @@ "zoom" ], 14, - 12, + 10.5, 18, - 18 + 13 ], "icon-image": [ "match", [ "get", - "subclass" - ], - [ - "tram_stop", - "bus_stop", - "halt", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "elevator", - "subway_entrance", - "subway_stop" + "class" ], - "dot_red", - "waterfall", - "waterfall_blue", - "observation_tower", - "observation_tower_grey", [ - "survey_point", - "surveying_pyramid" + "spot_elevation", + "terrain_spot_elevation" ], - "dot_dark_grey_4", + "dot_dark_grey_3", "" ], "text-field": [ "get", - "name:latin" + "ele" ], "visibility": "visible", - "icon-rotate": [ - "to-number", + "icon-offset": [ + 0, + 0 + ], + "icon-rotate": 0, + "text-anchor": "center", + "icon-padding": 30, + "icon-optional": false, + "text-optional": false, + "symbol-placement": "point", + "text-line-height": 0.9, + "text-keep-upright": false, + "text-allow-overlap": false, + "text-radial-offset": 0.3, + "text-variable-anchor": [ + "literal", [ - "get", - "direction" + "bottom-left", + "top-left", + "bottom-right", + "top-right" ] ], - "text-anchor": [ - "match", - [ - "get", - "subclass" - ], + "text-ignore-placement": false + }, + "paint": { + "icon-color": "#000000", + "text-color": "rgba(80, 80, 80, 1)", + "icon-opacity": 0.8, + "text-opacity": [ + "literal", + 1 + ], + "text-halo-blur": 1, + "text-halo-color": "rgba(242, 242, 242, 0.6)", + "text-halo-width": [ + "interpolate", [ - "halt", - "tram_stop", - "bus_stop", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "elevator", - "subway_entrance", - "subway_stop", - "survey_point", - "surveying_pyramid" + "linear" ], - "bottom-left", [ - "waterfall", - "observation_tower" + "zoom" ], - "left", - "center" + 12, + 1.5, + 18, + 3 + ] + }, + "filter": [ + "all", + [ + "!in", + "class", + "doline", + "lake_elevation", + "sinkhole", + "sinkhole_rock", + "sinkhole_scree", + "sinkhole_water", + "sinkhole_ice" + ] + ] + }, + { + "id": "waterway_line_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "waterway", + "minzoom": 9.0, + "layout": { + "text-font": [ + "B612 Italic" ], - "text-offset": [ - "match", + "text-size": [ + "interpolate", [ - "get", - "subclass" + "exponential", + 1.5 ], - "observation_tower", [ - "literal", - [ - 0.5, - 0.2 - ] + "zoom" ], - "waterfall", + 10, + 10.5, + 16, [ - "literal", + "match", [ - 0.5, - 0.1 - ] - ], - [ - "literal", + "to-string", + [ + "get", + "width" + ] + ], [ - 0.4, - 0.1 + "9", + "10" + ], + 18, + [ + "7", + "8" + ], + 17, + [ + "5", + "6" + ], + 16, + "4", + 15, + "3", + 14, + "2", + 13, + "1", + 12, + [ + "match", + [ + "get", + "class" + ], + [ + "river", + "canal" + ], + 18, + 14 ] ] ], - "text-justify": "left", - "text-padding": 2, - "icon-optional": false, - "text-optional": true, - "text-max-width": 10, - "icon-allow-overlap": false, - "icon-ignore-placement": false, - "icon-rotation-alignment": "map" - }, - "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - [ - "halt", - "tram_stop", - "bus_stop", - "cable_car_station", - "gondola_station", - "chair_lift_station", - "aerialway_station", - "elevator", - "subway_entrance", - "subway_stop" - ], - "rgba(255, 50, 50, 1)", - "waterfall", - "rgba(20, 136, 205, 1)", - "rgba(48, 48, 48, 1)" + "text-field": [ + "get", + "name:latin" ], - "icon-opacity": [ - "case", + "visibility": "visible", + "text-padding": 0, + "symbol-spacing": 650, + "symbol-z-order": "auto", + "text-max-width": 9999, + "symbol-placement": "line", + "text-keep-upright": true, + "text-allow-overlap": false, + "text-letter-spacing": [ + "interpolate", [ - "has", - "name" + "linear" ], - 1, - 0 - ], - "text-opacity": [ - "step", [ "zoom" ], - 0, - 15, + 8, + 0.1, + 12, [ "match", [ "get", "class" ], - "college", - 0, - 1 - ], - 16, - 1 + [ + "river" + ], + 0.4, + 0.2 + ] ], + "text-pitch-alignment": "map", + "text-ignore-placement": false, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgb(20, 136, 205)", "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": [ - "interpolate", - [ - "linear" - ], - [ - "zoom" - ], - 14, - 1, - 17, - 2 - ] + "text-halo-width": 2 }, "filter": [ "all", [ - "match", - [ - "get", - "class" - ], - [ - "allottments", - "antenna_area", - "attraction", - "aerialway", - "bus", - "building", - "cave", - "driving_centre", - "elevator", - "entrance", - "garden", - "place_of_worship", - "railway", - "survey_point", - "tower", - "wastewater_plant", - "waterfall" - ], - true, - false + "==", + "$type", + "LineString" ], [ - "match", - [ - "get", - "subclass" - ], - [ - "aerialway_station", - "allottments", - "antenna_area", - "attraction", - "bus_stop", - "cable_car_station", - "cave", - "chair_lift_station", - "building", - "elevator", - "garden", - "gondola_station", - "halt", - "observation_tower", - "observatory", - "subway_entrance", - "subway_stop", - "survey_point", - "surveying_pyramid", - "tower", - "tram_stop", - "wastewater_plant", - "waterfall", - "" - ], - true, - false + "!=", + "intermittent", + 1 ] ] }, { - "id": "poi_rank2", - "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", - "source-layer": "poi", - "minzoom": 13.0, + "id": "aerialway", + "type": "line", + "source": "base_v1.0.0", + "source-layer": "transportation", + "minzoom": 12, "layout": { - "icon-size": 1, - "text-font": [ - "B612 Regular" - ], - "text-size": [ + "visibility": "visible" + }, + "paint": { + "line-blur": 0.25, + "line-color": { + "stops": [ + [ + 7, + "rgba(156, 155, 155, 1)" + ], + [ + 15, + "rgba(106, 105, 105, 1)" + ] + ] + }, + "line-width": [ "interpolate", [ "linear" @@ -10876,238 +12557,216 @@ [ "zoom" ], + 8, + 0.2, 14, - 12, - 18, - 18 - ], - "icon-image": [ - "step", - [ - "zoom" - ], [ "match", [ "get", - "subclass" - ], - "church_tower", - "dot_circle_dark_grey_8", - [ - "golf_course", - "golf" + "class" ], - "golf_grey", [ - "ferry", - "car_ferry", - "ferry_terminal" + "cable_car" ], - "dot_blue", - "funicular_stop", - "dot_red", - "wind_turbine", - "windturbine_grey", - "communications_tower", - "communications_tower_grey", - "" + 1, + 0.75 ], - 15, + 18, [ "match", [ "get", - "subclass" - ], - [ - "camp_site", - "caravan_site" - ], - "camping_grey", - "church_tower", - "dot_circle_dark_grey_10", - [ - "golf_course", - "golf" + "class" ], - "golf_grey", [ - "ferry", - "car_ferry", - "ferry_terminal" + "cable_car" ], - "dot_blue", - "funicular_stop", - "dot_red", - "wind_turbine", - "windturbine_grey", - "communications_tower", - "communications_tower_grey", - "" + 2, + 1.5 + ] + ], + "line-opacity": [ + "interpolate", + [ + "linear" ], - 16, + [ + "zoom" + ], + 12, + 0, + 13, [ "match", [ "get", - "subclass" + "class" ], [ - "camp_site", - "caravan_site" + "cable_car", + "gondola" ], - "camping_grey", - "church_tower", - "dot_circle_dark_grey_12", + 1, + 0 + ], + 14, + [ + "match", [ - "golf_course", - "golf" + "get", + "class" ], - "golf_grey", [ - "ferry", - "car_ferry", - "ferry_terminal" + "cable_car", + "gondola", + "chair_lift" ], - "dot_blue", - "funicular_stop", - "dot_red", - "hospital", - "hospital_grey", - "wind_turbine", - "windturbine_grey", - "communications_tower", - "communications_tower_grey", - "" + 1, + 0 ] + ] + }, + "filter": [ + "all", + [ + "in", + "class", + "cable_car", + "gondola", + "chair_lift" + ] + ] + }, + { + "id": "transportation_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "transportation_name", + "minzoom": 13, + "layout": { + "text-font": [ + "B612 Italic" ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "icon-offset": [ - 0, - 0 - ], - "text-anchor": [ - "match", + "text-size": [ + "interpolate", [ - "get", - "class" + "exponential", + 1.5 ], [ - "monastery" + "zoom" ], - "left", + 14, [ "match", [ "get", - "subclass" + "class" ], [ - "caravan_site", - "camp_site", - "church_tower", - "golf_course", - "golf", - "hospital", - "communications_tower" + "motorway", + "trunk" + ], + 11, + 10.5 + ], + 18, + [ + "match", + [ + "get", + "class" ], - "left", [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop" + "motorway", + "trunk" ], - "bottom-left", - "center" + 18, + 16 ] ], + "text-field": "{name:latin}", + "visibility": "visible", + "text-anchor": "center", "text-offset": [ - "match", - [ - "get", - "subclass" - ], + 0, + 0 + ], + "text-padding": 2, + "symbol-spacing": [ + "interpolate", [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular_stop" + "linear" ], [ - "literal", - [ - 0.4, - 0.1 - ] + "zoom" ], - [ - "literal", - [ - 0.8, - 0.1 - ] - ] + 15, + 200, + 18, + 400 ], - "text-justify": "left", - "icon-optional": false, - "text-optional": true, - "text-max-width": 10, - "icon-allow-overlap": false, - "text-letter-spacing": [ + "symbol-z-order": "auto", + "text-max-angle": 40, + "text-transform": "none", + "symbol-placement": "line", + "text-keep-upright": true, + "symbol-avoid-edges": true, + "text-letter-spacing": 0.1, + "text-pitch-alignment": "map", + "text-rotation-alignment": "map", + "icon-anchor": "center", + "icon-pitch-alignment": "auto", + "icon-allow-overlap": true + }, + "paint": { + "text-color": [ "match", [ "get", "class" ], [ - "park" + "rail", + "transit", + "gondola", + "chair_lift" ], - 0.05, - 0 + "rgba(170, 170, 170, 1)", + [ + "ferry", + "car_ferry" + ], + "rgba(20, 136, 205, 1)", + "rgba(60, 60, 70, 1)" ], - "icon-ignore-placement": false - }, - "paint": { - "text-color": [ + "text-halo-blur": 0.2, + "text-halo-color": [ "match", [ "get", - "subclass" + "class" ], [ - "ferry", - "car_ferry", - "ferry_terminal" + "rail", + "transit", + "cable_car", + "gondola", + "chair_lift", + "motorway", + "trunk" ], - "rgba(20, 136, 205, 1)", - "funicular_stop", - "rgba(255, 50, 50, 1)", - "weir", - "rgba(20, 136, 205, 1)", - "rgba(48, 48, 48, 1)" + "rgba(255, 255, 255, 0.6)", + "rgba(255, 255, 255, 0.8)" ], - "icon-opacity": [ - "step", + "text-halo-width": [ + "interpolate", [ - "zoom" + "linear" ], - 0, - 13, [ - "match", - [ - "get", - "subclass" - ], - "wind_turbine", - 0, - 0 + "zoom" ], 14, [ @@ -11117,124 +12776,203 @@ "class" ], [ - "place_of_worship" + "rail", + "transit", + "cable_car", + "gondola", + "chair_lift" ], - 1, - [ - "match", - [ - "get", - "subclass" - ], - [ - "wind_turbine", - "caravan_site", - "camp_site", - "ferry", - "ferry_terminal", - "funicular_stop", - "golf_course", - "golf", - "cemetery", - "stadium", - "park" - ], - 1, - 0 - ] + 1.5, + 1.5 ], - 15, - 1 + 20, + 3 + ] + }, + "filter": [ + "all", + [ + "!in", + "class", + "chair_lift", + "drag_lift", + "aerialway_transportation", + "aerialway_closed", + "aerialway_goods", + "goods_conveyor" ], - "text-opacity": [ + [ + "==", + "$type", + "LineString" + ] + ] + }, + { + "id": "road_number", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "transportation_name", + "minzoom": 13.0, + "maxzoom": 22.0, + "layout": { + "icon-size": 1, + "text-font": [ + "B612 Bold" + ], + "text-size": 10.5, + "icon-image": "box_white_grey_casing_{ref_length}", + "text-field": [ + "get", + "ref" + ], + "visibility": "visible", + "icon-offset": [ + 0, + -1.3 + ], + "text-anchor": "center", + "icon-padding": 2, + "text-justify": "center", + "icon-optional": false, + "icon-text-fit": "none", + "text-optional": false, + "symbol-spacing": [ "step", [ "zoom" ], - 0, + 300, + 10, + 600, 14, + 800 + ], + "symbol-z-order": "auto", + "symbol-placement": "line", + "icon-keep-upright": false, + "text-keep-upright": true, + "icon-allow-overlap": false, + "symbol-avoid-edges": false, + "text-letter-spacing": 0, + "icon-pitch-alignment": "viewport", + "text-pitch-alignment": "viewport", + "icon-ignore-placement": false, + "icon-rotation-alignment": "viewport", + "text-rotation-alignment": "viewport" + }, + "paint": { + "text-color": "rgba(64, 64, 64, 1)", + "icon-opacity": 1, + "text-opacity": 1, + "text-halo-blur": 0, + "text-halo-color": "rgba(0, 0, 0, 0)", + "text-halo-width": 0 + }, + "filter": [ + "all", + [ + "in", + "class", + "motorway", + "trunk", + "primary" + ], + [ + "has", + "ref" + ], + [ + "<=", + "ref_length", + 12 + ], + [ + "==", + "$type", + "LineString" + ] + ] + }, + { + "id": "area_name_glacier_point_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "area_name", + "minzoom": 14.0, + "layout": { + "text-font": [ + "B612 Italic" + ], + "text-size": [ + "interpolate", [ - "match", - [ - "get", - "class" - ], - [ - "ferry", - "car_ferry", - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "ruins", - "stadium", - "park", - "pitch" - ], - 1, - 0 + "linear" ], - 15, [ - "match", - [ - "get", - "class" - ], - [ - "campsite", - "ferry", - "car_ferry", - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "ruins", - "stadium", - "park", - "pitch", - "place_of_worship", - "sports_centre", - "zoo" - ], - 1, - 0 + "zoom" ], + 10, + 11, 16, - [ - "match", + 20 + ], + "text-field": "{name:latin}", + "visibility": "visible", + "symbol-spacing": { + "stops": [ [ - "get", - "class" + 12, + 250 ], [ - "campsite", - "ferry", - "car_ferry", - "ferry_terminal", - "funicular", - "golf", - "golf_course", - "cemetery", - "ruins", - "stadium", - "park", - "pitch", - "place_of_worship", - "sports_centre", - "zoo" - ], - 1, - 0 - ], - 17, - 1 + 14, + 550 + ] + ] + }, + "symbol-z-order": "auto", + "text-max-width": 99999, + "symbol-placement": "point", + "text-keep-upright": true, + "symbol-avoid-edges": true, + "text-allow-overlap": false, + "text-letter-spacing": 0.15, + "text-pitch-alignment": "map", + "text-ignore-placement": false, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgba(55, 146, 201, 1)", + "text-halo-blur": 1, + "text-halo-color": "rgba(242, 242, 242, 0.6)", + "text-halo-width": 1 + }, + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "in", + "subclass", + "glacier" + ] + ] + }, + { + "id": "area_name_glacier_line_label", + "type": "symbol", + "source": "base_v1.0.0", + "source-layer": "area_name", + "minzoom": 12.0, + "layout": { + "text-font": [ + "B612 Italic" ], - "text-halo-blur": 1, - "text-halo-color": "rgba(242, 242, 242, 0.6)", - "text-halo-width": [ + "text-size": [ "interpolate", [ "linear" @@ -11242,69 +12980,74 @@ [ "zoom" ], - 14, - 1, - 17, - 2 - ] + 10, + 11, + 16, + 20 + ], + "text-field": "{name:latin}", + "visibility": "visible", + "symbol-spacing": { + "stops": [ + [ + 12, + 250 + ], + [ + 14, + 550 + ] + ] + }, + "symbol-z-order": "auto", + "text-max-width": 99999, + "symbol-placement": "line-center", + "text-keep-upright": true, + "symbol-avoid-edges": true, + "text-allow-overlap": false, + "text-letter-spacing": { + "stops": [ + [ + 10, + 0.15 + ], + [ + 12, + 0.3 + ] + ] + }, + "text-pitch-alignment": "map", + "text-ignore-placement": false, + "text-rotation-alignment": "map" + }, + "paint": { + "text-color": "rgba(55, 146, 201, 1)", + "text-halo-blur": 1, + "text-halo-color": "rgba(242, 242, 242, 0.6)", + "text-halo-width": 1 }, "filter": [ - "any", + "all", [ - "match", - [ - "get", - "class" - ], - [ - "cemetery", - "dam", - "ferry_terminal", - "funicular", - "attraction", - "fuel", - "golf", - "golf_course", - "horse_racing", - "military", - "monastery", - "park", - "pitch", - "prison", - "ruins", - "sports_centre", - "stadium", - "swimming_pool", - "power", - "weir", - "zoo" - ], - true, - false + "==", + "$type", + "LineString" ], [ - "match", - [ - "get", - "subclass" - ], - [ - "church_tower", - "camp_site", - "communications_tower" - ], - true, - false + "in", + "subclass", + "glacier" ] ] }, { "id": "peaks_other", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 15.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -11483,10 +13226,10 @@ { "id": "peaks_rank5", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 13.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -11670,10 +13413,10 @@ { "id": "peaks_rank4", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 12.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -11857,10 +13600,10 @@ { "id": "peaks_rank3", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 11.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -12004,8 +13747,74 @@ "paint": { "icon-color": "rgba(0, 0, 0, 1)", "text-color": "rgba(48, 48, 48, 1)", - "icon-opacity": 1, - "text-opacity": 1, + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-color": "rgba(255, 255, 255, 1)", @@ -12044,10 +13853,10 @@ { "id": "peaks_rank2", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 10.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -12149,50 +13958,116 @@ "\n", {}, [ - "get", - "ele" + "get", + "ele" + ], + { + "font-scale": 0.75 + } + ], + "visibility": "visible", + "icon-anchor": "center", + "icon-offset": [ + 0, + 0 + ], + "text-anchor": "bottom", + "text-offset": [ + 0, + 0 + ], + "icon-padding": 0, + "text-justify": "auto", + "text-padding": 2, + "icon-optional": false, + "text-optional": false, + "symbol-z-order": [ + "literal", + "auto" + ], + "text-max-width": 8, + "symbol-placement": "point", + "text-line-height": 1.15, + "icon-allow-overlap": false, + "text-allow-overlap": false, + "text-radial-offset": 0.3, + "text-letter-spacing": 0.025, + "icon-pitch-alignment": "auto", + "icon-ignore-placement": false, + "text-ignore-placement": false, + "icon-rotation-alignment": "auto" + }, + "paint": { + "icon-color": "rgba(0, 0, 0, 1)", + "text-color": "rgba(48, 48, 48, 1)", + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 8, + [ + "match", + [ + "get", + "class" + ], + "alpine_peak", + 1, + 0 + ], + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "alpine_peak", + "main_peak" + ], + 1, + 0 ], - { - "font-scale": 0.75 - } - ], - "visibility": "visible", - "icon-anchor": "center", - "icon-offset": [ - 0, - 0 - ], - "text-anchor": "bottom", - "text-offset": [ - 0, - 0 - ], - "icon-padding": 0, - "text-justify": "auto", - "text-padding": 2, - "icon-optional": false, - "text-optional": false, - "symbol-z-order": [ - "literal", - "auto" + 12, + 1 ], - "text-max-width": 8, - "symbol-placement": "point", - "text-line-height": 1.15, - "icon-allow-overlap": false, - "text-allow-overlap": false, - "text-radial-offset": 0.3, - "text-letter-spacing": 0.025, - "icon-pitch-alignment": "auto", - "icon-ignore-placement": false, - "text-ignore-placement": false, - "icon-rotation-alignment": "auto" - }, - "paint": { - "icon-color": "rgba(0, 0, 0, 1)", - "text-color": "rgba(48, 48, 48, 1)", - "icon-opacity": 1, - "text-opacity": 1, "icon-halo-blur": 0, "text-halo-blur": 1, "icon-halo-color": "rgba(255, 255, 255, 1)", @@ -12231,10 +14106,10 @@ { "id": "place_other", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 14.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -12397,9 +14272,9 @@ { "id": "poi_rank1", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "poi", - "minzoom": 14.0, + "minzoom": 14, "layout": { "icon-size": 1, "text-font": [ @@ -12425,7 +14300,7 @@ "subclass" ], "railway_station", - "square_red", + "circle_dark_grey_6", "castle", "castle_grey", "" @@ -12478,16 +14353,7 @@ "symbol-avoid-edges": true }, "paint": { - "text-color": [ - "match", - [ - "get", - "subclass" - ], - "railway_station", - "rgba(255, 50, 50, 1)", - "rgba(48, 48, 48, 1)" - ], + "text-color": "rgba(18, 16, 16, 1)", "text-opacity": 1, "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.6)", @@ -12524,10 +14390,10 @@ { "id": "place_hamlet_isolated_dwelling", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", - "minzoom": 11.0, - "maxzoom": 24.0, + "minzoom": 12.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -12740,10 +14606,10 @@ { "id": "place_country_exclave", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 11.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "text-font": [ "B612 Regular" @@ -12796,7 +14662,7 @@ { "id": "place_village", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 7.0, "maxzoom": 18.0, @@ -12808,108 +14674,258 @@ "text-size": [ "interpolate", [ - "cubic-bezier", - 0.5, - 0.1, - 0.7, - 1 + "cubic-bezier", + 0.5, + 0.1, + 0.7, + 1 + ], + [ + "zoom" + ], + 4, + 11, + 10, + [ + "case", + [ + "<=", + 3000, + [ + "get", + "population" + ] + ], + 16, + 14 + ], + 16, + [ + "case", + [ + "<=", + 3000, + [ + "get", + "population" + ] + ], + 28, + 24 + ] + ], + "icon-image": [ + "step", + [ + "zoom" + ], + "circle_dark_grey_4", + 6, + "circle_dark_grey_4", + 8, + "circle_dark_grey_6", + 10, + "circle_dark_grey_8", + 12, + "circle_dark_grey_10" + ], + "text-field": [ + "get", + "name:latin" + ], + "visibility": "visible", + "text-anchor": [ + "literal", + "bottom-left" + ], + "text-offset": [ + "literal", + [ + 0.4, + 0.2 + ] + ], + "text-justify": "auto", + "text-padding": 10, + "icon-optional": false, + "text-optional": false, + "symbol-z-order": [ + "literal", + "auto" + ], + "text-max-width": 10, + "text-transform": "none", + "symbol-sort-key": [ + "to-number", + [ + "get", + "rank" + ] + ], + "text-letter-spacing": 0.025 + }, + "paint": { + "text-color": "rgba(64, 64, 64, 1)", + "icon-opacity": [ + "step", + [ + "zoom" + ], + 0, + 7, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ], + 8, + [ + "case", + [ + ">", + 14, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 9, + [ + "case", + [ + ">", + 15, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 10, + [ + "case", + [ + ">", + 18, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 11, + [ + "case", + [ + ">", + 28, + [ + "get", + "rank" + ] + ], + 1, + 0 + ], + 12, + 1, + 13, + 0 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 7, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ], + 8, + [ + "case", + [ + ">", + 14, + [ + "get", + "rank" + ] + ], + 1, + 0 ], + 9, [ - "zoom" + "case", + [ + ">", + 15, + [ + "get", + "rank" + ] + ], + 1, + 0 ], - 4, - 11, 10, [ "case", [ - "<=", - 3000, + ">", + 18, [ "get", - "population" + "rank" ] ], - 16, - 14 + 1, + 0 ], - 16, + 11, [ "case", [ - "<=", - 3000, + ">", + 28, [ "get", - "population" + "rank" ] ], - 28, - 24 - ] - ], - "icon-image": [ - "step", - [ - "zoom" + 1, + 0 ], - "circle_dark_grey_4", - 6, - "circle_dark_grey_4", - 8, - "circle_dark_grey_6", - 10, - "circle_dark_grey_8", 12, - "circle_dark_grey_10" - ], - "text-field": [ - "get", - "name:latin" - ], - "visibility": "visible", - "text-anchor": [ - "literal", - "bottom-left" - ], - "text-offset": [ - "literal", - [ - 0.4, - 0.2 - ] - ], - "text-justify": "auto", - "text-padding": 10, - "icon-optional": false, - "text-optional": false, - "symbol-z-order": [ - "literal", - "auto" - ], - "text-max-width": 10, - "text-transform": "none", - "symbol-sort-key": [ - "to-number", - [ - "get", - "rank" - ] - ], - "text-letter-spacing": 0.025 - }, - "paint": { - "text-color": "rgba(64, 64, 64, 1)", - "icon-opacity": [ - "step", - [ - "zoom" - ], - 1, - 13, - 0 + 1 ], - "text-opacity": 1, "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.6)", "text-halo-width": [ @@ -12942,7 +14958,7 @@ { "id": "aerodrome_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "aerodrome_label", "minzoom": 11.0, "layout": { @@ -13017,6 +15033,7 @@ "get", "name:latin" ], + "visibility": "visible", "icon-anchor": "center", "text-anchor": "left", "text-offset": [ @@ -13048,10 +15065,51 @@ "paint": { "text-color": "rgba(64, 64, 64, 1)", "icon-opacity": [ - "literal", + "step", + [ + "zoom" + ], + 0, + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 12, + 1 + ], + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 11, + [ + "match", + [ + "get", + "class" + ], + [ + "international", + "regional" + ], + 1, + 0 + ], + 12, 1 ], - "text-opacity": 1, "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.8)", "text-halo-width": [ @@ -13080,10 +15138,10 @@ { "id": "peaks_rank1", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "mountain_peak", "minzoom": 9.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "icon-size": 1, "text-font": [ @@ -13305,7 +15363,7 @@ { "id": "place_town", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 6.0, "maxzoom": 16.0, @@ -13400,11 +15458,73 @@ [ "zoom" ], + 0, + 6, + [ + "case", + [ + ">", + 10, + [ + "get", + "rank" + ] + ], + 1, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ] + ], + 8, 1, 12, 0 ], - "text-opacity": 1, + "text-opacity": [ + "step", + [ + "zoom" + ], + 0, + 6, + [ + "case", + [ + ">", + 10, + [ + "get", + "rank" + ] + ], + 1, + [ + "match", + [ + "get", + "capital" + ], + [ + 2, + 4 + ], + 1, + 0 + ] + ], + 8, + 1 + ], "text-halo-blur": 1, "text-halo-color": "rgba(242, 242, 242, 0.6)", "text-halo-width": [ @@ -13437,10 +15557,10 @@ { "id": "water_name_point_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "water_name", "minzoom": 7.0, - "maxzoom": 24.0, + "maxzoom": 22.0, "layout": { "text-font": [ "B612 Italic" @@ -13822,7 +15942,7 @@ { "id": "park_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "park", "minzoom": 8.0, "layout": { @@ -13847,6 +15967,7 @@ 28 ], "text-field": "{name:latin}", + "visibility": "visible", "text-padding": [ "interpolate", [ @@ -13888,7 +16009,7 @@ { "id": "area_name_massif_label", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "area_name", "minzoom": 11.0, "layout": { @@ -13909,6 +16030,7 @@ 23 ], "text-field": "{name:latin}", + "visibility": "visible", "symbol-spacing": { "stops": [ [ @@ -13955,7 +16077,7 @@ { "id": "place_city", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 2.0, "maxzoom": 14.0, @@ -14073,7 +16195,7 @@ { "id": "place_country_LI", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 0.0, "maxzoom": 7.0, @@ -14136,7 +16258,7 @@ { "id": "place_country_CH", "type": "symbol", - "source": "leichtebasiskarte_v3.0.1", + "source": "base_v1.0.0", "source-layer": "place", "minzoom": 0.0, "maxzoom": 7.0, @@ -14198,14 +16320,200 @@ } ], "metadata": { - "maputnik:renderer": "mbgljs", - "openmaptiles:version": "3.x", - "ga:version": "v1.13.0", - "ga:publisher": "CI:ac3e99d6-5d72-4d5b-9d12-59f8c5af5468", + "maptiler:template": { + "groups": [ + { + "id": "4rZcx2YUdbGIJ_xQaDQb6", + "icon": "variant2", + "name": "label", + "layers": [ + "place_country_CH", + "place_country_LI", + "place_city", + "area_name_massif_label", + "park_label", + "water_name_point_label", + "place_town", + "place_village", + "place_country_exclave", + "place_hamlet_isolated_dwelling", + "place_other", + "area_name_glacier_line_label", + "area_name_glacier_point_label" + ] + }, + { + "id": "spbW1YO3D6JmGqVeeVEo3", + "icon": "poi", + "name": "poi", + "layers": [ + "poi_rank1" + ] + }, + { + "id": "Egb2j0u2wyQyI8FftRcqF", + "icon": "terrain", + "name": "mountain_peak", + "layers": [ + "peaks_rank1", + "peaks_rank2", + "peaks_rank3", + "peaks_rank4", + "peaks_rank5", + "peaks_other" + ] + }, + { + "id": "o-n3H-7f0sOIKwDFxFRaG", + "icon": "builtUp", + "name": "infrastructure", + "layers": [ + "housenumber", + "building_2d_casing", + "building_2d", + "building_ln", + "construct", + "construct_line" + ] + }, + { + "id": "_olyvAt6o8QUN9qePUZap", + "icon": "transport", + "name": "transportation", + "layers": [ + "road_number", + "transportation_label", + "aerialway", + "bridge-l2_public_transport", + "bridge-l2_road_path_footway", + "bridge-l2_road_track", + "bridge-l2_fill", + "bridge-l2_road_casing", + "bridge-l1_public_transport", + "bridge-l1_road_path_footway", + "bridge-l1_road_track", + "bridge-l1_fill", + "bridge-l1_road_casing", + "public_transport", + "ferry", + "car_ferry", + "road_fill", + "road_casing", + "road_path_footway", + "road_via_ferrata_trail", + "tunnel_road", + "tunnel_road_path_footway", + "tunnel_public_transport", + "aerodrome_label", + "aeroway_polygon_fill", + "aeroway_line_fill", + "aeroway_polygon_casing", + "aeroway_line_casing", + "landuse_parking", + "landuse_parking_outline" + ] + }, + { + "id": "z959Ue-RzB_dh5_EJgGry", + "icon": "administrative", + "name": "boundary", + "layers": [ + "boundary", + "boundary_disputed", + "park" + ] + }, + { + "id": "jQ4N1YUSpDNjoXrIHGNpp", + "icon": "water", + "name": "water", + "layers": [ + "waterway_line_label", + "lake_elevation", + "water_outline", + "water_line_intermittent", + "water_polygon", + "contour_line_water", + "water_line" + ] + }, + { + "id": "QZWB1txCT3r3H5wy13N86", + "icon": "nature", + "name": "land", + "layers": [ + "pattern_landcover_orchard", + "pattern_landcover_wetlands", + "pattern_landcover_vineyard", + "landcover", + "landcover_casing", + "landcover_pt", + "landuse_outline", + "landuse" + ] + }, + { + "id": "terrain", + "icon": "terrain", + "name": "terrain", + "layers": [ + "hillshade_grey", + "hillshade_yellow", + "sinkhole", + "label_contour_line_100_brown", + "label_contour_line_100_blue", + "label_contour_line_100_grey", + "label_contour_line_20_brown", + "label_contour_line_20_blue", + "label_contour_line_20_grey", + "hachure", + "scree_z11", + "scree_z13", + "scree_z15", + "scree_z17", + "spot_elevation", + "contour_line" + ] + }, + { + "id": "background", + "icon": "background", + "name": "Background", + "layers": [ + "background" + ] + } + ], + "viewState": { + "mapType": "Style", + "activeBlock": null, + "toolPanelType": "Layers", + "selectedLayers": [ + "tunnel_road" + ], + "propertyPanelType": "Edit", + "editorFocusProperty": null, + "layersViewPanelType": "Verticality" + }, + "userSettings": { + "preferredViewPanelType": "Verticality" + } + }, + "ga:version": "v1.17.0", + "ga:publisher": "CI:597e6ccf-63c7-4a22-9279-940877bf6866", "ga:branch": "master" }, "glyphs": "/map/fonts/{fontstack}/{range}.pbf", - "sprite": "https://vectortiles.geo.admin.ch/styles/ch.swisstopo.leichte-basiskarte.vt/sprite/sprite", + "sprite": [ + { + "id": "default", + "url": "/map/sprites/basemap" + }, + { + "id": "babs", + "url": "/map/sprites/babs" + } + ], "bearing": 0.0, "pitch": 0.0, "center": [ diff --git a/ui/src/components/map/EnrichedLayerFeatures.tsx b/ui/src/components/map/EnrichedLayerFeatures.tsx index d2a75c07..a7d8a412 100644 --- a/ui/src/components/map/EnrichedLayerFeatures.tsx +++ b/ui/src/components/map/EnrichedLayerFeatures.tsx @@ -20,7 +20,7 @@ const enrichFeature = (f: Feature): Feature): Feature%3Cpath d="m10 2c-3.3 0-6 2.7-6 6s6 9 6 9 6-5.7 6-9-2.7-6-6-6zm0 2c2.1 0 3.8 1.7 3.8 3.8 0 1.5-1.8 3.9-2.9 5.2h-1.7c-1.1-1.4-2.9-3.8-2.9-5.2-.1-2.1 1.6-3.8 3.7-3.8z"/>%3C/svg>'); +} + +.mapbox-gl-draw_polygon { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m15 12.3v-4.6c.6-.3 1-1 1-1.7 0-1.1-.9-2-2-2-.7 0-1.4.4-1.7 1h-4.6c-.3-.6-1-1-1.7-1-1.1 0-2 .9-2 2 0 .7.4 1.4 1 1.7v4.6c-.6.3-1 1-1 1.7 0 1.1.9 2 2 2 .7 0 1.4-.4 1.7-1h4.6c.3.6 1 1 1.7 1 1.1 0 2-.9 2-2 0-.7-.4-1.4-1-1.7zm-8-.3v-4l1-1h4l1 1v4l-1 1h-4z"/>%3C/svg>'); +} + +.mapbox-gl-draw_line { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m13.5 3.5c-1.4 0-2.5 1.1-2.5 2.5 0 .3 0 .6.2.9l-3.8 3.8c-.3-.1-.6-.2-.9-.2-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5 2.5-1.1 2.5-2.5c0-.3 0-.6-.2-.9l3.8-3.8c.3.1.6.2.9.2 1.4 0 2.5-1.1 2.5-2.5s-1.1-2.5-2.5-2.5z"/>%3C/svg>'); +} + +.mapbox-gl-draw_trash { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M10,3.4 c-0.8,0-1.5,0.5-1.8,1.2H5l-1,1v1h12v-1l-1-1h-3.2C11.5,3.9,10.8,3.4,10,3.4z M5,8v7c0,1,1,2,2,2h6c1,0,2-1,2-2V8h-2v5.5h-1.5V8h-3 v5.5H7V8H5z"/>%3C/svg>'); +} + +.mapbox-gl-draw_uncombine { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="m12 2c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm4 4c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l1 1c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-1-1c-.2-.2-.4-.3-.7-.3zm-7 1c-1 0-1 1-.5 1.5.3.3 1 1 1 1l-1 1s-.5.5 0 1 1 0 1 0l1-1 1 1c.5.5 1.5.5 1.5-.5v-4zm-5 3c-.3 0-.5.1-.7.3l-1 1c-.4.4-.4 1 0 1.4l4.9 4.9c.4.4 1 .4 1.4 0l1-1c.4-.4.4-1 0-1.4l-4.9-4.9c-.1-.2-.4-.3-.7-.3z"/>%3C/svg>'); +} + +.mapbox-gl-draw_combine { + background-image: url('data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20">%3Cpath d="M12.1,2c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l4.9,4.9c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-4.9-4.9C12.6,2.1,12.3,2,12.1,2z M8,8C7,8,7,9,7.5,9.5c0.3,0.3,1,1,1,1l-1,1c0,0-0.5,0.5,0,1s1,0,1,0l1-1l1,1 C11,13,12,13,12,12V8H8z M4,10c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1c0.4-0.4,0.4-1,0-1.4 l-1-1C4.5,10.1,4.3,10,4,10z M8,14c-0.3,0-0.5,0.1-0.7,0.3l-1,1c-0.4,0.4-0.4,1,0,1.4l1,1c0.4,0.4,1,0.4,1.4,0l1-1 c0.4-0.4,0.4-1,0-1.4l-1-1C8.5,14.1,8.3,14,8,14z"/>%3C/svg>'); +} + +.maplibre-map.mouse-pointer .maplibre-canvas-container.maplibre-interactive { + cursor: pointer; +} + +.maplibre-map.mouse-move .maplibre-canvas-container.maplibre-interactive { + cursor: move; +} + +.maplibre-map.mouse-add .maplibre-canvas-container.maplibre-interactive { + cursor: crosshair; +} + +.maplibre-map.mouse-move.mode-direct_select .maplibre-canvas-container.maplibre-interactive { + cursor: grab; + cursor: -moz-grab; + cursor: -webkit-grab; +} + +.maplibre-map.mode-simple_select.feature-feature.mouse-none .maplibre-canvas-container.maplibre-interactive { + cursor: default !important; +} + +.maplibre-map.mode-direct_select.feature-vertex.mouse-move .maplibre-canvas-container.maplibre-interactive { + cursor: move; +} + +.maplibre-map.mode-direct_select.feature-midpoint.mouse-pointer .maplibre-canvas-container.maplibre-interactive { + cursor: cell; +} + +.maplibre-map.mode-direct_select.feature-feature.mouse-move .maplibre-canvas-container.maplibre-interactive { + cursor: move; +} + +.maplibre-map.mode-static.mouse-pointer .maplibre-canvas-container.maplibre-interactive { + cursor: grab; + cursor: -moz-grab; + cursor: -webkit-grab; +} + +.mapbox-gl-draw_boxselect { + pointer-events: none; + position: absolute; + top: 0; + left: 0; + width: 0; + height: 0; + background: rgba(0, 0, 0, .1); + border: 2px dotted #fff; + opacity: 0.5; +} + +.maplibre-canvas-container.maplibre-interactive, +.maplibre-canvas-container.maplibre-interactive:active { + cursor: default; +} \ No newline at end of file diff --git a/ui/src/views/map/Map.tsx b/ui/src/views/map/Map.tsx index 38ef971f..eb8514bc 100644 --- a/ui/src/views/map/Map.tsx +++ b/ui/src/views/map/Map.tsx @@ -1,95 +1,72 @@ import './control-panel.css'; -import "@mapbox/mapbox-gl-draw/dist/mapbox-gl-draw.css"; +import "./Map.scss"; import { AddFeatureToLayer, DeleteFeature, GetLayers, ModifyFeature } from './graphql'; import { AddFeatureVars, DeleteFeatureVars, GetLayersData, GetLayersVars, Layer, ModifyFeatureVars } from 'types/layer'; -import { AllIcons, LinePatterns, ZonePatterns } from 'components/BabsIcons'; import { BabsIconController } from './controls/BabsIconController'; import { CleanFeature, FilterActiveFeatures, LayerToFeatureCollection } from './utils'; import { displayStyle, drawStyle } from './style'; import { Feature, Geometry, GeoJsonProperties, FeatureCollection } from "geojson"; import { first } from 'lodash'; -import { FullscreenControl, Map, MapProvider, MapRef, NavigationControl, ScaleControl, Source, useMap, Layer as MapLayer, AttributionControl } from 'react-map-gl/maplibre'; +import { FullscreenControl, Map, MapProvider, NavigationControl, ScaleControl, Source, useMap, Layer as MapLayer, AttributionControl } from 'react-map-gl/maplibre'; import { LayerContext, LayersProvider } from './LayerContext'; import { StyleController, selectedStyle } from './controls/StyleController'; -import { memo, useCallback, useContext, useEffect, useRef, useState } from 'react'; +import { memo, useCallback, useContext, useEffect, useState } from 'react'; import { useMutation, useQuery, useReactiveVar } from '@apollo/client'; import { useParams } from 'react-router-dom'; import bbox from "@turf/bbox"; -import DefaultMaker from 'assets/marker.svg'; import DrawControl from './controls/DrawControl'; import EnrichedLayerFeatures, { EnrichedSymbolSource } from 'components/map/EnrichedLayerFeatures'; import ExportControl from './controls/ExportControl'; import LayerControl from './controls/LayerControl'; import MapboxDraw from '@mapbox/mapbox-gl-draw'; import maplibregl from 'maplibre-gl'; +import classNames from 'classnames'; const modes = { ...MapboxDraw.modes, }; function MapView() { - const mapRef = useRef(null); - const mapStyle = useReactiveVar(selectedStyle); - const [viewState, setViewState] = useState({ - latitude: 46.87148, - longitude: 8.62994, - zoom: 5, - bearing: 0, - }); - - const onMapLoad = useCallback(() => { - // Add the default marker - let defaultMarker = new Image(32, 32); - defaultMarker.onload = () => mapRef && mapRef.current && !mapRef.current.hasImage('default_marker') && mapRef.current.addImage('default_marker', defaultMarker); - defaultMarker.src = DefaultMaker; - Object.values(AllIcons).forEach(icon => { - let customIcon = new Image(48, 48); - customIcon.onload = () => mapRef && mapRef.current && !mapRef.current.hasImage(icon.name) && mapRef.current.addImage(icon.name, customIcon) - customIcon.src = icon.src; - }); - mapRef && mapRef.current && mapRef.current.on('styleimagemissing', function (e) { - const id = e.id; - Object.values(Object.assign({}, AllIcons, LinePatterns, ZonePatterns)).filter(icon => id === icon.name).forEach(icon => { - let customIcon = new Image(icon.size, icon.size); - customIcon.src = icon.src; - customIcon.onload = () => mapRef && mapRef.current && !mapRef.current.hasImage(icon.name) && mapRef.current.addImage(icon.name, customIcon) - }); - }); + const mapStyle = useReactiveVar(selectedStyle); + maplibregl.setMaxParallelImageRequests(150); + maplibregl.setWorkerCount(6); - }, [mapRef]); + const mapClass = classNames({ + 'maplibre': true, + "container-flex": true, + }); return ( <>

Lage

-
- - setViewState(e.viewState)} - mapStyle={mapStyle.uri} - touchPitch={true} - touchZoomRotate={true} - scrollZoom={true} - > - - - {/* All Map Controls */} - - - - - {/* Layersprovider and Draw */} - - - +
+ console.log(e)} + initialViewState={{ + latitude: 46.87148, + longitude: 8.62994, + zoom: 5, + bearing: 0, + }} + attributionControl={false} + minZoom={9} + maxZoom={19} + mapStyle={mapStyle.uri} + scrollZoom={true} + reuseMaps={false} + > + + {/* All Map Controls */} + + + + + {/* Layersprovider and Draw */} + +
); @@ -345,11 +322,17 @@ function InactiveLayer(props: { featureCollection: FeatureCollection, id: string ) } -const MemoMap = MapView; -export { MemoMap as Map }; +function MapWithProvder() { + return ( + + + + ) +} +export { MapWithProvder as Map }; export type FeatureEvent = { features: Feature[] diff --git a/ui/src/views/map/style.ts b/ui/src/views/map/style.ts index 6ce83edd..4bb33996 100644 --- a/ui/src/views/map/style.ts +++ b/ui/src/views/map/style.ts @@ -27,7 +27,7 @@ export const drawStyle: LayerProps[] = [ ['!=', 'mode', 'static'] ], 'paint': { - 'fill-pattern': ['match', ['get', 'user_zoneType'], 'Brandzone', 'PatternBrandzone', 'Zerstoerung', 'PatternZerstoert', 'PatternBrandzone'], + 'fill-pattern': ['match', ['get', 'user_zoneType'], 'Brandzone', 'babs:PatternBrandzone', 'Zerstoerung', 'babs:PatternZerstoert', 'babs:PatternBrandzone'], 'fill-opacity': 1 } }, @@ -150,7 +150,7 @@ export const drawStyle: LayerProps[] = [ 'line-join': 'round' }, 'paint': { - 'line-pattern': ['match', ['get', 'user_lineType'], 'unpassierbar', 'PatternLineUnpassierbar', 'beabsichtigteErkundung', 'PatternLineBeabsichtigteErkundung', 'durchgeführteErkundung', 'PatternLineErkundung', 'Rutschgebiet', 'PatternLineRutschgebiet', 'RutschgebietGespiegelt', 'PatternLineRutschgebietGespiegelt', 'PatternLineUnpassierbar', 'rettungsAchse', 'PatternLineRettungsachse'], + 'line-pattern': ['match', ['get', 'user_lineType'], 'unpassierbar', 'babs:PatternLineUnpassierbar', 'beabsichtigteErkundung', 'babs:PatternLineBeabsichtigteErkundung', 'durchgeführteErkundung', 'babs:PatternLineErkundung', 'Rutschgebiet', 'babs:PatternLineRutschgebiet', 'RutschgebietGespiegelt', 'babs:PatternLineRutschgebietGespiegelt', 'babs:PatternLineUnpassierbar', 'rettungsAchse', 'babs:PatternLineRettungsachse'], 'line-opacity': 0.7, 'line-width': ['interpolate', ['exponential', 1], ['zoom'], 12, 2, 19, 22], } @@ -246,7 +246,7 @@ export const drawStyle: LayerProps[] = [ ['!has', 'user_iconRotation'], ], 'layout': { - 'icon-image': ['coalesce', ["get", "user_icon"], 'default_marker'], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "user_icon"]], ["get", "user_icon"], 'default_marker'], 'icon-pitch-alignment': 'viewport', 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], @@ -262,7 +262,7 @@ export const drawStyle: LayerProps[] = [ ['has', 'user_iconRotation'], ], 'layout': { - 'icon-image': ['coalesce', ["get", "user_icon"], 'default_marker'], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "user_icon"]], ["get", "user_icon"], 'default_marker'], 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], 'icon-rotation-alignment': 'map', @@ -442,7 +442,7 @@ export const displayStyle: LayerProps[] = [ ['in', 'zoneType', 'Brandzone', 'Zerstoerung'], ], 'paint': { - 'fill-pattern': ['match', ['get', 'zoneType'], 'Brandzone', 'PatternBrandzone', 'Zerstoerung', 'PatternZerstoert', 'PatternBrandzone'], + 'fill-pattern': ['match', ['get', 'zoneType'], 'Brandzone', 'babs:PatternBrandzone', 'Zerstoerung', 'babs:PatternZerstoert', 'babs:PatternBrandzone'], 'fill-antialias': true, 'fill-opacity': 1 } @@ -521,7 +521,7 @@ export const displayStyle: LayerProps[] = [ 'line-join': 'round' }, 'paint': { - 'line-pattern': ['match', ['get', 'lineType'], 'unpassierbar', 'PatternLineUnpassierbar', 'beabsichtigteErkundung', 'PatternLineBeabsichtigteErkundung', 'durchgeführteErkundung', 'PatternLineErkundung', 'Rutschgebiet', 'PatternLineRutschgebiet', 'RutschgebietGespiegelt', 'PatternLineRutschgebietGespiegelt', 'PatternLineUnpassierbar', 'rettungsAchse', 'PatternLineRettungsachse'], + 'line-pattern': ['match', ['get', 'lineType'], 'unpassierbar', 'babs:PatternLineUnpassierbar', 'beabsichtigteErkundung', 'babs:PatternLineBeabsichtigteErkundung', 'durchgeführteErkundung', 'babs:PatternLineErkundung', 'Rutschgebiet', 'babs:PatternLineRutschgebiet', 'RutschgebietGespiegelt', 'babs:PatternLineRutschgebietGespiegelt', 'babs:PatternLineUnpassierbar', 'rettungsAchse', 'babs:PatternLineRettungsachse'], 'line-opacity': 0.7, 'line-width': ['interpolate', ['exponential', 1], ['zoom'], 12, 2, 19, 22], } @@ -569,7 +569,7 @@ export const displayStyle: LayerProps[] = [ ['!has', 'iconRotation'], ], 'layout': { - 'icon-image': ["get", "icon"], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "icon"]], ["get", "icon"], 'default_marker'], 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], } @@ -583,7 +583,7 @@ export const displayStyle: LayerProps[] = [ ['has', 'icon'], ], 'layout': { - 'icon-image': ["get", "icon"], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "icon"]], ["get", "icon"], 'default_marker'], 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], 'icon-allow-overlap': true, 'icon-rotation-alignment': 'map', @@ -600,7 +600,7 @@ export const displayStyle: LayerProps[] = [ ['!has', 'iconRotation'], ], 'layout': { - 'icon-image': ['coalesce', ["get", "icon"], 'default_marker'], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "icon"]], ["get", "icon"], 'default_marker'], 'icon-pitch-alignment': 'viewport', 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], @@ -615,7 +615,7 @@ export const displayStyle: LayerProps[] = [ ['has', 'iconRotation'], ], 'layout': { - 'icon-image': ['coalesce', ["get", "icon"], 'default_marker'], + 'icon-image': ['coalesce', ['concat', "babs:", ["get", "icon"]], ["get", "icon"], 'default_marker'], 'icon-allow-overlap': true, 'icon-size': ['interpolate', ['linear'], ['zoom'], 12, 0.1, 17, 1], 'icon-rotation-alignment': 'map', @@ -754,5 +754,4 @@ export const displayStyle: LayerProps[] = [ }, ]; - -export default drawStyle; \ No newline at end of file +export default drawStyle; diff --git a/ui/vite.config.ts b/ui/vite.config.ts index 2e6d6c89..5cef7825 100644 --- a/ui/vite.config.ts +++ b/ui/vite.config.ts @@ -8,33 +8,47 @@ import eslint from "vite-plugin-eslint"; import { VitePWA } from "vite-plugin-pwa"; import svgrPlugin from "vite-plugin-svgr"; import viteTsconfigPaths from "vite-tsconfig-paths"; +import { visualizer } from "rollup-plugin-visualizer"; // https://vitejs.dev/config/ export default defineConfig({ base: "/", build: { outDir: "build", + sourcemap: false, + minify: "esbuild", + rollupOptions: { + treeshake: { + preset: "recommended", + }, + output: { + minifyInternalExports: true, + sourcemap: false, + manualChunks: { + maplibregl: ["maplibre-gl", "@watergis/maplibre-gl-export", "@mapbox/mapbox-gl-draw"], + }, + }, + }, }, define: { global: "window", }, plugins: [ - react(), + react({ devTarget: "es2022" }), viteTsconfigPaths(), svgrPlugin(), eslint(), + visualizer(), checker({ typescript: true, }), VitePWA({ - registerType: "prompt", + registerType: "autoUpdate", injectRegister: "auto", workbox: { - globPatterns: ["**/*.{js,css,html,ico,png,svg,woff2,pbf}"], - navigateFallbackDenylist: [ - /^\/oauth2/, - /^\/api/, - ] + globPatterns: ["**/*.{js,css,html,ico,png,svg,woff2,pbf,json}"], + navigateFallbackDenylist: [/^\/oauth2/, /^\/api/], + maximumFileSizeToCacheInBytes: 3145728, // 3MB }, manifest: { short_name: "SitRep", @@ -66,7 +80,7 @@ export default defineConfig({ start_url: ".", theme_color: "#000000", background_color: "#ffffff", - } + }, }), ], resolve: { diff --git a/ui/yarn.lock b/ui/yarn.lock index b0596175..acd1f1a6 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -69,9 +69,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:^3.11.4": - version: 3.11.4 - resolution: "@apollo/client@npm:3.11.4" +"@apollo/client@npm:^3.11.8": + version: 3.11.8 + resolution: "@apollo/client@npm:3.11.8" dependencies: "@graphql-typed-document-node/core": "npm:^3.1.1" "@wry/caches": "npm:^1.0.0" @@ -102,7 +102,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: 10/fe6e8e0125510867e7f3863ebd8383f425276167f313d661d93855171fec93b0fd812f3cc0326d1a0dbf91c6edf36de427af195c767f432f6d5baa3e82374354 + checksum: 10/ea9f8d8e5575bd2f2e897c53c4c3cbbea741aa2b40a103a41df0ff2fd0ff43ede127f65f0bdb6dfded28c2e2cada32551b2f558db702ebb40cf88aab9127dc1c languageName: node linkType: hard @@ -1811,7 +1811,7 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.2": +"@babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.14.0, @babel/runtime@npm:^7.8.4": version: 7.20.13 resolution: "@babel/runtime@npm:7.20.13" dependencies: @@ -1829,12 +1829,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.24.8": - version: 7.25.0 - resolution: "@babel/runtime@npm:7.25.0" +"@babel/runtime@npm:^7.25.0": + version: 7.25.6 + resolution: "@babel/runtime@npm:7.25.6" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10/6870e9e0e9125075b3aeba49a266f442b10820bfc693019eb6c1785c5a0edbe927e98b8238662cdcdba17842107c040386c3b69f39a0a3b217f9d00ffe685b27 + checksum: 10/0c4134734deb20e1005ffb9165bf342e1074576621b246d8e5e41cc7cb315a885b7d98950fbf5c63619a2990a56ae82f444d35fe8c4691a0b70c2fe5673667dc languageName: node linkType: hard @@ -2218,14 +2218,21 @@ __metadata: languageName: node linkType: hard -"@eslint/config-array@npm:^0.17.1": - version: 0.17.1 - resolution: "@eslint/config-array@npm:0.17.1" +"@eslint/config-array@npm:^0.18.0": + version: 0.18.0 + resolution: "@eslint/config-array@npm:0.18.0" dependencies: "@eslint/object-schema": "npm:^2.1.4" debug: "npm:^4.3.1" minimatch: "npm:^3.1.2" - checksum: 10/d837852445d3cfc62da5e0d94ab036aa4393751cf2ee71676df61ec77bffabaa73f87207bfa200b8d0e7e95b556704f29f35f2f22d63d1ce2e285db4a325a2df + checksum: 10/60ccad1eb4806710b085cd739568ec7afd289ee5af6ca0383f0876f9fe375559ef525f7b3f86bdb3f961493de952f2cf3ab4aa4a6ccaef0ae3cd688267cabcb3 + languageName: node + linkType: hard + +"@eslint/core@npm:^0.6.0": + version: 0.6.0 + resolution: "@eslint/core@npm:0.6.0" + checksum: 10/ec5cce168c8773fbd60c5a505563c6cf24398b3e1fa352929878d63129e0dd5b134d3232be2f2c49e8124a965d03359b38962aa0dcf7dfaf50746059d2a2f798 languageName: node linkType: hard @@ -2246,10 +2253,10 @@ __metadata: languageName: node linkType: hard -"@eslint/js@npm:9.9.0, @eslint/js@npm:^9.9.0": - version: 9.9.0 - resolution: "@eslint/js@npm:9.9.0" - checksum: 10/9d6e94d0334aecaa7e5c78e654297d9b11679f56c8ec1b64db122cbecf64b5a04138617e901d0c79727d03abce8a898cce4288259435bde78460ebdab202998f +"@eslint/js@npm:9.11.1, @eslint/js@npm:^9.11.1": + version: 9.11.1 + resolution: "@eslint/js@npm:9.11.1" + checksum: 10/77b9c744bdf24e2ca1f99f671139767d6c31cb10d732cf22a85ef28f1f95f2a621cf204f572fd9fee67da6193ff2597a5d236cef3b557b07624230b622612339 languageName: node linkType: hard @@ -2260,6 +2267,15 @@ __metadata: languageName: node linkType: hard +"@eslint/plugin-kit@npm:^0.2.0": + version: 0.2.0 + resolution: "@eslint/plugin-kit@npm:0.2.0" + dependencies: + levn: "npm:^0.4.1" + checksum: 10/ebb363174397341dea47dc35fc206e24328083e4f0fa1c539687dbb7f94bef77e43faa12867d032e6eea5ac980ea8fbb6b1d844186e422d327c04088041b99f3 + languageName: node + linkType: hard + "@fortawesome/fontawesome-common-types@npm:6.6.0": version: 6.6.0 resolution: "@fortawesome/fontawesome-common-types@npm:6.6.0" @@ -3115,7 +3131,7 @@ __metadata: languageName: node linkType: hard -"@maplibre/maplibre-gl-style-spec@npm:^20.3.0": +"@maplibre/maplibre-gl-style-spec@npm:^20.3.1": version: 20.3.1 resolution: "@maplibre/maplibre-gl-style-spec@npm:20.3.1" dependencies: @@ -3189,10 +3205,10 @@ __metadata: languageName: node linkType: hard -"@remix-run/router@npm:1.19.1": - version: 1.19.1 - resolution: "@remix-run/router@npm:1.19.1" - checksum: 10/2800c2f6567a982fe942aacc4cb5b170e7cc89bd455960e3bea2424161ff7dac32d01886322d88dd19b88d1bea711f39566d17f02b73eeb74999affb471f8f52 +"@remix-run/router@npm:1.19.2": + version: 1.19.2 + resolution: "@remix-run/router@npm:1.19.2" + checksum: 10/31b62b66ea68bd62018189047de7b262700113438f62407df019f81a9856a08a705b2b77454be9293518e2f5f3bbf3f8b858ac19f48cb7d89f8ab56b7b630c19 languageName: node linkType: hard @@ -3730,25 +3746,24 @@ __metadata: languageName: node linkType: hard -"@testing-library/jest-dom@npm:^6.4.8": - version: 6.4.8 - resolution: "@testing-library/jest-dom@npm:6.4.8" +"@testing-library/jest-dom@npm:^6.5.0": + version: 6.5.0 + resolution: "@testing-library/jest-dom@npm:6.5.0" dependencies: "@adobe/css-tools": "npm:^4.4.0" - "@babel/runtime": "npm:^7.9.2" aria-query: "npm:^5.0.0" chalk: "npm:^3.0.0" css.escape: "npm:^1.5.1" dom-accessibility-api: "npm:^0.6.3" lodash: "npm:^4.17.21" redent: "npm:^3.0.0" - checksum: 10/011e5a309e2cfc0c5cee6454427030d9a5d690df212bedcc78c15ee8d23218c3e51be32617ca879f060445ba0ba38e1b8d224b5ab11444ee076c37ed8c1c123a + checksum: 10/3d2080888af5fd7306f57448beb5a23f55d965e265b5e53394fffc112dfb0678d616a5274ff0200c46c7618f293520f86fc8562eecd8bdbc0dbb3294d63ec431 languageName: node linkType: hard -"@testing-library/react@npm:^16.0.0": - version: 16.0.0 - resolution: "@testing-library/react@npm:16.0.0" +"@testing-library/react@npm:^16.0.1": + version: 16.0.1 + resolution: "@testing-library/react@npm:16.0.1" dependencies: "@babel/runtime": "npm:^7.12.5" peerDependencies: @@ -3762,7 +3777,7 @@ __metadata: optional: true "@types/react-dom": optional: true - checksum: 10/b32894be94e31276138decfa6bcea69dfebc0c37cf91499ff6c878f41eb1154a43a7df6eb1e72e7bede78468af6cb67ca59e4acd3206b41f3ecdae2c6efdf67e + checksum: 10/904b48881cf5bd208e25899e168f5c99c78ed6d77389544838d9d861a038d2c5c5385863ee9a367436770cbf7d21c5e05a991b9e24a33806e9ac985df2448185 languageName: node linkType: hard @@ -3946,6 +3961,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.6": + version: 1.0.6 + resolution: "@types/estree@npm:1.0.6" + checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d + languageName: node + linkType: hard + "@types/geojson-vt@npm:3.2.5": version: 3.2.5 resolution: "@types/geojson-vt@npm:3.2.5" @@ -4026,13 +4048,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:^29.5.12": - version: 29.5.12 - resolution: "@types/jest@npm:29.5.12" +"@types/jest@npm:^29.5.13": + version: 29.5.13 + resolution: "@types/jest@npm:29.5.13" dependencies: expect: "npm:^29.0.0" pretty-format: "npm:^29.0.0" - checksum: 10/312e8dcf92cdd5a5847d6426f0940829bca6fe6b5a917248f3d7f7ef5d85c9ce78ef05e47d2bbabc40d41a930e0e36db2d443d2610a9e3db9062da2d5c904211 + checksum: 10/7d6e3e4ef4b1cab0f61270d55764709512fdfbcb1bd47c0ef44117d48490529c1f264dacf3440b9188363e99e290b80b79c529eadc3af2184116a90f6856b192 languageName: node linkType: hard @@ -4043,10 +4065,17 @@ __metadata: languageName: node linkType: hard -"@types/lodash@npm:^4.17.7": - version: 4.17.7 - resolution: "@types/lodash@npm:4.17.7" - checksum: 10/b8177f19cf962414a66989837481b13f546afc2e98e8d465bec59e6ac03a59c584eb7053ce511cde3a09c5f3096d22a5ae22cfb56b23f3b0da75b0743b6b1a44 +"@types/json-schema@npm:^7.0.15": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7 + languageName: node + linkType: hard + +"@types/lodash@npm:^4.17.9": + version: 4.17.9 + resolution: "@types/lodash@npm:4.17.9" + checksum: 10/49e35caaf668686be0bad9e9bef88456903a21999d3fd8bf91c302e0d5328398fb59fee793d0afbaf6edeca1b46c3e8109899d85ff3a433075178f1ab693e597 languageName: node linkType: hard @@ -4126,12 +4155,12 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^20.16.1": - version: 20.16.1 - resolution: "@types/node@npm:20.16.1" +"@types/node@npm:^20.16.8": + version: 20.16.8 + resolution: "@types/node@npm:20.16.8" dependencies: undici-types: "npm:~6.19.2" - checksum: 10/9bae1dffd2094694147a91ebec51dc89a60a607d16d47a0d770320f1a75d3ba58663708fd93c37954a63acb701a4e0fd64245139c57ae810d3ad524e75481d4e + checksum: 10/e4917ff29c1d8f2c4e2c7081a50d1c53738aa3cf21b11fc26956e72d679e6eeefc3db87d8e1ebd2d67b4205fb6992102197d6aa11f8d1404bf81a81dfc195578 languageName: node linkType: hard @@ -4213,13 +4242,13 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:^18.3.4": - version: 18.3.4 - resolution: "@types/react@npm:18.3.4" +"@types/react@npm:^18.3.9": + version: 18.3.9 + resolution: "@types/react@npm:18.3.9" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10/359973924be42cf9e7366e1d885b28e0b3bd56d31f24458c5351af7a3f2fc070511e90d517b2195fb229146cdcb70342db6318e279c31dd5057beec1105b704e + checksum: 10/d1321e874e6523b0a944d4ce514c071cbe44501b04591e17c0b265c9a03fb3e4486337ae1bec74541b72a41f34beef157342205dd07b31d116f4d06fa39cf32f languageName: node linkType: hard @@ -4306,15 +4335,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:^8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.2.0" +"@typescript-eslint/eslint-plugin@npm:^8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.7.0" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/type-utils": "npm:8.2.0" - "@typescript-eslint/utils": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/type-utils": "npm:8.7.0" + "@typescript-eslint/utils": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" @@ -4325,68 +4354,68 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/b5ca84a76259b5208ce312e61e67eeabfae91b1f915fede7e994e195bfd20608da7484e1fe4302ae46e61c574db58f166c76369eb649b08c7e94ad5f65373398 + checksum: 10/5bc774b1da4e1cd19c5ffd731c655c53035fd81ff06a95c2f2c54ab62c401879f886da3e1a1235505341e8172b2841c6edc78b4565a261105ab32d83bf5b8ab1 languageName: node linkType: hard -"@typescript-eslint/parser@npm:^8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/parser@npm:8.2.0" +"@typescript-eslint/parser@npm:^8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/parser@npm:8.7.0" dependencies: - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/typescript-estree": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 10/7c365c7ab1e6d1af1bec9ac4cc3438f7cafbd8eb711be1c3a78f8796a14b6dd85c17d46355998db4037c3f488d9bb45769de072872563a658bacc4a091a1f127 + checksum: 10/896ac60f8426f9e5c23198c89555f6f88f7957c5b16bb7b966dac45c5f5e7076c1a050bcee2e0eddff88055b9c0d7bdfaef9c64889e3bdf3356d20356b0daa04 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/scope-manager@npm:8.2.0" +"@typescript-eslint/scope-manager@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/scope-manager@npm:8.7.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" - checksum: 10/90345e18e2a5cb2fdcd0f1ecd4a971cd57bf12b9f7c999bc70302f595c4b86068eb6bcb806ab25556dc50186265f6ed61830a7f6481c544bd513c33dd48e1adc + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" + checksum: 10/6a6aae28437f6cd78f82dd1359658593fcc8f6d0da966b4d128b14db3a307b6094d22515a79c222055a31bf9b73b73799acf18fbf48c0da16e8f408fcc10464c languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/type-utils@npm:8.2.0" +"@typescript-eslint/type-utils@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/type-utils@npm:8.7.0" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.2.0" - "@typescript-eslint/utils": "npm:8.2.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" + "@typescript-eslint/utils": "npm:8.7.0" debug: "npm:^4.3.4" ts-api-utils: "npm:^1.3.0" peerDependenciesMeta: typescript: optional: true - checksum: 10/d3c63ca0474cc92b2231b2d9c850227b38b294e3b96eb9c701550aa22f8f972e09af393bdad725275397e85765fad7a21263730abec09f840c4a5759b33a01a9 + checksum: 10/dba4520dd3dce35b765640f9633100bd29d2092478cb467e89bde51dc23fb19f7395e87f4486b898315aab081263003cbc78f03f0f40079602713aafc2f2a6a5 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/types@npm:8.2.0" - checksum: 10/1ed705fb25532707d41c932f72981ddcb556948191363380682e873e79090acc76b141e1bed7235ae41284efe8deac0928df4ce5c8589459d52d6c287ae8b5b1 +"@typescript-eslint/types@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/types@npm:8.7.0" + checksum: 10/9adbe4efdcb00735af5144a161d6bb2f79a952a9701820920ad33adba02032d65d5b601087e953c2918f7efa548abbcd9289f83ec6299f66941d7c585886792e languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.2.0" +"@typescript-eslint/typescript-estree@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.7.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/visitor-keys": "npm:8.2.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/visitor-keys": "npm:8.7.0" debug: "npm:^4.3.4" - globby: "npm:^11.1.0" + fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" @@ -4394,31 +4423,31 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 10/dd63d724e79bb8488369dcab5285f4b52cf4269fe5b24237363b568b442f110364d34a4ec5224bdedcf8af4680c16fccd481a245b18b80ecdaad2ca8ca7d9115 + checksum: 10/c4f7e3c18c8382b72800681c37c87726b02a96cf6831be37d2d2f9c26267016a9dd7af4e08184b96376a9aebdc5c344c6c378c86821c374fe10a9e45aca1b33d languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/utils@npm:8.2.0" +"@typescript-eslint/utils@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/utils@npm:8.7.0" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.2.0" - "@typescript-eslint/types": "npm:8.2.0" - "@typescript-eslint/typescript-estree": "npm:8.2.0" + "@typescript-eslint/scope-manager": "npm:8.7.0" + "@typescript-eslint/types": "npm:8.7.0" + "@typescript-eslint/typescript-estree": "npm:8.7.0" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10/2abf660f64d9599186b1b07db260865ed18ffb3f7f0e10dceba230043a82004c9e6bfab84940119d36c0caa369b4c98aec78da5881ed5c7ec086961020632206 + checksum: 10/81674503fb5ea32ff5de8f1a29fecbcfa947025e7609e861ac8e32cd13326fc050c4fa5044e1a877f05e7e1264c42b9c72a7fd09c4a41d0ac2cf1c49259abf03 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.2.0": - version: 8.2.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.2.0" +"@typescript-eslint/visitor-keys@npm:8.7.0": + version: 8.7.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.7.0" dependencies: - "@typescript-eslint/types": "npm:8.2.0" + "@typescript-eslint/types": "npm:8.7.0" eslint-visitor-keys: "npm:^3.4.3" - checksum: 10/509dbef0a6352c65235f6aa03813b3b44ab62374d77a57e003301fa5ead58df1f2b4722ddb9acf7819d9fbf2520ab4c4cac187b55644e37a0a6ac862bfd9b6d8 + checksum: 10/189ea297ff4da53aea92f31de57aed164550c51ac7cf663007c997c4f0f75a82097e35568e3a0fbcced290cb4c12ab7d3afd99e93eb37c930d7f6d6bbfd6ed98 languageName: node linkType: hard @@ -4429,9 +4458,9 @@ __metadata: languageName: node linkType: hard -"@vite-pwa/assets-generator@npm:^0.2.4": - version: 0.2.4 - resolution: "@vite-pwa/assets-generator@npm:0.2.4" +"@vite-pwa/assets-generator@npm:^0.2.6": + version: 0.2.6 + resolution: "@vite-pwa/assets-generator@npm:0.2.6" dependencies: cac: "npm:^6.7.14" colorette: "npm:^2.0.20" @@ -4441,7 +4470,7 @@ __metadata: unconfig: "npm:^0.3.11" bin: pwa-assets-generator: bin/pwa-assets-generator.mjs - checksum: 10/2fb28ce3730af8619431c46fda65316fffb5b9c716d494a5a4470e5524d1116a4d730cd2c010310f4f080cbe24fac7702e7c3861872e32a892c2ec742bae037d + checksum: 10/9e12b81cab7c0b4ba10fe7534da6bb72c8a79462714c8bddef413836aafb5e21fd41fd90c80ec5f6745b4e8d5d68ac88b09dcbff258ae73f041662672b391661 languageName: node linkType: hard @@ -4456,99 +4485,131 @@ __metadata: languageName: node linkType: hard -"@vitest/coverage-v8@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/coverage-v8@npm:2.0.5" +"@vitest/coverage-v8@npm:^2.1.1": + version: 2.1.1 + resolution: "@vitest/coverage-v8@npm:2.1.1" dependencies: "@ampproject/remapping": "npm:^2.3.0" "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.5" + debug: "npm:^4.3.6" istanbul-lib-coverage: "npm:^3.2.2" istanbul-lib-report: "npm:^3.0.1" istanbul-lib-source-maps: "npm:^5.0.6" istanbul-reports: "npm:^3.1.7" - magic-string: "npm:^0.30.10" + magic-string: "npm:^0.30.11" magicast: "npm:^0.3.4" std-env: "npm:^3.7.0" test-exclude: "npm:^7.0.1" tinyrainbow: "npm:^1.2.0" peerDependencies: - vitest: 2.0.5 - checksum: 10/bb774d1a52b85adf94dcf62dc9684c59bd6aba6f8d43ce4d4afa06e3ca85651ec217f74842c0c4a81ea0158f029e484055207869e5d741cfbc3119257399fb83 + "@vitest/browser": 2.1.1 + vitest: 2.1.1 + peerDependenciesMeta: + "@vitest/browser": + optional: true + checksum: 10/f53e4ce5174b88007428faa0d253c62ed7cab6186172691f43e8a2fd2b7b569e8b06f92fd783f34c52f1251e7b5943be58515588b0634155be9c6a234b412b5b languageName: node linkType: hard -"@vitest/expect@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/expect@npm:2.0.5" +"@vitest/expect@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/expect@npm:2.1.1" dependencies: - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" + "@vitest/spy": "npm:2.1.1" + "@vitest/utils": "npm:2.1.1" chai: "npm:^5.1.1" tinyrainbow: "npm:^1.2.0" - checksum: 10/ca9a218f50254b2259fd16166b2d8c9ccc8ee2cc068905e6b3d6281da10967b1590cc7d34b5fa9d429297f97e740450233745583b4cc12272ff11705faf70a37 + checksum: 10/ece8d7f9e0c083c5cf30c0df9e052bba4402649736293a18e56a8db4be46a847b18dc7b33cdd1c08bea51bf6f2cb021e40e7227d9cfc24fdba4a955bffe371a2 languageName: node linkType: hard -"@vitest/pretty-format@npm:2.0.5, @vitest/pretty-format@npm:^2.0.5": - version: 2.0.5 - resolution: "@vitest/pretty-format@npm:2.0.5" +"@vitest/mocker@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/mocker@npm:2.1.1" + dependencies: + "@vitest/spy": "npm:^2.1.0-beta.1" + estree-walker: "npm:^3.0.3" + magic-string: "npm:^0.30.11" + peerDependencies: + "@vitest/spy": 2.1.1 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + checksum: 10/4fbdaac36e3f603235b131e25d9e561381bd989a34e49522e16652077021532ae6653907b47bbca93c14ae4629e3e6a8f61438e3812620dc5654b61595b45208 + languageName: node + linkType: hard + +"@vitest/pretty-format@npm:2.1.1, @vitest/pretty-format@npm:^2.1.1": + version: 2.1.1 + resolution: "@vitest/pretty-format@npm:2.1.1" dependencies: tinyrainbow: "npm:^1.2.0" - checksum: 10/70bf452dd0b8525e658795125b3f11110bd6baadfaa38c5bb91ca763bded35ec6dc80e27964ad4e91b91be6544d35e18ea7748c1997693988f975a7283c3e9a0 + checksum: 10/744278a3a91d080e51a94b03eaf7cf43779978d6391060cbfdda6d03194eef744ce8f12a2fe2fa90a9bf9b9f038d4c4c4d88f6192f042c88c5ee4125f38bf892 languageName: node linkType: hard -"@vitest/runner@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/runner@npm:2.0.5" +"@vitest/runner@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/runner@npm:2.1.1" dependencies: - "@vitest/utils": "npm:2.0.5" + "@vitest/utils": "npm:2.1.1" pathe: "npm:^1.1.2" - checksum: 10/464449abb84b3c779e1c6d1bedfc9e7469240ba3ccc4b4fa884386d1752d6572b68b9a87440159d433f17f61aca4012ee3bb78a3718d0e2bc64d810e9fc574a5 + checksum: 10/cf13a2f0bebb494484e60614ff0e7cab06f4310b36c96fe311035ab2eec9cbc057fa5702e904d43e8976fb2214fe550286ceb0b3dc1c72081e23eb1b1f8fa193 languageName: node linkType: hard -"@vitest/snapshot@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/snapshot@npm:2.0.5" +"@vitest/snapshot@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/snapshot@npm:2.1.1" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - magic-string: "npm:^0.30.10" + "@vitest/pretty-format": "npm:2.1.1" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" - checksum: 10/fb46bc65851d4c8dcbbf86279c4146d5e7c17ad0d1be97132dedd98565d37f70ac8b0bf51ead0c6707786ffb15652535398c14d4304fa2146b0393d3db26fdff + checksum: 10/820f429d950cf63316464e7f2bc1f0ba4b7d2691c51f6ad03ba1c6edc7dbdc6a86b017c082f2a519b743ae53880b41366bbb596c8b43cf8cd68032f9433ec844 languageName: node linkType: hard -"@vitest/spy@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/spy@npm:2.0.5" +"@vitest/spy@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/spy@npm:2.1.1" dependencies: tinyspy: "npm:^3.0.0" - checksum: 10/ed19f4c3bb4d3853241e8070979615138e24403ce4c137fa48c903b3af2c8b3ada2cc26aca9c1aa323bb314a457a8130a29acbb18dafd4e42737deefb2abf1ca + checksum: 10/47e83b4a3d091c4fdc2fbf861ccf2df697d3446a6c69d384b168f9c3e0fa1cabec03e52cc8bec1909735969176ac6272cc4dee8dda945ff059183a5c4568a488 languageName: node linkType: hard -"@vitest/utils@npm:2.0.5": - version: 2.0.5 - resolution: "@vitest/utils@npm:2.0.5" +"@vitest/spy@npm:^2.1.0-beta.1": + version: 2.1.0 + resolution: "@vitest/spy@npm:2.1.0" dependencies: - "@vitest/pretty-format": "npm:2.0.5" - estree-walker: "npm:^3.0.3" + tinyspy: "npm:^3.0.0" + checksum: 10/5b1037a13c73828503b83c1dde0e48a2b148b1a5dea9ce71df56d48b859c17e1bc2fea47b8112132c4638aa7de7b09285515359fa1c3c1bb07e44fd929adbea9 + languageName: node + linkType: hard + +"@vitest/utils@npm:2.1.1": + version: 2.1.1 + resolution: "@vitest/utils@npm:2.1.1" + dependencies: + "@vitest/pretty-format": "npm:2.1.1" loupe: "npm:^3.1.1" tinyrainbow: "npm:^1.2.0" - checksum: 10/d631d56d29c33bc8de631166b2b6691c470187a345469dfef7048befe6027e1c6ff9552f2ee11c8a247522c325c4a64bfcc73f8f0f0c525da39cb9f190f119f8 + checksum: 10/605f1807c343ac01cde053b062bda8f0cc51b321a3cd9c751424a1e24549a35120896bd58612a14f068460242013f69e08fc0a69355387e981a5a50bce9ae04e languageName: node linkType: hard -"@watergis/maplibre-gl-export@npm:~3.8.2": - version: 3.8.2 - resolution: "@watergis/maplibre-gl-export@npm:3.8.2" +"@watergis/maplibre-gl-export@npm:~3.8.3": + version: 3.8.3 + resolution: "@watergis/maplibre-gl-export@npm:3.8.3" dependencies: js-loading-overlay: "npm:^1.2.0" jspdf: "npm:^2.5.1" - maplibre-gl: "npm:^4.1.0" - checksum: 10/72122609c22ca327ca631462e2726547ee829d68fcc0655c41f9e4a467da58fa5b365bd71a22b69cf327bede7ebebf474dce2646c1bf83086a4dbd3e196795a0 + maplibre-gl: "npm:^4.6.0" + checksum: 10/62312a15262209baba69876059345abd71e1b27b38c320b136b2be3ff6ef42a0aca728306a547bfcb12d4b1cf09f3e509a180c9faa75ea8414202213fdc65115 languageName: node linkType: hard @@ -4863,13 +4924,6 @@ __metadata: languageName: node linkType: hard -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10/5bee12395cba82da674931df6d0fea23c4aa4660cb3b338ced9f828782a65caa232573e6bf3968f23e0c5eb301764a382cef2f128b170a9dc59de0e36c39f98d - languageName: node - linkType: hard - "array.prototype.findlast@npm:^1.2.5": version: 1.2.5 resolution: "array.prototype.findlast@npm:1.2.5" @@ -5188,7 +5242,7 @@ __metadata: languageName: node linkType: hard -"bs-logger@npm:0.x": +"bs-logger@npm:^0.2.6": version: 0.2.6 resolution: "bs-logger@npm:0.2.6" dependencies: @@ -5344,17 +5398,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001400": - version: 1.0.30001651 - resolution: "caniuse-lite@npm:1.0.30001651" - checksum: 10/fe4857b2a91a9cb77993eec9622de68bea0df17c31cb9584ca5c562f64bb3b8fda316d898aa3b1ee3ee9f7d80f6bf13c42acb09d9a56a1a6c64afaf7381472fa - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001580": - version: 1.0.30001584 - resolution: "caniuse-lite@npm:1.0.30001584" - checksum: 10/908e4fcafa1e8d52d6c5d79e8c614c4d0cf62af544935f7a78fb5a434157505571ce4c2eacfb549e5d4a6e6e38525350c7a9bf696068ad86eb74e890df1d688f +"caniuse-lite@npm:^1.0.30001400, caniuse-lite@npm:^1.0.30001580": + version: 1.0.30001655 + resolution: "caniuse-lite@npm:1.0.30001655" + checksum: 10/98e80bdb5a5e4ac1738df7df14379a51aed2fcf3402b18361ac4902ac8afacf35920498afd0bfb71d6902ad4ab4ccbf2d09c792ec3a4925c2e3d186b803f6bc7 languageName: node linkType: hard @@ -5474,7 +5521,7 @@ __metadata: languageName: node linkType: hard -"chokidar@npm:>=3.0.0 <4.0.0, chokidar@npm:^3.5.1": +"chokidar@npm:^3.5.1": version: 3.5.3 resolution: "chokidar@npm:3.5.3" dependencies: @@ -5493,6 +5540,15 @@ __metadata: languageName: node linkType: hard +"chokidar@npm:^4.0.0": + version: 4.0.1 + resolution: "chokidar@npm:4.0.1" + dependencies: + readdirp: "npm:^4.0.1" + checksum: 10/62749d2173a60cc5632d6c6e0b7024f33aadce47b06d02e55ad03c7b8daaaf2fc85d4296c047473d04387fd992dab9384cc5263c70a3dc3018b7ebecfb5b5217 + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -5821,12 +5877,12 @@ __metadata: languageName: node linkType: hard -"cssstyle@npm:^4.0.1": - version: 4.0.1 - resolution: "cssstyle@npm:4.0.1" +"cssstyle@npm:^4.1.0": + version: 4.1.0 + resolution: "cssstyle@npm:4.1.0" dependencies: - rrweb-cssom: "npm:^0.6.0" - checksum: 10/180d4e6b406c30811e55a64add32a2111c9c5da4ed2dc67638ddb55c29b877ec1ed71e2e70a34f59c3523dbee35b0d35aa13b963db1ca8cb929d69c7ce81e3b0 + rrweb-cssom: "npm:^0.7.1" + checksum: 10/8ca9e2d1f1b24f93bb5f3f20a7a1e271e58060957880e985ee55614e196a798ffab309ec6bac105af8a439a6764546761813835ebb7f929d60823637ee838a8f languageName: node linkType: hard @@ -5899,7 +5955,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:^4.3.5, debug@npm:~4.3.6": +"debug@npm:^4.3.6, debug@npm:~4.3.6": version: 4.3.6 resolution: "debug@npm:4.3.6" dependencies: @@ -6027,6 +6083,13 @@ __metadata: languageName: node linkType: hard +"define-lazy-prop@npm:^2.0.0": + version: 2.0.0 + resolution: "define-lazy-prop@npm:2.0.0" + checksum: 10/0115fdb065e0490918ba271d7339c42453d209d4cb619dfe635870d906731eff3e1ade8028bb461ea27ce8264ec5e22c6980612d332895977e89c1bbc80fcee2 + languageName: node + linkType: hard + "define-properties@npm:^1.1.3, define-properties@npm:^1.1.4": version: 1.1.4 resolution: "define-properties@npm:1.1.4" @@ -6120,15 +6183,6 @@ __metadata: languageName: node linkType: hard -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10/fa05e18324510d7283f55862f3161c6759a3f2f8dbce491a2fc14c8324c498286c54282c1f0e933cb930da8419b30679389499b919122952a4f8592362ef4615 - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -6153,9 +6207,9 @@ __metadata: linkType: hard "dompurify@npm:^2.2.0": - version: 2.4.1 - resolution: "dompurify@npm:2.4.1" - checksum: 10/5d1bc1a9cdf8c3e9f4051524ee73a414d91f81d5cdcb6a29a0167a857d08a66ad851457091e693342ef6cd2011a94a7396285573298d6fb4910e2c2c0d39c04f + version: 2.5.6 + resolution: "dompurify@npm:2.5.6" + checksum: 10/ef5fdc075ee448246b2b54bf8c7e2608dbaa176d9366137d2ff4e4ed4e580a2e913d5a58f1d3609f63d67871574e5fdcce534b185a1b1efdd8b931cd843b045a languageName: node linkType: hard @@ -6649,9 +6703,9 @@ __metadata: languageName: node linkType: hard -"eslint-plugin-react@npm:^7.35.0": - version: 7.35.0 - resolution: "eslint-plugin-react@npm:7.35.0" +"eslint-plugin-react@npm:^7.36.1": + version: 7.36.1 + resolution: "eslint-plugin-react@npm:7.36.1" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" @@ -6673,7 +6727,7 @@ __metadata: string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10/fa0a54f9ea249cf89d92bb5983bf7df741da3709a0ebd6a885a67d05413ed302fd8b64c9dc819b33df8efa6d8b06f5e56b1f6965a9be7cc3e79054da4dbae5ed + checksum: 10/bca154b446c35af4859a92fd043dcfe5c74851eb27652234020548570bb81d37cc9f1eb1795b3c9e7514de6c9b48f42fcc00153062eca879dab45ab84e49d0b1 languageName: node linkType: hard @@ -6708,18 +6762,22 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^9.9.0": - version: 9.9.0 - resolution: "eslint@npm:9.9.0" +"eslint@npm:^9.11.1": + version: 9.11.1 + resolution: "eslint@npm:9.11.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.2.0" "@eslint-community/regexpp": "npm:^4.11.0" - "@eslint/config-array": "npm:^0.17.1" + "@eslint/config-array": "npm:^0.18.0" + "@eslint/core": "npm:^0.6.0" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:9.9.0" + "@eslint/js": "npm:9.11.1" + "@eslint/plugin-kit": "npm:^0.2.0" "@humanwhocodes/module-importer": "npm:^1.0.1" "@humanwhocodes/retry": "npm:^0.3.0" "@nodelib/fs.walk": "npm:^1.2.8" + "@types/estree": "npm:^1.0.6" + "@types/json-schema": "npm:^7.0.15" ajv: "npm:^6.12.4" chalk: "npm:^4.0.0" cross-spawn: "npm:^7.0.2" @@ -6739,7 +6797,6 @@ __metadata: is-glob: "npm:^4.0.0" is-path-inside: "npm:^3.0.3" json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" lodash.merge: "npm:^4.6.2" minimatch: "npm:^3.1.2" natural-compare: "npm:^1.4.0" @@ -6753,7 +6810,7 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 10/88616421c9cb873d8f116d1ef6aa665cc898d35361351739c8041f11c30fe004bcfa641a2b6074655393eac7e7e5f9a661675dd1c01a24cf1e65cc6b556e06b3 + checksum: 10/38de03a51044a5f708c93302cff5e860355447d424f1a21fa67f5b2f0541d092d3f3807c0242820d9795553a3f1165db51769e9a042816334d05c86f015fdfef languageName: node linkType: hard @@ -6864,7 +6921,7 @@ __metadata: languageName: node linkType: hard -"execa@npm:^8.0.1, execa@npm:~8.0.1": +"execa@npm:~8.0.1": version: 8.0.1 resolution: "execa@npm:8.0.1" dependencies: @@ -6947,7 +7004,7 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.7": +"fast-glob@npm:^3.2.7, fast-glob@npm:^3.3.2": version: 3.3.2 resolution: "fast-glob@npm:3.3.2" dependencies: @@ -6960,19 +7017,6 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9": - version: 3.2.12 - resolution: "fast-glob@npm:3.2.12" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10/641e748664ae0fdc4dadd23c812fd7d6c80cd92d451571cb1f81fa87edb750e917f25abf74fc9503c97438b0b67ecf75b738bb8e50a83b16bd2a88b4d64e81fa - languageName: node - linkType: hard - "fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" @@ -7453,14 +7497,14 @@ __metadata: languageName: node linkType: hard -"global-prefix@npm:^3.0.0": - version: 3.0.0 - resolution: "global-prefix@npm:3.0.0" +"global-prefix@npm:^4.0.0": + version: 4.0.0 + resolution: "global-prefix@npm:4.0.0" dependencies: - ini: "npm:^1.3.5" - kind-of: "npm:^6.0.2" - which: "npm:^1.3.1" - checksum: 10/a405b9f83c7d88a49dc1c1e458d6585e258356810d3d0f41094265152a06a0f393b14d911f45616e35a4ce3894176a73be2984883575e778f55e90bf812d7337 + ini: "npm:^4.1.3" + kind-of: "npm:^6.0.3" + which: "npm:^4.0.0" + checksum: 10/535489396c0e5828682f081f5227556a3b7a30ebecde9f5eb35aee4aea121fe5c5fb1b04e0fba85d1e34e6004687e51b306bdd446d391eca8449adbb4666dbe2 languageName: node linkType: hard @@ -7494,20 +7538,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10/288e95e310227bbe037076ea81b7c2598ccbc3122d87abc6dab39e1eec309aa14f0e366a98cdc45237ffcfcbad3db597778c0068217dcb1950fef6249104e1b1 - languageName: node - linkType: hard - "globrex@npm:^0.1.2": version: 0.1.2 resolution: "globrex@npm:0.1.2" @@ -7854,12 +7884,12 @@ __metadata: languageName: node linkType: hard -"husky@npm:^9.1.5": - version: 9.1.5 - resolution: "husky@npm:9.1.5" +"husky@npm:^9.1.6": + version: 9.1.6 + resolution: "husky@npm:9.1.6" bin: husky: bin.js - checksum: 10/21a3036dd03141c41347693bde301c62502b4e3bffb87310e7e42b3011c2e55691af2e4a9a5f39bd94e6b1d69e3cfc26ec636d8e164e19737b26f11c556caf10 + checksum: 10/421ccd8850378231aaefd70dbe9e4f1549b84ffe3a6897f93a202242bbc04e48bd498169aef43849411105d9fcf7c192b757d42661e28d06b934a609a4eb8771 languageName: node linkType: hard @@ -7872,12 +7902,12 @@ __metadata: languageName: node linkType: hard -"i18next@npm:^23.14.0": - version: 23.14.0 - resolution: "i18next@npm:23.14.0" +"i18next@npm:^23.15.1": + version: 23.15.1 + resolution: "i18next@npm:23.15.1" dependencies: "@babel/runtime": "npm:^7.23.2" - checksum: 10/661c1b22ae20bf75a616b3a804b96fd55bd04ed880853a05ef93912ed37f65b9546d8f8bbe55dfe2967a5b0f2ce110a7e9f4b7a6a3d90eb097d06c858d2b3e3f + checksum: 10/bfd4935517ddd68bd12ccc0b7bd454f1a19403b627d79a2fe81c9059380674f085804f8d7475dd248a887f90d9e2da0f9be64179ddf32e9eebac47e4b9f92889 languageName: node linkType: hard @@ -7992,10 +8022,10 @@ __metadata: languageName: node linkType: hard -"ini@npm:^1.3.5": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10/314ae176e8d4deb3def56106da8002b462221c174ddb7ce0c49ee72c8cd1f9044f7b10cc555a7d8850982c3b9ca96fc212122749f5234bc2b6fb05fb942ed566 +"ini@npm:^4.1.3": + version: 4.1.3 + resolution: "ini@npm:4.1.3" + checksum: 10/f536b414d1442e5b233429e2b56efcdb354109b2d65ddd489e5939d8f0f5ad23c88aa2b19c92987249d0dd63ba8192e9aeb1a02b0459549c5a9ff31acd729a5d languageName: node linkType: hard @@ -8182,7 +8212,7 @@ __metadata: languageName: node linkType: hard -"is-docker@npm:^2.0.0": +"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1": version: 2.2.1 resolution: "is-docker@npm:2.2.1" bin: @@ -8519,7 +8549,7 @@ __metadata: languageName: node linkType: hard -"is-wsl@npm:^2.1.1": +"is-wsl@npm:^2.1.1, is-wsl@npm:^2.2.0": version: 2.2.0 resolution: "is-wsl@npm:2.2.0" dependencies: @@ -8542,6 +8572,13 @@ __metadata: languageName: node linkType: hard +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10/7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e + languageName: node + linkType: hard + "isobject@npm:^3.0.1": version: 3.0.1 resolution: "isobject@npm:3.0.1" @@ -9240,11 +9277,11 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^24.1.1": - version: 24.1.1 - resolution: "jsdom@npm:24.1.1" +"jsdom@npm:^25.0.1": + version: 25.0.1 + resolution: "jsdom@npm:25.0.1" dependencies: - cssstyle: "npm:^4.0.1" + cssstyle: "npm:^4.1.0" data-urls: "npm:^5.0.0" decimal.js: "npm:^10.4.3" form-data: "npm:^4.0.0" @@ -9257,7 +9294,7 @@ __metadata: rrweb-cssom: "npm:^0.7.1" saxes: "npm:^6.0.0" symbol-tree: "npm:^3.2.4" - tough-cookie: "npm:^4.1.4" + tough-cookie: "npm:^5.0.0" w3c-xmlserializer: "npm:^5.0.0" webidl-conversions: "npm:^7.0.0" whatwg-encoding: "npm:^3.1.1" @@ -9270,7 +9307,7 @@ __metadata: peerDependenciesMeta: canvas: optional: true - checksum: 10/7b6e1ea1f02b75c388f4c833d4da710e252f8a3efc7093ae018b643a414e3f19d4c588e34feb1f484ae1ee70f2501bbcc8ccc9c6377e480706f9b69db22f0579 + checksum: 10/e6bf7250ddd2fbcf68da0ea041a0dc63545dc4bf77fa3ff40a46ae45b1dac1ca55b87574ab904d1f8baeeb547c52cec493a22f545d7d413b320011f41150ec49 languageName: node linkType: hard @@ -9442,7 +9479,7 @@ __metadata: languageName: node linkType: hard -"kind-of@npm:^6.0.2": +"kind-of@npm:^6.0.3": version: 6.0.3 resolution: "kind-of@npm:6.0.3" checksum: 10/5873d303fb36aad875b7538798867da2ae5c9e328d67194b0162a3659a627d22f742fc9c4ae95cd1704132a24b00cae5041fc00c0f6ef937dc17080dc4dbb962 @@ -9487,9 +9524,9 @@ __metadata: languageName: node linkType: hard -"lint-staged@npm:^15.2.9": - version: 15.2.9 - resolution: "lint-staged@npm:15.2.9" +"lint-staged@npm:^15.2.10": + version: 15.2.10 + resolution: "lint-staged@npm:15.2.10" dependencies: chalk: "npm:~5.3.0" commander: "npm:~12.1.0" @@ -9497,13 +9534,13 @@ __metadata: execa: "npm:~8.0.1" lilconfig: "npm:~3.1.2" listr2: "npm:~8.2.4" - micromatch: "npm:~4.0.7" + micromatch: "npm:~4.0.8" pidtree: "npm:~0.6.0" string-argv: "npm:~0.3.2" yaml: "npm:~2.5.0" bin: lint-staged: bin/lint-staged.js - checksum: 10/2f7342ca3fc7e2a8a0cc3db79ca8d2ad0269b98b13220f3a6745a514aacf1f83487a23a550569081ea962f9a576af7df8d687a8330a9c3c2c27348d5a4d5440e + checksum: 10/ab6930cd633dbb5b6ec7c81fc06c65df41e9f80d93dd22e0d79c6e272cdfd8110a0fbdec60303d46a06b30bcd92261153630e2c937531b77ec5ae41e7e9d90d3 languageName: node linkType: hard @@ -9560,7 +9597,7 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:4.x": +"lodash.memoize@npm:^4.1.2": version: 4.1.2 resolution: "lodash.memoize@npm:4.1.2" checksum: 10/192b2168f310c86f303580b53acf81ab029761b9bd9caa9506a019ffea5f3363ea98d7e39e7e11e6b9917066c9d36a09a11f6fe16f812326390d8f3a54a1a6da @@ -9687,7 +9724,7 @@ __metadata: languageName: node linkType: hard -"magic-string@npm:^0.30.10": +"magic-string@npm:^0.30.11": version: 0.30.11 resolution: "magic-string@npm:0.30.11" dependencies: @@ -9725,7 +9762,7 @@ __metadata: languageName: node linkType: hard -"make-error@npm:1.x": +"make-error@npm:^1.3.6": version: 1.3.6 resolution: "make-error@npm:1.3.6" checksum: 10/b86e5e0e25f7f777b77fabd8e2cbf15737972869d852a22b7e73c17623928fccb826d8e46b9951501d3f20e51ad74ba8c59ed584f610526a48f8ccf88aaec402 @@ -9805,9 +9842,9 @@ __metadata: languageName: node linkType: hard -"maplibre-gl@npm:4.5.2, maplibre-gl@npm:^4.1.0": - version: 4.5.2 - resolution: "maplibre-gl@npm:4.5.2" +"maplibre-gl@npm:4.6.0": + version: 4.6.0 + resolution: "maplibre-gl@npm:4.6.0" dependencies: "@mapbox/geojson-rewind": "npm:^0.5.2" "@mapbox/jsonlint-lines-primitives": "npm:^2.0.2" @@ -9816,7 +9853,7 @@ __metadata: "@mapbox/unitbezier": "npm:^0.0.1" "@mapbox/vector-tile": "npm:^1.3.1" "@mapbox/whoots-js": "npm:^3.1.0" - "@maplibre/maplibre-gl-style-spec": "npm:^20.3.0" + "@maplibre/maplibre-gl-style-spec": "npm:^20.3.1" "@types/geojson": "npm:^7946.0.14" "@types/geojson-vt": "npm:3.2.5" "@types/mapbox__point-geometry": "npm:^0.1.4" @@ -9826,7 +9863,7 @@ __metadata: earcut: "npm:^3.0.0" geojson-vt: "npm:^4.0.2" gl-matrix: "npm:^3.4.3" - global-prefix: "npm:^3.0.0" + global-prefix: "npm:^4.0.0" kdbush: "npm:^4.0.2" murmurhash-js: "npm:^1.0.0" pbf: "npm:^3.3.0" @@ -9835,7 +9872,7 @@ __metadata: supercluster: "npm:^8.0.1" tinyqueue: "npm:^3.0.0" vt-pbf: "npm:^3.1.3" - checksum: 10/112bdb65ced7751cb4ec3d5333e1ef38c6409ca21ad871098c3a6d218fbae21511ea0e6e250f5573ae8d8507e7384b912b9058be255e9a19b077022f9d7b2acc + checksum: 10/ddfe52d5663c26ac6fe016af68dac6a2449b603a4400a3bf6344f18bc8f0409c02ca2717aa725144857a83a89dbaa456200bc0ec2ee8f4ef3e19de4996bb79bb languageName: node linkType: hard @@ -9974,7 +10011,7 @@ __metadata: languageName: node linkType: hard -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": +"merge2@npm:^1.3.0": version: 1.4.1 resolution: "merge2@npm:1.4.1" checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2 @@ -10217,23 +10254,13 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" - dependencies: - braces: "npm:^3.0.2" - picomatch: "npm:^2.3.1" - checksum: 10/a749888789fc15cac0e03273844dbd749f9f8e8d64e70c564bcf06a033129554c789bb9e30d7566d7ff6596611a08e58ac12cf2a05f6e3c9c47c50c4c7e12fa2 - languageName: node - linkType: hard - -"micromatch@npm:~4.0.7": - version: 4.0.7 - resolution: "micromatch@npm:4.0.7" +"micromatch@npm:^4.0.4, micromatch@npm:~4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: braces: "npm:^3.0.3" picomatch: "npm:^2.3.1" - checksum: 10/a11ed1cb67dcbbe9a5fc02c4062cf8bb0157d73bf86956003af8dcfdf9b287f9e15ec0f6d6925ff6b8b5b496202335e497b01de4d95ef6cf06411bc5e5c474a0 + checksum: 10/6bf2a01672e7965eb9941d1f02044fad2bd12486b5553dc1116ff24c09a8723157601dc992e74c911d896175918448762df3b3fd0a6b61037dd1a9766ddfbf58 languageName: node linkType: hard @@ -10739,6 +10766,17 @@ __metadata: languageName: node linkType: hard +"open@npm:^8.4.0": + version: 8.4.2 + resolution: "open@npm:8.4.2" + dependencies: + define-lazy-prop: "npm:^2.0.0" + is-docker: "npm:^2.1.1" + is-wsl: "npm:^2.2.0" + checksum: 10/acd81a1d19879c818acb3af2d2e8e9d81d17b5367561e623248133deb7dd3aefaed527531df2677d3e6aaf0199f84df57b6b2262babff8bf46ea0029aac536c9 + languageName: node + linkType: hard + "optimism@npm:^0.18.0": version: 0.18.0 resolution: "optimism@npm:0.18.0" @@ -11038,14 +11076,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.41": - version: 8.4.41 - resolution: "postcss@npm:8.4.41" +"postcss@npm:^8.4.43": + version: 8.4.45 + resolution: "postcss@npm:8.4.45" dependencies: nanoid: "npm:^3.3.7" picocolors: "npm:^1.0.1" source-map-js: "npm:^1.2.0" - checksum: 10/6e6176c2407eff60493ca60a706c6b7def20a722c3adda94ea1ece38345eb99964191336fd62b62652279cec6938e79e0b1e1d477142c8d3516e7a725a74ee37 + checksum: 10/7eaf7346d04929ee979548ece5e34d253eae6f175346e298b2c4621ad6f4ee00adfe7abe72688640e910c0361ae50537c5dda3e35fd1066491282c342b3ee5c8 languageName: node linkType: hard @@ -11178,13 +11216,6 @@ __metadata: languageName: node linkType: hard -"psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 10/d07879d4bfd0ac74796306a8e5a36a93cfb9c4f4e8ee8e63fbb909066c192fe1008cd8f12abd8ba2f62ca28247949a20c8fb32e1d18831d9e71285a1569720f9 - languageName: node - linkType: hard - "punycode@npm:^2.1.0": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -11192,7 +11223,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.1, punycode@npm:^2.3.1": +"punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059 @@ -11206,13 +11237,6 @@ __metadata: languageName: node linkType: hard -"querystringify@npm:^2.1.1": - version: 2.2.0 - resolution: "querystringify@npm:2.2.0" - checksum: 10/46ab16f252fd892fc29d6af60966d338cdfeea68a231e9457631ffd22d67cec1e00141e0a5236a2eb16c0d7d74175d9ec1d6f963660c6f2b1c2fc85b194c5680 - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -11290,11 +11314,11 @@ __metadata: languageName: node linkType: hard -"react-i18next@npm:^15.0.1": - version: 15.0.1 - resolution: "react-i18next@npm:15.0.1" +"react-i18next@npm:^15.0.2": + version: 15.0.2 + resolution: "react-i18next@npm:15.0.2" dependencies: - "@babel/runtime": "npm:^7.24.8" + "@babel/runtime": "npm:^7.25.0" html-parse-stringify: "npm:^3.0.1" peerDependencies: i18next: ">= 23.2.3" @@ -11304,7 +11328,7 @@ __metadata: optional: true react-native: optional: true - checksum: 10/2998565bdcdc37ba8d2b3531e36441e00c8bb7fb7c1cac35364a81722cb4e5a363288906566c91f3ad835abc5b0b78e14d8511f57b154a8e5c057a8e6096cb07 + checksum: 10/25e6a611e2d1f250103120023ceb5dbf285e796cc0a2ab7685844438c3f698793d68bc454025aa0ca3379708bd468c9acfe6603c7b64f850358f2deb9b37a570 languageName: node linkType: hard @@ -11370,27 +11394,27 @@ __metadata: languageName: node linkType: hard -"react-router-dom@npm:^6.26.1": - version: 6.26.1 - resolution: "react-router-dom@npm:6.26.1" +"react-router-dom@npm:^6.26.2": + version: 6.26.2 + resolution: "react-router-dom@npm:6.26.2" dependencies: - "@remix-run/router": "npm:1.19.1" - react-router: "npm:6.26.1" + "@remix-run/router": "npm:1.19.2" + react-router: "npm:6.26.2" peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 10/1bd255d1ff88f477699c72656e7c07702a907e644388a1bea1c648f2df0c3c86db2e90bea945b1d43eaf84ebab194f3868f3788502965ad5f20c508c6874f1fe + checksum: 10/4eee37839bd1a660807c090b4d272e4aa9b95d8a9a932cdcdf7c5b10735f39b6db73bad79b08a3012386a7e225ff6bf60435e2741fb7c68e137ac5a6295d4308 languageName: node linkType: hard -"react-router@npm:6.26.1": - version: 6.26.1 - resolution: "react-router@npm:6.26.1" +"react-router@npm:6.26.2": + version: 6.26.2 + resolution: "react-router@npm:6.26.2" dependencies: - "@remix-run/router": "npm:1.19.1" + "@remix-run/router": "npm:1.19.2" peerDependencies: react: ">=16.8" - checksum: 10/b3761515c75da65a1678f005d08a6285ceccd9df7237ae6fdd9ab2ab816ef328435b75610f705ecd9ecd41c6878fd22eb9b44c5391cdef2e1ed99ddbc78de8a4 + checksum: 10/496e855b53e61066c1791e354f5d79eab56a128d9722fdc6486c3ecd3b3a0bf9968e927028f429893b157f3cc10fc09e890a055847723ee242663e7995fedc9d languageName: node linkType: hard @@ -11423,6 +11447,13 @@ __metadata: languageName: node linkType: hard +"readdirp@npm:^4.0.1": + version: 4.0.1 + resolution: "readdirp@npm:4.0.1" + checksum: 10/f8a2d3308c9dd19d9da4fc7f19a02fc057259a80014949d8f3d98f4e6042896119fb96eb3f3e6a743747d12f0bf781b771902b0b03aba58f884589c50968fad4 + languageName: node + linkType: hard + "readdirp@npm:~3.6.0": version: 3.6.0 resolution: "readdirp@npm:3.6.0" @@ -11637,13 +11668,6 @@ __metadata: languageName: node linkType: hard -"requires-port@npm:^1.0.0": - version: 1.0.0 - resolution: "requires-port@npm:1.0.0" - checksum: 10/878880ee78ccdce372784f62f52a272048e2d0827c29ae31e7f99da18b62a2b9463ea03a75f277352f4697c100183debb0532371ad515a2d49d4bfe596dd4c20 - languageName: node - linkType: hard - "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -11828,6 +11852,25 @@ __metadata: languageName: node linkType: hard +"rollup-plugin-visualizer@npm:^5.12.0": + version: 5.12.0 + resolution: "rollup-plugin-visualizer@npm:5.12.0" + dependencies: + open: "npm:^8.4.0" + picomatch: "npm:^2.3.1" + source-map: "npm:^0.7.4" + yargs: "npm:^17.5.1" + peerDependencies: + rollup: 2.x || 3.x || 4.x + peerDependenciesMeta: + rollup: + optional: true + bin: + rollup-plugin-visualizer: dist/bin/cli.js + checksum: 10/47358feb672291d6edcfd94197577c192a84c24cb644119425dae8241fb6f5a52556efd0c501f38b276c07534642a80c0885ef681babb474e83c7b5a3b475b84 + languageName: node + linkType: hard + "rollup@npm:^2.43.1, rollup@npm:^2.77.2": version: 2.79.1 resolution: "rollup@npm:2.79.1" @@ -11905,13 +11948,6 @@ __metadata: languageName: node linkType: hard -"rrweb-cssom@npm:^0.6.0": - version: 0.6.0 - resolution: "rrweb-cssom@npm:0.6.0" - checksum: 10/5411836a4a78d6b68480767b8312de291f32d5710a278343954a778e5b420eaf13c90d9d2a942acf4718ddf497baa75ce653a314b332a380b6eaae1dee72257e - languageName: node - linkType: hard - "rrweb-cssom@npm:^0.7.1": version: 0.7.1 resolution: "rrweb-cssom@npm:0.7.1" @@ -12002,16 +12038,16 @@ __metadata: languageName: node linkType: hard -"sass@npm:^1.77.8": - version: 1.77.8 - resolution: "sass@npm:1.77.8" +"sass@npm:^1.79.3": + version: 1.79.3 + resolution: "sass@npm:1.79.3" dependencies: - chokidar: "npm:>=3.0.0 <4.0.0" + chokidar: "npm:^4.0.0" immutable: "npm:^4.0.0" source-map-js: "npm:>=0.6.2 <2.0.0" bin: sass: sass.js - checksum: 10/4bf6e3007fef62dd6dfc657c89c2890872a6b5dc43e2dc4d61bcf9ae1bdc2dd95b59454a3cbd3c8363c98b673b028e1578b26135190d0f2a8a184a38ab41e99b + checksum: 10/9b83e91c44a4c5d738ded27fcd2c88260f5f407e49c6aab92f75a1f768831182a8f4f89f30e2599b74447451d6536ea6f3a55cac34c5ec00b45983d493732e5d languageName: node linkType: hard @@ -12310,79 +12346,80 @@ __metadata: version: 0.0.0-use.local resolution: "sitrep@workspace:." dependencies: - "@apollo/client": "npm:^3.11.4" + "@apollo/client": "npm:^3.11.8" "@eslint/compat": "npm:^1.1.1" "@eslint/eslintrc": "npm:^3.1.0" - "@eslint/js": "npm:^9.9.0" + "@eslint/js": "npm:^9.11.1" "@fortawesome/fontawesome-svg-core": "npm:^6.6.0" "@fortawesome/free-regular-svg-icons": "npm:^6.6.0" "@fortawesome/free-solid-svg-icons": "npm:^6.6.0" "@fortawesome/react-fontawesome": "npm:^0.2.2" "@mapbox/mapbox-gl-draw": "npm:~1.4.3" "@testing-library/dom": "npm:^10.4.0" - "@testing-library/jest-dom": "npm:^6.4.8" - "@testing-library/react": "npm:^16.0.0" + "@testing-library/jest-dom": "npm:^6.5.0" + "@testing-library/react": "npm:^16.0.1" "@testing-library/user-event": "npm:^14.5.2" "@turf/bearing": "npm:^7.1.0" "@turf/center": "npm:^7.1.0" "@turf/helpers": "npm:^7.1.0" "@types/hat": "npm:^0.0.4" - "@types/jest": "npm:^29.5.12" - "@types/lodash": "npm:^4.17.7" + "@types/jest": "npm:^29.5.13" + "@types/lodash": "npm:^4.17.9" "@types/mapbox__mapbox-gl-draw": "npm:~1.4.6" - "@types/node": "npm:^20.16.1" - "@types/react": "npm:^18.3.4" + "@types/node": "npm:^20.16.8" + "@types/react": "npm:^18.3.9" "@types/react-color": "npm:^3.0.12" "@types/react-dom": "npm:^18.3.0" "@types/react-router-dom": "npm:^5.3.3" "@types/semver": "npm:^7.5.8" "@types/uuid": "npm:^10.0.0" - "@typescript-eslint/eslint-plugin": "npm:^8.2.0" - "@typescript-eslint/parser": "npm:^8.2.0" - "@vite-pwa/assets-generator": "npm:^0.2.4" + "@typescript-eslint/eslint-plugin": "npm:^8.7.0" + "@typescript-eslint/parser": "npm:^8.7.0" + "@vite-pwa/assets-generator": "npm:^0.2.6" "@vitejs/plugin-react-swc": "npm:^3.7.0" - "@vitest/coverage-v8": "npm:^2.0.5" - "@watergis/maplibre-gl-export": "npm:~3.8.2" + "@vitest/coverage-v8": "npm:^2.1.1" + "@watergis/maplibre-gl-export": "npm:~3.8.3" bulma: "npm:^1.0.2" classnames: "npm:^2.5.1" dayjs: "npm:^1.11.13" - eslint: "npm:^9.9.0" - eslint-plugin-react: "npm:^7.35.0" + eslint: "npm:^9.11.1" + eslint-plugin-react: "npm:^7.36.1" globals: "npm:^15.9.0" graphql: "npm:^16.9.0" hat: "npm:^0.0.3" - husky: "npm:^9.1.5" - i18next: "npm:^23.14.0" + husky: "npm:^9.1.6" + i18next: "npm:^23.15.1" i18next-browser-languagedetector: "npm:^8.0.0" jest: "npm:^29.7.0" - jsdom: "npm:^24.1.1" - lint-staged: "npm:^15.2.9" + jsdom: "npm:^25.0.1" + lint-staged: "npm:^15.2.10" lodash: "npm:^4.17.21" mapbox-gl-style-switcher: "npm:^1.0.11" - maplibre-gl: "npm:4.5.2" + maplibre-gl: "npm:4.7.1" prettier: "npm:^3.3.3" react: "npm:^18.3.1" react-autocomplete-hint: "npm:^2.0.0" react-color: "npm:^2.19.3" react-dom: "npm:^18.3.1" - react-i18next: "npm:^15.0.1" + react-i18next: "npm:^15.0.2" react-map-gl: "npm:~7.1.7" react-markdown: "npm:^9.0.1" - react-router-dom: "npm:^6.26.1" - sass: "npm:^1.77.8" + react-router-dom: "npm:^6.26.2" + rollup-plugin-visualizer: "npm:^5.12.0" + sass: "npm:^1.79.3" semver: "npm:^7.6.3" source-map-explorer: "npm:^2.5.3" - ts-jest: "npm:^29.2.4" - typescript: "npm:^5.5.4" + ts-jest: "npm:^29.2.5" + typescript: "npm:^5.6.2" usehooks-ts: "npm:^3.1.0" uuid: "npm:^10.0.0" - vite: "npm:^5.4.2" - vite-plugin-checker: "npm:^0.7.2" + vite: "npm:^5.4.8" + vite-plugin-checker: "npm:^0.8.0" vite-plugin-eslint: "npm:^1.8.1" - vite-plugin-pwa: "npm:^0.20.1" + vite-plugin-pwa: "npm:^0.20.5" vite-plugin-svgr: "npm:^4.2.0" vite-tsconfig-paths: "npm:^5.0.1" - vitest: "npm:^2.0.5" + vitest: "npm:^2.1.1" web-vitals: "npm:^4.2.3" languageName: unknown linkType: soft @@ -13105,7 +13142,7 @@ __metadata: languageName: node linkType: hard -"tinybench@npm:^2.8.0": +"tinybench@npm:^2.9.0": version: 2.9.0 resolution: "tinybench@npm:2.9.0" checksum: 10/cfa1e1418e91289219501703c4693c70708c91ffb7f040fd318d24aef419fb5a43e0c0160df9471499191968b2451d8da7f8087b08c3133c251c40d24aced06c @@ -13119,6 +13156,13 @@ __metadata: languageName: node linkType: hard +"tinyexec@npm:^0.3.0": + version: 0.3.0 + resolution: "tinyexec@npm:0.3.0" + checksum: 10/317cc536d091ce7e50271287798d91ef53c4dc80088844d890752a2c7387d213004cba83e5e1d9129390ced617625e34f4a8f0ba5779e31c9b6939f9be0d3543 + languageName: node + linkType: hard + "tinyglobby@npm:^0.2.0": version: 0.2.2 resolution: "tinyglobby@npm:0.2.2" @@ -13164,6 +13208,24 @@ __metadata: languageName: node linkType: hard +"tldts-core@npm:^6.1.47": + version: 6.1.47 + resolution: "tldts-core@npm:6.1.47" + checksum: 10/a8947de8a4cff75e9f41365e523c96ec2fd66f5bed195a53d81135bcea7771907c555c2bdb01de7b33b3d6180a5a925b1b2c57ac4f2aac783e47b8febfe400f3 + languageName: node + linkType: hard + +"tldts@npm:^6.1.32": + version: 6.1.47 + resolution: "tldts@npm:6.1.47" + dependencies: + tldts-core: "npm:^6.1.47" + bin: + tldts: bin/cli.js + checksum: 10/e2301ebc14203ce9cd68d541086d7e81c08f9e7b840948cd38db73f45ec6c839f76f2b1233016afd1ae7ba62027b4443200ef65176f4b76e6c7a2f87fab00d41 + languageName: node + linkType: hard + "tmpl@npm:1.0.5": version: 1.0.5 resolution: "tmpl@npm:1.0.5" @@ -13194,15 +13256,12 @@ __metadata: languageName: node linkType: hard -"tough-cookie@npm:^4.1.4": - version: 4.1.4 - resolution: "tough-cookie@npm:4.1.4" +"tough-cookie@npm:^5.0.0": + version: 5.0.0 + resolution: "tough-cookie@npm:5.0.0" dependencies: - psl: "npm:^1.1.33" - punycode: "npm:^2.1.1" - universalify: "npm:^0.2.0" - url-parse: "npm:^1.5.3" - checksum: 10/75663f4e2cd085f16af0b217e4218772adf0617fb3227171102618a54ce0187a164e505d61f773ed7d65988f8ff8a8f935d381f87da981752c1171b076b4afac + tldts: "npm:^6.1.32" + checksum: 10/a98d3846ed386e399e8b470c1eb08a6a296944246eabc55c9fe79d629bd2cdaa62f5a6572f271fe0060987906bd20468d72a219a3b4cbe51086bea48d2d677b6 languageName: node linkType: hard @@ -13263,19 +13322,19 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.2.4": - version: 29.2.4 - resolution: "ts-jest@npm:29.2.4" +"ts-jest@npm:^29.2.5": + version: 29.2.5 + resolution: "ts-jest@npm:29.2.5" dependencies: - bs-logger: "npm:0.x" + bs-logger: "npm:^0.2.6" ejs: "npm:^3.1.10" - fast-json-stable-stringify: "npm:2.x" + fast-json-stable-stringify: "npm:^2.1.0" jest-util: "npm:^29.0.0" json5: "npm:^2.2.3" - lodash.memoize: "npm:4.x" - make-error: "npm:1.x" - semver: "npm:^7.5.3" - yargs-parser: "npm:^21.0.1" + lodash.memoize: "npm:^4.1.2" + make-error: "npm:^1.3.6" + semver: "npm:^7.6.3" + yargs-parser: "npm:^21.1.1" peerDependencies: "@babel/core": ">=7.0.0-beta.0 <8" "@jest/transform": ^29.0.0 @@ -13296,7 +13355,7 @@ __metadata: optional: true bin: ts-jest: cli.js - checksum: 10/69db25e06b93f4ea4e454a54afc4e49c59b71f7efdef94fe728f4d62b8c475364d0fed7253212c5394669dcd143516ab6f630f4b139b2f9c37119245cf5a963c + checksum: 10/f89e562816861ec4510840a6b439be6145f688b999679328de8080dc8e66481325fc5879519b662163e33b7578f35243071c38beb761af34e5fe58e3e326a958 languageName: node linkType: hard @@ -13464,23 +13523,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:^5.5.4": - version: 5.5.4 - resolution: "typescript@npm:5.5.4" +"typescript@npm:^5.6.2": + version: 5.6.2 + resolution: "typescript@npm:5.6.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/1689ccafef894825481fc3d856b4834ba3cc185a9c2878f3c76a9a1ef81af04194849840f3c69e7961e2312771471bb3b460ca92561e1d87599b26c37d0ffb6f + checksum: 10/f95365d4898f357823e93d334ecda9fcade54f009b397c7d05b7621cd9e865981033cf89ccde0f3e3a7b73b1fdbae18e92bc77db237b43e912f053fef0f9a53b languageName: node linkType: hard -"typescript@patch:typescript@npm%3A^5.5.4#optional!builtin": - version: 5.5.4 - resolution: "typescript@patch:typescript@npm%3A5.5.4#optional!builtin::version=5.5.4&hash=379a07" +"typescript@patch:typescript@npm%3A^5.6.2#optional!builtin": + version: 5.6.2 + resolution: "typescript@patch:typescript@npm%3A5.6.2#optional!builtin::version=5.6.2&hash=74658d" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: 10/746fdd0865c5ce4f15e494c57ede03a9e12ede59cfdb40da3a281807853fe63b00ef1c912d7222143499aa82f18b8b472baa1830df8804746d09b55f6cf5b1cc + checksum: 10/060a7349adf698477b411be4ace470aee6c2c1bd99917fdf5d33697c17ec55c64fe724eb10399387530b50e9913b41528dd8bfcca0a5fc8f8bac63fbb4580a2e languageName: node linkType: hard @@ -13681,13 +13740,6 @@ __metadata: languageName: node linkType: hard -"universalify@npm:^0.2.0": - version: 0.2.0 - resolution: "universalify@npm:0.2.0" - checksum: 10/e86134cb12919d177c2353196a4cc09981524ee87abf621f7bc8d249dbbbebaec5e7d1314b96061497981350df786e4c5128dbf442eba104d6e765bc260678b5 - languageName: node - linkType: hard - "universalify@npm:^2.0.0": version: 2.0.0 resolution: "universalify@npm:2.0.0" @@ -13739,16 +13791,6 @@ __metadata: languageName: node linkType: hard -"url-parse@npm:^1.5.3": - version: 1.5.10 - resolution: "url-parse@npm:1.5.10" - dependencies: - querystringify: "npm:^2.1.1" - requires-port: "npm:^1.0.0" - checksum: 10/c9e96bc8c5b34e9f05ddfeffc12f6aadecbb0d971b3cc26015b58d5b44676a99f50d5aeb1e5c9e61fa4d49961ae3ab1ae997369ed44da51b2f5ac010d188e6ad - languageName: node - linkType: hard - "usehooks-ts@npm:^3.1.0": version: 3.1.0 resolution: "usehooks-ts@npm:3.1.0" @@ -13817,24 +13859,23 @@ __metadata: languageName: node linkType: hard -"vite-node@npm:2.0.5": - version: 2.0.5 - resolution: "vite-node@npm:2.0.5" +"vite-node@npm:2.1.1": + version: 2.1.1 + resolution: "vite-node@npm:2.1.1" dependencies: cac: "npm:^6.7.14" - debug: "npm:^4.3.5" + debug: "npm:^4.3.6" pathe: "npm:^1.1.2" - tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" bin: vite-node: vite-node.mjs - checksum: 10/de259cdf4b9ff82f39ba92ffca99db8a80783efd2764d3553b62cd8c8864488d590114a75bc93a93bf5ba2a2086bea1bee4b0029da9e62c4c0d3bf6c1f364eed + checksum: 10/c21892b560cad87414ef774d7e53b207e8d66b511b7ef085940fd2f2160d8f6c42dfa9af2ef5465e775b767fc3312ec5b3418b898041f592b8e0b093b4b7110a languageName: node linkType: hard -"vite-plugin-checker@npm:^0.7.2": - version: 0.7.2 - resolution: "vite-plugin-checker@npm:0.7.2" +"vite-plugin-checker@npm:^0.8.0": + version: 0.8.0 + resolution: "vite-plugin-checker@npm:0.8.0" dependencies: "@babel/code-frame": "npm:^7.12.13" ansi-escapes: "npm:^4.3.0" @@ -13860,7 +13901,7 @@ __metadata: vite: ">=2.0.0" vls: "*" vti: "*" - vue-tsc: ">=2.0.0" + vue-tsc: ~2.1.6 peerDependenciesMeta: "@biomejs/biome": optional: true @@ -13880,7 +13921,7 @@ __metadata: optional: true vue-tsc: optional: true - checksum: 10/95ff8631896a3d3999e5a99e808e4e33289f63ff96b932a6b722a58879ebebfd0335cad8897e8279c47145636a03c10372b3b8e7b92eabe91779d163768994f8 + checksum: 10/a38a90ac706b4fdd21db52caca7e380118ae1e8cd520184b000481cf40baac491723c71e90b6d36197051131f0e20509d2e297e199831bf3428cf4b1c50114ef languageName: node linkType: hard @@ -13898,24 +13939,24 @@ __metadata: languageName: node linkType: hard -"vite-plugin-pwa@npm:^0.20.1": - version: 0.20.1 - resolution: "vite-plugin-pwa@npm:0.20.1" +"vite-plugin-pwa@npm:^0.20.5": + version: 0.20.5 + resolution: "vite-plugin-pwa@npm:0.20.5" dependencies: - debug: "npm:^4.3.4" + debug: "npm:^4.3.6" pretty-bytes: "npm:^6.1.1" tinyglobby: "npm:^0.2.0" workbox-build: "npm:^7.1.0" workbox-window: "npm:^7.1.0" peerDependencies: - "@vite-pwa/assets-generator": ^0.2.4 + "@vite-pwa/assets-generator": ^0.2.6 vite: ^3.1.0 || ^4.0.0 || ^5.0.0 workbox-build: ^7.1.0 workbox-window: ^7.1.0 peerDependenciesMeta: "@vite-pwa/assets-generator": optional: true - checksum: 10/e4c136ea4b52c43d25d0ca38884cd87d58cda0a14174c5399ca1232d896f01d99c877828148a9ba3e6aed967c6c0b669b464cd303e95f15c5eaff082aa066e8c + checksum: 10/dd1480f87a3777b5029905d7a155707d666c856ab2d7755d43cba0ff2f90b6a95735ed9dd1fc8f4516c16bfebbe68c8dafbcfd2b51169ee7c5d86915a50f6f23 languageName: node linkType: hard @@ -13949,12 +13990,12 @@ __metadata: linkType: hard "vite@npm:^5.4.2": - version: 5.4.2 - resolution: "vite@npm:5.4.2" + version: 5.4.6 + resolution: "vite@npm:5.4.6" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.41" + postcss: "npm:^8.4.43" rollup: "npm:^4.20.0" peerDependencies: "@types/node": ^18.0.0 || >=20.0.0 @@ -13987,38 +14028,38 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10/c449f9295060fa88c9b5cc1bd17c2de198deae596b7da1250db9662fb15e7b21e0dbe9a40a9106fb7438b1231494b169457e809ecbb65e732648d87dd284ab23 + checksum: 10/8489fa55c48675fc12b64bf7af58b5e2f8a11b2aebc63cb177861bd53dc196d7c496d6918f5a8c48828f51b6fe498166a1a2350334bbfaae10d015a0c71f1c77 languageName: node linkType: hard -"vitest@npm:^2.0.5": - version: 2.0.5 - resolution: "vitest@npm:2.0.5" - dependencies: - "@ampproject/remapping": "npm:^2.3.0" - "@vitest/expect": "npm:2.0.5" - "@vitest/pretty-format": "npm:^2.0.5" - "@vitest/runner": "npm:2.0.5" - "@vitest/snapshot": "npm:2.0.5" - "@vitest/spy": "npm:2.0.5" - "@vitest/utils": "npm:2.0.5" +"vitest@npm:^2.1.1": + version: 2.1.1 + resolution: "vitest@npm:2.1.1" + dependencies: + "@vitest/expect": "npm:2.1.1" + "@vitest/mocker": "npm:2.1.1" + "@vitest/pretty-format": "npm:^2.1.1" + "@vitest/runner": "npm:2.1.1" + "@vitest/snapshot": "npm:2.1.1" + "@vitest/spy": "npm:2.1.1" + "@vitest/utils": "npm:2.1.1" chai: "npm:^5.1.1" - debug: "npm:^4.3.5" - execa: "npm:^8.0.1" - magic-string: "npm:^0.30.10" + debug: "npm:^4.3.6" + magic-string: "npm:^0.30.11" pathe: "npm:^1.1.2" std-env: "npm:^3.7.0" - tinybench: "npm:^2.8.0" + tinybench: "npm:^2.9.0" + tinyexec: "npm:^0.3.0" tinypool: "npm:^1.0.0" tinyrainbow: "npm:^1.2.0" vite: "npm:^5.0.0" - vite-node: "npm:2.0.5" + vite-node: "npm:2.1.1" why-is-node-running: "npm:^2.3.0" peerDependencies: "@edge-runtime/vm": "*" "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 2.0.5 - "@vitest/ui": 2.0.5 + "@vitest/browser": 2.1.1 + "@vitest/ui": 2.1.1 happy-dom: "*" jsdom: "*" peerDependenciesMeta: @@ -14036,7 +14077,7 @@ __metadata: optional: true bin: vitest: vitest.mjs - checksum: 10/abb916e3496a3fa9e9d05ecd806332dc4000aa0e433f0cb1e99f9dd1fa5c06d2c66656874b9860a683cec0f32abe1519599babef02e5c0ca80e9afbcdbddfdbd + checksum: 10/5bbbc7298a043c7ca0914817a2c30e18af5a1619f4a750d36056f64f4d907a1fad50b8bab93aaf39f8174eb475108c9287f6e226e24d3a3ccd6f0b71d3f56438 languageName: node linkType: hard @@ -14298,17 +14339,6 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.3.1": - version: 1.3.1 - resolution: "which@npm:1.3.1" - dependencies: - isexe: "npm:^2.0.0" - bin: - which: ./bin/which - checksum: 10/549dcf1752f3ee7fbb64f5af2eead4b9a2f482108b7de3e85c781d6c26d8cf6a52d37cfbe0642a155fa6470483fe892661a859c03157f24c669cf115f3bbab5e - languageName: node - linkType: hard - "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2" @@ -14320,6 +14350,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10/f17e84c042592c21e23c8195108cff18c64050b9efb8459589116999ea9da6dd1509e6a1bac3aeebefd137be00fabbb61b5c2bc0aa0f8526f32b58ee2f545651 + languageName: node + linkType: hard + "why-is-node-running@npm:^2.3.0": version: 2.3.0 resolution: "why-is-node-running@npm:2.3.0" @@ -14654,7 +14695,7 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.0.1, yargs-parser@npm:^21.1.1": +"yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" checksum: 10/9dc2c217ea3bf8d858041252d43e074f7166b53f3d010a8c711275e09cd3d62a002969a39858b92bbda2a6a63a585c7127014534a560b9c69ed2d923d113406e @@ -14676,7 +14717,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:^17.3.1": +"yargs@npm:^17.3.1, yargs@npm:^17.5.1": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: