UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

1,302 lines (1,301 loc) 108 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = (function (queryPath, _a) { var worldView = _a.worldView, tilePath = _a.tilePath; return ({ version: 8, name: '暗黑2', metadata: { 'mapbox:type': 'default', 'mapbox:origin': 'basic-v1', 'mapbox:sdk-support': { android: '9.3.0', ios: '5.10.0', js: '2.0.0' }, 'mapbox:autocomposite': true, 'mapbox:groups': { 'Transit, transit-labels': { name: 'Transit, transit-labels', collapsed: false }, 'Administrative boundaries, admin': { name: 'Administrative boundaries, admin', collapsed: false }, 'Road network, bridges': { name: 'Road network, bridges', collapsed: false }, 'Land, water, & sky, water': { name: 'Land, water, & sky, water', collapsed: false }, 'Road network, tunnels': { name: 'Road network, tunnels', collapsed: false }, 'Road network, road-labels': { name: 'Road network, road-labels', collapsed: false }, 'Buildings, built': { name: 'Buildings, built', collapsed: false }, 'Natural features, natural-labels': { name: 'Natural features, natural-labels', collapsed: false }, 'Road network, surface': { name: 'Road network, surface', collapsed: false }, 'Land, water, & sky, built': { name: 'Land, water, & sky, built', collapsed: false }, 'Walking, cycling, etc., barriers-bridges': { name: 'Walking, cycling, etc., barriers-bridges', collapsed: false }, 'Place labels, place-labels': { name: 'Place labels, place-labels', collapsed: false }, 'Point of interest labels, poi-labels': { name: 'Point of interest labels, poi-labels', collapsed: false }, 'Walking, cycling, etc., tunnels': { name: 'Walking, cycling, etc., tunnels', collapsed: false }, 'Walking, cycling, etc., walking-cycling-labels': { name: 'Walking, cycling, etc., walking-cycling-labels', collapsed: false }, 'Walking, cycling, etc., surface': { name: 'Walking, cycling, etc., surface', collapsed: false }, 'Transit, built': { name: 'Transit, built', collapsed: false }, 'Land, water, & sky, land': { name: 'Land, water, & sky, land', collapsed: false } }, 'mapbox:uiParadigm': 'layers', 'mapbox:decompiler': { id: 'ckkm6l8524gem17q5y3fyx02s', componentVersion: '9.0.0', strata: [ { id: 'basic-v1', order: [ ['land-and-water', 'land'], ['land-and-water', 'water'], ['land-and-water', 'built'], ['transit', 'built'], ['buildings', 'built'], ['road-network', 'tunnels-case'], ['walking-cycling', 'tunnels'], ['road-network', 'tunnels'], ['transit', 'ferries'], ['walking-cycling', 'surface'], ['road-network', 'surface'], ['transit', 'surface'], ['road-network', 'surface-icons'], ['walking-cycling', 'barriers-bridges'], ['road-network', 'bridges'], ['transit', 'bridges'], ['road-network', 'traffic-and-closures'], ['buildings', 'extruded'], ['transit', 'elevated'], ['admin-boundaries', 'admin'], ['buildings', 'building-labels'], ['road-network', 'road-labels'], ['walking-cycling', 'walking-cycling-labels'], ['transit', 'ferry-aerialway-labels'], ['natural-features', 'natural-labels'], ['point-of-interest-labels', 'poi-labels'], ['transit', 'transit-labels'], ['place-labels', 'place-labels'], ['land-and-water', 'sky'] ] } ], overrides: { 'place-labels': { 'state-label': { paint: { 'text-color': 'hsl(211, 31%, 13%)', 'text-opacity': 1, 'text-halo-color': 'hsla(218, 37%, 100%, 0.4)', 'text-halo-width': 1, 'text-halo-blur': { remove: true } }, layout: { 'text-line-height': { remove: true }, 'text-max-width': 6, 'text-transform': 'uppercase' } }, 'settlement-minor-label': { layout: { 'text-field': ['coalesce', ['get', 'name_en'], ['get', 'name']] }, paint: { 'text-color': { remove: true }, 'text-opacity': { remove: true }, 'text-halo-color': 'hsl(218, 37%, 100%)' } }, 'settlement-major-label': { paint: { 'text-halo-color': 'hsla(218, 37%, 100%, 0.4)' } } } }, components: { 'road-network': '9.0.0', 'natural-features': '9.0.0', 'place-labels': '9.0.0', 'admin-boundaries': '9.0.0', 'point-of-interest-labels': '9.0.0', 'walking-cycling': '9.0.0', transit: '9.0.0', 'land-and-water': '9.0.0', buildings: '9.0.0' }, propConfig: { 'road-network': { 'color-base': 'hsl(218, 32%, 39%)', 'color-road': 'hsl(211, 28%, 34%)', roadNetwork: 'Simple' }, 'natural-features': { 'color-base': 'hsl(218, 32%, 39%)', 'color-water': '#1a2237', 'color-poi': 'hsl(184, 7%, 81%)' }, 'place-labels': { 'color-base': 'hsl(218, 32%, 39%)', 'color-place-label': 'hsl(213, 38%, 31%)', settlementSubdivisionsDensity: 3, settlementLabelStyle: 'Text only' }, 'admin-boundaries': { 'color-base': 'hsl(218, 32%, 39%)', 'color-place-label': 'hsl(213, 38%, 31%)' }, 'point-of-interest-labels': { 'color-base': 'hsl(218, 32%, 39%)', 'color-greenspace': 'hsl(170, 37%, 11%)', 'color-greenspace-label': 'hsl(107, 0%, 74%)', 'color-hospital': 'hsl(204, 14%, 100%)', 'color-school': 'hsl(213, 27%, 100%)', 'color-poi': 'hsl(184, 7%, 81%)', density: 2 }, 'walking-cycling': { 'color-base': 'hsl(218, 32%, 39%)', 'color-road': 'hsl(211, 28%, 34%)', 'color-greenspace': 'hsl(170, 37%, 11%)', 'color-greenspace-label': 'hsl(107, 0%, 74%)', walkingCyclingPisteBackground: false, golfHoleLabelLine: false, pedestrianPolygonFeatures: false }, transit: { 'color-airport': 'hsl(213, 9%, 100%)', 'color-transit': 'hsl(219, 9%, 80%)', aerialways: false, 'color-road': 'hsl(211, 28%, 34%)', 'color-water': '#1a2237', transitLabels: false, railways: false, ferries: false, 'color-base': 'hsl(218, 32%, 39%)' }, 'land-and-water': { 'color-airport': 'hsl(213, 9%, 100%)', 'color-hospital': 'hsl(204, 14%, 100%)', landType: 'Landuse only', 'color-greenspace': 'hsl(170, 37%, 11%)', 'color-water': '#1a2237', transitionLandOnZoom: false, waterStyle: 'Simple', 'color-base': 'hsl(218, 32%, 39%)', 'color-school': 'hsl(213, 27%, 100%)' }, buildings: { 'color-base': 'hsl(218, 32%, 39%)', houseNumbers: false } } } }, center: [121.73751905723674, 27.420763943390057], zoom: 7.7581620736975365, bearing: 0, pitch: 0, sources: { composite: { tiles: [tilePath || queryPath + '/tiles/{z}/{x}/{y}.vector.pbf'], // url: 'mapbox://mapbox.mapbox-streets-v8', type: 'vector' } }, sprite: queryPath + '/sprite/dark/sprite', glyphs: queryPath + '/font/{fontstack}/{range}.pbf', // sprite: // 'mapbox://sprites/qingqqing111/ckkm6l8524gem17q5y3fyx02s/5wr83dq8r5xljyc6q4htb3g1e', // glyphs: 'mapbox://fonts/qingqqing111/{fontstack}/{range}.pbf', layers: [ { id: 'land', type: 'background', metadata: { 'mapbox:featureComponent': 'land-and-water', 'mapbox:group': 'Land, water, & sky, land' }, layout: {}, paint: { 'background-color': 'hsl(218, 30%, 27%)' } }, { id: 'national-park', type: 'fill', metadata: { 'mapbox:featureComponent': 'land-and-water', 'mapbox:group': 'Land, water, & sky, land' }, source: 'composite', 'source-layer': 'landuse_overlay', minzoom: 5, filter: ['==', ['get', 'class'], 'national_park'], layout: {}, paint: { 'fill-color': 'hsl(170, 37%, 11%)', 'fill-opacity': [ 'interpolate', ['linear'], ['zoom'], 5, 0, 6, 0.5, 10, 0.5 ] } }, { id: 'landuse', type: 'fill', metadata: { 'mapbox:featureComponent': 'land-and-water', 'mapbox:group': 'Land, water, & sky, land' }, source: 'composite', 'source-layer': 'landuse', minzoom: 5, filter: [ 'match', ['get', 'class'], ['park', 'airport', 'glacier', 'pitch', 'sand', 'facility'], true, 'cemetery', true, 'school', true, 'hospital', true, false ], layout: {}, paint: { 'fill-color': [ 'interpolate', ['linear'], ['zoom'], 15, [ 'match', ['get', 'class'], 'park', 'hsl(170, 37%, 11%)', 'airport', 'hsl(213, 33%, 32%)', 'cemetery', 'hsl(152, 34%, 17%)', 'glacier', 'rgb(68, 81, 115)', 'hospital', 'hsl(204, 25%, 28%)', 'pitch', 'hsl(170, 38%, 6%)', 'sand', 'hsl(218, 36%, 15%)', 'school', 'hsl(213, 30%, 22%)', 'hsl(218, 33%, 25%)' ], 16, [ 'match', ['get', 'class'], 'park', 'hsl(170, 37%, 11%)', 'airport', 'hsl(213, 47%, 30%)', 'cemetery', 'hsl(152, 34%, 17%)', 'glacier', 'rgb(68, 81, 115)', 'hospital', 'hsl(204, 18%, 30%)', 'pitch', 'hsl(170, 38%, 6%)', 'sand', 'hsl(218, 36%, 15%)', 'school', 'hsl(213, 30%, 22%)', 'hsl(218, 33%, 25%)' ] ], 'fill-opacity': [ 'interpolate', ['linear'], ['zoom'], 5, 0, 6, ['match', ['get', 'class'], 'glacier', 0.5, 1] ] } }, { id: 'pitch-outline', type: 'line', metadata: { 'mapbox:featureComponent': 'land-and-water', 'mapbox:group': 'Land, water, & sky, land' }, source: 'composite', 'source-layer': 'landuse', minzoom: 15, filter: ['==', ['get', 'class'], 'pitch'], layout: {}, paint: { 'line-color': 'hsl(152, 21%, 14%)' } }, { id: 'waterway', type: 'line', metadata: { 'mapbox:featureComponent': 'land-and-water', 'mapbox:group': 'Land, water, & sky, water' }, source: 'composite', 'source-layer': 'waterway', minzoom: 8, layout: { 'line-cap': ['step', ['zoom'], 'butt', 11, 'round'], 'line-join': 'round' }, paint: { 'line-color': '#1a2237', 'line-width': [ 'interpolate', ['exponential', 1.3], ['zoom'], 9, ['match', ['get', 'class'], ['canal', 'river'], 0.1, 0], 20, ['match', ['get', 'class'], ['canal', 'river'], 8, 3] ], 'line-opacity': ['interpolate', ['linear'], ['zoom'], 8, 0, 8.5, 1] } }, { id: 'water', type: 'fill', metadata: { 'mapbox:featureComponent': 'land-and-water', 'mapbox:group': 'Land, water, & sky, water' }, source: 'composite', 'source-layer': 'water', layout: {}, paint: { 'fill-color': '#1a2237' } }, { id: 'land-structure-polygon', type: 'fill', metadata: { 'mapbox:featureComponent': 'land-and-water', 'mapbox:group': 'Land, water, & sky, built' }, source: 'composite', 'source-layer': 'structure', minzoom: 13, filter: [ 'all', ['==', ['geometry-type'], 'Polygon'], ['==', ['get', 'class'], 'land'] ], layout: {}, paint: { 'fill-color': 'hsl(218, 30%, 27%)' } }, { id: 'land-structure-line', type: 'line', metadata: { 'mapbox:featureComponent': 'land-and-water', 'mapbox:group': 'Land, water, & sky, built' }, source: 'composite', 'source-layer': 'structure', minzoom: 13, filter: [ 'all', ['==', ['geometry-type'], 'LineString'], ['==', ['get', 'class'], 'land'] ], layout: { 'line-cap': 'round' }, paint: { 'line-width': [ 'interpolate', ['exponential', 1.99], ['zoom'], 14, 0.75, 20, 40 ], 'line-color': 'hsl(218, 30%, 27%)' } }, { id: 'aeroway-polygon', type: 'fill', metadata: { 'mapbox:featureComponent': 'transit', 'mapbox:group': 'Transit, built' }, source: 'composite', 'source-layer': 'aeroway', minzoom: 11, filter: [ 'all', ['==', ['geometry-type'], 'Polygon'], [ 'match', ['get', 'type'], ['runway', 'taxiway', 'helipad'], true, false ] ], layout: {}, paint: { 'fill-color': [ 'interpolate', ['linear'], ['zoom'], 15, 'hsl(213, 26%, 23%)', 16, 'hsl(213, 17%, 25%)' ], 'fill-opacity': ['interpolate', ['linear'], ['zoom'], 11, 0, 11.5, 1] } }, { id: 'aeroway-line', type: 'line', metadata: { 'mapbox:featureComponent': 'transit', 'mapbox:group': 'Transit, built' }, source: 'composite', 'source-layer': 'aeroway', minzoom: 9, filter: ['==', ['geometry-type'], 'LineString'], layout: {}, paint: { 'line-color': [ 'interpolate', ['linear'], ['zoom'], 15, 'hsl(213, 26%, 23%)', 16, 'hsl(213, 17%, 25%)' ], 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 9, ['match', ['get', 'type'], 'runway', 1, 0.5], 18, ['match', ['get', 'type'], 'runway', 80, 20] ] } }, { id: 'building-outline', type: 'line', metadata: { 'mapbox:featureComponent': 'buildings', 'mapbox:group': 'Buildings, built' }, source: 'composite', 'source-layer': 'building', minzoom: 15, filter: [ 'all', ['!=', ['get', 'type'], 'building:part'], ['==', ['get', 'underground'], 'false'] ], layout: {}, paint: { 'line-color': 'hsl(218, 26%, 22%)', 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 15, 0.75, 20, 3 ], 'line-opacity': ['interpolate', ['linear'], ['zoom'], 15, 0, 16, 1] } }, { id: 'building', type: 'fill', metadata: { 'mapbox:featureComponent': 'buildings', 'mapbox:group': 'Buildings, built' }, source: 'composite', 'source-layer': 'building', minzoom: 15, filter: [ 'all', ['!=', ['get', 'type'], 'building:part'], ['==', ['get', 'underground'], 'false'] ], layout: {}, paint: { 'fill-color': [ 'interpolate', ['linear'], ['zoom'], 15, 'hsl(218, 29%, 27%)', 16, 'hsl(218, 25%, 24%)' ], 'fill-opacity': ['interpolate', ['linear'], ['zoom'], 15, 0, 16, 1], 'fill-outline-color': 'hsl(218, 26%, 22%)' } }, { id: 'tunnel-path', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., tunnels' }, source: 'composite', 'source-layer': 'road', minzoom: 14, filter: [ 'all', ['==', ['get', 'structure'], 'tunnel'], ['==', ['get', 'class'], 'path'], ['!=', ['get', 'type'], 'steps'], ['==', ['geometry-type'], 'LineString'] ], layout: {}, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 15, 1, 18, 4 ], 'line-color': 'hsl(218, 26%, 22%)', 'line-dasharray': [ 'step', ['zoom'], ['literal', [1, 0]], 15, ['literal', [1.75, 1]], 16, ['literal', [1, 0.75]], 17, ['literal', [1, 0.5]] ] } }, { id: 'tunnel-steps', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., tunnels' }, source: 'composite', 'source-layer': 'road', minzoom: 14, filter: [ 'all', ['==', ['get', 'structure'], 'tunnel'], ['==', ['get', 'type'], 'steps'], ['==', ['geometry-type'], 'LineString'] ], layout: {}, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 15, 1, 16, 1.6, 18, 6 ], 'line-color': 'hsl(218, 26%, 22%)', 'line-dasharray': [ 'step', ['zoom'], ['literal', [1, 0]], 15, ['literal', [1.75, 1]], 16, ['literal', [1, 0.75]], 17, ['literal', [0.3, 0.3]] ] } }, { id: 'tunnel-pedestrian', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., tunnels' }, source: 'composite', 'source-layer': 'road', minzoom: 13, filter: [ 'all', ['==', ['get', 'structure'], 'tunnel'], ['==', ['get', 'class'], 'pedestrian'], ['==', ['geometry-type'], 'LineString'] ], layout: {}, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 14, 0.5, 18, 12 ], 'line-color': 'hsl(218, 26%, 22%)', 'line-dasharray': [ 'step', ['zoom'], ['literal', [1, 0]], 15, ['literal', [1.5, 0.4]], 16, ['literal', [1, 0.2]] ] } }, { id: 'tunnel-simple', type: 'line', metadata: { 'mapbox:featureComponent': 'road-network', 'mapbox:group': 'Road network, tunnels' }, source: 'composite', 'source-layer': 'road', minzoom: 13, filter: [ 'all', ['==', ['get', 'structure'], 'tunnel'], [ 'step', ['zoom'], [ 'match', ['get', 'class'], [ 'motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'secondary', 'tertiary', 'street', 'street_limited', 'primary_link', 'track' ], true, false ], 14, [ 'match', ['get', 'class'], [ 'motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'street', 'street_limited', 'service', 'track' ], true, false ] ], ['==', ['geometry-type'], 'LineString'] ], layout: {}, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 13, [ 'match', ['get', 'class'], ['motorway', 'trunk', 'primary'], 4, ['secondary', 'tertiary'], 2.5, [ 'motorway_link', 'trunk_link', 'street', 'street_limited', 'primary_link' ], 1, 0.5 ], 18, [ 'match', ['get', 'class'], ['motorway', 'trunk', 'primary'], 32, ['secondary', 'tertiary'], 26, [ 'motorway_link', 'trunk_link', 'street', 'street_limited', 'primary_link' ], 18, 12 ] ], 'line-color': 'hsl(211, 28%, 44%)' } }, { id: 'road-path', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., surface' }, source: 'composite', 'source-layer': 'road', minzoom: 12, filter: [ 'all', ['==', ['get', 'class'], 'path'], [ 'step', ['zoom'], [ '!', [ 'match', ['get', 'type'], ['steps', 'sidewalk', 'crossing'], true, false ] ], 16, ['!=', ['get', 'type'], 'steps'] ], ['match', ['get', 'structure'], ['none', 'ford'], true, false], ['==', ['geometry-type'], 'LineString'] ], layout: { 'line-join': ['step', ['zoom'], 'miter', 14, 'round'] }, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 13, 0.5, 14, 1, 15, 1, 18, 4 ], 'line-color': 'hsl(218, 31%, 35%)', 'line-dasharray': [ 'step', ['zoom'], ['literal', [4, 0.3]], 15, ['literal', [1.75, 0.3]], 16, ['literal', [1, 0.3]], 17, ['literal', [1, 0.25]] ] } }, { id: 'road-steps', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., surface' }, source: 'composite', 'source-layer': 'road', minzoom: 14, filter: [ 'all', ['==', ['get', 'type'], 'steps'], ['match', ['get', 'structure'], ['none', 'ford'], true, false], ['==', ['geometry-type'], 'LineString'] ], layout: { 'line-join': 'round' }, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 15, 1, 16, 1.6, 18, 6 ], 'line-color': 'hsl(218, 31%, 35%)', 'line-dasharray': [ 'step', ['zoom'], ['literal', [1, 0]], 15, ['literal', [1.75, 1]], 16, ['literal', [1, 0.75]], 17, ['literal', [0.3, 0.3]] ] } }, { id: 'road-pedestrian', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., surface' }, source: 'composite', 'source-layer': 'road', minzoom: 12, filter: [ 'all', ['==', ['get', 'class'], 'pedestrian'], ['match', ['get', 'structure'], ['none', 'ford'], true, false], ['==', ['geometry-type'], 'LineString'] ], layout: { 'line-join': ['step', ['zoom'], 'miter', 14, 'round'] }, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 14, 0.5, 18, 12 ], 'line-color': 'hsl(218, 31%, 35%)', 'line-dasharray': [ 'step', ['zoom'], ['literal', [1, 0]], 15, ['literal', [1.5, 0.4]], 16, ['literal', [1, 0.2]] ] } }, { id: 'road-simple', type: 'line', metadata: { 'mapbox:featureComponent': 'road-network', 'mapbox:group': 'Road network, surface' }, source: 'composite', 'source-layer': 'road', minzoom: 5, filter: [ 'all', [ 'step', ['zoom'], ['match', ['get', 'class'], ['motorway', 'trunk'], true, false], 6, [ 'match', ['get', 'class'], ['motorway', 'trunk', 'primary'], true, false ], 8, [ 'match', ['get', 'class'], ['motorway', 'trunk', 'primary', 'secondary'], true, false ], 10, [ 'match', ['get', 'class'], [ 'motorway', 'trunk', 'primary', 'secondary', 'tertiary', 'motorway_link', 'trunk_link' ], true, false ], 11, [ 'match', ['get', 'class'], [ 'motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'secondary', 'tertiary', 'street' ], true, false ], 12, [ 'match', ['get', 'class'], [ 'motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'secondary', 'tertiary', 'street', 'street_limited', 'primary_link' ], true, false ], 13, [ 'match', ['get', 'class'], [ 'motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'secondary', 'tertiary', 'street', 'street_limited', 'primary_link', 'track' ], true, false ], 14, [ 'match', ['get', 'class'], [ 'motorway', 'motorway_link', 'trunk', 'trunk_link', 'primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'street', 'street_limited', 'service', 'track' ], true, false ] ], ['match', ['get', 'structure'], ['none', 'ford'], true, false], ['==', ['geometry-type'], 'LineString'] ], layout: { 'line-cap': ['step', ['zoom'], 'butt', 14, 'round'], 'line-join': ['step', ['zoom'], 'miter', 14, 'round'] }, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 5, [ 'match', ['get', 'class'], ['motorway', 'trunk', 'primary'], 0.75, ['secondary', 'tertiary'], 0.1, 0 ], 13, [ 'match', ['get', 'class'], ['motorway', 'trunk', 'primary'], 4, ['secondary', 'tertiary'], 2.5, [ 'motorway_link', 'trunk_link', 'primary_link', 'street', 'street_limited' ], 1, 0.5 ], 18, [ 'match', ['get', 'class'], ['motorway', 'trunk', 'primary'], 32, ['secondary', 'tertiary'], 26, [ 'motorway_link', 'trunk_link', 'primary_link', 'street', 'street_limited' ], 18, 10 ] ], 'line-color': [ 'match', ['get', 'class'], [ 'primary_link', 'secondary_link', 'tertiary_link', 'street', 'street_limited', 'service', 'track' ], 'hsl(211, 28%, 29%)', 'hsl(211, 28%, 34%)' ] } }, { id: 'bridge-path', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., barriers-bridges' }, source: 'composite', 'source-layer': 'road', minzoom: 14, filter: [ 'all', ['==', ['get', 'structure'], 'bridge'], ['==', ['get', 'class'], 'path'], ['==', ['geometry-type'], 'LineString'], ['!=', ['get', 'type'], 'steps'] ], layout: { 'line-join': 'round' }, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 15, 1, 18, 4 ], 'line-color': 'hsl(218, 31%, 35%)', 'line-dasharray': [ 'step', ['zoom'], ['literal', [4, 0.3]], 15, ['literal', [1.75, 0.3]], 16, ['literal', [1, 0.3]], 17, ['literal', [1, 0.25]] ] } }, { id: 'bridge-steps', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., barriers-bridges' }, source: 'composite', 'source-layer': 'road', minzoom: 14, filter: [ 'all', ['==', ['get', 'type'], 'steps'], ['==', ['get', 'structure'], 'bridge'], ['==', ['geometry-type'], 'LineString'] ], layout: { 'line-join': 'round' }, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 15, 1, 16, 1.6, 18, 6 ], 'line-color': 'hsl(218, 31%, 35%)', 'line-dasharray': [ 'step', ['zoom'], ['literal', [1, 0]], 15, ['literal', [1.75, 1]], 16, ['literal', [1, 0.75]], 17, ['literal', [0.3, 0.3]] ] } }, { id: 'bridge-pedestrian', type: 'line', metadata: { 'mapbox:featureComponent': 'walking-cycling', 'mapbox:group': 'Walking, cycling, etc., barriers-bridges' }, source: 'composite', 'source-layer': 'road', minzoom: 13, filter: [ 'all', ['==', ['get', 'structure'], 'bridge'], ['==', ['get', 'class'], 'pedestrian'], ['==', ['geometry-type'], 'LineString'] ], layout: { 'line-join': 'round' }, paint: { 'line-width': [ 'interpolate', ['exponential', 1.5], ['zoom'], 14, 0.5, 18, 12 ], 'line-color': 'hsl(218, 31%, 35%)', 'line-dasharray': [ 'step', ['zoom'],