@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
1,302 lines (1,301 loc) • 108 kB
JavaScript
"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'],