From a38104ee2294117032891faca13ca7da834beaa3 Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Tue, 4 Oct 2016 18:39:54 +0300 Subject: [tests] Added benchmarks for querying for features --- benchmark/api/query.benchmark.cpp | 72 + benchmark/fixtures/api/cache.db | Bin 0 -> 405504 bytes benchmark/fixtures/api/default_marker.png | Bin 0 -> 1010 bytes benchmark/fixtures/api/query_style.json | 11313 ++++++++++++++++++++++++++++ benchmark/src/mbgl/benchmark/util.cpp | 22 + benchmark/src/mbgl/benchmark/util.hpp | 12 + 6 files changed, 11419 insertions(+) create mode 100644 benchmark/api/query.benchmark.cpp create mode 100644 benchmark/fixtures/api/cache.db create mode 100644 benchmark/fixtures/api/default_marker.png create mode 100644 benchmark/fixtures/api/query_style.json create mode 100644 benchmark/src/mbgl/benchmark/util.cpp create mode 100644 benchmark/src/mbgl/benchmark/util.hpp (limited to 'benchmark') diff --git a/benchmark/api/query.benchmark.cpp b/benchmark/api/query.benchmark.cpp new file mode 100644 index 0000000000..7fa0781450 --- /dev/null +++ b/benchmark/api/query.benchmark.cpp @@ -0,0 +1,72 @@ +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace mbgl; + +namespace { + +class QueryBenchmark { +public: + QueryBenchmark() { + NetworkStatus::Set(NetworkStatus::Status::Offline); + fileSource.setAccessToken("foobar"); + + map.setStyleJSON(util::read_file("benchmark/fixtures/api/query_style.json")); + map.setLatLngZoom({ 40.726989, -73.992857 }, 15); // Manhattan + + auto decoded = decodeImage(util::read_file("benchmark/fixtures/api/default_marker.png")); + auto image = std::make_unique(std::move(decoded), 1.0); + map.addImage("test-icon", std::move(image)); + + view.resize(1000, 1000); + + mbgl::benchmark::render(map); + } + + util::RunLoop loop; + std::shared_ptr display{ std::make_shared() }; + HeadlessView view{ display, 1 }; + DefaultFileSource fileSource{ "benchmark/fixtures/api/cache.db", "." }; + Map map{ view, fileSource, MapMode::Still }; + ScreenBox box{{ 0, 0 }, { 1000, 1000 }}; +}; + +} // end namespace + +static void API_queryRenderedFeaturesAll(::benchmark::State& state) { + QueryBenchmark bench; + + while (state.KeepRunning()) { + bench.map.queryRenderedFeatures(bench.box); + } +} + +static void API_queryRenderedFeaturesLayerFromLowDensity(::benchmark::State& state) { + QueryBenchmark bench; + + while (state.KeepRunning()) { + bench.map.queryRenderedFeatures(bench.box, {{ "testlayer" }}); + } +} + +static void API_queryRenderedFeaturesLayerFromHighDensity(::benchmark::State& state) { + QueryBenchmark bench; + + while (state.KeepRunning()) { + bench.map.queryRenderedFeatures(bench.box, {{ "road-street" }}); + } +} + +BENCHMARK(API_queryRenderedFeaturesAll); +BENCHMARK(API_queryRenderedFeaturesLayerFromLowDensity); +BENCHMARK(API_queryRenderedFeaturesLayerFromHighDensity); diff --git a/benchmark/fixtures/api/cache.db b/benchmark/fixtures/api/cache.db new file mode 100644 index 0000000000..033a38de88 Binary files /dev/null and b/benchmark/fixtures/api/cache.db differ diff --git a/benchmark/fixtures/api/default_marker.png b/benchmark/fixtures/api/default_marker.png new file mode 100644 index 0000000000..b112096c18 Binary files /dev/null and b/benchmark/fixtures/api/default_marker.png differ diff --git a/benchmark/fixtures/api/query_style.json b/benchmark/fixtures/api/query_style.json new file mode 100644 index 0000000000..54899c3951 --- /dev/null +++ b/benchmark/fixtures/api/query_style.json @@ -0,0 +1,11313 @@ +{ + "created": 0, + "draft": false, + "glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf", + "id": "streets-v9", + "layers": [ + { + "id": "background", + "layout": {}, + "paint": { + "background-color": { + "base": 1, + "stops": [ + [ + 11, + "hsl(35, 32%, 91%)" + ], + [ + 13, + "hsl(35, 12%, 89%)" + ] + ] + } + }, + "type": "background" + }, + { + "filter": [ + "==", + "class", + "snow" + ], + "id": "landcover_snow", + "layout": {}, + "metadata": { + "mapbox:group": "1456970288113.8113" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(0, 0%, 100%)", + "fill-opacity": 0.2 + }, + "source": "composite", + "source-layer": "landcover", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "wood" + ], + "id": "landcover_wood", + "layout": {}, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1456970288113.8113" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(75, 62%, 81%)", + "fill-opacity": { + "base": 1.5, + "stops": [ + [ + 2, + 0.3 + ], + [ + 7, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "landcover", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "scrub" + ], + "id": "landcover_scrub", + "layout": {}, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1456970288113.8113" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(75, 62%, 81%)", + "fill-opacity": { + "base": 1.5, + "stops": [ + [ + 2, + 0.3 + ], + [ + 7, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "landcover", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "grass" + ], + "id": "landcover_grass", + "layout": {}, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1456970288113.8113" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(75, 62%, 81%)", + "fill-opacity": { + "base": 1.5, + "stops": [ + [ + 2, + 0.3 + ], + [ + 7, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "landcover", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "crop" + ], + "id": "landcover_crop", + "layout": {}, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1456970288113.8113" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(75, 62%, 81%)", + "fill-opacity": { + "base": 1.5, + "stops": [ + [ + 2, + 0.3 + ], + [ + 7, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "landcover", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "national_park" + ], + "id": "national_park", + "layout": {}, + "paint": { + "fill-color": "hsl(100, 58%, 76%)", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 5, + 0 + ], + [ + 6, + 0.5 + ] + ] + } + }, + "source": "composite", + "source-layer": "landuse_overlay", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "hospital" + ], + "id": "hospital", + "layout": {}, + "paint": { + "fill-color": { + "base": 1, + "stops": [ + [ + 15.5, + "hsl(340, 37%, 87%)" + ], + [ + 16, + "hsl(340, 63%, 89%)" + ] + ] + } + }, + "source": "composite", + "source-layer": "landuse", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "school" + ], + "id": "school", + "layout": {}, + "paint": { + "fill-color": { + "base": 1, + "stops": [ + [ + 15.5, + "hsl(50, 47%, 81%)" + ], + [ + 16, + "hsl(50, 63%, 84%)" + ] + ] + } + }, + "source": "composite", + "source-layer": "landuse", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "park" + ], + "id": "park", + "layout": {}, + "paint": { + "fill-color": "hsl(100, 58%, 76%)", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 5, + 0 + ], + [ + 6, + 1 + ] + ] + } + }, + "source": "composite", + "source-layer": "landuse", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "pitch" + ], + "id": "pitch", + "layout": {}, + "paint": { + "fill-color": "hsl(100, 57%, 72%)" + }, + "source": "composite", + "source-layer": "landuse", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "pitch" + ], + "id": "pitch-line", + "layout": { + "line-join": "miter" + }, + "minzoom": 15, + "paint": { + "line-color": "hsl(75, 57%, 84%)" + }, + "source": "composite", + "source-layer": "landuse", + "type": "line" + }, + { + "filter": [ + "==", + "class", + "cemetery" + ], + "id": "cemetery", + "layout": {}, + "paint": { + "fill-color": "hsl(75, 37%, 81%)" + }, + "source": "composite", + "source-layer": "landuse", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "industrial" + ], + "id": "industrial", + "layout": {}, + "paint": { + "fill-color": { + "base": 1, + "stops": [ + [ + 15.5, + "hsl(230, 15%, 86%)" + ], + [ + 16, + "hsl(230, 29%, 89%)" + ] + ] + } + }, + "source": "composite", + "source-layer": "landuse", + "type": "fill" + }, + { + "filter": [ + "==", + "class", + "sand" + ], + "id": "sand", + "layout": {}, + "paint": { + "fill-color": "hsl(60, 46%, 87%)" + }, + "source": "composite", + "source-layer": "landuse", + "type": "fill" + }, + { + "filter": [ + "==", + "level", + 94 + ], + "id": "hillshade_highlight_bright", + "layout": {}, + "maxzoom": 16, + "metadata": { + "mapbox:group": "1456969573402.7817" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(0, 0%, 100%)", + "fill-opacity": { + "stops": [ + [ + 14, + 0.12 + ], + [ + 16, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "hillshade", + "type": "fill" + }, + { + "filter": [ + "==", + "level", + 90 + ], + "id": "hillshade_highlight_med", + "layout": {}, + "maxzoom": 16, + "metadata": { + "mapbox:group": "1456969573402.7817" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(0, 0%, 100%)", + "fill-opacity": { + "stops": [ + [ + 14, + 0.12 + ], + [ + 16, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "hillshade", + "type": "fill" + }, + { + "filter": [ + "==", + "level", + 89 + ], + "id": "hillshade_shadow_faint", + "layout": {}, + "maxzoom": 16, + "metadata": { + "mapbox:group": "1456969573402.7817" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(56, 59%, 22%)", + "fill-opacity": { + "stops": [ + [ + 14, + 0.05 + ], + [ + 16, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "hillshade", + "type": "fill" + }, + { + "filter": [ + "==", + "level", + 78 + ], + "id": "hillshade_shadow_med", + "layout": {}, + "maxzoom": 16, + "metadata": { + "mapbox:group": "1456969573402.7817" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(56, 59%, 22%)", + "fill-opacity": { + "stops": [ + [ + 14, + 0.05 + ], + [ + 16, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "hillshade", + "type": "fill" + }, + { + "filter": [ + "==", + "level", + 67 + ], + "id": "hillshade_shadow_dark", + "layout": {}, + "maxzoom": 16, + "metadata": { + "mapbox:group": "1456969573402.7817" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(56, 59%, 22%)", + "fill-opacity": { + "stops": [ + [ + 14, + 0.06 + ], + [ + 16, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "hillshade", + "type": "fill" + }, + { + "filter": [ + "==", + "level", + 56 + ], + "id": "hillshade_shadow_extreme", + "layout": {}, + "maxzoom": 16, + "metadata": { + "mapbox:group": "1456969573402.7817" + }, + "paint": { + "fill-antialias": false, + "fill-color": "hsl(56, 59%, 22%)", + "fill-opacity": { + "stops": [ + [ + 14, + 0.06 + ], + [ + 16, + 0 + ] + ] + } + }, + "source": "composite", + "source-layer": "hillshade", + "type": "fill" + }, + { + "filter": [ + "in", + "class", + "canal", + "river" + ], + "id": "waterway-river-canal", + "layout": { + "line-cap": { + "base": 1, + "stops": [ + [ + 0, + "butt" + ], + [ + 11, + "round" + ] + ] + }, + "line-join": "round" + }, + "minzoom": 8, + "paint": { + "line-color": "hsl(205, 87%, 76%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 8, + 0 + ], + [ + 8.5, + 1 + ] + ] + }, + "line-width": { + "base": 1.3, + "stops": [ + [ + 8.5, + 0.1 + ], + [ + 20, + 8 + ] + ] + } + }, + "source": "composite", + "source-layer": "waterway", + "type": "line" + }, + { + "filter": [ + "!in", + "class", + "canal", + "river" + ], + "id": "waterway-small", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(205, 87%, 76%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13, + 0 + ], + [ + 13.5, + 1 + ] + ] + }, + "line-width": { + "base": 1.35, + "stops": [ + [ + 13.5, + 0.1 + ], + [ + 20, + 3 + ] + ] + } + }, + "source": "composite", + "source-layer": "waterway", + "type": "line" + }, + { + "id": "water-shadow", + "layout": {}, + "paint": { + "fill-color": "hsl(215, 84%, 69%)", + "fill-opacity": 1, + "fill-translate": { + "base": 1.2, + "stops": [ + [ + 7, + [ + 0, + 0 + ] + ], + [ + 16, + [ + -1, + -1 + ] + ] + ] + }, + "fill-translate-anchor": "viewport" + }, + "source": "composite", + "source-layer": "water", + "type": "fill" + }, + { + "id": "water", + "paint": { + "fill-color": "hsl(196, 80%, 70%)" + }, + "ref": "water-shadow" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "Polygon" + ], + [ + "==", + "class", + "land" + ] + ], + "id": "barrier_line-land-polygon", + "layout": {}, + "paint": { + "fill-color": "hsl(35, 12%, 89%)" + }, + "source": "composite", + "source-layer": "barrier_line", + "type": "fill" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "class", + "land" + ] + ], + "id": "barrier_line-land-line", + "layout": { + "line-cap": "round" + }, + "paint": { + "line-color": "hsl(35, 12%, 89%)", + "line-width": { + "base": 1.99, + "stops": [ + [ + 14, + 0.75 + ], + [ + 20, + 40 + ] + ] + } + }, + "source": "composite", + "source-layer": "barrier_line", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "Polygon" + ], + [ + "!=", + "type", + "apron" + ] + ], + "id": "aeroway-polygon", + "layout": {}, + "metadata": { + "mapbox:group": "1444934828655.3389" + }, + "minzoom": 11, + "paint": { + "fill-color": { + "base": 1, + "stops": [ + [ + 15, + "hsl(230, 23%, 82%)" + ], + [ + 16, + "hsl(230, 37%, 84%)" + ] + ] + }, + "fill-opacity": { + "base": 1, + "stops": [ + [ + 11, + 0 + ], + [ + 11.5, + 1 + ] + ] + } + }, + "source": "composite", + "source-layer": "aeroway", + "type": "fill" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "type", + "runway" + ] + ], + "id": "aeroway-runway", + "layout": {}, + "metadata": { + "mapbox:group": "1444934828655.3389" + }, + "minzoom": 9, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 15, + "hsl(230, 23%, 82%)" + ], + [ + 16, + "hsl(230, 37%, 84%)" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 9, + 1 + ], + [ + 18, + 80 + ] + ] + } + }, + "source": "composite", + "source-layer": "aeroway", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "type", + "taxiway" + ] + ], + "id": "aeroway-taxiway", + "layout": {}, + "metadata": { + "mapbox:group": "1444934828655.3389" + }, + "minzoom": 9, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 15, + "hsl(230, 23%, 82%)" + ], + [ + 16, + "hsl(230, 37%, 84%)" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 0.5 + ], + [ + 18, + 20 + ] + ] + } + }, + "source": "composite", + "source-layer": "aeroway", + "type": "line" + }, + { + "filter": [ + "all", + [ + "!=", + "type", + "building:part" + ], + [ + "==", + "underground", + "false" + ] + ], + "id": "building-line", + "layout": {}, + "minzoom": 15, + "paint": { + "line-color": "hsl(35, 6%, 79%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 15.5, + 0 + ], + [ + 16, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 0.75 + ], + [ + 20, + 3 + ] + ] + } + }, + "source": "composite", + "source-layer": "building", + "type": "line" + }, + { + "filter": [ + "all", + [ + "!=", + "type", + "building:part" + ], + [ + "==", + "underground", + "false" + ] + ], + "id": "building", + "layout": {}, + "minzoom": 15, + "paint": { + "fill-color": { + "base": 1, + "stops": [ + [ + 15, + "hsl(35, 11%, 88%)" + ], + [ + 16, + "hsl(35, 8%, 85%)" + ] + ] + }, + "fill-opacity": { + "base": 1, + "stops": [ + [ + 15.5, + 0 + ], + [ + 16, + 1 + ] + ] + }, + "fill-outline-color": "hsl(35, 6%, 79%)" + }, + "source": "composite", + "source-layer": "building", + "type": "fill" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "street" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-street-low", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "stops": [ + [ + 11.5, + 0 + ], + [ + 12, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "street_limited" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-street_limited-low", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "stops": [ + [ + 11.5, + 0 + ], + [ + 12, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "service", + "track" + ], + [ + "==", + "structure", + "tunnel" + ], + [ + "!=", + "type", + "trunk_link" + ] + ] + ], + "id": "tunnel-service-link-track-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 14, + "paint": { + "line-color": "hsl(230, 19%, 75%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "tunnel-street_limited-case", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(230, 19%, 75%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "ref": "tunnel-street_limited-low" + }, + { + "id": "tunnel-street-case", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(230, 19%, 75%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "ref": "tunnel-street-low" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "secondary", + "tertiary" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-secondary-tertiary-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(230, 19%, 75%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 10, + 0.75 + ], + [ + 18, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "primary" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-primary-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(230, 19%, 75%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "structure", + "tunnel" + ], + [ + "==", + "type", + "trunk_link" + ] + ] + ], + "id": "tunnel-trunk_link-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway_link" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-motorway_link-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "structure", + "tunnel" + ], + [ + "==", + "type", + "trunk" + ] + ] + ], + "id": "tunnel-trunk-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-motorway-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [ + 3, + 3 + ], + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "construction" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-construction", + "layout": { + "line-join": "miter" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 14, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 0.4, + 0.8 + ] + ], + [ + 15, + [ + 0.3, + 0.6 + ] + ], + [ + 16, + [ + 0.2, + 0.3 + ] + ], + [ + 17, + [ + 0.2, + 0.25 + ] + ], + [ + 18, + [ + 0.15, + 0.15 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "path" + ], + [ + "==", + "structure", + "tunnel" + ], + [ + "!=", + "type", + "steps" + ] + ] + ], + "id": "tunnel-path", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(35, 26%, 95%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.75, + 1 + ] + ], + [ + 16, + [ + 1, + 0.75 + ] + ], + [ + 17, + [ + 1, + 0.5 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 18, + 4 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "structure", + "tunnel" + ], + [ + "==", + "type", + "steps" + ] + ] + ], + "id": "tunnel-steps", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(35, 26%, 95%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.75, + 1 + ] + ], + [ + 16, + [ + 1, + 0.75 + ] + ], + [ + 17, + [ + 0.3, + 0.3 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 16, + 1.6 + ], + [ + 18, + 6 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "tunnel-trunk_link", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(46, 77%, 78%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "tunnel-trunk_link-case" + }, + { + "id": "tunnel-motorway_link", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(26, 100%, 78%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "tunnel-motorway_link-case" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "pedestrian" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-pedestrian", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.5, + 0.4 + ] + ], + [ + 16, + [ + 1, + 0.2 + ] + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "tunnel-service-link-track", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [ + 1, + 0 + ], + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + } + }, + "ref": "tunnel-service-link-track-case" + }, + { + "id": "tunnel-street_limited", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(35, 14%, 93%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "tunnel-street_limited-low" + }, + { + "id": "tunnel-street", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "tunnel-street-low" + }, + { + "id": "tunnel-secondary-tertiary", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-blur": 0, + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + } + }, + "ref": "tunnel-secondary-tertiary-case" + }, + { + "id": "tunnel-primary", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-blur": 0, + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "ref": "tunnel-primary-case" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "path", + "pedestrian", + "service", + "track" + ], + [ + "==", + "oneway", + "true" + ], + [ + "==", + "structure", + "tunnel" + ], + [ + "!=", + "type", + "trunk_link" + ] + ] + ], + "id": "tunnel-oneway-arrows-blue-minor", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 17, + "oneway-small" + ], + [ + 18, + "oneway-large" + ] + ] + }, + "icon-padding": 2, + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 16, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "primary", + "secondary", + "street", + "street_limited", + "tertiary" + ], + [ + "==", + "oneway", + "true" + ], + [ + "==", + "structure", + "tunnel" + ], + [ + "!=", + "type", + "trunk_link" + ] + ] + ], + "id": "tunnel-oneway-arrows-blue-major", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-small" + ], + [ + 17, + "oneway-large" + ] + ] + }, + "icon-padding": 2, + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 15, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "trunk" + ], + [ + "==", + "structure", + "tunnel" + ] + ] + ], + "id": "tunnel-trunk", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-color": "hsl(46, 77%, 78%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "tunnel-motorway", + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "paint": { + "line-blur": 0, + "line-color": "hsl(26, 100%, 78%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "ref": "tunnel-motorway-case" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "motorway", + "motorway_link", + "trunk" + ], + [ + "==", + "oneway", + "true" + ], + [ + "==", + "structure", + "tunnel" + ], + [ + "!in", + "type", + "primary_link", + "secondary_link", + "tertiary_link" + ] + ] + ], + "id": "tunnel-oneway-arrows-white", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-white-small" + ], + [ + 17, + "oneway-white-large" + ] + ] + }, + "icon-padding": 2, + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855769305.6016" + }, + "minzoom": 16, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "type", + "ferry" + ] + ], + "id": "ferry", + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 15, + "hsl(205, 73%, 63%)" + ], + [ + 17, + "hsl(230, 73%, 63%)" + ] + ] + }, + "line-dasharray": { + "base": 1, + "stops": [ + [ + 12, + [ + 1, + 0 + ] + ], + [ + 13, + [ + 12, + 4 + ] + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "type", + "ferry_auto" + ] + ], + "id": "ferry_auto", + "layout": { + "line-join": "round" + }, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 15, + "hsl(205, 73%, 63%)" + ], + [ + 17, + "hsl(230, 73%, 63%)" + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "path" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ], + [ + "!in", + "type", + "crossing", + "sidewalk", + "steps" + ] + ] + ], + "id": "road-path-bg", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-blur": 0, + "line-color": "hsl(230, 17%, 82%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 0.75 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 2 + ], + [ + 18, + 7 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "!in", + "structure", + "bridge", + "tunnel" + ], + [ + "==", + "type", + "steps" + ] + ] + ], + "id": "road-steps-bg", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(230, 17%, 82%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 0.75 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 2 + ], + [ + 17, + 4.6 + ], + [ + 18, + 7 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "!in", + "structure", + "bridge", + "tunnel" + ], + [ + "in", + "type", + "crossing", + "sidewalk" + ] + ] + ], + "id": "road-sidewalk-bg", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 16, + "paint": { + "line-blur": 0, + "line-color": "hsl(230, 17%, 82%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 16, + 0 + ], + [ + 16.25, + 0.75 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 2 + ], + [ + 18, + 7 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "in", + "class", + "turning_circle", + "turning_loop" + ] + ], + "id": "turning-features-outline", + "layout": { + "icon-allow-overlap": true, + "icon-ignore-placement": true, + "icon-image": "turning-circle-outline", + "icon-padding": 0, + "icon-rotation-alignment": "map", + "icon-size": { + "base": 1.5, + "stops": [ + [ + 14, + 0.122 + ], + [ + 18, + 0.969 + ], + [ + 20, + 1 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 15, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "pedestrian" + ], + [ + "==", + "structure", + "none" + ] + ] + ], + "id": "road-pedestrian-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 12, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": 0, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 2 + ], + [ + 18, + 14.5 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "street" + ], + [ + "==", + "structure", + "none" + ] + ] + ], + "id": "road-street-low", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "stops": [ + [ + 11, + 0 + ], + [ + 11.25, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "street_limited" + ], + [ + "==", + "structure", + "none" + ] + ] + ], + "id": "road-street_limited-low", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "stops": [ + [ + 11, + 0 + ], + [ + 11.25, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "service", + "track" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ], + [ + "!=", + "type", + "trunk_link" + ] + ] + ], + "id": "road-service-link-track-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 14, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "road-street_limited-case", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "ref": "road-street_limited-low" + }, + { + "id": "road-street-case", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "ref": "road-street-low" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "secondary", + "tertiary" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ] + ] + ], + "id": "road-secondary-tertiary-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 9.99, + 0 + ], + [ + 10, + 1 + ] + ] + }, + "line-width": { + "base": 1.2, + "stops": [ + [ + 10, + 0.75 + ], + [ + 18, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "primary" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ] + ] + ], + "id": "road-primary-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 9.99, + 0 + ], + [ + 10, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway_link" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ] + ] + ], + "id": "road-motorway_link-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 10, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 10.99, + 0 + ], + [ + 11, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "!in", + "structure", + "bridge", + "tunnel" + ], + [ + "==", + "type", + "trunk_link" + ] + ] + ], + "id": "road-trunk_link-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 10.99, + 0 + ], + [ + 11, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "trunk" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ] + ] + ], + "id": "road-trunk-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 6, + 0 + ], + [ + 6.1, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ] + ] + ], + "id": "road-motorway-case", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "construction" + ], + [ + "==", + "structure", + "none" + ] + ] + ], + "id": "road-construction", + "layout": { + "line-join": "miter" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 14, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 0.4, + 0.8 + ] + ], + [ + 15, + [ + 0.3, + 0.6 + ] + ], + [ + 16, + [ + 0.2, + 0.3 + ] + ], + [ + 17, + [ + 0.2, + 0.25 + ] + ], + [ + 18, + [ + 0.15, + 0.15 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "road-sidewalks", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.75, + 1 + ] + ], + [ + 16, + [ + 1, + 0.75 + ] + ], + [ + 17, + [ + 1, + 0.5 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 16, + 0 + ], + [ + 16.25, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 18, + 4 + ] + ] + } + }, + "ref": "road-sidewalk-bg" + }, + { + "id": "road-path", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.75, + 1 + ] + ], + [ + 16, + [ + 1, + 0.75 + ] + ], + [ + 17, + [ + 1, + 0.5 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 18, + 4 + ] + ] + } + }, + "ref": "road-path-bg" + }, + { + "id": "road-steps", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.75, + 1 + ] + ], + [ + 16, + [ + 1, + 0.75 + ] + ], + [ + 17, + [ + 0.3, + 0.3 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 16, + 1.6 + ], + [ + 18, + 6 + ] + ] + } + }, + "ref": "road-steps-bg" + }, + { + "id": "road-trunk_link", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(46, 85%, 67%)", + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "road-trunk_link-case" + }, + { + "id": "road-motorway_link", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(26, 100%, 68%)", + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "road-motorway_link-case" + }, + { + "id": "road-pedestrian", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.5, + 0.4 + ] + ], + [ + 16, + [ + 1, + 0.2 + ] + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + } + }, + "ref": "road-pedestrian-case" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "Polygon" + ], + [ + "all", + [ + "in", + "class", + "path", + "pedestrian" + ], + [ + "==", + "structure", + "none" + ] + ] + ], + "id": "road-pedestrian-polygon-fill", + "layout": {}, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 12, + "paint": { + "fill-color": { + "base": 1, + "stops": [ + [ + 16, + "hsl(230, 16%, 94%)" + ], + [ + 16.25, + "hsl(230, 50%, 98%)" + ] + ] + }, + "fill-opacity": 1, + "fill-outline-color": "hsl(230, 26%, 88%)" + }, + "source": "composite", + "source-layer": "road", + "type": "fill" + }, + { + "id": "road-pedestrian-polygon-pattern", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "fill-color": "hsl(0, 0%, 100%)", + "fill-opacity": { + "base": 1, + "stops": [ + [ + 16, + 0 + ], + [ + 16.25, + 1 + ] + ] + }, + "fill-outline-color": "hsl(35, 10%, 83%)", + "fill-pattern": "pedestrian-polygon" + }, + "ref": "road-pedestrian-polygon-fill" + }, + { + "id": "road-service-link-track", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + } + }, + "ref": "road-service-link-track-case" + }, + { + "id": "road-street_limited", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(35, 14%, 93%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "road-street_limited-low" + }, + { + "id": "road-street", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "road-street-low" + }, + { + "id": "road-secondary-tertiary", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 5, + "hsl(35, 32%, 91%)" + ], + [ + 8, + "hsl(0, 0%, 100%)" + ] + ] + }, + "line-opacity": { + "base": 1.2, + "stops": [ + [ + 5, + 0 + ], + [ + 5.5, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + } + }, + "ref": "road-secondary-tertiary-case" + }, + { + "id": "road-primary", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 5, + "hsl(35, 32%, 91%)" + ], + [ + 7, + "hsl(0, 0%, 100%)" + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "ref": "road-primary-case" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "path", + "pedestrian", + "service", + "track" + ], + [ + "==", + "oneway", + "true" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ], + [ + "!=", + "type", + "trunk_link" + ] + ] + ], + "id": "road-oneway-arrows-blue-minor", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 17, + "oneway-small" + ], + [ + 18, + "oneway-large" + ] + ] + }, + "icon-padding": 2, + "icon-rotation-alignment": "map", + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 16, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "primary", + "secondary", + "street", + "street_limited", + "tertiary" + ], + [ + "==", + "oneway", + "true" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ], + [ + "!=", + "type", + "trunk_link" + ] + ] + ], + "id": "road-oneway-arrows-blue-major", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-small" + ], + [ + 17, + "oneway-large" + ] + ] + }, + "icon-padding": 2, + "icon-rotation-alignment": "map", + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 15, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "id": "road-trunk", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 6, + "hsl(0, 0%, 100%)" + ], + [ + 6.1, + "hsl(46, 80%, 60%)" + ], + [ + 9, + "hsl(46, 85%, 67%)" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "ref": "road-trunk-case" + }, + { + "id": "road-motorway", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 8, + "hsl(26, 87%, 62%)" + ], + [ + 9, + "hsl(26, 100%, 68%)" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "ref": "road-motorway-case" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "major_rail", + "minor_rail" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ] + ] + ], + "id": "road-rail", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 13, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "hsl(50, 17%, 82%)" + ], + [ + 16, + "hsl(230, 10%, 74%)" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "road-rail-tracks", + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "hsl(50, 17%, 82%)" + ], + [ + 16, + "hsl(230, 10%, 74%)" + ] + ] + }, + "line-dasharray": [ + 0.1, + 15 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.75, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 4 + ], + [ + 20, + 8 + ] + ] + } + }, + "ref": "road-rail" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "motorway", + "motorway_link", + "trunk" + ], + [ + "==", + "oneway", + "true" + ], + [ + "!in", + "structure", + "bridge", + "tunnel" + ], + [ + "!in", + "type", + "primary_link", + "secondary_link", + "tertiary_link" + ] + ] + ], + "id": "road-oneway-arrows-white", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-white-small" + ], + [ + 17, + "oneway-white-large" + ] + ] + }, + "icon-padding": 2, + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 16, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "in", + "class", + "turning_circle", + "turning_loop" + ] + ], + "id": "turning-features", + "layout": { + "icon-allow-overlap": true, + "icon-ignore-placement": true, + "icon-image": "turning-circle", + "icon-padding": 0, + "icon-rotation-alignment": "map", + "icon-size": { + "base": 1.5, + "stops": [ + [ + 14, + 0.095 + ], + [ + 18, + 1 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444855786460.0557" + }, + "minzoom": 15, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "path" + ], + [ + "==", + "structure", + "bridge" + ], + [ + "!=", + "type", + "steps" + ] + ] + ], + "id": "bridge-path-bg", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-blur": 0, + "line-color": "hsl(230, 17%, 82%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 15, + 0 + ], + [ + 15.25, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 2 + ], + [ + 18, + 7 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "structure", + "bridge" + ], + [ + "==", + "type", + "steps" + ] + ] + ], + "id": "bridge-steps-bg", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(230, 17%, 82%)", + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 0.75 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 2 + ], + [ + 17, + 4.6 + ], + [ + 18, + 7 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "pedestrian" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-pedestrian-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": 0, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 2 + ], + [ + 18, + 14.5 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "street" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-street-low", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "stops": [ + [ + 11.5, + 0 + ], + [ + 12, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "street_limited" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-street_limited-low", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "stops": [ + [ + 11.5, + 0 + ], + [ + 12, + 1 + ], + [ + 14, + 1 + ], + [ + 14.01, + 0 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "service", + "track" + ], + [ + "==", + "structure", + "bridge" + ], + [ + "!=", + "type", + "trunk_link" + ] + ] + ], + "id": "bridge-service-link-track-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 14, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "street_limited" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-street_limited-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "street" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-street-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 11, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 13, + 0 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "secondary", + "tertiary" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-secondary-tertiary-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + }, + "line-translate": [ + 0, + 0 + ], + "line-width": { + "base": 1.2, + "stops": [ + [ + 10, + 0.75 + ], + [ + 18, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "primary" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-primary-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-translate": [ + 0, + 0 + ], + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "!in", + "layer", + 2, + 3, + 4, + 5 + ], + [ + "==", + "structure", + "bridge" + ], + [ + "==", + "type", + "trunk_link" + ] + ] + ], + "id": "bridge-trunk_link-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 10.99, + 0 + ], + [ + 11, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway_link" + ], + [ + "!in", + "layer", + 2, + 3, + 4, + 5 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-motorway_link-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "trunk" + ], + [ + "!in", + "layer", + 2, + 3, + 4, + 5 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-trunk-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway" + ], + [ + "!in", + "layer", + 2, + 3, + 4, + 5 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-motorway-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "construction" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-construction", + "layout": { + "line-join": "miter" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 14, + "paint": { + "line-color": "hsl(230, 24%, 87%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 0.4, + 0.8 + ] + ], + [ + 15, + [ + 0.3, + 0.6 + ] + ], + [ + 16, + [ + 0.2, + 0.3 + ] + ], + [ + 17, + [ + 0.2, + 0.25 + ] + ], + [ + 18, + [ + 0.15, + 0.15 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "path" + ], + [ + "==", + "structure", + "bridge" + ], + [ + "!=", + "type", + "steps" + ] + ] + ], + "id": "bridge-path", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.75, + 1 + ] + ], + [ + 16, + [ + 1, + 0.75 + ] + ], + [ + 17, + [ + 1, + 0.5 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 18, + 4 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "bridge-steps", + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.75, + 1 + ] + ], + [ + 16, + [ + 1, + 0.75 + ] + ], + [ + 17, + [ + 0.3, + 0.3 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 14, + 0 + ], + [ + 14.25, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 15, + 1 + ], + [ + 16, + 1.6 + ], + [ + 18, + 6 + ] + ] + } + }, + "ref": "bridge-steps-bg" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "!in", + "layer", + 2, + 3, + 4, + 5 + ], + [ + "==", + "structure", + "bridge" + ], + [ + "==", + "type", + "trunk_link" + ] + ] + ], + "id": "bridge-trunk_link", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(46, 85%, 67%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway_link" + ], + [ + "!in", + "layer", + 2, + 3, + 4, + 5 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-motorway_link", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(26, 100%, 68%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "bridge-pedestrian", + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-dasharray": { + "base": 1, + "stops": [ + [ + 14, + [ + 1, + 0 + ] + ], + [ + 15, + [ + 1.5, + 0.4 + ] + ], + [ + 16, + [ + 1, + 0.2 + ] + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + } + }, + "ref": "bridge-pedestrian-case" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "service", + "track" + ], + [ + "==", + "structure", + "bridge" + ], + [ + "!=", + "type", + "trunk_link" + ] + ] + ], + "id": "bridge-service-link-track", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 14, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 18, + 12 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "bridge-street_limited", + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(35, 14%, 93%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "bridge-street_limited-low" + }, + { + "id": "bridge-street", + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12.5, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "ref": "bridge-street-low" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "structure", + "bridge" + ], + [ + "in", + "type", + "secondary", + "tertiary" + ] + ] + ], + "id": "bridge-secondary-tertiary", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": { + "base": 1.2, + "stops": [ + [ + 5, + 0 + ], + [ + 5.5, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 8.5, + 0.5 + ], + [ + 10, + 0.75 + ], + [ + 18, + 26 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "structure", + "bridge" + ], + [ + "==", + "type", + "primary" + ] + ] + ], + "id": "bridge-primary", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "path", + "pedestrian", + "service", + "track" + ], + [ + "==", + "oneway", + "true" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-oneway-arrows-blue-minor", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 17, + "oneway-small" + ], + [ + 18, + "oneway-large" + ] + ] + }, + "icon-padding": 2, + "icon-rotation-alignment": "map", + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 16, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "primary", + "secondary", + "street", + "street_limited", + "tertiary" + ], + [ + "==", + "oneway", + "true" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-oneway-arrows-blue-major", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-small" + ], + [ + 17, + "oneway-large" + ] + ] + }, + "icon-padding": 2, + "icon-rotation-alignment": "map", + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 15, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "trunk" + ], + [ + "!in", + "layer", + 2, + 3, + 4, + 5 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-trunk", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(46, 85%, 67%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway" + ], + [ + "!in", + "layer", + 2, + 3, + 4, + 5 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-motorway", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(26, 100%, 68%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "major_rail", + "minor_rail" + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-rail", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "hsl(50, 17%, 82%)" + ], + [ + 16, + "hsl(230, 10%, 74%)" + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "id": "bridge-rail-tracks", + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": { + "stops": [ + [ + 13, + "hsl(50, 17%, 82%)" + ], + [ + 16, + "hsl(230, 10%, 74%)" + ] + ] + }, + "line-dasharray": [ + 0.1, + 15 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 13.75, + 0 + ], + [ + 20, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 4 + ], + [ + 20, + 8 + ] + ] + } + }, + "ref": "bridge-rail" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + ">=", + "layer", + 2 + ], + [ + "==", + "structure", + "bridge" + ], + [ + "==", + "type", + "trunk_link" + ] + ] + ], + "id": "bridge-trunk_link-2-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 10.99, + 0 + ], + [ + 11, + 1 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway_link" + ], + [ + ">=", + "layer", + 2 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-motorway_link-2-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + }, + "line-opacity": 1, + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.75 + ], + [ + 20, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "trunk" + ], + [ + ">=", + "layer", + 2 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-trunk-2-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway" + ], + [ + ">=", + "layer", + 2 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-motorway-2-case", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(0, 0%, 100%)", + "line-gap-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + }, + "line-width": { + "base": 1.5, + "stops": [ + [ + 10, + 1 + ], + [ + 16, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + ">=", + "layer", + 2 + ], + [ + "==", + "structure", + "bridge" + ], + [ + "==", + "type", + "trunk_link" + ] + ] + ], + "id": "bridge-trunk_link-2", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(46, 85%, 67%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway_link" + ], + [ + ">=", + "layer", + 2 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-motorway_link-2", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(26, 100%, 68%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 12, + 0.5 + ], + [ + 14, + 2 + ], + [ + 18, + 18 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "trunk" + ], + [ + ">=", + "layer", + 2 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-trunk-2", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(46, 85%, 67%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "==", + "class", + "motorway" + ], + [ + ">=", + "layer", + 2 + ], + [ + "==", + "structure", + "bridge" + ] + ] + ], + "id": "bridge-motorway-2", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "paint": { + "line-color": "hsl(26, 100%, 68%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 5, + 0.75 + ], + [ + 18, + 32 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "all", + [ + "in", + "class", + "link", + "motorway", + "motorway_link", + "trunk" + ], + [ + "==", + "oneway", + "true" + ], + [ + "==", + "structure", + "bridge" + ], + [ + "!in", + "type", + "primary_link", + "secondary_link", + "tertiary_link" + ] + ] + ], + "id": "bridge-oneway-arrows-white", + "layout": { + "icon-image": { + "base": 1, + "stops": [ + [ + 16, + "oneway-white-small" + ], + [ + 17, + "oneway-white-large" + ] + ] + }, + "icon-padding": 2, + "symbol-placement": "line", + "symbol-spacing": 200 + }, + "metadata": { + "mapbox:group": "1444855799204.86" + }, + "minzoom": 16, + "paint": {}, + "source": "composite", + "source-layer": "road", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "class", + "aerialway" + ] + ], + "id": "aerialway", + "layout": { + "line-join": "round" + }, + "minzoom": 13, + "paint": { + "line-color": "hsl(230, 10%, 74%)", + "line-width": { + "base": 1.5, + "stops": [ + [ + 14, + 0.5 + ], + [ + 20, + 1 + ] + ] + } + }, + "source": "composite", + "source-layer": "road", + "type": "line" + }, + { + "filter": [ + "all", + [ + ">=", + "admin_level", + 3 + ], + [ + "==", + "maritime", + 0 + ] + ], + "id": "admin-3-4-boundaries-bg", + "layout": { + "line-join": "bevel" + }, + "metadata": { + "mapbox:group": "1444934295202.7542" + }, + "paint": { + "line-blur": { + "base": 1, + "stops": [ + [ + 3, + 0 + ], + [ + 8, + 3 + ] + ] + }, + "line-color": { + "base": 1, + "stops": [ + [ + 8, + "hsl(35, 12%, 89%)" + ], + [ + 16, + "hsl(230, 49%, 90%)" + ] + ] + }, + "line-dasharray": [ + 1, + 0 + ], + "line-opacity": { + "base": 1, + "stops": [ + [ + 7, + 0 + ], + [ + 8, + 0.75 + ] + ] + }, + "line-translate": [ + 0, + 0 + ], + "line-width": { + "base": 1, + "stops": [ + [ + 7, + 3.75 + ], + [ + 12, + 5.5 + ] + ] + } + }, + "source": "composite", + "source-layer": "admin", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "admin_level", + 2 + ], + [ + "==", + "maritime", + 0 + ] + ], + "id": "admin-2-boundaries-bg", + "layout": { + "line-join": "miter" + }, + "metadata": { + "mapbox:group": "1444934295202.7542" + }, + "minzoom": 1, + "paint": { + "line-blur": { + "base": 1, + "stops": [ + [ + 3, + 0 + ], + [ + 10, + 2 + ] + ] + }, + "line-color": { + "base": 1, + "stops": [ + [ + 6, + "hsl(35, 12%, 89%)" + ], + [ + 8, + "hsl(230, 49%, 90%)" + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 3, + 0 + ], + [ + 4, + 0.5 + ] + ] + }, + "line-translate": [ + 0, + 0 + ], + "line-width": { + "base": 1, + "stops": [ + [ + 3, + 3.5 + ], + [ + 10, + 8 + ] + ] + } + }, + "source": "composite", + "source-layer": "admin", + "type": "line" + }, + { + "filter": [ + "all", + [ + ">=", + "admin_level", + 3 + ], + [ + "==", + "maritime", + 0 + ] + ], + "id": "admin-3-4-boundaries", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444934295202.7542" + }, + "paint": { + "line-color": { + "base": 1, + "stops": [ + [ + 3, + "hsl(230, 14%, 77%)" + ], + [ + 7, + "hsl(230, 8%, 62%)" + ] + ] + }, + "line-dasharray": { + "base": 1, + "stops": [ + [ + 6, + [ + 2, + 0 + ] + ], + [ + 7, + [ + 2, + 2, + 6, + 2 + ] + ] + ] + }, + "line-opacity": { + "base": 1, + "stops": [ + [ + 2, + 0 + ], + [ + 3, + 1 + ] + ] + }, + "line-width": { + "base": 1, + "stops": [ + [ + 7, + 0.75 + ], + [ + 12, + 1.5 + ] + ] + } + }, + "source": "composite", + "source-layer": "admin", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "admin_level", + 2 + ], + [ + "==", + "disputed", + 0 + ], + [ + "==", + "maritime", + 0 + ] + ], + "id": "admin-2-boundaries", + "layout": { + "line-cap": "round", + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444934295202.7542" + }, + "minzoom": 1, + "paint": { + "line-color": "hsl(230, 8%, 51%)", + "line-width": { + "base": 1, + "stops": [ + [ + 3, + 0.5 + ], + [ + 10, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "admin", + "type": "line" + }, + { + "filter": [ + "all", + [ + "==", + "admin_level", + 2 + ], + [ + "==", + "disputed", + 1 + ], + [ + "==", + "maritime", + 0 + ] + ], + "id": "admin-2-boundaries-dispute", + "layout": { + "line-join": "round" + }, + "metadata": { + "mapbox:group": "1444934295202.7542" + }, + "minzoom": 1, + "paint": { + "line-color": "hsl(230, 8%, 51%)", + "line-dasharray": [ + 1.5, + 1.5 + ], + "line-width": { + "base": 1, + "stops": [ + [ + 3, + 0.5 + ], + [ + 10, + 2 + ] + ] + } + }, + "source": "composite", + "source-layer": "admin", + "type": "line" + }, + { + "id": "housenum-label", + "layout": { + "text-field": "{house_num}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-max-width": 7, + "text-padding": 4, + "text-size": 9.5 + }, + "minzoom": 17, + "paint": { + "text-color": "hsl(35, 2%, 69%)", + "text-halo-blur": 0, + "text-halo-color": "hsl(35, 8%, 85%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "housenum_label", + "type": "symbol" + }, + { + "filter": [ + "in", + "class", + "canal", + "river" + ], + "id": "waterway-label", + "layout": { + "symbol-placement": "line", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-max-angle": 30, + "text-size": { + "base": 1, + "stops": [ + [ + 13, + 12 + ], + [ + 18, + 16 + ] + ] + } + }, + "minzoom": 12, + "paint": { + "text-color": "hsl(230, 48%, 44%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(196, 80%, 70%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "waterway_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + ">=", + "localrank", + 15 + ], + [ + "!in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "==", + "scalerank", + 4 + ] + ], + "id": "poi-scalerank4-l15", + "layout": { + "icon-image": "{maki}-11", + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933456003.5437" + }, + "minzoom": 17, + "paint": { + "text-color": "hsl(26, 25%, 32%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "<=", + "localrank", + 14 + ], + [ + "!in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "==", + "scalerank", + 4 + ] + ], + "id": "poi-scalerank4-l1", + "layout": { + "icon-image": "{maki}-11", + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 1, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933456003.5437" + }, + "minzoom": 15, + "paint": { + "text-color": "hsl(26, 25%, 32%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "==", + "scalerank", + 4 + ] + ], + "id": "poi-parks_scalerank4", + "layout": { + "icon-image": "{maki}-11", + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 1, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933456003.5437" + }, + "minzoom": 15, + "paint": { + "text-color": "hsl(100, 100%, 20%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "!in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "==", + "scalerank", + 3 + ] + ], + "id": "poi-scalerank3", + "layout": { + "icon-image": "{maki}-11", + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 1, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933372896.5967" + }, + "paint": { + "text-color": "hsl(26, 25%, 32%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "==", + "scalerank", + 3 + ] + ], + "id": "poi-parks-scalerank3", + "layout": { + "icon-image": "{maki}-11", + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933372896.5967" + }, + "paint": { + "text-color": "hsl(100, 100%, 20%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "!in", + "class", + "link", + "motorway", + "pedestrian", + "primary", + "secondary", + "street", + "street_limited", + "tertiary", + "trunk" + ] + ], + "id": "road-label-small", + "layout": { + "symbol-placement": "line", + "symbol-spacing": 250, + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-max-angle": 30, + "text-padding": 1, + "text-rotation-alignment": "map", + "text-size": { + "base": 1, + "stops": [ + [ + 15, + 10 + ], + [ + 20, + 13 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933721429.3076" + }, + "minzoom": 15, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-blur": 1, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1.25 + }, + "source": "composite", + "source-layer": "road_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "class", + "link", + "pedestrian", + "street", + "street_limited" + ] + ], + "id": "road-label-medium", + "layout": { + "symbol-placement": "line", + "symbol-spacing": 250, + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-max-angle": 30, + "text-padding": 1, + "text-rotation-alignment": "map", + "text-size": { + "base": 1, + "stops": [ + [ + 11, + 10 + ], + [ + 20, + 14 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933721429.3076" + }, + "minzoom": 11, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "road_label", + "type": "symbol" + }, + { + "filter": [ + "in", + "class", + "motorway", + "primary", + "secondary", + "tertiary", + "trunk" + ], + "id": "road-label-large", + "layout": { + "symbol-placement": "line", + "symbol-spacing": 250, + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-max-angle": 30, + "text-padding": 1, + "text-rotation-alignment": "map", + "text-size": { + "base": 1, + "stops": [ + [ + 9, + 10 + ], + [ + 20, + 16 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933721429.3076" + }, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-blur": 1, + "text-halo-color": "hsla(0, 0%, 100%, 0.75)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "road_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "<=", + "reflen", + 6 + ], + [ + "!in", + "shield", + "at-expressway", + "at-motorway", + "at-state-b", + "bg-motorway", + "bg-national", + "ch-main", + "ch-motorway", + "cz-motorway", + "cz-road", + "de-motorway", + "e-road", + "fi-main", + "gr-motorway", + "gr-national", + "hr-motorway", + "hr-state", + "hu-main", + "hu-motorway", + "nz-state", + "pl-expressway", + "pl-motorway", + "pl-national", + "ro-county", + "ro-motorway", + "ro-national", + "rs-motorway", + "rs-state-1b", + "se-main", + "si-expressway", + "si-motorway", + "sk-highway", + "sk-road", + "us-interstate", + "us-interstate-business", + "us-interstate-duplex", + "us-interstate-truck", + "za-metropolitan", + "za-national", + "za-provincial", + "za-regional" + ] + ], + "id": "road-shields-black", + "layout": { + "icon-image": "{shield}-{reflen}", + "icon-padding": 2, + "icon-rotation-alignment": "viewport", + "symbol-placement": { + "base": 1, + "stops": [ + [ + 10, + "point" + ], + [ + 11, + "line" + ] + ] + }, + "symbol-spacing": { + "base": 1, + "stops": [ + [ + 11, + 150 + ], + [ + 14, + 200 + ] + ] + }, + "text-field": "{ref}", + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "text-letter-spacing": 0.05, + "text-max-angle": 38, + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": 9 + }, + "metadata": { + "mapbox:group": "1444933575858.6992" + }, + "paint": { + "icon-color": "white", + "icon-halo-color": "rgba(0, 0, 0, 1)", + "icon-halo-width": 1, + "text-color": "hsl(0, 0%, 7%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0, + "text-opacity": 1 + }, + "source": "composite", + "source-layer": "road_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "<=", + "reflen", + 6 + ], + [ + "in", + "shield", + "at-expressway", + "at-motorway", + "at-state-b", + "bg-motorway", + "bg-national", + "ch-main", + "ch-motorway", + "cz-motorway", + "cz-road", + "de-motorway", + "e-road", + "fi-main", + "gr-motorway", + "gr-national", + "hr-motorway", + "hr-state", + "hu-main", + "hu-motorway", + "nz-state", + "pl-expressway", + "pl-motorway", + "pl-national", + "ro-county", + "ro-motorway", + "ro-national", + "rs-motorway", + "rs-state-1b", + "se-main", + "si-expressway", + "si-motorway", + "sk-highway", + "sk-road", + "us-interstate", + "us-interstate-business", + "us-interstate-duplex", + "us-interstate-truck", + "za-metropolitan", + "za-national", + "za-provincial", + "za-regional" + ] + ], + "id": "road-shields-white", + "layout": { + "icon-image": "{shield}-{reflen}", + "icon-padding": 2, + "icon-rotation-alignment": "viewport", + "symbol-placement": { + "base": 1, + "stops": [ + [ + 10, + "point" + ], + [ + 11, + "line" + ] + ] + }, + "symbol-spacing": { + "base": 1, + "stops": [ + [ + 11, + 150 + ], + [ + 14, + 200 + ] + ] + }, + "text-field": "{ref}", + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "text-letter-spacing": 0.05, + "text-max-angle": 38, + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": 9 + }, + "metadata": { + "mapbox:group": "1444933575858.6992" + }, + "paint": { + "icon-color": "white", + "icon-halo-color": "rgba(0, 0, 0, 1)", + "icon-halo-width": 1, + "text-color": "hsl(0, 0%, 100%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0, + "text-opacity": 1 + }, + "source": "composite", + "source-layer": "road_label", + "type": "symbol" + }, + { + "filter": [ + ">", + "reflen", + 0 + ], + "id": "motorway-junction", + "layout": { + "icon-image": "motorway-exit-{reflen}", + "text-field": "{ref}", + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "text-size": 9 + }, + "metadata": { + "mapbox:group": "1444933575858.6992" + }, + "minzoom": 14, + "paint": { + "text-color": "hsl(0, 0%, 100%)", + "text-translate": [ + 0, + 0 + ] + }, + "source": "composite", + "source-layer": "motorway_junction", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "!in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "==", + "scalerank", + 2 + ] + ], + "id": "poi-scalerank2", + "layout": { + "icon-image": { + "stops": [ + [ + 14, + "{maki}-11" + ], + [ + 15, + "{maki}-15" + ] + ] + }, + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 14, + 11 + ], + [ + 20, + 14 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933358918.2366" + }, + "paint": { + "text-color": "hsl(26, 25%, 32%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "==", + "scalerank", + 2 + ] + ], + "id": "poi-parks-scalerank2", + "layout": { + "icon-image": { + "stops": [ + [ + 14, + "{maki}-11" + ], + [ + 15, + "{maki}-15" + ] + ] + }, + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 14, + 11 + ], + [ + 20, + 14 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933358918.2366" + }, + "paint": { + "text-color": "hsl(100, 100%, 20%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "!=", + "maki", + "entrance" + ], + "id": "rail-label", + "layout": { + "icon-image": "{network}", + "icon-padding": 0, + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "" + ], + [ + 13, + "{name_en}" + ] + ] + }, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-width": 7, + "text-offset": [ + 0, + 0.85 + ], + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 11 + ], + [ + 20, + 13 + ] + ] + } + }, + "minzoom": 12, + "paint": { + "icon-halo-color": "#fff", + "icon-halo-width": 4, + "text-color": "hsl(230, 48%, 44%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5, + "text-opacity": { + "base": 1, + "stops": [ + [ + 13.99, + 0 + ], + [ + 14, + 1 + ] + ] + } + }, + "source": "composite", + "source-layer": "rail_station_label", + "type": "symbol" + }, + { + "filter": [ + "<=", + "area", + 10000 + ], + "id": "water-label-sm", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-max-width": 7, + "text-size": { + "base": 1, + "stops": [ + [ + 16, + 13 + ], + [ + 20, + 16 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933808272.805" + }, + "minzoom": 15, + "paint": { + "text-color": "hsl(230, 48%, 44%)" + }, + "source": "composite", + "source-layer": "water_label", + "type": "symbol" + }, + { + "filter": [ + ">", + "area", + 10000 + ], + "id": "water-label", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-max-width": 7, + "text-size": { + "base": 1, + "stops": [ + [ + 13, + 13 + ], + [ + 18, + 18 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933808272.805" + }, + "minzoom": 5, + "paint": { + "text-color": "hsl(230, 48%, 44%)" + }, + "source": "composite", + "source-layer": "water_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "$type", + "LineString", + "Point", + "Polygon" + ], + [ + "all", + [ + "<=", + "localrank", + 10 + ], + [ + "==", + "type", + "residential" + ] + ] + ], + "id": "place-residential", + "layout": { + "symbol-spacing": 250, + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-line-height": 1.2, + "text-max-angle": 38, + "text-max-width": 7, + "text-offset": [ + 0, + 0 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 18, + 14 + ] + ] + }, + "visibility": "none" + }, + "maxzoom": 18, + "minzoom": 16, + "paint": { + "text-color": "hsl(26, 25%, 32%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "<=", + "scalerank", + 1 + ] + ], + "id": "poi-parks-scalerank1", + "layout": { + "icon-image": { + "stops": [ + [ + 13, + "{maki}-11" + ], + [ + 14, + "{maki}-15" + ] + ] + }, + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 18, + 14 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933322393.2852" + }, + "paint": { + "text-color": "hsl(100, 100%, 20%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "!in", + "maki", + "campsite", + "cemetery", + "dog-park", + "garden", + "golf", + "park", + "picnic-site", + "playground", + "zoo" + ], + [ + "<=", + "scalerank", + 1 + ] + ], + "id": "poi-scalerank1", + "layout": { + "icon-image": { + "stops": [ + [ + 13, + "{maki}-11" + ], + [ + 14, + "{maki}-15" + ] + ] + }, + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0.65 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 18, + 14 + ] + ] + } + }, + "metadata": { + "mapbox:group": "1444933322393.2852" + }, + "paint": { + "text-color": "hsl(26, 25%, 32%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "poi_label", + "type": "symbol" + }, + { + "filter": [ + "<=", + "scalerank", + 2 + ], + "id": "airport-label", + "layout": { + "icon-image": { + "stops": [ + [ + 12, + "{maki}-11" + ], + [ + 13, + "{maki}-15" + ] + ] + }, + "symbol-spacing": 250, + "text-anchor": "top", + "text-field": { + "stops": [ + [ + 11, + "{ref}" + ], + [ + 12, + "{name_en}" + ] + ] + }, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.1, + "text-max-width": 9, + "text-offset": [ + 0, + 0.75 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 12 + ], + [ + 18, + 18 + ] + ] + } + }, + "minzoom": 9, + "paint": { + "text-color": "hsl(230, 48%, 44%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 0.5 + }, + "source": "composite", + "source-layer": "airport_label", + "type": "symbol" + }, + { + "filter": [ + "in", + "type", + "aboriginal_lands", + "archipelago", + "islet" + ], + "id": "place-islet-archipelago-aboriginal", + "layout": { + "symbol-spacing": 250, + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.2, + "text-max-angle": 38, + "text-max-width": 8, + "text-offset": [ + 0, + 0 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 18, + 16 + ] + ] + } + }, + "maxzoom": 16, + "paint": { + "text-color": "hsl(230, 29%, 35%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "==", + "type", + "neighbourhood" + ], + "id": "place-neighbourhood", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.1, + "text-max-width": 7, + "text-padding": 3, + "text-size": { + "base": 1, + "stops": [ + [ + 12, + 11 + ], + [ + 16, + 16 + ] + ] + }, + "text-transform": "uppercase" + }, + "maxzoom": 16, + "minzoom": 10, + "paint": { + "text-color": "hsl(230, 29%, 35%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "==", + "type", + "suburb" + ], + "id": "place-suburb", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.15, + "text-max-width": 7, + "text-padding": 3, + "text-size": { + "base": 1, + "stops": [ + [ + 11, + 11 + ], + [ + 15, + 18 + ] + ] + }, + "text-transform": "uppercase" + }, + "maxzoom": 16, + "minzoom": 10, + "paint": { + "text-color": "hsl(230, 29%, 35%)", + "text-halo-blur": 0.5, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "==", + "type", + "hamlet" + ], + "id": "place-hamlet", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-size": { + "base": 1, + "stops": [ + [ + 12, + 11.5 + ], + [ + 15, + 16 + ] + ] + } + }, + "maxzoom": 16, + "minzoom": 10, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1.25 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "==", + "type", + "village" + ], + "id": "place-village", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-max-width": 7, + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11.5 + ], + [ + 16, + 18 + ] + ] + } + }, + "maxzoom": 15, + "minzoom": 8, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1.25 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "==", + "type", + "town" + ], + "id": "place-town", + "layout": { + "icon-image": "dot-9", + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "bottom" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-font": { + "base": 1, + "stops": [ + [ + 11, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 12, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "text-max-width": 7, + "text-offset": { + "base": 1, + "stops": [ + [ + 7, + [ + 0, + -0.15 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-size": { + "base": 1, + "stops": [ + [ + 7, + 11.5 + ], + [ + 15, + 20 + ] + ] + } + }, + "maxzoom": 15, + "minzoom": 6, + "paint": { + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1.25 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "==", + "type", + "island" + ], + "id": "place-island", + "layout": { + "symbol-spacing": 250, + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.01, + "text-line-height": 1.2, + "text-max-angle": 38, + "text-max-width": 7, + "text-offset": [ + 0, + 0 + ], + "text-padding": 2, + "text-rotation-alignment": "viewport", + "text-size": { + "base": 1, + "stops": [ + [ + 10, + 11 + ], + [ + 18, + 16 + ] + ] + } + }, + "maxzoom": 16, + "paint": { + "text-color": "hsl(230, 29%, 35%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "!in", + "scalerank", + 0, + 1, + 2, + 3, + 4, + 5 + ], + [ + "==", + "type", + "city" + ] + ], + "id": "place-city-sm", + "layout": { + "icon-image": "dot-9", + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "bottom" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "text-max-width": 7, + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + -0.2 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-size": { + "base": 1, + "stops": [ + [ + 6, + 12 + ], + [ + 14, + 22 + ] + ] + } + }, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1444862510685.128" + }, + "paint": { + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1.25 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "ldir", + "E", + "S", + "SE", + "SW" + ], + [ + "in", + "scalerank", + 3, + 4, + 5 + ], + [ + "==", + "type", + "city" + ] + ], + "id": "place-city-md-s", + "layout": { + "icon-image": "dot-10", + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "top" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + 0.1 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-size": { + "base": 0.9, + "stops": [ + [ + 5, + 12 + ], + [ + 12, + 22 + ] + ] + } + }, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1444862510685.128" + }, + "paint": { + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-color": "hsl(0, 0%, 0%)", + "text-halo-blur": 1, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "ldir", + "N", + "NE", + "NW", + "W" + ], + [ + "in", + "scalerank", + 3, + 4, + 5 + ], + [ + "==", + "type", + "city" + ] + ], + "id": "place-city-md-n", + "layout": { + "icon-image": "dot-10", + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "bottom" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "text-max-width": 7, + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + -0.25 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-size": { + "base": 0.9, + "stops": [ + [ + 5, + 12 + ], + [ + 12, + 22 + ] + ] + } + }, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1444862510685.128" + }, + "paint": { + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-color": "hsl(0, 0%, 0%)", + "text-halo-blur": 1, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "ldir", + "E", + "S", + "SE", + "SW" + ], + [ + "<=", + "scalerank", + 2 + ], + [ + "==", + "type", + "city" + ] + ], + "id": "place-city-lg-s", + "layout": { + "icon-image": "dot-11", + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "top" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "text-max-width": 7, + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + 0.15 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-size": { + "base": 0.9, + "stops": [ + [ + 4, + 12 + ], + [ + 10, + 22 + ] + ] + } + }, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1444862510685.128" + }, + "minzoom": 1, + "paint": { + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-color": "hsl(0, 0%, 0%)", + "text-halo-blur": 1, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "in", + "ldir", + "N", + "NE", + "NW", + "W" + ], + [ + "<=", + "scalerank", + 2 + ], + [ + "==", + "type", + "city" + ] + ], + "id": "place-city-lg-n", + "layout": { + "icon-image": "dot-11", + "text-anchor": { + "base": 1, + "stops": [ + [ + 7, + "bottom" + ], + [ + 8, + "center" + ] + ] + }, + "text-field": "{name_en}", + "text-font": { + "base": 1, + "stops": [ + [ + 7, + [ + "DIN Offc Pro Regular", + "Arial Unicode MS Regular" + ] + ], + [ + 8, + [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ] + ] + ] + }, + "text-max-width": 7, + "text-offset": { + "base": 1, + "stops": [ + [ + 7.99, + [ + 0, + -0.25 + ] + ], + [ + 8, + [ + 0, + 0 + ] + ] + ] + }, + "text-size": { + "base": 0.9, + "stops": [ + [ + 4, + 12 + ], + [ + 10, + 22 + ] + ] + } + }, + "maxzoom": 14, + "metadata": { + "mapbox:group": "1444862510685.128" + }, + "minzoom": 1, + "paint": { + "icon-opacity": { + "base": 1, + "stops": [ + [ + 7.99, + 1 + ], + [ + 8, + 0 + ] + ] + }, + "text-color": "hsl(0, 0%, 0%)", + "text-halo-blur": 1, + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1, + "text-opacity": 1 + }, + "source": "composite", + "source-layer": "place_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + ">=", + "labelrank", + 4 + ] + ], + "id": "marine-label-sm-ln", + "layout": { + "symbol-placement": "line", + "symbol-spacing": { + "base": 1, + "stops": [ + [ + 4, + 100 + ], + [ + 6, + 400 + ] + ] + }, + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.1, + "text-line-height": 1.1, + "text-max-width": 5, + "text-size": { + "base": 1, + "stops": [ + [ + 3, + 12 + ], + [ + 6, + 16 + ] + ] + } + }, + "maxzoom": 10, + "metadata": { + "mapbox:group": "1444856087950.3635" + }, + "minzoom": 3, + "paint": { + "text-color": "hsl(205, 83%, 88%)" + }, + "source": "composite", + "source-layer": "marine_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + ">=", + "labelrank", + 4 + ] + ], + "id": "marine-label-sm-pt", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.1, + "text-line-height": 1.5, + "text-max-width": 5, + "text-size": { + "base": 1, + "stops": [ + [ + 3, + 12 + ], + [ + 6, + 16 + ] + ] + } + }, + "maxzoom": 10, + "metadata": { + "mapbox:group": "1444856087950.3635" + }, + "minzoom": 3, + "paint": { + "text-color": "hsl(205, 83%, 88%)" + }, + "source": "composite", + "source-layer": "marine_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "in", + "labelrank", + 2, + 3 + ] + ], + "id": "marine-label-md-ln", + "layout": { + "symbol-placement": "line", + "symbol-spacing": 250, + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.15, + "text-line-height": 1.1, + "text-max-width": 5, + "text-size": { + "base": 1.1, + "stops": [ + [ + 2, + 12 + ], + [ + 5, + 20 + ] + ] + } + }, + "maxzoom": 8, + "metadata": { + "mapbox:group": "1444856087950.3635" + }, + "minzoom": 2, + "paint": { + "text-color": "hsl(205, 83%, 88%)" + }, + "source": "composite", + "source-layer": "marine_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "in", + "labelrank", + 2, + 3 + ] + ], + "id": "marine-label-md-pt", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.15, + "text-line-height": 1.5, + "text-max-width": 5, + "text-size": { + "base": 1.1, + "stops": [ + [ + 2, + 14 + ], + [ + 5, + 20 + ] + ] + } + }, + "maxzoom": 8, + "metadata": { + "mapbox:group": "1444856087950.3635" + }, + "minzoom": 2, + "paint": { + "text-color": "hsl(205, 83%, 88%)" + }, + "source": "composite", + "source-layer": "marine_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "LineString" + ], + [ + "==", + "labelrank", + 1 + ] + ], + "id": "marine-label-lg-ln", + "layout": { + "symbol-placement": "line", + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.25, + "text-line-height": 1.1, + "text-max-width": 4, + "text-size": { + "base": 1, + "stops": [ + [ + 1, + 14 + ], + [ + 4, + 30 + ] + ] + } + }, + "maxzoom": 4, + "metadata": { + "mapbox:group": "1444856087950.3635" + }, + "minzoom": 1, + "paint": { + "text-color": "hsl(205, 83%, 88%)" + }, + "source": "composite", + "source-layer": "marine_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "==", + "$type", + "Point" + ], + [ + "==", + "labelrank", + 1 + ] + ], + "id": "marine-label-lg-pt", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Italic", + "Arial Unicode MS Regular" + ], + "text-letter-spacing": 0.25, + "text-line-height": 1.5, + "text-max-width": 4, + "text-size": { + "base": 1, + "stops": [ + [ + 1, + 14 + ], + [ + 4, + 30 + ] + ] + } + }, + "maxzoom": 4, + "metadata": { + "mapbox:group": "1444856087950.3635" + }, + "minzoom": 1, + "paint": { + "text-color": "hsl(205, 83%, 88%)" + }, + "source": "composite", + "source-layer": "marine_label", + "type": "symbol" + }, + { + "filter": [ + "<", + "area", + 20000 + ], + "id": "state-label-sm", + "layout": { + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "{abbr}" + ], + [ + 6, + "{name_en}" + ] + ] + }, + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "text-letter-spacing": 0.15, + "text-max-width": 5, + "text-size": { + "base": 1, + "stops": [ + [ + 6, + 10 + ], + [ + 9, + 14 + ] + ] + }, + "text-transform": "uppercase" + }, + "maxzoom": 9, + "metadata": { + "mapbox:group": "1444856151690.9143" + }, + "minzoom": 3, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1, + "text-opacity": 1 + }, + "source": "composite", + "source-layer": "state_label", + "type": "symbol" + }, + { + "filter": [ + "all", + [ + "<", + "area", + 80000 + ], + [ + ">=", + "area", + 20000 + ] + ], + "id": "state-label-md", + "layout": { + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "{abbr}" + ], + [ + 5, + "{name_en}" + ] + ] + }, + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "text-letter-spacing": 0.15, + "text-max-width": 6, + "text-size": { + "base": 1, + "stops": [ + [ + 5, + 10 + ], + [ + 8, + 16 + ] + ] + }, + "text-transform": "uppercase" + }, + "maxzoom": 8, + "metadata": { + "mapbox:group": "1444856151690.9143" + }, + "minzoom": 3, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1, + "text-opacity": 1 + }, + "source": "composite", + "source-layer": "state_label", + "type": "symbol" + }, + { + "filter": [ + ">=", + "area", + 80000 + ], + "id": "state-label-lg", + "layout": { + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "{abbr}" + ], + [ + 4, + "{name_en}" + ] + ] + }, + "text-font": [ + "DIN Offc Pro Bold", + "Arial Unicode MS Bold" + ], + "text-letter-spacing": 0.15, + "text-max-width": 6, + "text-padding": 1, + "text-size": { + "base": 1, + "stops": [ + [ + 4, + 10 + ], + [ + 7, + 18 + ] + ] + }, + "text-transform": "uppercase" + }, + "maxzoom": 7, + "metadata": { + "mapbox:group": "1444856151690.9143" + }, + "minzoom": 3, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": "hsl(0, 0%, 100%)", + "text-halo-width": 1, + "text-opacity": 1 + }, + "source": "composite", + "source-layer": "state_label", + "type": "symbol" + }, + { + "filter": [ + ">=", + "scalerank", + 5 + ], + "id": "country-label-sm", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-max-width": 6, + "text-size": { + "base": 0.9, + "stops": [ + [ + 5, + 14 + ], + [ + 9, + 22 + ] + ] + } + }, + "maxzoom": 10, + "metadata": { + "mapbox:group": "1444856144497.7825" + }, + "minzoom": 1, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": { + "base": 1, + "stops": [ + [ + 2, + "rgba(255,255,255,0.75)" + ], + [ + 3, + "hsl(0, 0%, 100%)" + ] + ] + }, + "text-halo-width": 1.25 + }, + "source": "composite", + "source-layer": "country_label", + "type": "symbol" + }, + { + "filter": [ + "in", + "scalerank", + 3, + 4 + ], + "id": "country-label-md", + "layout": { + "text-field": { + "base": 1, + "stops": [ + [ + 0, + "{code}" + ], + [ + 2, + "{name_en}" + ] + ] + }, + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-max-width": 6, + "text-size": { + "base": 1, + "stops": [ + [ + 3, + 10 + ], + [ + 8, + 24 + ] + ] + } + }, + "maxzoom": 8, + "metadata": { + "mapbox:group": "1444856144497.7825" + }, + "minzoom": 1, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": { + "base": 1, + "stops": [ + [ + 2, + "rgba(255,255,255,0.75)" + ], + [ + 3, + "hsl(0, 0%, 100%)" + ] + ] + }, + "text-halo-width": 1.25 + }, + "source": "composite", + "source-layer": "country_label", + "type": "symbol" + }, + { + "filter": [ + "in", + "scalerank", + 1, + 2 + ], + "id": "country-label-lg", + "layout": { + "text-field": "{name_en}", + "text-font": [ + "DIN Offc Pro Medium", + "Arial Unicode MS Regular" + ], + "text-max-width": { + "base": 1, + "stops": [ + [ + 0, + 5 + ], + [ + 3, + 6 + ] + ] + }, + "text-size": { + "base": 1, + "stops": [ + [ + 1, + 10 + ], + [ + 6, + 24 + ] + ] + } + }, + "maxzoom": 7, + "metadata": { + "mapbox:group": "1444856144497.7825" + }, + "minzoom": 1, + "paint": { + "text-color": "hsl(0, 0%, 0%)", + "text-halo-color": { + "base": 1, + "stops": [ + [ + 2, + "rgba(255,255,255,0.75)" + ], + [ + 3, + "hsl(0, 0%, 100%)" + ] + ] + }, + "text-halo-width": 1.25 + }, + "source": "composite", + "source-layer": "country_label", + "type": "symbol" + }, + { + "id": "testlayer", + "type": "symbol", + "source": "testsource", + "layout": { + "icon-image": "test-icon" + } + } + ], + "metadata": { + "mapbox:autocomposite": true, + "mapbox:groups": { + "1444855769305.6016": { + "collapsed": true, + "name": "Tunnels" + }, + "1444855786460.0557": { + "collapsed": true, + "name": "Roads" + }, + "1444855799204.86": { + "collapsed": true, + "name": "Bridges" + }, + "1444856087950.3635": { + "collapsed": true, + "name": "Marine labels" + }, + "1444856144497.7825": { + "collapsed": true, + "name": "Country labels" + }, + "1444856151690.9143": { + "collapsed": true, + "name": "State labels" + }, + "1444862510685.128": { + "collapsed": true, + "name": "City labels" + }, + "1444933322393.2852": { + "collapsed": true, + "name": "POI labels (scalerank 1)" + }, + "1444933358918.2366": { + "collapsed": true, + "name": "POI labels (scalerank 2)" + }, + "1444933372896.5967": { + "collapsed": true, + "name": "POI labels (scalerank 3)" + }, + "1444933456003.5437": { + "collapsed": true, + "name": "POI labels (scalerank 4)" + }, + "1444933575858.6992": { + "collapsed": true, + "name": "Highway shields" + }, + "1444933721429.3076": { + "collapsed": true, + "name": "Road labels" + }, + "1444933808272.805": { + "collapsed": true, + "name": "Water labels" + }, + "1444934295202.7542": { + "collapsed": true, + "name": "Admin boundaries" + }, + "1444934828655.3389": { + "collapsed": true, + "name": "Aeroways" + }, + "1456969573402.7817": { + "collapsed": true, + "name": "Hillshading" + }, + "1456970288113.8113": { + "collapsed": true, + "name": "Landcover" + } + }, + "mapbox:type": "default" + }, + "modified": 0, + "name": "Mapbox Streets", + "owner": "mapbox", + "sources": { + "composite": { + "type": "vector", + "url": "mapbox://mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7" + }, + "testsource": { + "type": "geojson", + "data": { + "type": "Point", + "coordinates": [ + -73.992857, + 40.726989 + ] + } + } + }, + "sprite": "mapbox://sprites/mapbox/streets-v9", + "version": 8 +} diff --git a/benchmark/src/mbgl/benchmark/util.cpp b/benchmark/src/mbgl/benchmark/util.cpp new file mode 100644 index 0000000000..a8f71f1206 --- /dev/null +++ b/benchmark/src/mbgl/benchmark/util.cpp @@ -0,0 +1,22 @@ +#include + +#include +#include +#include + +namespace mbgl { +namespace benchmark { + +void render(Map& map) { + PremultipliedImage result; + map.renderStill([&result](std::exception_ptr, PremultipliedImage&& image) { + result = std::move(image); + }); + + while (!result.size()) { + util::RunLoop::Get()->runOnce(); + } +} + +} // namespace benchmark +} // namespace mbgl diff --git a/benchmark/src/mbgl/benchmark/util.hpp b/benchmark/src/mbgl/benchmark/util.hpp new file mode 100644 index 0000000000..759015e0e3 --- /dev/null +++ b/benchmark/src/mbgl/benchmark/util.hpp @@ -0,0 +1,12 @@ +#pragma once + +namespace mbgl { + +class Map; + +namespace benchmark { + +void render(Map&); + +} // namespace benchmark +} // namespace mbgl -- cgit v1.2.1