From b571c19cc84a62872115f803c638cab65b6bc7dc Mon Sep 17 00:00:00 2001 From: Adam <24621027+adoyle0@users.noreply.github.com> Date: Mon, 17 Apr 2023 05:05:31 -0400 Subject: [PATCH] new style --- .gitignore | 2 + lightning/pnpm-lock.yaml | 56 +- lightning/src/MT_style.json | 1 + lightning/src/components/BadassMap.tsx | 28 +- lightning/src/root.tsx | 5 +- lightning/src/style.json | 1440 ++++++++++++++++++++++++ 6 files changed, 1492 insertions(+), 40 deletions(-) create mode 100644 .gitignore create mode 100644 lightning/src/MT_style.json create mode 100644 lightning/src/style.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7d347b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tile_server +editor diff --git a/lightning/pnpm-lock.yaml b/lightning/pnpm-lock.yaml index c168d5d..31643d3 100644 --- a/lightning/pnpm-lock.yaml +++ b/lightning/pnpm-lock.yaml @@ -1638,7 +1638,7 @@ packages: '@babel/runtime': 7.21.0 dev: false - /@rollup/plugin-commonjs@24.1.0(rollup@3.20.3): + /@rollup/plugin-commonjs@24.1.0(rollup@3.20.4): resolution: {integrity: sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1647,15 +1647,15 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/pluginutils': 5.0.2(rollup@3.20.4) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 3.20.3 + rollup: 3.20.4 - /@rollup/plugin-json@6.0.0(rollup@3.20.3): + /@rollup/plugin-json@6.0.0(rollup@3.20.4): resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1664,10 +1664,10 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) - rollup: 3.20.3 + '@rollup/pluginutils': 5.0.2(rollup@3.20.4) + rollup: 3.20.4 - /@rollup/plugin-node-resolve@15.0.2(rollup@3.20.3): + /@rollup/plugin-node-resolve@15.0.2(rollup@3.20.4): resolution: {integrity: sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1676,15 +1676,15 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/pluginutils': 5.0.2(rollup@3.20.4) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.3 - rollup: 3.20.3 + rollup: 3.20.4 - /@rollup/pluginutils@5.0.2(rollup@3.20.3): + /@rollup/pluginutils@5.0.2(rollup@3.20.4): resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1696,7 +1696,7 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.20.3 + rollup: 3.20.4 /@sideway/address@4.1.4: resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} @@ -2905,7 +2905,7 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rollup-plugin-visualizer@5.9.0(rollup@3.20.3): + /rollup-plugin-visualizer@5.9.0(rollup@3.20.4): resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} engines: {node: '>=14'} hasBin: true @@ -2917,21 +2917,21 @@ packages: dependencies: open: 8.4.2 picomatch: 2.3.1 - rollup: 3.20.3 + rollup: 3.20.4 source-map: 0.7.4 yargs: 17.7.1 - /rollup-route-manifest@1.0.0(rollup@3.20.3): + /rollup-route-manifest@1.0.0(rollup@3.20.4): resolution: {integrity: sha512-3CmcMmCLAzJDUXiO3z6386/Pt8/k9xTZv8gIHyXI8hYGoAInnYdOsFXiGGzQRMy6TXR1jUZme2qbdwjH2nFMjg==} engines: {node: '>=8'} peerDependencies: rollup: '>=2.0.0' dependencies: - rollup: 3.20.3 + rollup: 3.20.4 route-sort: 1.0.0 - /rollup@3.20.3: - resolution: {integrity: sha512-u6/O1X42CAZ79rbk+smyONJQLTpwFBL7InpRa/AVWia5lq60w5J/PUsVHCOgSolN0X9R2GjQ41fZm3x28Hk1lA==} + /rollup@3.20.4: + resolution: {integrity: sha512-n7J4tuctZXUErM9Uc916httwqmTc63zzCr2+TLCiSCpfO/Xuk3g/marGN1IlRJZi+QF3XMYx75PxXRfZDVgaRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -3010,12 +3010,12 @@ packages: undici: ^5.8.0 vite: '*' dependencies: - '@rollup/plugin-commonjs': 24.1.0(rollup@3.20.3) - '@rollup/plugin-json': 6.0.0(rollup@3.20.3) - '@rollup/plugin-node-resolve': 15.0.2(rollup@3.20.3) + '@rollup/plugin-commonjs': 24.1.0(rollup@3.20.4) + '@rollup/plugin-json': 6.0.0(rollup@3.20.4) + '@rollup/plugin-node-resolve': 15.0.2(rollup@3.20.4) compression: 1.7.4 polka: 1.0.0-next.22 - rollup: 3.20.3 + rollup: 3.20.4 sirv: 2.0.2 solid-start: 0.2.26(@solidjs/meta@0.28.4)(@solidjs/router@0.8.2)(solid-js@1.7.3)(solid-start-node@0.2.26)(vite@4.2.1) terser: 5.16.9 @@ -3080,9 +3080,9 @@ packages: get-port: 6.1.2 parse-multipart-data: 1.5.0 picocolors: 1.0.0 - rollup: 3.20.3 - rollup-plugin-visualizer: 5.9.0(rollup@3.20.3) - rollup-route-manifest: 1.0.0(rollup@3.20.3) + rollup: 3.20.4 + rollup-plugin-visualizer: 5.9.0(rollup@3.20.4) + rollup-route-manifest: 1.0.0(rollup@3.20.4) sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 2.0.2 @@ -3091,7 +3091,7 @@ packages: terser: 5.16.9 undici: 5.21.2 vite: 4.2.1(@types/node@18.15.11) - vite-plugin-inspect: 0.7.22(rollup@3.20.3)(vite@4.2.1) + vite-plugin-inspect: 0.7.22(rollup@3.20.4)(vite@4.2.1) vite-plugin-solid: 2.7.0(solid-js@1.7.3)(vite@4.2.1) wait-on: 6.0.1(debug@4.3.4) transitivePeerDependencies: @@ -3250,14 +3250,14 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vite-plugin-inspect@0.7.22(rollup@3.20.3)(vite@4.2.1): + /vite-plugin-inspect@0.7.22(rollup@3.20.4)(vite@4.2.1): resolution: {integrity: sha512-Z4y3MPuvn//0/XcpNLwTBqjfSt+c2utIFZu8Dw+nbR2HrPoIrKHedvSuqC8mLzxOpRKRoW60HWvZUDz8J2zRIA==} engines: {node: '>=14'} peerDependencies: vite: ^3.1.0 || ^4.0.0 dependencies: '@antfu/utils': 0.7.2 - '@rollup/pluginutils': 5.0.2(rollup@3.20.3) + '@rollup/pluginutils': 5.0.2(rollup@3.20.4) debug: 4.3.4 fs-extra: 11.1.1 picocolors: 1.0.0 @@ -3314,7 +3314,7 @@ packages: esbuild: 0.17.17 postcss: 8.4.22 resolve: 1.22.3 - rollup: 3.20.3 + rollup: 3.20.4 optionalDependencies: fsevents: 2.3.2 diff --git a/lightning/src/MT_style.json b/lightning/src/MT_style.json new file mode 100644 index 0000000..c0df22c --- /dev/null +++ b/lightning/src/MT_style.json @@ -0,0 +1 @@ +{"version":8,"id":"024da34e-fa66-4cb3-8f5f-0466b51e972e","name":"My Streets","sources":{"maptiler_planet":{"url":"https://api.maptiler.com/tiles/v3/tiles.json?key=Ukl2QNcQUCPAwuelQOvM","type":"vector"},"maptiler_attribution":{"attribution":"© MapTiler © OpenStreetMap contributors","type":"vector"}},"layers":[{"id":"background","type":"background","layout":{"visibility":"visible"},"paint":{"background-color":{"stops":[[6,"hsl(47,79%,94%)"],[14,"hsl(42,49%,93%)"]]}}},{"id":"landscape","type":"fill","source":"maptiler_planet","source-layer":"globallandcover","maxzoom":8,"layout":{"visibility":"visible"},"paint":{"fill-color":["match",["get","class"],"crop","hsl(50,67%,86%)","scrub","hsl(97,51%,80%)","grass","hsl(75,51%,85%)","hsl(0,0%,100%)"],"fill-opacity":{"stops":[[0,1],[8,0.1]]},"fill-antialias":true},"filter":["all",["in","class","crop","grass","scrub"]]},{"id":"snow","type":"fill","source":"maptiler_planet","source-layer":"landcover","maxzoom":24,"layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(0,0%,100%)","fill-opacity":{"stops":[[0,1],[10,0.7]]},"fill-antialias":true},"filter":["all",["==","class","ice"]]},{"id":"forest","type":"fill","source":"maptiler_planet","source-layer":"globallandcover","maxzoom":8,"layout":{"visibility":"visible"},"paint":{"fill-color":["match",["get","class"],"forest","hsl(119,38%,76%)","tree","hsl(99,42%,76%)","hsl(0,0%,100%)"],"fill-opacity":{"stops":[[1,0.8],[8,0]]},"fill-antialias":true},"filter":["all",["in","class","forest","tree"]]},{"id":"aeroway_fill","type":"fill","source":"maptiler_planet","source-layer":"aeroway","minzoom":11,"layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(0,0%,93%)","fill-opacity":1},"metadata":{},"filter":["==","$type","Polygon"]},{"id":"landcover","type":"fill","source":"maptiler_planet","source-layer":"landcover","layout":{"visibility":"visible"},"paint":{"fill-color":["match",["get","class"],"wood","hsl(99,48%,77%)","grass","hsl(103,40%,85%)","sand","hsl(52,93%,89%)","hsl(0,0%,100%)"],"fill-opacity":0.5,"fill-antialias":false},"metadata":{},"filter":["all",["in","class","grass","sand","wood"]]},{"id":"landuse_industrial","type":"fill","source":"maptiler_planet","source-layer":"landuse","maxzoom":24,"layout":{"visibility":"visible"},"paint":{"fill-color":["interpolate",["linear"],["zoom"],9,["match",["get","class"],["industrial"],"hsl(40,67%,90%)","quarry","hsla(32, 47%, 87%, 0.2)","hsla(60, 31%, 87%, 1)"],16,["match",["get","class"],["industrial"],"hsl(49,54%,90%)","quarry","hsla(32, 47%, 87%, 0.5)","hsla(60, 31%, 87%, 1)"]],"fill-opacity":["step",["zoom"],1,9,["match",["get","class"],"quarry",0,1],10,1]},"metadata":{},"filter":["all",["in","class","industrial","quarry"]]},{"id":"landuse_residential","type":"fill","source":"maptiler_planet","source-layer":"landuse","maxzoom":24,"layout":{"visibility":"visible"},"paint":{"fill-color":{"base":1,"stops":[[4,"hsl(44,34%,87%)"],[16,"hsl(54, 45%, 91%)"]]}},"metadata":{},"filter":["all",["in","class","residential","suburbs","neighbourhood"]]},{"id":"road_area_pedestrian","type":"fill","source":"maptiler_planet","source-layer":"transportation","layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(43,100%,99%)","fill-opacity":0.7},"metadata":{},"filter":["all",["==","$type","Polygon"],["!has","brunnel"],["!in","class","bridge","pier"],["in","subclass","pedestrian","platform"]]},{"id":"landuse","type":"fill","source":"maptiler_planet","source-layer":"landuse","minzoom":9,"maxzoom":24,"layout":{"visibility":"visible"},"paint":{"fill-color":["match",["get","class"],["school","college","university"],"hsl(194,52%,94%)",["stadium","pitch"],"hsl(94,100%,88%)","hospital","hsl(12,63%,94%)","cemetery","hsl(0,0%,88%)","garages","hsl(0,0%,93%)","dam","hsl(68,20%,79%)","hsl(0,0%,100%)"],"fill-opacity":{"stops":[[9,0.25],[16,1]]},"fill-antialias":true},"metadata":{},"filter":["all",["in","class","cemetery","college","dam","hospital","garages","pitch","school","stadium","university"]]},{"id":"waterway_tunnel","type":"line","source":"maptiler_planet","source-layer":"waterway","minzoom":14,"layout":{"line-cap":"round","visibility":"visible"},"paint":{"line-color":"hsl(210,73%,78%)","line-width":{"base":1.3,"stops":[[12,0.5],[20,6]]},"line-opacity":0.5,"line-dasharray":[2,4]},"filter":["all",["==","brunnel","tunnel"]]},{"id":"waterway_river","type":"line","source":"maptiler_planet","source-layer":"waterway","layout":{"line-cap":"round","visibility":"visible"},"paint":{"line-color":"hsl(210,73%,78%)","line-width":{"stops":[[12,0.5],[20,6]]}},"metadata":{},"filter":["all",["!=","brunnel","tunnel"]]},{"id":"water","type":"fill","source":"maptiler_planet","source-layer":"water","layout":{"visibility":"visible"},"paint":{"fill-color":["match",["get","intermittent"],1,"hsl(205,91%,83%)","hsl(204,92%,75%)"],"fill-opacity":["match",["get","intermittent"],1,0.85,1],"fill-antialias":true},"metadata":{},"filter":["all"]},{"id":"aeroway","type":"line","source":"maptiler_planet","source-layer":"aeroway","minzoom":11,"layout":{"visibility":"visible"},"paint":{"line-color":"hsl(0,0%,100%)","line-width":["interpolate",["linear",1],["zoom"],11,["match",["get","class"],["runway"],3,0.5],20,["match",["get","class"],["runway"],16,6]]},"metadata":{},"filter":["all",["==","$type","LineString"]]},{"id":"aeroway_runway","type":"fill","source":"maptiler_planet","source-layer":"aeroway","minzoom":11,"layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(0,0%,97%)","fill-opacity":1},"metadata":{},"filter":["all",["in","class","runway"]]},{"id":"aeroway_helipad","type":"fill","source":"maptiler_planet","source-layer":"aeroway","minzoom":11,"layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(0,0%,100%)","fill-opacity":1},"metadata":{},"filter":["all",["in","class","helipad"]]},{"id":"ferry_line","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":18,"layout":{"line-join":"round","visibility":"visible"},"paint":{"line-color":{"stops":[[10,"hsl(205,61%,63%)"],[16,"hsl(205,67%,47%)"]]},"line-width":1.1,"line-dasharray":[2,2]},"filter":["all",["in","class","ferry"]]},{"id":"tunnel-casing","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":4,"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":["match",["get","class"],"motorway","hsl(28,72%,69%)",["trunk","primary"],"hsl(28,72%,69%)","hsl(36,5%,80%)"],"line-width":["interpolate",["linear",2],["zoom"],6,0,7,0.5,10,["match",["get","class"],["motorway"],["match",["get","ramp"],1,0,2.5],["trunk","primary"],2,0],12,["match",["get","class"],["motorway"],["match",["get","ramp"],1,2,6],["trunk","primary"],3,["secondary","tertiary"],2,["minor","service","track"],1,0.5],14,["match",["get","class"],["motorway"],["match",["get","ramp"],1,5,8],["trunk"],4,["primary"],6,["secondary"],6,["tertiary"],4,["minor","service","track"],3,3],16,["match",["get","class"],["motorway","trunk","primary"],10,["secondary"],8,["tertiary"],8,["minor","service","track"],4,4],20,["match",["get","class"],["motorway","trunk","primary"],26,["secondary"],26,["tertiary"],26,["minor","service","track"],18,18]],"line-dasharray":[0.5,0.25]},"metadata":{},"filter":["all",["==","brunnel","tunnel"],["!in","class","bridge","ferry","rail","transit","pier","path","aerialway","motorway_construction","trunk_construction","primary_construction","secondary_construction","tertiary_construction","minor_construction","service_construction","track_construction"]]},{"id":"tunnel","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":4,"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":["match",["get","class"],"motorway","hsl(35,100%,76%)",["trunk","primary"],"hsl(48,100%,88%)","hsl(0,0%,96%)"],"line-width":["interpolate",["linear",2],["zoom"],5,0,6,["match",["get","class"],["motorway"],["match",["get","brunnel"],["bridge"],0,1],["trunk","primary"],0,0],10,["match",["get","class"],["motorway"],["match",["get","ramp"],1,0,2.5],["trunk","primary"],1.5,1],12,["match",["get","class"],["motorway"],["match",["get","ramp"],1,1,4],["trunk"],2.5,["primary"],2.5,["secondary","tertiary"],1.5,["minor","service","track"],1,1],14,["match",["get","class"],["motorway"],["match",["get","ramp"],1,5,6],["trunk"],3,["primary"],5,["secondary"],4,["tertiary"],3,["minor","service","track"],2,2],16,["match",["get","class"],["motorway","trunk","primary"],8,["secondary"],7,["tertiary"],6,["minor","service","track"],4,4],20,["match",["get","class"],["motorway","trunk","primary"],24,["secondary"],24,["tertiary"],24,["minor","service","track"],16,16]],"line-opacity":1},"metadata":{},"filter":["all",["==","brunnel","tunnel"],["!in","class","ferry","rail","transit","pier","bridge","path","aerialway","motorway_construction","trunk_construction","primary_construction","secondary_construction","tertiary_construction","minor_construction","service_construction","track_construction"]]},{"id":"tunnel_rail","type":"line","source":"maptiler_planet","source-layer":"transportation","layout":{"visibility":"visible"},"paint":{"line-color":"hsl(0,0%,73%)","line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]},"line-opacity":0.5},"metadata":{},"filter":["all",["==","brunnel","tunnel"],["in","class","rail"]]},{"id":"tunnel_rail-hatching","type":"line","source":"maptiler_planet","source-layer":"transportation","layout":{"visibility":"visible"},"paint":{"line-color":"hsl(0,0%,73%)","line-width":{"base":1.4,"stops":[[14.5,0],[15,3],[20,8]]},"line-opacity":0.5,"line-dasharray":[0.2,8]},"metadata":{},"filter":["all",["==","brunnel","tunnel"],["==","class","rail"]]},{"id":"tunnel_footway-casing","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":12,"layout":{"line-cap":"round","line-join":"miter","visibility":"visible"},"paint":{"line-color":"hsl(0,0%,100%)","line-width":{"base":1.2,"stops":[[14,0],[16,0],[18,4],[22,8]]},"line-opacity":1},"metadata":{},"filter":["all",["==","$type","LineString"],["in","class","path","pedestrian"],["==","brunnel","tunnel"]]},{"id":"tunnel_footway","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":12,"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"hsl(0,0%,63%)","line-width":{"base":1.2,"stops":[[14,0.5],[16,1],[18,2],[22,5]]},"line-opacity":0.4,"line-dasharray":{"stops":[[14,[1,0.5]],[18,[1,0.25]]]}},"metadata":{},"filter":["all",["==","$type","LineString"],["in","class","path","pedestrian"],["==","brunnel","tunnel"]]},{"id":"road_area_pier","type":"fill","source":"maptiler_planet","source-layer":"transportation","layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(42,49%,93%)","fill-antialias":true},"metadata":{},"filter":["all",["==","$type","Polygon"],["==","class","pier"]]},{"id":"road_pier","type":"line","source":"maptiler_planet","source-layer":"transportation","layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"hsl(42,49%,93%)","line-width":{"base":1.2,"stops":[[15,1],[17,4]]}},"metadata":{},"filter":["all",["==","$type","LineString"],["in","class","pier"]]},{"id":"road_area_bridge","type":"fill","source":"maptiler_planet","source-layer":"transportation","layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(42,49%,93%)","fill-opacity":0.6,"fill-antialias":true},"metadata":{},"filter":["all",["==","$type","Polygon"],["==","brunnel","bridge"]]},{"id":"road_network-casing","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":4,"layout":{"line-cap":"butt","line-join":"round","visibility":"none"},"paint":{"line-color":["match",["get","class"],"motorway","hsl(28,72%,69%)",["trunk","primary"],"hsl(28,72%,69%)","hsl(36,5%,80%)"],"line-width":["interpolate",["linear",2],["zoom"],6,0,7,0.5,10,["match",["get","class"],["motorway"],["match",["get","ramp"],1,0,2.5],["trunk","primary"],2.4,0],12,["match",["get","class"],["motorway"],["match",["get","ramp"],1,2,6],["trunk","primary"],3,["secondary","tertiary"],2,["minor","service","track"],1,0.5],14,["match",["get","class"],["motorway"],["match",["get","ramp"],1,5,8],["trunk"],4,["primary"],6,["secondary"],6,["tertiary"],4,["minor","service","track"],3,3],16,["match",["get","class"],["motorway","trunk","primary"],10,["secondary"],8,["tertiary"],8,["minor","service","track"],4,4],20,["match",["get","class"],["motorway","trunk","primary"],26,["secondary"],26,["tertiary"],26,["minor","service","track"],18,18]],"line-opacity":1},"metadata":{},"filter":["all",["!in","brunnel","tunnel"],["!in","class","bridge","ferry","rail","transit","pier","path","aerialway","motorway_construction","trunk_construction","primary_construction","secondary_construction","tertiary_construction","minor_construction","service_construction","track_construction"]]},{"id":"road_network_construction","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":4,"layout":{"line-cap":"square","line-join":"round","visibility":"visible"},"paint":{"line-color":["match",["get","class"],"motorway_construction","hsl(35,100%,76%)",["trunk_construction","primary_construction"],"hsl(48,100%,83%)","hsl(0,0%,100%)"],"line-width":["interpolate",["linear",2],["zoom"],5,0,6,["match",["get","class"],["motorway_construction"],["match",["get","brunnel"],["bridge"],0,1],["trunk_construction","primary_construction"],0,0],10,["match",["get","class"],["motorway_construction"],["match",["get","ramp"],1,0,2.5],["trunk_construction","primary_construction"],1.5,1],12,["match",["get","class"],["motorway_construction"],["match",["get","ramp"],1,1,4],["trunk_construction"],2.5,["primary_construction"],2.5,["secondary_construction","tertiary_construction"],1.5,["minor_construction","service_construction","track_construction"],1,1],14,["match",["get","class"],["motorway_construction"],["match",["get","ramp"],1,5,6],["trunk_construction"],3,["primary_construction"],5,["secondary_construction"],4,["tertiary_construction"],3,["minor_construction","service_construction","track_construction"],2,2],16,["match",["get","class"],["motorway_construction","trunk_construction","primary_construction"],8,["secondary_construction"],7,["tertiary_construction"],6,["minor_construction","service_construction","track_construction"],4,4],20,["match",["get","class"],["motorway_construction","trunk_construction","primary_construction"],24,["secondary_construction"],24,["tertiary_construction"],24,["minor_construction","service_construction","track_construction"],16,16]],"line-opacity":["case",["==",["get","brunnel"],"tunnel"],0.7,1],"line-dasharray":[2,2]},"metadata":{},"filter":["all",["in","class","motorway_construction","trunk_construction","primary_construction","secondary_construction","tertiary_construction","minor_construction","service_construction","track_construction"]]},{"id":"road_network","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":4,"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":["match",["get","class"],"motorway","hsl(35,100%,76%)",["trunk","primary"],"hsl(48,100%,83%)","hsl(0,0%,100%)"],"line-width":["interpolate",["linear",2],["zoom"],5,0.5,6,["match",["get","class"],["motorway"],["match",["get","brunnel"],["bridge"],0,1],["trunk","primary"],0,0],10,["match",["get","class"],["motorway"],["match",["get","ramp"],1,0,2.5],["trunk","primary"],1.5,1],12,["match",["get","class"],["motorway"],["match",["get","ramp"],1,1,4],["trunk"],2.5,["primary"],2.5,["secondary","tertiary"],1.5,["minor","service","track"],1,1],14,["match",["get","class"],["motorway"],["match",["get","ramp"],1,5,6],["trunk"],3,["primary"],5,["secondary"],4,["tertiary"],3,["minor","service","track"],2,2],16,["match",["get","class"],["motorway","trunk","primary"],8,["secondary"],7,["tertiary"],6,["minor","service","track"],4,4],20,["match",["get","class"],["motorway","trunk","primary"],24,["secondary"],24,["tertiary"],24,["minor","service","track"],16,16]]},"metadata":{},"filter":["all",["!=","brunnel","tunnel"],["!in","class","ferry","rail","transit","pier","bridge","path","aerialway","motorway_construction","trunk_construction","primary_construction","secondary_construction","tertiary_construction","minor_construction","service_construction","track_construction"]]},{"id":"road_path_pedestrian-casing","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":12,"layout":{"line-cap":"round","line-join":"miter","visibility":"none"},"paint":{"line-color":"hsl(0,0%,100%)","line-width":{"base":1.2,"stops":[[14,0],[16,0],[18,4],[22,8]]}},"metadata":{},"filter":["all",["==","$type","LineString"],["in","class","path","pedestrian"],["!=","brunnel","tunnel"]]},{"id":"road_path_pedestrian","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":12,"layout":{"line-cap":"butt","line-join":"round","visibility":"none"},"paint":{"line-color":"hsl(0, 0%, 79%)","line-width":{"base":1.2,"stops":[[14,0.5],[16,1],[18,2],[22,5]]},"line-dasharray":{"stops":[[14,[1,0.5]],[18,[1,0.25]]]}},"metadata":{},"filter":["all",["==","$type","LineString"],["in","class","path","pedestrian"],["!=","brunnel","tunnel"]]},{"id":"rail_major","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":18,"layout":{"visibility":"visible"},"paint":{"line-color":{"stops":[[8,"hsl(0,0%,72%)"],[16,"hsl(0,0%,70%)"]]},"line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]},"line-opacity":["match",["get","service"],"yard",0.5,1]},"metadata":{},"filter":["all",["!in","brunnel","tunnel"],["==","class","rail"]]},{"id":"rail_major-hatching","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":18,"layout":{"visibility":"visible"},"paint":{"line-color":"hsl(0,0%,72%)","line-width":{"base":1.4,"stops":[[14.5,0],[15,3],[20,8]]},"line-opacity":["match",["get","service"],"yard",0.5,1],"line-dasharray":[0.2,9]},"metadata":{},"filter":["all",["!in","brunnel","tunnel"],["==","class","rail"]]},{"id":"rail_minor","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":18,"layout":{"visibility":"visible"},"paint":{"line-color":"hsl(0,0%,73%)","line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]}},"metadata":{},"filter":["all",["in","subclass","tram","light_rail"]]},{"id":"rail_minor-hatching","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":18,"layout":{"visibility":"visible"},"paint":{"line-color":"hsl(0,0%,73%)","line-width":{"base":1.4,"stops":[[14.5,0],[15,2],[20,6]]},"line-dasharray":[0.2,4]},"metadata":{},"filter":["all",["in","subclass","tram","light_rail"]]},{"id":"building","type":"fill","source":"maptiler_planet","source-layer":"building","minzoom":13,"maxzoom":15,"layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(30,6%,73%)","fill-opacity":0.3,"fill-outline-color":{"base":1,"stops":[[13,"hsla(35, 6%, 79%, 0.3)"],[14,"hsl(35, 6%, 79%)"]]}},"metadata":{}},{"id":"building-3d","type":"fill-extrusion","source":"maptiler_planet","source-layer":"building","minzoom":15,"layout":{"visibility":"visible"},"paint":{"fill-extrusion-base":{"type":"identity","property":"render_min_height"},"fill-extrusion-color":"hsl(44,14%,79%)","fill-extrusion-height":{"type":"identity","property":"render_height"},"fill-extrusion-opacity":0.6},"metadata":{},"filter":["all",["!has","hide_3d"]]},{"id":"aqueduct-casing","type":"line","source":"maptiler_planet","source-layer":"waterway","layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"hsl(0,0%,51%)","line-width":{"base":1.3,"stops":[[14,1],[20,6]]}},"filter":["all",["==","$type","LineString"],["==","brunnel","bridge"]]},{"id":"aqueduct","type":"line","source":"maptiler_planet","source-layer":"waterway","layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"hsl(204,92%,75%)","line-width":{"base":1.3,"stops":[[12,0.5],[20,5]]}},"filter":["all",["==","$type","LineString"],["==","brunnel","bridge"]]},{"id":"cablecar","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":13,"layout":{"line-cap":"round","visibility":"visible"},"paint":{"line-blur":1,"line-color":"hsl(0,0%,100%)","line-width":{"base":1,"stops":[[13,2],[19,4]]}},"filter":["==","class","aerialway"]},{"id":"cablecar-dash","type":"line","source":"maptiler_planet","source-layer":"transportation","minzoom":13,"layout":{"line-cap":"round","line-join":"bevel","visibility":"visible"},"paint":{"line-color":"hsl(0,0%,64%)","line-width":{"base":1,"stops":[[13,1],[19,2]]},"line-dasharray":[2,2]},"filter":["==","class","aerialway"]},{"id":"border_other","type":"line","source":"maptiler_planet","source-layer":"boundary","minzoom":3,"maxzoom":13,"layout":{"visibility":"visible"},"paint":{"line-color":["match",["get","maritime"],1,"hsla(210,52%,64%,0)","hsla(0,0%,60%,0.5)"],"line-width":{"stops":[[3,0.75],[4,1.25],[11,1.75],[18,3]]},"line-dasharray":[2,1]},"filter":["all",[">=","admin_level",3],["==","maritime",0],["<","admin_level",10]]},{"id":"border_disputed","type":"line","source":"maptiler_planet","source-layer":"boundary","minzoom":0,"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":["match",["get","maritime"],1,"hsla(210,52%,64%,0)","hsl(0,0%,63%)"],"line-width":{"stops":[[1,0.5],[5,1.5],[10,2]]},"line-dasharray":[2,2]},"filter":["all",["<=","admin_level",2],["==","$type","LineString"],["==","disputed",1]]},{"id":"border_country","type":"line","source":"maptiler_planet","source-layer":"boundary","minzoom":0,"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-blur":0,"line-color":["match",["get","maritime"],1,"hsla(210,52%,64%,0)","hsl(0,0%,54%)"],"line-width":{"stops":[[1,0.5],[5,1.5],[10,2]]}},"filter":["all",["<=","admin_level",2],["==","$type","LineString"],["==","disputed",0]]},{"id":"waterway","type":"symbol","source":"maptiler_planet","source-layer":"waterway","minzoom":13,"layout":{"text-font":["Roboto Italic","Noto Sans Italic"],"text-size":{"stops":[[12,8],[16,14],[22,20]]},"text-field":"{name:latin}","visibility":"visible","symbol-spacing":400,"text-max-width":5,"symbol-placement":"line","text-letter-spacing":0.2,"text-rotation-alignment":"map"},"paint":{"text-color":"hsl(205,84%,39%)","text-halo-blur":1,"text-halo-color":"hsl(202, 76%, 82%)","text-halo-width":{"stops":[[10,1],[18,2]]}},"filter":["all",["==","$type","LineString"]]},{"id":"water_point","type":"symbol","source":"maptiler_planet","source-layer":"water_name","minzoom":0,"layout":{"text-font":["Roboto Italic","Noto Sans Italic"],"text-size":["interpolate",["linear",1],["zoom"],1,["match",["get","class"],["ocean"],14,10],3,["match",["get","class"],["ocean"],18,14],9,["match",["get","class"],["ocean"],22,18],14,["match",["get","class"],["lake"],14,["sea"],20,26]],"text-field":["concat",["get","name:latin"],"\n",["get","name:nonlatin"]],"visibility":"visible","text-max-width":5,"symbol-placement":"point"},"paint":{"text-color":{"stops":[[1,"hsl(203,54%,54%)"],[4,"hsl(203,72%,39%)"]]},"text-opacity":["step",["zoom"],0,1,["match",["get","class"],["ocean"],1,0],3,1],"text-halo-blur":1,"text-halo-color":{"stops":[[1,"rgba(168, 221, 241, 0.05)"],[3,"rgba(194, 235, 255, 0.75)"]]},"text-halo-width":1},"metadata":{},"filter":["all",["==","$type","Point"],["has","name"],["!=","class","lake"]]},{"id":"water_line","type":"symbol","source":"maptiler_planet","source-layer":"water_name","minzoom":0,"layout":{"text-font":["Roboto Italic","Noto Sans Italic"],"text-size":{"stops":[[10,13],[14,16],[22,20]]},"text-field":"{name:latin}","visibility":"visible","text-max-width":5,"symbol-placement":"line","text-letter-spacing":0.1},"paint":{"text-color":"hsl(205,84%,39%)","text-halo-color":"hsla(0, 100%, 100%, 0.45)","text-halo-width":1.5},"metadata":{},"filter":["all",["==","$type","LineString"],["==","class","lake"]]},{"id":"housenumber","type":"symbol","source":"maptiler_planet","source-layer":"housenumber","minzoom":18,"layout":{"text-font":["Roboto Regular","Noto Sans Regular"],"text-size":10,"text-field":"{housenumber}","visibility":"visible"},"paint":{"text-color":"hsl(26,10%,44%)","text-halo-blur":1,"text-halo-color":"hsl(21,64%,96%)","text-halo-width":1}},{"id":"gondola","type":"symbol","source":"maptiler_planet","source-layer":"transportation_name","minzoom":13,"layout":{"text-font":["Roboto Italic","Noto Sans Italic"],"text-size":{"base":1,"stops":[[13,11],[15,12],[18,13],[22,14]]},"text-field":"{name:latin}","visibility":"visible","text-anchor":"center","text-offset":[0.8,0.8],"symbol-placement":"line"},"paint":{"text-color":"hsl(0,0%,40%)","text-halo-blur":1,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"metadata":{},"filter":["all",["in","subclass","gondola","cable_car"]]},{"id":"ferry","type":"symbol","source":"maptiler_planet","source-layer":"transportation_name","minzoom":12,"layout":{"text-font":["Roboto Italic","Noto Sans Italic"],"text-size":{"base":1,"stops":[[13,11],[15,12]]},"text-field":"{name:latin}","visibility":"visible","text-anchor":"center","text-offset":[0.8,0.8],"symbol-placement":"line"},"paint":{"text-color":"hsl(205,84%,39%)","text-halo-blur":0.5,"text-halo-color":"hsla(0, 0%, 100%, 0.15)","text-halo-width":1},"filter":["all",["==","subclass","ferry"]]},{"id":"oneway","type":"symbol","source":"maptiler_planet","source-layer":"transportation","minzoom":16,"layout":{"icon-size":{"stops":[[16,0.7],[18,1]]},"text-font":["Roboto Regular","Noto Sans Regular"],"icon-image":"oneway","visibility":"visible","icon-rotate":["match",["get","oneway"],1,90,-90],"icon-padding":2,"symbol-spacing":75,"symbol-placement":"line","icon-rotation-alignment":"map"},"paint":{"icon-opacity":0.5},"filter":["all",["has","oneway"],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]]},{"id":"road","type":"symbol","source":"maptiler_planet","source-layer":"transportation_name","minzoom":17,"layout":{"text-font":["Roboto Regular","Noto Sans Regular"],"text-size":{"base":1,"stops":[[13,10],[14,11],[18,13],[22,15]]},"text-field":"{name:latin}","visibility":"visible","text-anchor":"center","text-offset":[0,0.15],"text-justify":"center","text-optional":false,"text-max-width":10,"symbol-placement":"line","icon-keep-upright":false,"icon-allow-overlap":false,"text-allow-overlap":false,"icon-ignore-placement":false,"text-ignore-placement":false},"paint":{"text-color":"hsl(19, 0%, 16%)","text-halo-blur":0.5,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"metadata":{},"filter":["all",["!in","subclass","ferry","gondola","cable_car"],["!in","class","service"]]},{"id":"highway-junction","type":"symbol","source":"maptiler_planet","source-layer":"transportation_name","minzoom":16,"layout":{"icon-size":1,"text-font":["Roboto Regular","Noto Sans Regular"],"text-size":9,"icon-image":"exit_{ref_length}","text-field":"{ref}","visibility":"visible","text-offset":[0,0.1],"symbol-spacing":200,"symbol-z-order":"auto","symbol-placement":"point","symbol-avoid-edges":true,"icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport"},"paint":{"text-color":"hsl(0,0%,21%)","text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"filter":["all",[">","ref_length",0],["==","$type","Point"],["==","subclass","junction"]]},{"id":"highway-shield","type":"symbol","source":"maptiler_planet","source-layer":"transportation_name","minzoom":8,"layout":{"icon-size":1,"text-font":["match",["get","class"],"motorway",["literal",["Roboto Bold","Noto Sans Bold"]],["literal",["Roboto Regular"]]],"text-size":10,"icon-image":"road_{ref_length}","text-field":"{ref}","visibility":"visible","text-offset":[0,0.1],"text-padding":2,"symbol-spacing":{"stops":[[10,200],[18,400]]},"text-transform":"uppercase","symbol-placement":"line","symbol-avoid-edges":true,"icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport"},"paint":{"text-color":"hsl(0,0%,18%)"},"filter":["all",["<=","ref_length",6],["==","$type","LineString"],["!in","network","us-interstate","us-highway","us-state"],["!in","class","path"]]},{"id":"highway-shield-us","type":"symbol","source":"maptiler_planet","source-layer":"transportation_name","minzoom":7,"layout":{"icon-size":1.1,"text-font":["match",["get","class"],"motorway",["literal",["Roboto Bold","Noto Sans Bold"]],["literal",["Roboto Regular","Noto Sans Regular"]]],"text-size":9,"icon-image":"{network}_{ref_length}","text-field":"{ref}","visibility":"visible","text-offset":[0,0.2],"symbol-spacing":200,"symbol-placement":{"base":1,"stops":[[7,"point"],[7,"line"],[8,"line"]]},"symbol-avoid-edges":true,"icon-rotation-alignment":"viewport","text-rotation-alignment":"viewport"},"paint":{"text-color":["match",["get","network"],"us-interstate","hsl(0,0%,100%)","hsl(0,0%,14%)"]},"filter":["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-interstate","us-highway","us-state"]]},{"id":"parking","type":"symbol","source":"maptiler_planet","source-layer":"poi","minzoom":17,"layout":{"icon-size":0.7,"text-font":["Roboto Regular","Noto Sans Regular"],"text-size":{"stops":[[12,10],[16,12],[22,14]]},"icon-image":"parking","text-field":"","visibility":"visible","text-anchor":"top","text-offset":[0,0.8],"text-padding":2,"text-max-width":8,"icon-allow-overlap":false},"paint":{"icon-opacity":1,"text-opacity":1,"text-halo-blur":0.5,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"metadata":{},"filter":["all",["==","class","parking"],["!has","name"]]},{"id":"poi","type":"symbol","source":"maptiler_planet","source-layer":"poi","minzoom":16,"layout":{"icon-size":1,"text-font":["Roboto Regular","Noto Sans Regular"],"text-size":{"stops":[[12,10],[16,12],[22,14]]},"icon-image":["coalesce",["image",["get","subclass"]],["image",["get","class"]],["image","dot"]],"text-field":"{name:latin}","visibility":"visible","text-anchor":"top","text-offset":[0,0.8],"text-padding":2,"text-max-width":8,"icon-allow-overlap":false},"paint":{"text-color":["match",["get","class"],["aerialway","bus","bicycle_rental","entrance","ferry_terminal","harbor"],"hsl(215,83%,53%)",["park","golf"],"hsl(82,83%,25%)",["hospital"],"hsl(6,94%,35%)","hsl(17,17%,38%)"],"icon-opacity":["step",["zoom"],0,15,["match",["get","class"],["aerialway","castle","cemetery","diplomatic","ferry_terminal","golf","harbor","hospital","stadium","park","place_of_worship","zoo"],1,0],16,["match",["get","class"],["castle","cemetery","town_hall","diplomatic","golf","ferry_terminal","hospital","stadium","park","college","university","place_of_worship","zoo","museum","school","parking","lodging"],1,0],17,1,22,1],"text-opacity":["step",["zoom"],0,15,["match",["get","class"],["castle","courthouse","diplomatic","golf","ferry_terminal","aerialway","harbor","stadium","park","university","hospital","place_of_worship","zoo"],1,0],16,["match",["get","class"],["castle","cemetery","town_hall","diplomatic","golf","harbor","college","university","ferry_terminal","hospital","stadium","park","place_of_worship","zoo","museum","school","lodging"],1,0],17,1,22,1],"text-halo-blur":0.5,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"metadata":{},"filter":["all",["has","name"],["!=","class","railway"]]},{"id":"place","type":"symbol","source":"maptiler_planet","source-layer":"place","minzoom":4,"layout":{"icon-size":{"stops":[[6,0.5],[8.9,0.8],[9,0]]},"text-font":["Roboto Regular","Noto Sans Regular"],"text-size":["interpolate",["linear",1],["zoom"],3,11,8,13,11,["match",["get","class"],"village",12,["suburb","neighbourhood","quarter","hamlet","isolated_dwelling"],9,"island",8,12],16,["match",["get","class"],"village",18,["suburb","neighbourhood","quarter","hamlet","isolated_dwelling"],15,"island",11,16]],"text-field":"{name:latin}","visibility":"visible","text-anchor":"bottom","text-offset":[0,0],"text-padding":2,"icon-optional":false,"text-max-width":["match",["get","class"],["island"],6,8],"text-transform":["match",["get","class"],["suburb","neighborhood","neighbourhood","quarter","island"],"uppercase","none"],"icon-allow-overlap":true,"text-letter-spacing":["match",["get","class"],["suburb","neighborhood","neighbourhood","quarter","island"],0.2,0]},"paint":{"text-color":"hsl(0,0%,25%)","icon-opacity":1,"text-opacity":["step",["zoom"],1,8,["match",["get","class"],["island"],0,1],9,["match",["get","class"],["island"],1,1]],"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1.2},"metadata":{},"filter":["all",["!in","class","continent","country","state","region","province","city","town"]]},{"id":"station","type":"symbol","source":"maptiler_planet","source-layer":"poi","minzoom":12,"layout":{"icon-size":{"stops":[[13,0.8],[18,1]]},"text-font":["Roboto Medium","Noto Sans Regular"],"text-size":{"stops":[[12,10],[16,12],[22,15]]},"icon-image":["match",["get","subclass"],["station"],"railway",["subway","halt"],"subway",["tram_stop"],"tramway",""],"text-field":"{name:latin}","visibility":"visible","text-anchor":"top","text-offset":[0,0.9],"text-padding":2,"text-max-width":9,"text-line-height":0.9},"paint":{"text-color":"hsl(215,83%,53%)","icon-opacity":["step",["zoom"],0,12,["match",["get","subclass"],["station"],1,0],14,["match",["get","subclass"],["station","subway"],1,0],15,["match",["get","subclass"],["station","halt","subway","tram_stop"],1,0],17,1,22,1],"text-opacity":["step",["zoom"],0,12,["match",["get","subclass"],["station"],1,0],14,["match",["get","subclass"],["station","subway"],1,0],15,["match",["get","subclass"],["station","subway","halt","tram_stop"],1,0],17,1,22,1],"text-halo-blur":0.5,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"metadata":{},"filter":["all",["==","class","railway"],["has","name"]]},{"id":"airport","type":"symbol","source":"maptiler_planet","source-layer":"aerodrome_label","minzoom":8,"layout":{"icon-size":["interpolate",["linear"],["zoom"],8,0.6,10,["match",["get","class"],"international",0.8,0.6],16,["match",["get","class"],"international",1,0.8]],"text-font":["Roboto Medium","Noto Sans Regular"],"text-size":["interpolate",["linear"],["zoom"],9,9,10,["match",["get","class"],"international",10,7],14,["match",["get","class"],"international",13,11]],"icon-image":["match",["get","class"],"international","airport","airfield"],"text-field":{"stops":[[8," "],[9,"{iata}"],[12,"{name:latin}"]]},"visibility":"visible","text-anchor":"top","text-offset":[0,0.8],"text-padding":2,"text-optional":true,"text-max-width":9,"text-line-height":1.4},"paint":{"text-color":"hsl(215,83%,53%)","icon-opacity":1,"text-halo-blur":0.5,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"filter":["all",["has","iata"],["!=","class","public"]]},{"id":"airport_gate","type":"symbol","source":"maptiler_planet","source-layer":"aeroway","minzoom":15,"layout":{"text-font":["Roboto Medium","Noto Sans Regular"],"text-size":{"stops":[[15,10],[22,18]]},"text-field":"{ref}","visibility":"visible"},"paint":{"text-color":"hsl(0,0%,40%)","text-halo-blur":0.5,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"filter":["all",["==","class","gate"]]},{"id":"state","type":"symbol","source":"maptiler_planet","source-layer":"place","minzoom":3,"maxzoom":9,"layout":{"text-font":["Roboto Medium","Noto Sans Regular"],"text-size":{"stops":[[3,9],[5,10],[6,11]]},"text-field":"{name:latin}","visibility":"visible","text-padding":2,"text-max-width":8,"text-transform":"uppercase","text-letter-spacing":0.1},"paint":{"text-color":"hsl(48,4%,44%)","text-opacity":["step",["zoom"],0,3,["case",["<=",["get","rank"],3],1,0],8,["case",["==",["get","rank"],0],0,1]],"text-halo-color":"hsla(0,0%,100%,0.75)","text-halo-width":0.8},"metadata":{},"filter":["all",["in","class","state","province"],["<=","rank",6]]},{"id":"town","type":"symbol","source":"maptiler_planet","source-layer":"place","minzoom":4,"maxzoom":16,"layout":{"icon-size":{"stops":[[6,0.5],[14,0.8]]},"text-font":{"stops":[[6,["Roboto Regular","Noto Sans Regular"]],[12,["Roboto Medium","Noto Sans Regular"]]]},"text-size":["interpolate",["linear",1],["zoom"],6,["case",["<=",["get","rank"],12],11,10],9,["case",["<=",["get","rank"],15],13,12],16,["case",["<=",["get","rank"],15],22,20]],"icon-image":{"stops":[[6,"circle"],[12," "]]},"text-field":"{name:latin}","visibility":"visible","text-anchor":"bottom","text-offset":[0,0],"icon-optional":false,"text-max-width":8,"icon-allow-overlap":true},"paint":{"text-color":"hsl(0,0%,20%)","text-halo-blur":0.5,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"metadata":{},"filter":["all",["==","class","town"]]},{"id":"city","type":"symbol","source":"maptiler_planet","source-layer":"place","minzoom":4,"maxzoom":16,"layout":{"icon-size":["interpolate",["linear",1],["zoom"],4,["case",["==",["get","capital"],2],1,0.8],8,["case",["==",["get","capital"],2],1,0.8],12.9,["case",["==",["get","capital"],2],1.2,1],13,0],"text-font":["Roboto Medium","Noto Sans Regular"],"text-size":["interpolate",["linear",1],["zoom"],4,["case",["<=",["get","rank"],2],14,12],8,["case",["<=",["get","rank"],4],18,14],12,["case",["<=",["get","rank"],4],24,18],16,["case",["<=",["get","rank"],4],32,26]],"icon-image":["step",["zoom"],"circle-stroke",13,""],"text-field":"{name:latin}","visibility":"visible","text-anchor":"bottom","text-offset":[0,0],"icon-optional":false,"text-max-width":8,"icon-allow-overlap":true},"paint":{"text-color":"hsl(0,0%,20%)","text-halo-blur":0.5,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":0.8},"metadata":{},"filter":["all",["==","class","city"]]},{"id":"country","type":"symbol","source":"maptiler_planet","source-layer":"place","minzoom":1,"maxzoom":12,"layout":{"text-font":["Roboto Medium","Noto Sans Regular"],"text-size":["interpolate",["linear",1],["zoom"],0,8,1,10,4,["case",[">",["get","rank"],2],15,17],8,["case",[">",["get","rank"],2],19,23]],"text-field":"{name:latin}","visibility":"visible","text-padding":1,"text-max-width":{"stops":[[1,5],[5,8]]},"text-transform":"none","text-allow-overlap":false,"text-letter-spacing":0.07},"paint":{"text-color":"hsl(0, 0%, 20%)","text-opacity":["interpolate",["linear",1],["zoom"],4,["case",[">",["get","rank"],4],0,1],5.9,["case",[">",["get","rank"],4],0,1],6,["case",[">",["get","rank"],4],1,1]],"text-halo-blur":0.8,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"metadata":{},"filter":["all",["==","class","country"],["has","iso_a2"]]},{"id":"continent","type":"symbol","source":"maptiler_planet","source-layer":"place","maxzoom":1,"layout":{"text-font":["Roboto Medium","Noto Sans Regular"],"text-size":{"stops":[[0,12],[2,13]]},"text-field":"{name:latin}","visibility":"visible","text-justify":"center","text-transform":"uppercase"},"paint":{"text-color":"hsl(0,0%,19%)","text-halo-blur":1,"text-halo-color":"hsl(0,0%,100%)","text-halo-width":1},"metadata":{},"filter":["all",["==","class","continent"]]}],"metadata":{"maptiler:copyright":"This style was generated on MapTiler Cloud. Usage outside of MapTiler Cloud or MapTiler Server requires valid MapTiler Data package: https://www.maptiler.com/data/ -- please contact us."},"glyphs":"https://api.maptiler.com/fonts/{fontstack}/{range}.pbf?key=Ukl2QNcQUCPAwuelQOvM","sprite":"https://api.maptiler.com/maps/024da34e-fa66-4cb3-8f5f-0466b51e972e/sprite","bearing":131.9231475607246,"pitch":60,"center":[-71.06448132413561,42.36046070828061],"zoom":16.316737770694015} \ No newline at end of file diff --git a/lightning/src/components/BadassMap.tsx b/lightning/src/components/BadassMap.tsx index dd0bd26..e92c414 100644 --- a/lightning/src/components/BadassMap.tsx +++ b/lightning/src/components/BadassMap.tsx @@ -1,15 +1,19 @@ +import MapGL, { Viewport, Camera, Marker } from 'solid-map-gl'; import { createSignal, Show } from 'solid-js'; import * as maplibre from 'maplibre-gl'; -import MapGL, { Viewport, Camera, Marker } from 'solid-map-gl'; - import MapControls from './MapControls'; -import MapScatLayer from './MapScatLayer'; -import MapArcLayer from './MapArcLayer'; + +// deck.gl +import { unstable_clientOnly } from 'solid-start'; +const MapScatLayer = unstable_clientOnly(() => import('~/components/MapScatLayer')); +const MapArcLayer = unstable_clientOnly(() => import('~/components/MapArcLayer')); import type { JSX } from 'solid-js'; import type { MapOptions } from 'maplibre-gl'; +import type { StyleSpecification } from 'maplibre-gl'; import 'maplibre-gl/dist/maplibre-gl.css'; +import * as stylesheet from '~/style.json' // test data const FANEUIL_HALL: number[] = [-71.05625, 42.36] @@ -33,22 +37,27 @@ const SCAT_DATA = [ { coordinates: PR_HOUSE }, ]; +const TILES_URL: string = 'https://api.maptiler.com/maps/024da34e-fa66-4cb3-8f5f-0466b51e972e/style.json?key=Ukl2QNcQUCPAwuelQOvM'; + +const TILES_STYLE: StyleSpecification = { +}; + function BadassMap(): JSX.Element { - - const TILES_URL: string = 'https://api.maptiler.com/maps/024da34e-fa66-4cb3-8f5f-0466b51e972e/style.json?key=Ukl2QNcQUCPAwuelQOvM' + const MY_LOC = FANEUIL_HALL; const options: MapOptions = { container: 'solid-map-gl will override me', - style: TILES_URL, + style: stylesheet, maxPitch: 85, antialias: true, }; const INITIAL_VIEW_STATE: Viewport = { - center: FANEUIL_HALL, + center: MY_LOC, zoom: 15.5, bearing: 160, pitch: 60, }; + const [viewport, setViewport] = createSignal(INITIAL_VIEW_STATE); const [rotate, setRotate] = createSignal(true); const toggleRotate = () => setRotate(!rotate()); @@ -64,7 +73,7 @@ function BadassMap(): JSX.Element { hi @@ -74,6 +83,7 @@ function BadassMap(): JSX.Element { rotateViewport={rotate()} reverse={true} /> + Rotation On } diff --git a/lightning/src/root.tsx b/lightning/src/root.tsx index c6705f5..7fcaa4e 100644 --- a/lightning/src/root.tsx +++ b/lightning/src/root.tsx @@ -11,10 +11,9 @@ import { Routes, Scripts, Title, - unstable_clientOnly, } from "solid-start"; import "./root.css"; -const BadassMap = unstable_clientOnly(() => import('~/components/BadassMap')); +import BadassMap from '~/components/BadassMap'; export default function Root() { return ( @@ -29,7 +28,7 @@ export default function Root() { Map About - hi} /> + diff --git a/lightning/src/style.json b/lightning/src/style.json new file mode 100644 index 0000000..642c097 --- /dev/null +++ b/lightning/src/style.json @@ -0,0 +1,1440 @@ +{ + "version": 8, + "name": "Klokantech 3D", + "metadata": { + "mapbox:autocomposite": false, + "maputnik:renderer": "mbgljs", + "openmaptiles:version": "3.x" + }, + "sources": { + "openmaptiles": { + "type": "vector", + "url": "https://api.maptiler.com/tiles/v3/tiles.json?key=Ukl2QNcQUCPAwuelQOvM" + } + }, + "glyphs": "https://api.maptiler.com/fonts/{fontstack}/{range}.pbf?key=Ukl2QNcQUCPAwuelQOvM", + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "hsl(47, 26%, 88%)" + } + }, + { + "id": "landuse-residential", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": [ + "all", + [ + "==", + "$type", + "Polygon" + ], + [ + "==", + "class", + "residential" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(47, 13%, 86%)", + "fill-opacity": 0.7 + } + }, + { + "id": "landcover_grass", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": [ + "==", + "class", + "grass" + ], + "paint": { + "fill-color": "hsl(82, 46%, 72%)", + "fill-opacity": 0.45 + } + }, + { + "id": "park", + "type": "fill", + "source": "openmaptiles", + "source-layer": "park", + "paint": { + "fill-color": "rgba(192, 216, 151, 0.53)", + "fill-opacity": 1 + } + }, + { + "id": "landcover_wood", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": [ + "==", + "class", + "wood" + ], + "paint": { + "fill-color": "hsl(82, 46%, 72%)", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 8, + 0.6 + ], + [ + 22, + 1 + ] + ] + } + } + }, + { + "id": "water", + "type": "fill", + "source": "openmaptiles", + "source-layer": "water", + "filter": [ + "all", + [ + "==", + "$type", + "Polygon" + ], + [ + "!=", + "brunnel", + "tunnel" + ] + ], + "paint": { + "fill-color": "hsl(205, 56%, 73%)" + } + }, + { + "id": "landcover-ice-shelf", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": [ + "==", + "subclass", + "ice_shelf" + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(47, 26%, 88%)", + "fill-opacity": 0.8 + } + }, + { + "id": "landcover-glacier", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": [ + "==", + "subclass", + "glacier" + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "hsl(47, 22%, 94%)", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 0, + 1 + ], + [ + 8, + 0.5 + ] + ] + } + } + }, + { + "id": "landuse", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": [ + "==", + "class", + "agriculture" + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-color": "#eae0d0" + } + }, + { + "id": "landuse_overlay_national_park", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": [ + "==", + "class", + "national_park" + ], + "paint": { + "fill-color": "#E1EBB0", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 5, + 0 + ], + [ + 9, + 0.75 + ] + ] + } + } + }, + { + "id": "park_outline", + "type": "line", + "source": "openmaptiles", + "source-layer": "park", + "layout": {}, + "paint": { + "line-color": "rgba(159, 183, 118, 0.69)", + "line-dasharray": [ + 0.5, + 1 + ] + } + }, + { + "id": "waterway_tunnel", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "brunnel", + "tunnel" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(205, 56%, 73%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "stops": [ + [ + 12, + 0 + ], + [ + 20, + 6 + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.4, + "stops": [ + [ + 8, + 1 + ], + [ + 20, + 2 + ] + ] + } + } + }, + { + "id": "waterway", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "!=", + "intermittent", + 1 + ], + [ + "!in", + "brunnel", + "tunnel", + "bridge" + ] + ], + "layout": { + "visibility": "none" + }, + "paint": { + "line-color": "hsl(205, 56%, 73%)", + "line-opacity": 1, + "line-width": { + "base": 1.4, + "stops": [ + [ + 8, + 1 + ], + [ + 20, + 8 + ] + ] + } + } + }, + { + "id": "waterway_intermittent", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "intermittent", + 1 + ], + [ + "!in", + "brunnel", + "tunnel", + "bridge" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(205, 56%, 73%)", + "line-dasharray": [ + 2, + 1 + ], + "line-opacity": 1, + "line-width": { + "base": 1.4, + "stops": [ + [ + 8, + 1 + ], + [ + 20, + 8 + ] + ] + } + } + }, + { + "id": "tunnel_railway_transit", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 0, + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "brunnel", + "tunnel" + ], + [ + "==", + "class", + "transit" + ] + ], + "layout": { + "line-cap": "butt", + "line-join": "miter" + }, + "paint": { + "line-color": "hsl(34, 12%, 66%)", + "line-dasharray": [ + 3, + 3 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 11, + 0 + ], + [ + 16, + 1 + ] + ] + } + } + }, + { + "id": "road_area_pier", + "type": "fill", + "metadata": {}, + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "Polygon" + ], + [ + "==", + "class", + "pier" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "fill-antialias": true, + "fill-color": "hsl(47, 26%, 88%)" + } + }, + { + "id": "road_pier", + "type": "line", + "metadata": {}, + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "class", + "pier" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "hsl(47, 26%, 88%)", + "line-width": { + "base": 1.2, + "stops": [ + [ + 15, + 1 + ], + [ + 17, + 4 + ] + ] + } + } + }, + { + "id": "road_bridge_area", + "type": "fill", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "Polygon" + ], + [ + "in", + "brunnel", + "bridge" + ] + ], + "layout": {}, + "paint": { + "fill-color": "hsl(47, 26%, 88%)", + "fill-opacity": 0.5 + } + }, + { + "id": "road_path", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "class", + "path", + "track" + ] + ], + "layout": { + "line-cap": "square", + "line-join": "bevel" + }, + "paint": { + "line-color": "hsl(0, 0%, 97%)", + "line-dasharray": [ + 1, + 1 + ], + "line-width": { + "base": 1.55, + "stops": [ + [ + 4, + 0.25 + ], + [ + 20, + 10 + ] + ] + } + } + }, + { + "id": "road_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "class", + "minor", + "service" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "hsl(0, 0%, 97%)", + "line-width": { + "base": 1.55, + "stops": [ + [ + 4, + 0.25 + ], + [ + 20, + 30 + ] + ] + } + } + }, + { + "id": "tunnel_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "brunnel", + "tunnel" + ], + [ + "==", + "class", + "minor_road" + ] + ] + ], + "layout": { + "line-cap": "butt", + "line-join": "miter" + }, + "paint": { + "line-color": "#efefef", + "line-dasharray": [ + 0.36, + 0.18 + ], + "line-width": { + "base": 1.55, + "stops": [ + [ + 4, + 0.25 + ], + [ + 20, + 30 + ] + ] + } + } + }, + { + "id": "tunnel_major", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "brunnel", + "tunnel" + ], + [ + "in", + "class", + "primary", + "secondary", + "tertiary", + "trunk" + ] + ] + ], + "layout": { + "line-cap": "butt", + "line-join": "miter" + }, + "paint": { + "line-color": "#fff", + "line-dasharray": [ + 0.28, + 0.14 + ], + "line-width": { + "base": 1.4, + "stops": [ + [ + 6, + 0.5 + ], + [ + 20, + 30 + ] + ] + } + } + }, + { + "id": "road_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "class", + "trunk", + "primary" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": { + "base": 1.4, + "stops": [ + [ + 6, + 0.5 + ], + [ + 20, + 30 + ] + ] + } + } + }, + { + "id": "road_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "class", + "secondary", + "tertiary" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": { + "base": 1.4, + "stops": [ + [ + 6, + 0.5 + ], + [ + 20, + 20 + ] + ] + } + } + }, + { + "id": "road_major_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "class", + "motorway" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-offset": 0, + "line-width": { + "base": 1.4, + "stops": [ + [ + 8, + 1 + ], + [ + 16, + 10 + ] + ] + } + } + }, + { + "id": "railway_transit", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "class", + "transit" + ], + [ + "!=", + "brunnel", + "tunnel" + ] + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(34, 12%, 66%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 11, + 0 + ], + [ + 16, + 1 + ] + ] + } + } + }, + { + "id": "railway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "==", + "class", + "rail" + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(34, 12%, 66%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 11, + 0 + ], + [ + 16, + 1 + ] + ] + } + } + }, + { + "id": "bridge_minor case", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "brunnel", + "bridge" + ], + [ + "==", + "class", + "minor_road" + ] + ] + ], + "layout": { + "line-cap": "butt", + "line-join": "miter" + }, + "paint": { + "line-color": "#dedede", + "line-gap-width": { + "base": 1.55, + "stops": [ + [ + 4, + 0.25 + ], + [ + 20, + 30 + ] + ] + }, + "line-width": { + "base": 1.6, + "stops": [ + [ + 12, + 0.5 + ], + [ + 20, + 10 + ] + ] + } + } + }, + { + "id": "bridge_major case", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "brunnel", + "bridge" + ], + [ + "in", + "class", + "primary", + "secondary", + "tertiary", + "trunk" + ] + ] + ], + "layout": { + "line-cap": "butt", + "line-join": "miter" + }, + "paint": { + "line-color": "#dedede", + "line-gap-width": { + "base": 1.55, + "stops": [ + [ + 4, + 0.25 + ], + [ + 20, + 30 + ] + ] + }, + "line-width": { + "base": 1.6, + "stops": [ + [ + 12, + 0.5 + ], + [ + 20, + 10 + ] + ] + } + } + }, + { + "id": "bridge_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "brunnel", + "bridge" + ], + [ + "==", + "class", + "minor_road" + ] + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#efefef", + "line-width": { + "base": 1.55, + "stops": [ + [ + 4, + 0.25 + ], + [ + 20, + 30 + ] + ] + } + } + }, + { + "id": "bridge_major", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "brunnel", + "bridge" + ], + [ + "in", + "class", + "primary", + "secondary", + "tertiary", + "trunk" + ] + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "#fff", + "line-width": { + "base": 1.4, + "stops": [ + [ + 6, + 0.5 + ], + [ + 20, + 30 + ] + ] + } + } + }, + { + "id": "admin_sub", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "filter": [ + "in", + "admin_level", + 4, + 6, + 8 + ], + "layout": { + "visibility": "visible" + }, + "paint": { + "line-color": "hsl(0, 0%, 76%)", + "line-dasharray": [ + 2, + 1 + ] + } + }, + { + "id": "admin_country_z0-4", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "maxzoom": 5, + "filter": [ + "all", + [ + "<=", + "admin_level", + 2 + ], + [ + "==", + "$type", + "LineString" + ], + [ + "!has", + "claimed_by" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "hsla(0, 8%, 22%, 0.51)", + "line-width": { + "base": 1.3, + "stops": [ + [ + 3, + 0.5 + ], + [ + 22, + 15 + ] + ] + } + } + }, + { + "id": "admin_country_z5-", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "minzoom": 5, + "filter": [ + "all", + [ + "<=", + "admin_level", + 2 + ], + [ + "==", + "$type", + "LineString" + ] + ], + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "paint": { + "line-color": "hsla(0, 8%, 22%, 0.51)", + "line-width": { + "base": 1.3, + "stops": [ + [ + 3, + 0.5 + ], + [ + 22, + 15 + ] + ] + } + } + }, + { + "id": "road_major_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "filter": [ + "==", + "$type", + "LineString" + ], + "layout": { + "symbol-placement": "line", + "text-field": "{name}", + "text-font": [ + "Klokantech Noto Sans Regular" + ], + "text-letter-spacing": 0.1, + "text-rotation-alignment": "map", + "text-size": { + "base": 1.4, + "stops": [ + [ + 10, + 8 + ], + [ + 20, + 14 + ] + ] + }, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#000", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 2 + } + }, + { + "id": "building-3d", + "type": "fill-extrusion", + "source": "openmaptiles", + "source-layer": "building", + "filter": [ + "all", + [ + "!has", + "hide_3d" + ] + ], + "paint": { + "fill-extrusion-base": { + "property": "render_min_height", + "type": "identity" + }, + "fill-extrusion-color": [ + "case", + [ + "has", + "colour" + ], + [ + "get", + "colour" + ], + "hsl(39, 41%, 86%)" + ], + "fill-extrusion-height": { + "property": "render_height", + "type": "identity" + }, + "fill-extrusion-opacity": 0.6 + } + }, + { + "id": "place_label_other", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 8, + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "all", + [ + "!=", + "class", + "city" + ] + ] + ], + "layout": { + "text-anchor": "center", + "text-field": "{name_en}", + "text-font": [ + "Klokantech Noto Sans Regular" + ], + "text-max-width": 6, + "text-size": { + "stops": [ + [ + 6, + 10 + ], + [ + 12, + 14 + ] + ] + }, + "visibility": "visible" + }, + "paint": { + "text-color": "hsl(0, 10%, 25%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 2 + } + }, + { + "id": "place_label_city", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 16, + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "==", + "class", + "city" + ] + ], + "layout": { + "text-field": "{name_en}", + "text-font": [ + "Klokantech Noto Sans Regular" + ], + "text-max-width": 10, + "text-size": { + "stops": [ + [ + 3, + 12 + ], + [ + 8, + 16 + ] + ] + } + }, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-blur": 0, + "text-halo-color": "hsla(0, 0%, 100%, 0.75)", + "text-halo-width": 2 + } + }, + { + "id": "country_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 12, + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "==", + "class", + "country" + ] + ], + "layout": { + "text-field": "{name}", + "text-font": [ + "Klokantech Noto Sans Bold" + ], + "text-max-width": 10, + "text-size": { + "stops": [ + [ + 3, + 12 + ], + [ + 8, + 22 + ] + ] + } + }, + "paint": { + "text-color": "hsl(0, 0%, 13%)", + "text-halo-blur": 0, + "text-halo-color": "rgba(255,255,255,0.75)", + "text-halo-width": 2 + } + } + ], + "id": "klokantech-3d" +}