From be687b5d86747a9d93ca426e19b1721d7c30328d Mon Sep 17 00:00:00 2001 From: Joscha <34318751+josxha@users.noreply.github.com> Date: Mon, 14 Oct 2024 22:25:11 +0200 Subject: [PATCH] feat(vmt-pmtiles): add protomaps styles v4 (#47) * add protomaps styles v4 * enable vector_map_tiles demos in example app * update themes, bump version, update changelog * disable strict-inference lint --- example/lib/main.dart | 8 +- .../lib/vector_map_tiles_pmtiles/page.dart | 2 +- vector_map_tiles_pmtiles/CHANGELOG.md | 4 + .../analysis_options.yaml | 6 +- .../lib/src/themes/protomaps_themes.dart | 104 +- .../lib/src/themes/v3/_package.dart | 7 + .../lib/src/themes/{ => v3}/black.dart | 5 +- .../lib/src/themes/{ => v3}/dark.dart | 5 +- .../lib/src/themes/{ => v3}/grayscale.dart | 5 +- .../lib/src/themes/{ => v3}/light.dart | 5 +- .../lib/src/themes/{ => v3}/white.dart | 5 +- .../lib/src/themes/v4/_package.dart | 7 + .../lib/src/themes/v4/black.dart | 6187 +++++++++++++++ .../lib/src/themes/v4/dark.dart | 6774 +++++++++++++++++ .../lib/src/themes/v4/grayscale.dart | 6187 +++++++++++++++ .../lib/src/themes/v4/light.dart | 6774 +++++++++++++++++ .../lib/src/themes/v4/white.dart | 6187 +++++++++++++++ vector_map_tiles_pmtiles/pubspec.yaml | 2 +- .../test/protomaps_themes_test.dart | 10 +- 19 files changed, 32237 insertions(+), 47 deletions(-) create mode 100644 vector_map_tiles_pmtiles/lib/src/themes/v3/_package.dart rename vector_map_tiles_pmtiles/lib/src/themes/{ => v3}/black.dart (99%) rename vector_map_tiles_pmtiles/lib/src/themes/{ => v3}/dark.dart (99%) rename vector_map_tiles_pmtiles/lib/src/themes/{ => v3}/grayscale.dart (99%) rename vector_map_tiles_pmtiles/lib/src/themes/{ => v3}/light.dart (99%) rename vector_map_tiles_pmtiles/lib/src/themes/{ => v3}/white.dart (99%) create mode 100644 vector_map_tiles_pmtiles/lib/src/themes/v4/_package.dart create mode 100644 vector_map_tiles_pmtiles/lib/src/themes/v4/black.dart create mode 100644 vector_map_tiles_pmtiles/lib/src/themes/v4/dark.dart create mode 100644 vector_map_tiles_pmtiles/lib/src/themes/v4/grayscale.dart create mode 100644 vector_map_tiles_pmtiles/lib/src/themes/v4/light.dart create mode 100644 vector_map_tiles_pmtiles/lib/src/themes/v4/white.dart diff --git a/example/lib/main.dart b/example/lib/main.dart index 1e15707..4fcf88f 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -6,6 +6,8 @@ import 'package:flutter_map_plugins_example/flutter_map_cache/page.dart'; import 'package:flutter_map_plugins_example/flutter_map_compass/page.dart'; import 'package:flutter_map_plugins_example/flutter_map_mbtiles/page.dart'; import 'package:flutter_map_plugins_example/flutter_map_pmtiles/page.dart'; +import 'package:flutter_map_plugins_example/vector_map_tiles_mbtiles/page.dart'; +import 'package:flutter_map_plugins_example/vector_map_tiles_pmtiles/page.dart'; import 'package:url_launcher/url_launcher_string.dart'; import 'package:url_strategy/url_strategy.dart'; @@ -29,10 +31,10 @@ class MyApp extends StatelessWidget { '/': (context) => const SelectionPage(), 'flutter_map_cache': (context) => const FlutterMapCachePage(), 'flutter_map_pmtiles': (context) => const FlutterMapPmTilesPage(), - // 'vector_map_tiles_pmtiles': (context) => VectorMapTilesPmTilesPage(), + 'vector_map_tiles_pmtiles': (context) => VectorMapTilesPmTilesPage(), 'flutter_map_mbtiles': (context) => const FlutterMapMbTilesPage(), - // 'vector_map_tiles_mbtiles': (context) => - // const VectorMapTilesMbTilesPage(), + 'vector_map_tiles_mbtiles': (context) => + const VectorMapTilesMbTilesPage(), 'flutter_map_compass': (context) => const FlutterMapCompassPage(), }, ); diff --git a/example/lib/vector_map_tiles_pmtiles/page.dart b/example/lib/vector_map_tiles_pmtiles/page.dart index e4401d8..70bc500 100644 --- a/example/lib/vector_map_tiles_pmtiles/page.dart +++ b/example/lib/vector_map_tiles_pmtiles/page.dart @@ -20,7 +20,7 @@ class VectorMapTilesPmTilesPage extends StatelessWidget { /// /// Note: Styles from Mapbox, OpenMapTiles and others and not compatible /// with Protomaps styles. - final vtr.Theme mapTheme = ProtomapsThemes.light( + final vtr.Theme mapTheme = ProtomapsThemes.lightV4( logger: kDebugMode ? const vtr.Logger.console() : null, ); diff --git a/vector_map_tiles_pmtiles/CHANGELOG.md b/vector_map_tiles_pmtiles/CHANGELOG.md index a5dca75..aa7d315 100644 --- a/vector_map_tiles_pmtiles/CHANGELOG.md +++ b/vector_map_tiles_pmtiles/CHANGELOG.md @@ -1,3 +1,7 @@ +## [1.5.0] + +- Add Protomaps themes version 4.1. + ## [1.4.0] - Use `vector_map_tiles` version ^8.0.0 (`flutter_map` v7). diff --git a/vector_map_tiles_pmtiles/analysis_options.yaml b/vector_map_tiles_pmtiles/analysis_options.yaml index 0caccc8..736df9e 100644 --- a/vector_map_tiles_pmtiles/analysis_options.yaml +++ b/vector_map_tiles_pmtiles/analysis_options.yaml @@ -1 +1,5 @@ -include: ../analysis_options.yaml \ No newline at end of file +include: ../analysis_options.yaml + +analyzer: + language: + strict-inference: false \ No newline at end of file diff --git a/vector_map_tiles_pmtiles/lib/src/themes/protomaps_themes.dart b/vector_map_tiles_pmtiles/lib/src/themes/protomaps_themes.dart index 53eea58..2eac662 100644 --- a/vector_map_tiles_pmtiles/lib/src/themes/protomaps_themes.dart +++ b/vector_map_tiles_pmtiles/lib/src/themes/protomaps_themes.dart @@ -1,18 +1,14 @@ +import 'package:vector_map_tiles_pmtiles/src/themes/v3/_package.dart' as v3; +import 'package:vector_map_tiles_pmtiles/src/themes/v4/_package.dart' as v4; import 'package:vector_tile_renderer/vector_tile_renderer.dart'; // ignore_for_file: prefer_single_quotes, require_trailing_commas -part 'black.dart'; -part 'dark.dart'; -part 'grayscale.dart'; -part 'light.dart'; -part 'white.dart'; - -/// Protomaps themes, version 3.0.1 +/// Protomaps themes. /// /// All themes are published by Protomaps under CC0 / public domain. /// -/// https://unpkg.com/browse/protomaps-themes-base@2.0.0-alpha.5/dist/layers/ +/// https://unpkg.com/browse/protomaps-themes-base@4.1.0/dist/layers/ /// /// https://github.com/protomaps/basemaps/blob/main/CHANGELOG.md class ProtomapsThemes { @@ -29,17 +25,21 @@ class ProtomapsThemes { }, this.glyphs = "https://protomaps.github.io/basemaps-assets/fonts/{fontstack}/{range}.pbf", + this.sprites, }); - /// The [Logger] that gets provided to vector_map_tiles + /// The [Logger] that gets provided to vector_map_tiles. final Logger? logger; - /// A Map of Tile Sources + /// A Map of Tile Sources. final Map sources; - /// An URL template for the glyphs + /// An URL template for the glyphs. final String glyphs; + /// An URL template for the sprites. + final String? sprites; + /// build the [Theme]. Theme build(List> layers) => ThemeReader(logger: logger).read({ @@ -47,25 +47,77 @@ class ProtomapsThemes { "sources": sources, "layers": layers, "glyphs": glyphs, + if (sprites != null) "sprite": sprites, }); - /// Default Protomaps black theme - static Theme black({Logger? logger}) => - ProtomapsThemes(logger: logger).build(_themeBlack); + /// Prefer to use a versioned theme. + @Deprecated('Prefer to use a versioned theme') + static Theme black({Logger? logger}) => blackV3(logger: logger); + + /// Prefer to use a versioned theme. + @Deprecated('Prefer to use a versioned theme') + static Theme dark({Logger? logger}) => darkV3(logger: logger); + + /// Prefer to use a versioned theme. + @Deprecated('Prefer to use a versioned theme') + static Theme grayscale({Logger? logger}) => grayscaleV3(logger: logger); + + /// Prefer to use a versioned theme. + @Deprecated('Prefer to use a versioned theme') + static Theme light({Logger? logger}) => lightV3(logger: logger); + + /// Prefer to use a versioned theme. + @Deprecated('Prefer to use a versioned theme') + static Theme white({Logger? logger}) => whiteV3(logger: logger); + + /// Protomaps black theme version 3. + static Theme blackV3({Logger? logger}) => + ProtomapsThemes(logger: logger).build(v3.themeBlack); + + /// Protomaps dark theme version 3. + static Theme darkV3({Logger? logger}) => + ProtomapsThemes(logger: logger).build(v3.themeDark); + + /// Protomaps grayscale theme version 3. + static Theme grayscaleV3({Logger? logger}) => + ProtomapsThemes(logger: logger).build(v3.themeGrayscale); + + /// Protomaps light theme version 3. + static Theme lightV3({Logger? logger}) => + ProtomapsThemes(logger: logger).build(v3.themeLight); + + /// Protomaps white theme version 3. + static Theme whiteV3({Logger? logger}) => + ProtomapsThemes(logger: logger).build(v3.themeWhite); + + /// Protomaps black theme version 4. + static Theme blackV4({Logger? logger}) => ProtomapsThemes( + logger: logger, + sprites: 'https://protomaps.github.io/basemaps-assets/sprites/v4/black', + ).build(v4.themeBlack); - /// Default Protomaps dark theme - static Theme dark({Logger? logger}) => - ProtomapsThemes(logger: logger).build(_themeDark); + /// Protomaps dark theme version 4. + static Theme darkV4({Logger? logger}) => ProtomapsThemes( + logger: logger, + sprites: 'https://protomaps.github.io/basemaps-assets/sprites/v4/dark', + ).build(v4.themeDark); - /// Default Protomaps grayscale theme - static Theme grayscale({Logger? logger}) => - ProtomapsThemes(logger: logger).build(_themeGrayscale); + /// Protomaps grayscale theme version 4. + static Theme grayscaleV4({Logger? logger}) => ProtomapsThemes( + logger: logger, + sprites: + 'https://protomaps.github.io/basemaps-assets/sprites/v4/grayscale', + ).build(v4.themeGrayscale); - /// Default Protomaps light theme - static Theme light({Logger? logger}) => - ProtomapsThemes(logger: logger).build(_themeLight); + /// Protomaps light theme version 4. + static Theme lightV4({Logger? logger}) => ProtomapsThemes( + logger: logger, + sprites: 'https://protomaps.github.io/basemaps-assets/sprites/v4/light', + ).build(v4.themeLight); - /// Default Protomaps white theme - static Theme white({Logger? logger}) => - ProtomapsThemes(logger: logger).build(_themeWhite); + /// Protomaps white theme version 4. + static Theme whiteV4({Logger? logger}) => ProtomapsThemes( + logger: logger, + sprites: 'https://protomaps.github.io/basemaps-assets/sprites/v4/white', + ).build(v4.themeWhite); } diff --git a/vector_map_tiles_pmtiles/lib/src/themes/v3/_package.dart b/vector_map_tiles_pmtiles/lib/src/themes/v3/_package.dart new file mode 100644 index 0000000..e8a3ae4 --- /dev/null +++ b/vector_map_tiles_pmtiles/lib/src/themes/v3/_package.dart @@ -0,0 +1,7 @@ +// ignore_for_file: prefer_single_quotes, require_trailing_commas + +part 'black.dart'; +part 'dark.dart'; +part 'grayscale.dart'; +part 'light.dart'; +part 'white.dart'; diff --git a/vector_map_tiles_pmtiles/lib/src/themes/black.dart b/vector_map_tiles_pmtiles/lib/src/themes/v3/black.dart similarity index 99% rename from vector_map_tiles_pmtiles/lib/src/themes/black.dart rename to vector_map_tiles_pmtiles/lib/src/themes/v3/black.dart index 66e9228..3092b0f 100644 --- a/vector_map_tiles_pmtiles/lib/src/themes/black.dart +++ b/vector_map_tiles_pmtiles/lib/src/themes/v3/black.dart @@ -1,8 +1,9 @@ -part of 'protomaps_themes.dart'; +part of '_package.dart'; // ignore_for_file: prefer_single_quotes, require_trailing_commas -const _themeBlack = [ +/// https://docs.protomaps.com/basemaps/themes#black +const themeBlack = [ { "id": "background", "type": "background", diff --git a/vector_map_tiles_pmtiles/lib/src/themes/dark.dart b/vector_map_tiles_pmtiles/lib/src/themes/v3/dark.dart similarity index 99% rename from vector_map_tiles_pmtiles/lib/src/themes/dark.dart rename to vector_map_tiles_pmtiles/lib/src/themes/v3/dark.dart index b4bc509..dfe6d18 100644 --- a/vector_map_tiles_pmtiles/lib/src/themes/dark.dart +++ b/vector_map_tiles_pmtiles/lib/src/themes/v3/dark.dart @@ -1,8 +1,9 @@ -part of 'protomaps_themes.dart'; +part of '_package.dart'; // ignore_for_file: prefer_single_quotes, require_trailing_commas -const _themeDark = [ +/// https://docs.protomaps.com/basemaps/themes#dark +const themeDark = [ { "id": "background", "type": "background", diff --git a/vector_map_tiles_pmtiles/lib/src/themes/grayscale.dart b/vector_map_tiles_pmtiles/lib/src/themes/v3/grayscale.dart similarity index 99% rename from vector_map_tiles_pmtiles/lib/src/themes/grayscale.dart rename to vector_map_tiles_pmtiles/lib/src/themes/v3/grayscale.dart index 6510da3..f6c20d2 100644 --- a/vector_map_tiles_pmtiles/lib/src/themes/grayscale.dart +++ b/vector_map_tiles_pmtiles/lib/src/themes/v3/grayscale.dart @@ -1,8 +1,9 @@ -part of 'protomaps_themes.dart'; +part of '_package.dart'; // ignore_for_file: prefer_single_quotes, require_trailing_commas -const _themeGrayscale = [ +/// https://docs.protomaps.com/basemaps/themes#grayscale +const themeGrayscale = [ { "id": "background", "type": "background", diff --git a/vector_map_tiles_pmtiles/lib/src/themes/light.dart b/vector_map_tiles_pmtiles/lib/src/themes/v3/light.dart similarity index 99% rename from vector_map_tiles_pmtiles/lib/src/themes/light.dart rename to vector_map_tiles_pmtiles/lib/src/themes/v3/light.dart index 233bf59..47dafd4 100644 --- a/vector_map_tiles_pmtiles/lib/src/themes/light.dart +++ b/vector_map_tiles_pmtiles/lib/src/themes/v3/light.dart @@ -1,8 +1,9 @@ -part of 'protomaps_themes.dart'; +part of '_package.dart'; // ignore_for_file: prefer_single_quotes, require_trailing_commas -const _themeLight = [ +/// https://docs.protomaps.com/basemaps/themes#light +const themeLight = [ { "id": "background", "type": "background", diff --git a/vector_map_tiles_pmtiles/lib/src/themes/white.dart b/vector_map_tiles_pmtiles/lib/src/themes/v3/white.dart similarity index 99% rename from vector_map_tiles_pmtiles/lib/src/themes/white.dart rename to vector_map_tiles_pmtiles/lib/src/themes/v3/white.dart index 3a5ba28..0edcd6f 100644 --- a/vector_map_tiles_pmtiles/lib/src/themes/white.dart +++ b/vector_map_tiles_pmtiles/lib/src/themes/v3/white.dart @@ -1,8 +1,9 @@ -part of 'protomaps_themes.dart'; +part of '_package.dart'; // ignore_for_file: prefer_single_quotes, require_trailing_commas -const _themeWhite = [ +/// https://docs.protomaps.com/basemaps/themes#white +const themeWhite = [ { "id": "background", "type": "background", diff --git a/vector_map_tiles_pmtiles/lib/src/themes/v4/_package.dart b/vector_map_tiles_pmtiles/lib/src/themes/v4/_package.dart new file mode 100644 index 0000000..e8a3ae4 --- /dev/null +++ b/vector_map_tiles_pmtiles/lib/src/themes/v4/_package.dart @@ -0,0 +1,7 @@ +// ignore_for_file: prefer_single_quotes, require_trailing_commas + +part 'black.dart'; +part 'dark.dart'; +part 'grayscale.dart'; +part 'light.dart'; +part 'white.dart'; diff --git a/vector_map_tiles_pmtiles/lib/src/themes/v4/black.dart b/vector_map_tiles_pmtiles/lib/src/themes/v4/black.dart new file mode 100644 index 0000000..1ec4332 --- /dev/null +++ b/vector_map_tiles_pmtiles/lib/src/themes/v4/black.dart @@ -0,0 +1,6187 @@ +part of '_package.dart'; + +// ignore_for_file: prefer_single_quotes, require_trailing_commas + +/// https://docs.protomaps.com/basemaps/themes#black +const themeBlack = [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "#2b2b2b"} + }, + { + "id": "earth", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "earth", + "paint": {"fill-color": "#141414"} + }, + { + "id": "landuse_park", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "national_park", + "park", + "cemetery", + "protected_area", + "nature_reserve", + "forest", + "golf_course" + ], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#181818", + 12, + "#181818" + ] + } + }, + { + "id": "landuse_urban_green", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "allotments", "village_green", "playground"], + "paint": {"fill-color": "#181818", "fill-opacity": 0.7} + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "hospital"], + "paint": {"fill-color": "#1d1d1d"} + }, + { + "id": "landuse_industrial", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "industrial"], + "paint": {"fill-color": "#101010"} + }, + { + "id": "landuse_school", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "school", "university", "college"], + "paint": {"fill-color": "#111111"} + }, + { + "id": "landuse_beach", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "beach"], + "paint": {"fill-color": "#1f1f1f"} + }, + { + "id": "landuse_zoo", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "zoo"], + "paint": {"fill-color": "#191919"} + }, + { + "id": "landuse_military", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "military", "naval_base", "airfield"], + "paint": {"fill-color": "#191919"} + }, + { + "id": "landuse_wood", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "wood", "nature_reserve", "forest"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#1a1a1a", + 12, + "#1a1a1a" + ] + } + }, + { + "id": "landuse_scrub", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "scrub", "grassland", "grass"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#1c1c1c", + 12, + "#1c1c1c" + ] + } + }, + { + "id": "landuse_glacier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "glacier"], + "paint": {"fill-color": "#191919"} + }, + { + "id": "landuse_sand", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "sand"], + "paint": {"fill-color": "#161616"} + }, + { + "id": "landuse_aerodrome", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "aerodrome"], + "paint": {"fill-color": "#191919"} + }, + { + "id": "roads_runway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "runway"], + "paint": { + "line-color": "#323232", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 10, + 0, + 12, + 4, + 18, + 30 + ] + } + }, + { + "id": "roads_taxiway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["==", "kind_detail", "taxiway"], + "paint": { + "line-color": "#323232", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 15, + 6 + ] + } + }, + { + "id": "landuse_runway", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + ["in", "kind", "runway", "taxiway"] + ], + "paint": {"fill-color": "#323232"} + }, + { + "id": "water", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "water", + "paint": {"fill-color": "#333333"} + }, + { + "id": "water_stream", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 14, + "filter": ["in", "kind", "stream"], + "paint": {"line-color": "#333333", "line-width": 0.5} + }, + { + "id": "water_river", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 9, + "filter": ["in", "kind", "river"], + "paint": { + "line-color": "#333333", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1, + 18, + 12 + ] + } + }, + { + "id": "landuse_pedestrian", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pedestrian"], + "paint": {"fill-color": "#191919"} + }, + { + "id": "landuse_pier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pier"], + "paint": {"fill-color": "#0a0a0a"} + }, + { + "id": "roads_tunnels_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#101010", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#101010", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#101010", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#101010", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#101010", + "line-dasharray": [6, 0.5], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_tunnels_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#292929", + "line-dasharray": [4.5, 0.5], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + [ + "==", + ["get", "kind"], + "highway" + ], + [ + "!", + ["has", "is_link"] + ] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "buildings", + "type": "fill", + "source": "protomaps", + "source-layer": "buildings", + "paint": {"fill-color": "#0a0a0a", "fill-opacity": 0.5} + }, + { + "id": "roads_pier", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "pier"], + "paint": { + "line-color": "#0a0a0a", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 0.5, + 20, + 16 + ] + } + }, + { + "id": "roads_minor_service_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["has", "is_link"], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1.5 + ] + } + }, + { + "id": "roads_major_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_highway_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["in", "kind", "other", "path"], + ["!=", "kind_detail", "pier"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-dasharray": [3, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["has", "is_link"], + "paint": { + "line-color": "#1f1f1f", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_minor_service", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ] + } + }, + { + "id": "roads_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + "#292929", + 16, + "#1f1f1f" + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_major_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_highway_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1 + ] + } + }, + { + "id": "roads_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "roads_rail", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind", "rail"], + "paint": { + "line-dasharray": [0.3, 0.75], + "line-opacity": 0.5, + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 0.15, + 18, + 9 + ] + } + }, + { + "id": "boundaries_country", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": ["<=", "kind_detail", 2], + "paint": { + "line-color": "#707070", + "line-width": 1, + "line-dasharray": [3, 2] + } + }, + { + "id": "boundaries", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [">", "kind_detail", 2], + "paint": { + "line-color": "#707070", + "line-width": 0.5, + "line-dasharray": [3, 2] + } + }, + { + "id": "roads_bridges_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_bridges_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 10 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-dasharray": [2, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_bridges_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "water_waterway_label", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "minzoom": 13, + "filter": ["in", "kind", "river", "stream"], + "layout": { + "symbol-placement": "line", + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12, + "text-letter-spacing": 0.2 + }, + "paint": {"text-color": "#707070"} + }, + { + "id": "roads_labels_minor", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 15, + "filter": ["in", "kind", "minor_road", "other", "path"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#525252", + "text-halo-color": "#141414", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "water_label_ocean", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": [ + "in", + "kind", + "sea", + "ocean", + "lake", + "water", + "bay", + "strait", + "fjord" + ], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 10, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-transform": "uppercase" + }, + "paint": {"text-color": "#707070"} + }, + { + "id": "water_label_lakes", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": ["in", "kind", "lake", "water"], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 0, + 6, + 12, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9 + }, + "paint": {"text-color": "#707070"} + }, + { + "id": "roads_labels_major", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 11, + "filter": ["in", "kind", "highway", "major_road"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#5c5c5c", + "text-halo-color": "#141414", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_subplace", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "neighbourhood"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 7, + "text-letter-spacing": 0.1, + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 2, + 8, + 4, + 12, + 18, + 15, + 20 + ], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 8, + 14, + 14, + 18, + 24 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#5c5c5c", + "text-halo-color": "#141414", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_locality", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "locality"], + "layout": { + "icon-image": [ + "step", + ["zoom"], + "townspot", + 8, + "" + ], + "icon-size": 0.7, + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": [ + "case", + [ + "<=", + ["get", "min_zoom"], + 5 + ], + [ + "literal", + ["Noto Sans Medium"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ], + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 3, + 8, + 7, + 12, + 11 + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 13, + 0 + ], + 4, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 15, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 12 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 12 + ], + 17, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 11 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 11 + ], + 18, + 0 + ], + 10, + [ + "case", + [ + "<", + ["get", "population_rank"], + 9 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 9 + ], + 20, + 0 + ], + 15, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 22, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 0, + 8, + 4, + 10, + 8, + 12, + 6, + 22, + 2 + ], + "text-justify": "auto", + "text-anchor": [ + "step", + ["zoom"], + "left", + 8, + "center" + ], + "text-radial-offset": 0.4 + }, + "paint": { + "text-color": "#999999", + "text-halo-color": "#141414", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_region", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "region"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "step", + ["zoom"], + ["get", "name:short"], + 6, + [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 11, + 7, + 16 + ], + "text-radial-offset": 0.2, + "text-anchor": "center", + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#3d3d3d", + "text-halo-color": "#141414", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_country", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "country"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {} + ], + "text-font": ["Noto Sans Medium"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 10 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 10 + ], + 12, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 18, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 7 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 7 + ], + 20, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 2, + 14, + 2, + 16, + 20, + 17, + 2, + 22, + 2 + ], + "text-transform": "uppercase" + }, + "paint": {"text-color": "#707070"} + } +]; diff --git a/vector_map_tiles_pmtiles/lib/src/themes/v4/dark.dart b/vector_map_tiles_pmtiles/lib/src/themes/v4/dark.dart new file mode 100644 index 0000000..bf4402d --- /dev/null +++ b/vector_map_tiles_pmtiles/lib/src/themes/v4/dark.dart @@ -0,0 +1,6774 @@ +part of '_package.dart'; + +// ignore_for_file: prefer_single_quotes, require_trailing_commas + +/// https://docs.protomaps.com/basemaps/themes#dark +const themeDark = [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "#34373d"} + }, + { + "id": "earth", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "earth", + "paint": {"fill-color": "#1f1f1f"} + }, + { + "id": "landuse_park", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "national_park", + "park", + "cemetery", + "protected_area", + "nature_reserve", + "forest", + "golf_course" + ], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#232325", + 12, + "#232325" + ] + } + }, + { + "id": "landuse_urban_green", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "allotments", "village_green", "playground"], + "paint": {"fill-color": "#232325", "fill-opacity": 0.7} + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "hospital"], + "paint": {"fill-color": "#252424"} + }, + { + "id": "landuse_industrial", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "industrial"], + "paint": {"fill-color": "#222222"} + }, + { + "id": "landuse_school", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "school", "university", "college"], + "paint": {"fill-color": "#262323"} + }, + { + "id": "landuse_beach", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "beach"], + "paint": {"fill-color": "#28282a"} + }, + { + "id": "landuse_zoo", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "zoo"], + "paint": {"fill-color": "#222323"} + }, + { + "id": "landuse_military", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "military", "naval_base", "airfield"], + "paint": {"fill-color": "#222323"} + }, + { + "id": "landuse_wood", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "wood", "nature_reserve", "forest"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#202121", + 12, + "#202121" + ] + } + }, + { + "id": "landuse_scrub", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "scrub", "grassland", "grass"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#222323", + 12, + "#222323" + ] + } + }, + { + "id": "landuse_glacier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "glacier"], + "paint": {"fill-color": "#1c1c1c"} + }, + { + "id": "landuse_sand", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "sand"], + "paint": {"fill-color": "#212123"} + }, + { + "id": "landuse_aerodrome", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "aerodrome"], + "paint": {"fill-color": "#1e1e1e"} + }, + { + "id": "roads_runway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "runway"], + "paint": { + "line-color": "#333333", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 10, + 0, + 12, + 4, + 18, + 30 + ] + } + }, + { + "id": "roads_taxiway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["==", "kind_detail", "taxiway"], + "paint": { + "line-color": "#333333", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 15, + 6 + ] + } + }, + { + "id": "landuse_runway", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + ["in", "kind", "runway", "taxiway"] + ], + "paint": {"fill-color": "#333333"} + }, + { + "id": "water", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "water", + "paint": {"fill-color": "#34373d"} + }, + { + "id": "water_stream", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 14, + "filter": ["in", "kind", "stream"], + "paint": {"line-color": "#34373d", "line-width": 0.5} + }, + { + "id": "water_river", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 9, + "filter": ["in", "kind", "river"], + "paint": { + "line-color": "#34373d", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1, + 18, + 12 + ] + } + }, + { + "id": "landuse_pedestrian", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pedestrian"], + "paint": {"fill-color": "#1e1e1e"} + }, + { + "id": "landuse_pier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pier"], + "paint": {"fill-color": "#333333"} + }, + { + "id": "roads_tunnels_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#141414", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#141414", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#141414", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#141414", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#141414", + "line-dasharray": [6, 0.5], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_tunnels_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#292929", + "line-dasharray": [4.5, 0.5], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + [ + "==", + ["get", "kind"], + "highway" + ], + [ + "!", + ["has", "is_link"] + ] + ], + "paint": { + "line-color": "#292929", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "buildings", + "type": "fill", + "source": "protomaps", + "source-layer": "buildings", + "paint": {"fill-color": "#111111", "fill-opacity": 0.5} + }, + { + "id": "roads_pier", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "pier"], + "paint": { + "line-color": "#333333", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 0.5, + 20, + 16 + ] + } + }, + { + "id": "roads_minor_service_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["has", "is_link"], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1.5 + ] + } + }, + { + "id": "roads_major_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_highway_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["in", "kind", "other", "path"], + ["!=", "kind_detail", "pier"] + ], + "paint": { + "line-color": "#333333", + "line-dasharray": [3, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["has", "is_link"], + "paint": { + "line-color": "#3d3d3d", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_minor_service", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#333333", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ] + } + }, + { + "id": "roads_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + "#3d3d3d", + 16, + "#333333" + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_major_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#3d3d3d", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_highway_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1 + ] + } + }, + { + "id": "roads_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#474747", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "roads_rail", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind", "rail"], + "paint": { + "line-dasharray": [0.3, 0.75], + "line-opacity": 0.5, + "line-color": "#000000", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 0.15, + 18, + 9 + ] + } + }, + { + "id": "boundaries_country", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": ["<=", "kind_detail", 2], + "paint": { + "line-color": "#5b6374", + "line-width": 1, + "line-dasharray": [3, 2] + } + }, + { + "id": "boundaries", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [">", "kind_detail", 2], + "paint": { + "line-color": "#5b6374", + "line-width": 0.5, + "line-dasharray": [3, 2] + } + }, + { + "id": "roads_bridges_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#2b2b2b", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_bridges_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 10 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#333333", + "line-dasharray": [2, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#333333", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#333333", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#3d3d3d", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#1f1f1f", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_bridges_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#474747", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "water_waterway_label", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "minzoom": 13, + "filter": ["in", "kind", "river", "stream"], + "layout": { + "symbol-placement": "line", + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12, + "text-letter-spacing": 0.2 + }, + "paint": {"text-color": "#717784"} + }, + { + "id": "roads_labels_minor", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 15, + "filter": ["in", "kind", "minor_road", "other", "path"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#525252", + "text-halo-color": "#1f1f1f", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "water_label_ocean", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": [ + "in", + "kind", + "sea", + "ocean", + "lake", + "water", + "bay", + "strait", + "fjord" + ], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 10, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-transform": "uppercase" + }, + "paint": {"text-color": "#717784"} + }, + { + "id": "water_label_lakes", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": ["in", "kind", "lake", "water"], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 0, + 6, + 12, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9 + }, + "paint": {"text-color": "#717784"} + }, + { + "id": "roads_labels_major", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 11, + "filter": ["in", "kind", "highway", "major_road"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#666666", + "text-halo-color": "#1f1f1f", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "pois", + "type": "symbol", + "source": "protomaps", + "source-layer": "pois", + "filter": [ + "all", + [ + "in", + ["get", "kind"], + [ + "literal", + ["beach", "forest", "marina", "park", "peak", "zoo"] + ] + ], + [ + ">=", + ["zoom"], + ["get", "min_zoom"] + ] + ], + "layout": { + "icon-image": ["get", "kind"], + "text-font": ["Noto Sans Regular"], + "text-justify": "auto", + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 10, + "text-max-width": 8, + "text-offset": [1, 0], + "text-variable-anchor": ["left", "right"] + }, + "paint": { + "text-color": [ + "case", + [ + "in", + ["get", "kind"], + [ + "literal", + ["beach", "forest", "marina", "park", "peak", "zoo"] + ] + ], + "#30C573", + "#1f1f1f" + ] + } + }, + { + "id": "places_subplace", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "neighbourhood"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 7, + "text-letter-spacing": 0.1, + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 2, + 8, + 4, + 12, + 18, + 15, + 20 + ], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 8, + 14, + 14, + 18, + 24 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#525252", + "text-halo-color": "#1f1f1f", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_locality", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "locality"], + "layout": { + "icon-image": [ + "step", + ["zoom"], + "townspot", + 8, + "" + ], + "icon-size": 0.7, + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": [ + "case", + [ + "<=", + ["get", "min_zoom"], + 5 + ], + [ + "literal", + ["Noto Sans Medium"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ], + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 3, + 8, + 7, + 12, + 11 + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 13, + 0 + ], + 4, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 15, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 12 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 12 + ], + 17, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 11 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 11 + ], + 18, + 0 + ], + 10, + [ + "case", + [ + "<", + ["get", "population_rank"], + 9 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 9 + ], + 20, + 0 + ], + 15, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 22, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 0, + 8, + 4, + 10, + 8, + 12, + 6, + 22, + 2 + ], + "text-justify": "auto", + "text-anchor": [ + "step", + ["zoom"], + "left", + 8, + "center" + ], + "text-radial-offset": 0.4 + }, + "paint": { + "text-color": "#7a7a7a", + "text-halo-color": "#212121", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_region", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "region"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "step", + ["zoom"], + ["get", "name:short"], + 6, + [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 11, + 7, + 16 + ], + "text-radial-offset": 0.2, + "text-anchor": "center", + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#3d3d3d", + "text-halo-color": "#1f1f1f", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_country", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "country"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {} + ], + "text-font": ["Noto Sans Medium"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 10 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 10 + ], + 12, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 18, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 7 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 7 + ], + 20, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 2, + 14, + 2, + 16, + 20, + 17, + 2, + 22, + 2 + ], + "text-transform": "uppercase" + }, + "paint": {"text-color": "#5c5c5c"} + } +]; diff --git a/vector_map_tiles_pmtiles/lib/src/themes/v4/grayscale.dart b/vector_map_tiles_pmtiles/lib/src/themes/v4/grayscale.dart new file mode 100644 index 0000000..f79b0f6 --- /dev/null +++ b/vector_map_tiles_pmtiles/lib/src/themes/v4/grayscale.dart @@ -0,0 +1,6187 @@ +part of '_package.dart'; + +// ignore_for_file: prefer_single_quotes, require_trailing_commas + +/// https://docs.protomaps.com/basemaps/themes#grayscale +const themeGrayscale = [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "#a3a3a3"} + }, + { + "id": "earth", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "earth", + "paint": {"fill-color": "#cccccc"} + }, + { + "id": "landuse_park", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "national_park", + "park", + "cemetery", + "protected_area", + "nature_reserve", + "forest", + "golf_course" + ], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#c2c2c2", + 12, + "#c2c2c2" + ] + } + }, + { + "id": "landuse_urban_green", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "allotments", "village_green", "playground"], + "paint": {"fill-color": "#c2c2c2", "fill-opacity": 0.7} + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "hospital"], + "paint": {"fill-color": "#d0d0d0"} + }, + { + "id": "landuse_industrial", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "industrial"], + "paint": {"fill-color": "#c6c6c6"} + }, + { + "id": "landuse_school", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "school", "university", "college"], + "paint": {"fill-color": "#d0d0d0"} + }, + { + "id": "landuse_beach", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "beach"], + "paint": {"fill-color": "#d2d2d2"} + }, + { + "id": "landuse_zoo", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "zoo"], + "paint": {"fill-color": "#c7c7c7"} + }, + { + "id": "landuse_military", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "military", "naval_base", "airfield"], + "paint": {"fill-color": "#c7c7c7"} + }, + { + "id": "landuse_wood", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "wood", "nature_reserve", "forest"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#c2c2c2", + 12, + "#c2c2c2" + ] + } + }, + { + "id": "landuse_scrub", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "scrub", "grassland", "grass"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#c2c2c2", + 12, + "#c2c2c2" + ] + } + }, + { + "id": "landuse_glacier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "glacier"], + "paint": {"fill-color": "#d2d2d2"} + }, + { + "id": "landuse_sand", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "sand"], + "paint": {"fill-color": "#d2d2d2"} + }, + { + "id": "landuse_aerodrome", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "aerodrome"], + "paint": {"fill-color": "#c9c9c9"} + }, + { + "id": "roads_runway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "runway"], + "paint": { + "line-color": "#f5f5f5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 10, + 0, + 12, + 4, + 18, + 30 + ] + } + }, + { + "id": "roads_taxiway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["==", "kind_detail", "taxiway"], + "paint": { + "line-color": "#f5f5f5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 15, + 6 + ] + } + }, + { + "id": "landuse_runway", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + ["in", "kind", "runway", "taxiway"] + ], + "paint": {"fill-color": "#f5f5f5"} + }, + { + "id": "water", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "water", + "paint": {"fill-color": "#a3a3a3"} + }, + { + "id": "water_stream", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 14, + "filter": ["in", "kind", "stream"], + "paint": {"line-color": "#a3a3a3", "line-width": 0.5} + }, + { + "id": "water_river", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 9, + "filter": ["in", "kind", "river"], + "paint": { + "line-color": "#a3a3a3", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1, + 18, + 12 + ] + } + }, + { + "id": "landuse_pedestrian", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pedestrian"], + "paint": {"fill-color": "#c4c4c4"} + }, + { + "id": "landuse_pier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pier"], + "paint": {"fill-color": "#b8b8b8"} + }, + { + "id": "roads_tunnels_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#b8b8b8", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#b8b8b8", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#b8b8b8", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#b8b8b8", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#b8b8b8", + "line-dasharray": [6, 0.5], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_tunnels_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-dasharray": [4.5, 0.5], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + [ + "==", + ["get", "kind"], + "highway" + ], + [ + "!", + ["has", "is_link"] + ] + ], + "paint": { + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "buildings", + "type": "fill", + "source": "protomaps", + "source-layer": "buildings", + "paint": {"fill-color": "#e0e0e0", "fill-opacity": 0.5} + }, + { + "id": "roads_pier", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "pier"], + "paint": { + "line-color": "#b8b8b8", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 0.5, + 20, + 16 + ] + } + }, + { + "id": "roads_minor_service_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["has", "is_link"], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1.5 + ] + } + }, + { + "id": "roads_major_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_highway_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["in", "kind", "other", "path"], + ["!=", "kind_detail", "pier"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [3, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["has", "is_link"], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_minor_service", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ] + } + }, + { + "id": "roads_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + "#ebebeb", + 16, + "#e0e0e0" + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_major_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_highway_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1 + ] + } + }, + { + "id": "roads_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "roads_rail", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind", "rail"], + "paint": { + "line-dasharray": [0.3, 0.75], + "line-opacity": 0.5, + "line-color": "#f5f5f5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 0.15, + 18, + 9 + ] + } + }, + { + "id": "boundaries_country", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": ["<=", "kind_detail", 2], + "paint": { + "line-color": "#5c5c5c", + "line-width": 1, + "line-dasharray": [3, 2] + } + }, + { + "id": "boundaries", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [">", "kind_detail", 2], + "paint": { + "line-color": "#5c5c5c", + "line-width": 0.5, + "line-dasharray": [3, 2] + } + }, + { + "id": "roads_bridges_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_bridges_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 10 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [2, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#cccccc", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_bridges_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "water_waterway_label", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "minzoom": 13, + "filter": ["in", "kind", "river", "stream"], + "layout": { + "symbol-placement": "line", + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12, + "text-letter-spacing": 0.2 + }, + "paint": {"text-color": "#7a7a7a"} + }, + { + "id": "roads_labels_minor", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 15, + "filter": ["in", "kind", "minor_road", "other", "path"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#999999", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "water_label_ocean", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": [ + "in", + "kind", + "sea", + "ocean", + "lake", + "water", + "bay", + "strait", + "fjord" + ], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 10, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-transform": "uppercase" + }, + "paint": {"text-color": "#7a7a7a"} + }, + { + "id": "water_label_lakes", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": ["in", "kind", "lake", "water"], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 0, + 6, + 12, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9 + }, + "paint": {"text-color": "#7a7a7a"} + }, + { + "id": "roads_labels_major", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 11, + "filter": ["in", "kind", "highway", "major_road"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#8f8f8f", + "text-halo-color": "#ebebeb", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_subplace", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "neighbourhood"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 7, + "text-letter-spacing": 0.1, + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 2, + 8, + 4, + 12, + 18, + 15, + 20 + ], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 8, + 14, + 14, + 18, + 24 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#7a7a7a", + "text-halo-color": "#cccccc", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_locality", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "locality"], + "layout": { + "icon-image": [ + "step", + ["zoom"], + "townspot", + 8, + "" + ], + "icon-size": 0.7, + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": [ + "case", + [ + "<=", + ["get", "min_zoom"], + 5 + ], + [ + "literal", + ["Noto Sans Medium"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ], + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 3, + 8, + 7, + 12, + 11 + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 13, + 0 + ], + 4, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 15, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 12 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 12 + ], + 17, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 11 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 11 + ], + 18, + 0 + ], + 10, + [ + "case", + [ + "<", + ["get", "population_rank"], + 9 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 9 + ], + 20, + 0 + ], + 15, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 22, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 0, + 8, + 4, + 10, + 8, + 12, + 6, + 22, + 2 + ], + "text-justify": "auto", + "text-anchor": [ + "step", + ["zoom"], + "left", + 8, + "center" + ], + "text-radial-offset": 0.4 + }, + "paint": { + "text-color": "#474747", + "text-halo-color": "#cccccc", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_region", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "region"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "step", + ["zoom"], + ["get", "name:short"], + 6, + [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 11, + 7, + 16 + ], + "text-radial-offset": 0.2, + "text-anchor": "center", + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#999999", + "text-halo-color": "#cccccc", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_country", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "country"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {} + ], + "text-font": ["Noto Sans Medium"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 10 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 10 + ], + 12, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 18, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 7 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 7 + ], + 20, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 2, + 14, + 2, + 16, + 20, + 17, + 2, + 22, + 2 + ], + "text-transform": "uppercase" + }, + "paint": {"text-color": "#858585"} + } +]; diff --git a/vector_map_tiles_pmtiles/lib/src/themes/v4/light.dart b/vector_map_tiles_pmtiles/lib/src/themes/v4/light.dart new file mode 100644 index 0000000..3a5af87 --- /dev/null +++ b/vector_map_tiles_pmtiles/lib/src/themes/v4/light.dart @@ -0,0 +1,6774 @@ +part of '_package.dart'; + +// ignore_for_file: prefer_single_quotes, require_trailing_commas + +/// https://docs.protomaps.com/basemaps/themes#light +const themeLight = [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "#cccccc"} + }, + { + "id": "earth", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "earth", + "paint": {"fill-color": "#e0e0e0"} + }, + { + "id": "landuse_park", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "national_park", + "park", + "cemetery", + "protected_area", + "nature_reserve", + "forest", + "golf_course" + ], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#cfddd5", + 12, + "#9cd3b4" + ] + } + }, + { + "id": "landuse_urban_green", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "allotments", "village_green", "playground"], + "paint": {"fill-color": "#9cd3b4", "fill-opacity": 0.7} + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "hospital"], + "paint": {"fill-color": "#e4dad9"} + }, + { + "id": "landuse_industrial", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "industrial"], + "paint": {"fill-color": "#d1dde1"} + }, + { + "id": "landuse_school", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "school", "university", "college"], + "paint": {"fill-color": "#e4ded7"} + }, + { + "id": "landuse_beach", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "beach"], + "paint": {"fill-color": "#e8e4d0"} + }, + { + "id": "landuse_zoo", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "zoo"], + "paint": {"fill-color": "#c6dcdc"} + }, + { + "id": "landuse_military", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "military", "naval_base", "airfield"], + "paint": {"fill-color": "#c6dcdc"} + }, + { + "id": "landuse_wood", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "wood", "nature_reserve", "forest"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#d0ded0", + 12, + "#a0d9a0" + ] + } + }, + { + "id": "landuse_scrub", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "scrub", "grassland", "grass"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#cedcd7", + 12, + "#99d2bb" + ] + } + }, + { + "id": "landuse_glacier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "glacier"], + "paint": {"fill-color": "#e7e7e7"} + }, + { + "id": "landuse_sand", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "sand"], + "paint": {"fill-color": "#e2e0d7"} + }, + { + "id": "landuse_aerodrome", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "aerodrome"], + "paint": {"fill-color": "#dadbdf"} + }, + { + "id": "roads_runway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "runway"], + "paint": { + "line-color": "#e9e9ed", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 10, + 0, + 12, + 4, + 18, + 30 + ] + } + }, + { + "id": "roads_taxiway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["==", "kind_detail", "taxiway"], + "paint": { + "line-color": "#e9e9ed", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 15, + 6 + ] + } + }, + { + "id": "landuse_runway", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + ["in", "kind", "runway", "taxiway"] + ], + "paint": {"fill-color": "#e9e9ed"} + }, + { + "id": "water", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "water", + "paint": {"fill-color": "#80deea"} + }, + { + "id": "water_stream", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 14, + "filter": ["in", "kind", "stream"], + "paint": {"line-color": "#80deea", "line-width": 0.5} + }, + { + "id": "water_river", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 9, + "filter": ["in", "kind", "river"], + "paint": { + "line-color": "#80deea", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1, + 18, + 12 + ] + } + }, + { + "id": "landuse_pedestrian", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pedestrian"], + "paint": {"fill-color": "#e3e0d4"} + }, + { + "id": "landuse_pier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pier"], + "paint": {"fill-color": "#e0e0e0"} + }, + { + "id": "roads_tunnels_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-dasharray": [6, 0.5], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_tunnels_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#d5d5d5", + "line-dasharray": [4.5, 0.5], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + [ + "==", + ["get", "kind"], + "highway" + ], + [ + "!", + ["has", "is_link"] + ] + ], + "paint": { + "line-color": "#d5d5d5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "buildings", + "type": "fill", + "source": "protomaps", + "source-layer": "buildings", + "paint": {"fill-color": "#cccccc", "fill-opacity": 0.5} + }, + { + "id": "roads_pier", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "pier"], + "paint": { + "line-color": "#e0e0e0", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 0.5, + 20, + 16 + ] + } + }, + { + "id": "roads_minor_service_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["has", "is_link"], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1.5 + ] + } + }, + { + "id": "roads_major_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_highway_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["in", "kind", "other", "path"], + ["!=", "kind_detail", "pier"] + ], + "paint": { + "line-color": "#ebebeb", + "line-dasharray": [3, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["has", "is_link"], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_minor_service", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ] + } + }, + { + "id": "roads_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + "#ebebeb", + 16, + "#ffffff" + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_major_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_highway_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1 + ] + } + }, + { + "id": "roads_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "roads_rail", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind", "rail"], + "paint": { + "line-dasharray": [0.3, 0.75], + "line-opacity": 0.5, + "line-color": "#a7b1b3", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 0.15, + 18, + 9 + ] + } + }, + { + "id": "boundaries_country", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": ["<=", "kind_detail", 2], + "paint": { + "line-color": "#adadad", + "line-width": 1, + "line-dasharray": [3, 2] + } + }, + { + "id": "boundaries", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [">", "kind_detail", 2], + "paint": { + "line-color": "#adadad", + "line-width": 0.5, + "line-dasharray": [3, 2] + } + }, + { + "id": "roads_bridges_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_bridges_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 10 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#ebebeb", + "line-dasharray": [2, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#f5f5f5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#e0e0e0", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_bridges_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ffffff", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "water_waterway_label", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "minzoom": 13, + "filter": ["in", "kind", "river", "stream"], + "layout": { + "symbol-placement": "line", + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12, + "text-letter-spacing": 0.2 + }, + "paint": {"text-color": "#728dd4"} + }, + { + "id": "roads_labels_minor", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 15, + "filter": ["in", "kind", "minor_road", "other", "path"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#91888b", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "water_label_ocean", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": [ + "in", + "kind", + "sea", + "ocean", + "lake", + "water", + "bay", + "strait", + "fjord" + ], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 10, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-transform": "uppercase" + }, + "paint": {"text-color": "#728dd4"} + }, + { + "id": "water_label_lakes", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": ["in", "kind", "lake", "water"], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 0, + 6, + 12, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9 + }, + "paint": {"text-color": "#728dd4"} + }, + { + "id": "roads_labels_major", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 11, + "filter": ["in", "kind", "highway", "major_road"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#938a8d", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "pois", + "type": "symbol", + "source": "protomaps", + "source-layer": "pois", + "filter": [ + "all", + [ + "in", + ["get", "kind"], + [ + "literal", + ["beach", "forest", "marina", "park", "peak", "zoo"] + ] + ], + [ + ">=", + ["zoom"], + ["get", "min_zoom"] + ] + ], + "layout": { + "icon-image": ["get", "kind"], + "text-font": ["Noto Sans Regular"], + "text-justify": "auto", + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 10, + "text-max-width": 8, + "text-offset": [1, 0], + "text-variable-anchor": ["left", "right"] + }, + "paint": { + "text-color": [ + "case", + [ + "in", + ["get", "kind"], + [ + "literal", + ["beach", "forest", "marina", "park", "peak", "zoo"] + ] + ], + "#20834D", + "#e0e0e0" + ] + } + }, + { + "id": "places_subplace", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "neighbourhood"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 7, + "text-letter-spacing": 0.1, + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 2, + 8, + 4, + 12, + 18, + 15, + 20 + ], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 8, + 14, + 14, + 18, + 24 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#8f8f8f", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_locality", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "locality"], + "layout": { + "icon-image": [ + "step", + ["zoom"], + "townspot", + 8, + "" + ], + "icon-size": 0.7, + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": [ + "case", + [ + "<=", + ["get", "min_zoom"], + 5 + ], + [ + "literal", + ["Noto Sans Medium"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ], + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 3, + 8, + 7, + 12, + 11 + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 13, + 0 + ], + 4, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 15, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 12 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 12 + ], + 17, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 11 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 11 + ], + 18, + 0 + ], + 10, + [ + "case", + [ + "<", + ["get", "population_rank"], + 9 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 9 + ], + 20, + 0 + ], + 15, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 22, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 0, + 8, + 4, + 10, + 8, + 12, + 6, + 22, + 2 + ], + "text-justify": "auto", + "text-anchor": [ + "step", + ["zoom"], + "left", + 8, + "center" + ], + "text-radial-offset": 0.4 + }, + "paint": { + "text-color": "#5c5c5c", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_region", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "region"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "step", + ["zoom"], + ["get", "name:short"], + 6, + [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 11, + 7, + 16 + ], + "text-radial-offset": 0.2, + "text-anchor": "center", + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#b3b3b3", + "text-halo-color": "#e0e0e0", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_country", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "country"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {} + ], + "text-font": ["Noto Sans Medium"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 10 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 10 + ], + 12, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 18, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 7 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 7 + ], + 20, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 2, + 14, + 2, + 16, + 20, + 17, + 2, + 22, + 2 + ], + "text-transform": "uppercase" + }, + "paint": {"text-color": "#a3a3a3"} + } +]; diff --git a/vector_map_tiles_pmtiles/lib/src/themes/v4/white.dart b/vector_map_tiles_pmtiles/lib/src/themes/v4/white.dart new file mode 100644 index 0000000..bd080dd --- /dev/null +++ b/vector_map_tiles_pmtiles/lib/src/themes/v4/white.dart @@ -0,0 +1,6187 @@ +part of '_package.dart'; + +// ignore_for_file: prefer_single_quotes, require_trailing_commas + +/// https://docs.protomaps.com/basemaps/themes#white +const themeWhite = [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "#ffffff"} + }, + { + "id": "earth", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "earth", + "paint": {"fill-color": "#ffffff"} + }, + { + "id": "landuse_park", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "in", + "kind", + "national_park", + "park", + "cemetery", + "protected_area", + "nature_reserve", + "forest", + "golf_course" + ], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#fcfcfc", + 12, + "#fcfcfc" + ] + } + }, + { + "id": "landuse_urban_green", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "allotments", "village_green", "playground"], + "paint": {"fill-color": "#fcfcfc", "fill-opacity": 0.7} + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "hospital"], + "paint": {"fill-color": "#f8f8f8"} + }, + { + "id": "landuse_industrial", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "industrial"], + "paint": {"fill-color": "#fcfcfc"} + }, + { + "id": "landuse_school", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "school", "university", "college"], + "paint": {"fill-color": "#f8f8f8"} + }, + { + "id": "landuse_beach", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "beach"], + "paint": {"fill-color": "#f6f6f6"} + }, + { + "id": "landuse_zoo", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "zoo"], + "paint": {"fill-color": "#f7f7f7"} + }, + { + "id": "landuse_military", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "military", "naval_base", "airfield"], + "paint": {"fill-color": "#f7f7f7"} + }, + { + "id": "landuse_wood", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "wood", "nature_reserve", "forest"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#fafafa", + 12, + "#fafafa" + ] + } + }, + { + "id": "landuse_scrub", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "scrub", "grassland", "grass"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + "#fafafa", + 12, + "#fafafa" + ] + } + }, + { + "id": "landuse_glacier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "glacier"], + "paint": {"fill-color": "#fcfcfc"} + }, + { + "id": "landuse_sand", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "sand"], + "paint": {"fill-color": "#fafafa"} + }, + { + "id": "landuse_aerodrome", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["in", "kind", "aerodrome"], + "paint": {"fill-color": "#fdfdfd"} + }, + { + "id": "roads_runway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "runway"], + "paint": { + "line-color": "#efefef", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 10, + 0, + 12, + 4, + 18, + 30 + ] + } + }, + { + "id": "roads_taxiway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["==", "kind_detail", "taxiway"], + "paint": { + "line-color": "#efefef", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 15, + 6 + ] + } + }, + { + "id": "landuse_runway", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": [ + "any", + ["in", "kind", "runway", "taxiway"] + ], + "paint": {"fill-color": "#efefef"} + }, + { + "id": "water", + "type": "fill", + "filter": [ + "==", + ["geometry-type"], + "Polygon" + ], + "source": "protomaps", + "source-layer": "water", + "paint": {"fill-color": "#dcdcdc"} + }, + { + "id": "water_stream", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 14, + "filter": ["in", "kind", "stream"], + "paint": {"line-color": "#dcdcdc", "line-width": 0.5} + }, + { + "id": "water_river", + "type": "line", + "source": "protomaps", + "source-layer": "water", + "minzoom": 9, + "filter": ["in", "kind", "river"], + "paint": { + "line-color": "#dcdcdc", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1, + 18, + 12 + ] + } + }, + { + "id": "landuse_pedestrian", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pedestrian"], + "paint": {"fill-color": "#fdfdfd"} + }, + { + "id": "landuse_pier", + "type": "fill", + "source": "protomaps", + "source-layer": "landuse", + "filter": ["==", "kind", "pier"], + "paint": {"fill-color": "#efefef"} + }, + { + "id": "roads_tunnels_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#fcfcfc", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#fcfcfc", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#fcfcfc", + "line-dasharray": [3, 2], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_tunnels_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#fcfcfc", + "line-dasharray": [6, 0.5], + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_tunnels_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-dasharray": [4.5, 0.5], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_tunnels_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_tunnels_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_tunnels_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_tunnel"], + [ + "==", + ["get", "kind"], + "highway" + ], + [ + "!", + ["has", "is_link"] + ] + ], + "paint": { + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "buildings", + "type": "fill", + "source": "protomaps", + "source-layer": "buildings", + "paint": {"fill-color": "#efefef", "fill-opacity": 0.5} + }, + { + "id": "roads_pier", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind_detail", "pier"], + "paint": { + "line-color": "#efefef", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 0.5, + 20, + 16 + ] + } + }, + { + "id": "roads_minor_service_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1 + ] + } + }, + { + "id": "roads_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 13, + "filter": ["has", "is_link"], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1.5 + ] + } + }, + { + "id": "roads_major_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_highway_casing_late", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["in", "kind", "other", "path"], + ["!=", "kind_detail", "pier"] + ], + "paint": { + "line-color": "#f5f5f5", + "line-dasharray": [3, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["has", "is_link"], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_minor_service", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["==", "kind_detail", "service"] + ], + "paint": { + "line-color": "#f5f5f5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 18, + 8 + ] + } + }, + { + "id": "roads_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "minor_road"], + ["!=", "kind_detail", "service"] + ], + "paint": { + "line-color": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + "#ebebeb", + 16, + "#f5f5f5" + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_major_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 13 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1 + ] + } + }, + { + "id": "roads_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_highway_casing_early", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "maxzoom": 12, + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1 + ] + } + }, + { + "id": "roads_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["!has", "is_tunnel"], + ["!has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "roads_rail", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": ["==", "kind", "rail"], + "paint": { + "line-dasharray": [0.3, 0.75], + "line-opacity": 0.5, + "line-color": "#d6d6d6", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 0.15, + 18, + 9 + ] + } + }, + { + "id": "boundaries_country", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": ["<=", "kind_detail", 2], + "paint": { + "line-color": "#adadad", + "line-width": 1, + "line-dasharray": [3, 2] + } + }, + { + "id": "boundaries", + "type": "line", + "source": "protomaps", + "source-layer": "boundaries", + "filter": [">", "kind_detail", 2], + "paint": { + "line-color": "#adadad", + "line-width": 0.5, + "line-dasharray": [3, 2] + } + }, + { + "id": "roads_bridges_other_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_link_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 12, + 0, + 12.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_minor_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 0.8 + ] + } + }, + { + "id": "roads_bridges_major_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 0.5, + 18, + 10 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 9, + 0, + 9.5, + 1.5 + ] + } + }, + { + "id": "roads_bridges_other", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["in", "kind", "other", "path"] + ], + "paint": { + "line-color": "#f5f5f5", + "line-dasharray": [2, 1], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 14, + 0, + 20, + 7 + ] + } + }, + { + "id": "roads_bridges_minor", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "minor_road"] + ], + "paint": { + "line-color": "#f5f5f5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 11, + 0, + 12.5, + 0.5, + 15, + 2, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_link", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["has", "is_link"] + ], + "paint": { + "line-color": "#f5f5f5", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 13, + 0, + 13.5, + 1, + 18, + 11 + ] + } + }, + { + "id": "roads_bridges_major", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "major_road"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 6, + 0, + 12, + 1.6, + 15, + 3, + 18, + 13 + ] + } + }, + { + "id": "roads_bridges_highway_casing", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 12, + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ffffff", + "line-gap-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 3.5, + 0.5, + 18, + 15 + ], + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 7, + 0, + 7.5, + 1, + 20, + 15 + ] + } + }, + { + "id": "roads_bridges_highway", + "type": "line", + "source": "protomaps", + "source-layer": "roads", + "filter": [ + "all", + ["has", "is_bridge"], + ["==", "kind", "highway"], + ["!has", "is_link"] + ], + "paint": { + "line-color": "#ebebeb", + "line-width": [ + "interpolate", + ["exponential", 1.6], + ["zoom"], + 3, + 0, + 6, + 1.1, + 12, + 1.6, + 15, + 5, + 18, + 15 + ] + } + }, + { + "id": "water_waterway_label", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "minzoom": 13, + "filter": ["in", "kind", "river", "stream"], + "layout": { + "symbol-placement": "line", + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12, + "text-letter-spacing": 0.2 + }, + "paint": {"text-color": "#adadad"} + }, + { + "id": "roads_labels_minor", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 15, + "filter": ["in", "kind", "minor_road", "other", "path"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#adadad", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "water_label_ocean", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": [ + "in", + "kind", + "sea", + "ocean", + "lake", + "water", + "bay", + "strait", + "fjord" + ], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 10, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-transform": "uppercase" + }, + "paint": {"text-color": "#adadad"} + }, + { + "id": "water_label_lakes", + "type": "symbol", + "source": "protomaps", + "source-layer": "water", + "filter": ["in", "kind", "lake", "water"], + "layout": { + "text-font": ["Noto Sans Italic"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 0, + 6, + 12, + 10, + 12 + ], + "text-letter-spacing": 0.1, + "text-max-width": 9 + }, + "paint": {"text-color": "#adadad"} + }, + { + "id": "roads_labels_major", + "type": "symbol", + "source": "protomaps", + "source-layer": "roads", + "minzoom": 11, + "filter": ["in", "kind", "highway", "major_road"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "symbol-placement": "line", + "text-font": ["Noto Sans Regular"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-size": 12 + }, + "paint": { + "text-color": "#999999", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_subplace", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "neighbourhood"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 7, + "text-letter-spacing": 0.1, + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 2, + 8, + 4, + 12, + 18, + 15, + 20 + ], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 8, + 14, + 14, + 18, + 24 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#8f8f8f", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_locality", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "locality"], + "layout": { + "icon-image": [ + "step", + ["zoom"], + "townspot", + 8, + "" + ], + "icon-size": 0.7, + "text-field": [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ], + "text-font": [ + "case", + [ + "<=", + ["get", "min_zoom"], + 5 + ], + [ + "literal", + ["Noto Sans Medium"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ], + "text-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + 3, + 8, + 7, + 12, + 11 + ], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 13, + 0 + ], + 4, + [ + "case", + [ + "<", + ["get", "population_rank"], + 13 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 13 + ], + 15, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 12 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 12 + ], + 17, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 11 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 11 + ], + 18, + 0 + ], + 10, + [ + "case", + [ + "<", + ["get", "population_rank"], + 9 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 9 + ], + 20, + 0 + ], + 15, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 12, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 22, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 0, + 8, + 4, + 10, + 8, + 12, + 6, + 22, + 2 + ], + "text-justify": "auto", + "text-anchor": [ + "step", + ["zoom"], + "left", + 8, + "center" + ], + "text-radial-offset": 0.4 + }, + "paint": { + "text-color": "#5c5c5c", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_region", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "region"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "step", + ["zoom"], + ["get", "name:short"], + 6, + [ + "case", + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "!", + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + ["has", "script"], + [ + "case", + [ + "any", + [ + "is-supported-script", + ["get", "name"] + ], + ["has", "pgf:name"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {}, + "\n", + {}, + [ + "case", + [ + "all", + [ + "!", + ["has", "name:en"] + ], + ["has", "name:en"], + [ + "!", + ["has", "script"] + ] + ], + "", + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + ["get", "name:en"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {} + ] + ], + [ + "all", + [ + "any", + ["has", "name"], + ["has", "pgf:name"] + ], + [ + "any", + ["has", "name2"], + ["has", "pgf:name2"] + ], + [ + "!", + [ + "any", + ["has", "name3"], + ["has", "pgf:name3"] + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + ["has", "script2"], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ], + [ + "case", + [ + "all", + ["has", "script"], + ["has", "script2"], + ["has", "script3"] + ], + [ + "format", + ["get", "name:en"], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "case", + [ + "!", + ["has", "script"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name"], + ["get", "name"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "!", + ["has", "script2"] + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name2"], + ["get", "name2"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name3"], + ["get", "name3"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script3"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ], + [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "pgf:name3"], + ["get", "name3"] + ], + {}, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name"], + ["get", "name"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + }, + "\n", + {}, + [ + "coalesce", + ["get", "pgf:name2"], + ["get", "name2"] + ], + { + "text-font": [ + "case", + [ + "==", + ["get", "script2"], + "Devanagari" + ], + [ + "literal", + ["Noto Sans Devanagari Regular v1"] + ], + [ + "literal", + ["Noto Sans Regular"] + ] + ] + } + ] + ] + ] + ] + ], + "text-font": ["Noto Sans Regular"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 3, + 11, + 7, + 16 + ], + "text-radial-offset": 0.2, + "text-anchor": "center", + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#b3b3b3", + "text-halo-color": "#ffffff", + "text-halo-width": 1, + "text-halo-blur": 1 + } + }, + { + "id": "places_country", + "type": "symbol", + "source": "protomaps", + "source-layer": "places", + "filter": ["==", "kind", "country"], + "layout": { + "symbol-sort-key": ["get", "min_zoom"], + "text-field": [ + "format", + [ + "coalesce", + ["get", "name:en"], + ["get", "name:en"] + ], + {} + ], + "text-font": ["Noto Sans Medium"], + "text-size": [ + "interpolate", + ["linear"], + ["zoom"], + 2, + [ + "case", + [ + "<", + ["get", "population_rank"], + 10 + ], + 8, + [ + ">=", + ["get", "population_rank"], + 10 + ], + 12, + 0 + ], + 6, + [ + "case", + [ + "<", + ["get", "population_rank"], + 8 + ], + 10, + [ + ">=", + ["get", "population_rank"], + 8 + ], + 18, + 0 + ], + 8, + [ + "case", + [ + "<", + ["get", "population_rank"], + 7 + ], + 11, + [ + ">=", + ["get", "population_rank"], + 7 + ], + 20, + 0 + ] + ], + "icon-padding": [ + "interpolate", + ["linear"], + ["zoom"], + 0, + 2, + 14, + 2, + 16, + 20, + 17, + 2, + 22, + 2 + ], + "text-transform": "uppercase" + }, + "paint": {"text-color": "#b8b8b8"} + } +]; diff --git a/vector_map_tiles_pmtiles/pubspec.yaml b/vector_map_tiles_pmtiles/pubspec.yaml index 3c28406..c6076e6 100644 --- a/vector_map_tiles_pmtiles/pubspec.yaml +++ b/vector_map_tiles_pmtiles/pubspec.yaml @@ -3,7 +3,7 @@ description: PMTiles tile provider for vector_map_tiles (flutter_map vector tile repository: https://github.com/josxha/flutter_map_plugins issue_tracker: https://github.com/josxha/flutter_map_plugins/issues topics: [ flutter-map, vector-map-tiles, map, pmtiles ] -version: 1.4.0 +version: 1.5.0 environment: sdk: '>=3.2.5 <4.0.0' diff --git a/vector_map_tiles_pmtiles/test/protomaps_themes_test.dart b/vector_map_tiles_pmtiles/test/protomaps_themes_test.dart index 44e6df5..4ee4368 100644 --- a/vector_map_tiles_pmtiles/test/protomaps_themes_test.dart +++ b/vector_map_tiles_pmtiles/test/protomaps_themes_test.dart @@ -3,23 +3,23 @@ import 'package:vector_map_tiles_pmtiles/vector_map_tiles_pmtiles.dart'; Future main() async { test('Build black theme', () async { - final theme = ProtomapsThemes.black(); + final theme = ProtomapsThemes.blackV4(); expect(theme.tileSources, equals({'protomaps'})); }); test('Build dark theme', () async { - final theme = ProtomapsThemes.dark(); + final theme = ProtomapsThemes.darkV4(); expect(theme.tileSources, equals({'protomaps'})); }); test('Build grayscale theme', () async { - final theme = ProtomapsThemes.grayscale(); + final theme = ProtomapsThemes.grayscaleV4(); expect(theme.tileSources, equals({'protomaps'})); }); test('Build light theme', () async { - final theme = ProtomapsThemes.light(); + final theme = ProtomapsThemes.lightV4(); expect(theme.tileSources, equals({'protomaps'})); }); test('Build white theme', () async { - final theme = ProtomapsThemes.white(); + final theme = ProtomapsThemes.whiteV4(); expect(theme.tileSources, equals({'protomaps'})); }); }