diff --git a/ohmg/frontend/static/aerialiberty/LICENSE.md b/ohmg/frontend/static/aerialiberty/LICENSE.md new file mode 100644 index 00000000..b862282f --- /dev/null +++ b/ohmg/frontend/static/aerialiberty/LICENSE.md @@ -0,0 +1,38 @@ +## Code License + +The Mapbox GL Style JSON file is originally derived from [OSM Bright from Mapbox Open Styles](https://github.com/mapbox/mapbox-gl-styles/blob/master/LICENSE.md). The modified Mapbox GL Style JSON retains the same BSD license. + +> Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +> * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. +* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. +* Neither the name of Mapbox nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +## Design License + +The look and feel of the OSM liberty map design is also derived (although heavily altered) from [OSM Bright from Mapbox Open Styles](https://github.com/mapbox/mapbox-gl-styles/blob/master/LICENSE.md) which is licensed under the Creative Commons Attribution 3.0 license. + +The map is displaying and styling the data from [OpenMapTiles](https://openmaptiles.org/) with [CC-BY 4.0 design license](https://github.com/openmaptiles/openmaptiles/blob/master/LICENSE.md). + +The products or services using this map style need to visibly credit "OpenMapTiles.org" or reference "OpenMapTiles" with a link to http://openmaptiles.org/. For a browsable electronic map based on OpenMapTiles and OpenStreetMap data, the credit should appear in the corner of the map. For example: + +[© OpenMapTiles](https://openmaptiles.org/) +[© OpenStreetMap contributors](https://www.openstreetmap.org/copyright) + +For printed and static maps a similar attribution should be made in a textual description near the image, in the same fashion as if you cite a photograph. + +## Icons + +OSM Liberty is using the [Maki POI icon set](https://github.com/mapbox/maki/blob/master/LICENSE.txt) which is licensed under CC0 1.0 Universal. + +The right arrow was derived from [Wikipedia][wiki_arrow] which is in the public domain. + +[wiki_arrow]: https://commons.wikimedia.org/wiki/File:Arrowright.svg + +## Fonts + +OSM Liberty is using the Roboto font family (Copyright 2011 Google). +Roboto is licensed under the [Apache License, Version 2.0](https://github.com/google/roboto/blob/master/LICENSE). diff --git a/ohmg/frontend/static/aerialiberty/README.md b/ohmg/frontend/static/aerialiberty/README.md new file mode 100644 index 00000000..62e45d31 --- /dev/null +++ b/ohmg/frontend/static/aerialiberty/README.md @@ -0,0 +1,121 @@ +# OSM Liberty [![BSD licensed](https://img.shields.io/badge/license-BSD-blue.svg)](https://github.com/maputnik/osm-liberty/blob/gh-pages/LICENSE.md) [![GitHub CI status](https://github.com/maputnik/osm-liberty/workflows/CI/badge.svg)](https://github.com/maputnik/osm-liberty/actions?query=workflow%3ACI) + +OSM Liberty + +A free Maplibre and Mapbox GL basemap style for everyone with complete liberty to use and self host. OSM Liberty is a fork of OSM Bright based on free data sources with a mission for a clear good looking design for the everyday user. It is based on the vector tile schema of [OpenMapTiles](https://github.com/openmaptiles/openmaptiles). + +**[Preview OSM Liberty with Maputnik](https://maputnik.github.io/editor/?style=https://maputnik.github.io/osm-liberty/style.json)** + +## Usage + +You can use the style in your Maplibre and Mapbox GL maps. + +By default, the vector tiles are served from [Maptiler Cloud](https://www.maptiler.com/cloud/) and the relief shading, glyphs and sprites directly from GitHub. +You would need to create a [MapTiler](https://www.maptiler.com) account to get an access key and replace the placeholder {key} for the [vector source](https://github.com/maputnik/osm-liberty/blob/gh-pages/style.json#L11) with your own key. + +Other options are: +- Create your own vector tiles with [OpenMapTiles](https://github.com/openmaptiles/openmaptiles) and host the tiles yourself for complete liberty. +- Use another vector tile source that is based on the vector tile schema of [OpenMapTiles](https://github.com/openmaptiles/openmaptiles) + +```html + + + + + OSM Liberty + + + + + + +
+ + + +``` + +## Data Sources + +- [OpenMapTiles](http://openmaptiles.org/) as vector data source +- [Natural Earth Tiles](https://klokantech.github.io/naturalearthtiles/) for relief shading +- [Maki](https://www.mapbox.com/maki-icons/) as icon set +- [Orange Mug](https://github.com/orangemug/font-glyphs) as font glyphs + +## Map Design + +The map design originates from OSM Bright but strives to reach a unobtrusive and clean design for everyday use. +Colored relief shading from Natural Earth make the low zoom levels look good. + +[![OSM Liberty Map demo](demo/zoom.gif)](https://maputnik.github.io/osm-liberty/) + +## Edit the Style + +You can [edit the style directly online in Maputnik](https://maputnik.github.io/editor?style=https://maputnik.github.io/osm-liberty/style.json). + +This style actually triggered the need for the development of [Maputnik](https://github.com/maputnik/editor/). + +A pre-commit hook is included to validate and format the JSON styles using +[`mapbox-gl-style-spec`](https://www.npmjs.com/package/@mapbox/mapbox-gl-style-spec). +To use, just install the NPM dev dependencies: +``` +npm install +``` +and then validate or format the style with +``` +npm run validate +npm run format +``` + +Validation and reformatting will happen automatically on commit if you have the +dependencies installed. + +## Icon Design + +A [Maki](https://github.com/mapbox/maki) icon set using colors to distinguish between icon categories. + +Maki is a living project and adds new icons over time, which means that there +could be new icons that OSM Liberty could use for POIs. `sources_list.py` is a +simple script to list both the names in OSM Liberty's iconset that don't map to +any valid Maki name, and the Maki names that are not currently used in OSM +Liberty's iconset. You can run the script with `python3 sources_list.py`. + +**Color Palette** + +Color Name | Hex Value +-------------|---------- +Blue | `#5d60be` +Light Blue | `#4898ff` +Orange | `#d97200` +Red | `#ba3827` +Brown | `#725a50` +Green | `#76a723` + +**Modify Icons** + +_When submitting a PR, no need to include the sprites. They will be automatically created when merging a PR.
+The size 11 icons are included in the sprites for backward compatability. Please don't include new size 11 icons._ + +1. Take the `iconset.json` and import it to the [Maki Editor](https://www.mapbox.com/maki-icons/editor/). +2. Apply your changes and download the icons in SVG format and the iconset in JSON format. +Save the downloaded SVGs from Maki Editor to the folder [svgs_iconset](https://github.com/maputnik/osm-liberty/tree/gh-pages/svgs/svgs_iconset). +3. Mandatory if the updated `iconset.json` should become part of this repo: Format the JSON with `cat iconset.json | jq -MS '.'` for better legibility. +4. There are also SVGs in the folder [svgs_not_in_iconset](https://github.com/maputnik/osm-liberty/tree/gh-pages/svgs/svgs_not_in_iconset). +These are the SVGs for road shields, the dot used for city and town layers and the road area pattern which could not be modified using the Maki Editor. To modify these you could use e.g. [Inkscape](https://inkscape.org). +5. Install the NPM dev dependencies: `npm install` to have [spritezero-cli](https://gitlab.com/beyondtracks/spritezero-cli) available (we're using a fork of https://github.com/mapbox/spritezero-cli ). +6. Generate the low and high resolution sprites: `npm run build_sprites` + +## Have a look at ... + +- [OSM Liberty Topo](https://github.com/nst-guide/osm-liberty-topo) - a topographic fork of OSM Liberty diff --git a/ohmg/frontend/static/aerialiberty/maputnik_orig_linted.json b/ohmg/frontend/static/aerialiberty/maputnik_orig_linted.json new file mode 100644 index 00000000..f0c188a1 --- /dev/null +++ b/ohmg/frontend/static/aerialiberty/maputnik_orig_linted.json @@ -0,0 +1,2537 @@ +{ + "version": 8, + "name": "OSM Liberty", + "metadata": { + "maputnik:license": "https://github.com/maputnik/osm-liberty/blob/gh-pages/LICENSE.md", + "maputnik:renderer": "mbgljs", + "openmaptiles:version": "3.x" + }, + "sources": { + "natural_earth_shaded_relief": { + "maxzoom": 6, + "tileSize": 256, + "tiles": [ + "https://klokantech.github.io/naturalearthtiles/tiles/natural_earth_2_shaded_relief.raster/{z}/{x}/{y}.png" + ], + "type": "raster" + }, + "openmaptiles": { + "type": "vector", + "url": "https://api.maptiler.com/tiles/v3/tiles.json?key={key}" + } + }, + "sprite": "https://maputnik.github.io/osm-liberty/sprites/osm-liberty", + "glyphs": "https://orangemug.github.io/font-glyphs/glyphs/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "paint": {"background-color": "rgb(239,239,239)"} + }, + { + "id": "natural_earth", + "type": "raster", + "source": "natural_earth_shaded_relief", + "maxzoom": 6, + "paint": { + "raster-opacity": [ + "interpolate", + ["exponential", 1.5], + ["zoom"], + 0, + 0.6, + 6, + 0.1 + ] + } + }, + { + "id": "park", + "type": "fill", + "source": "openmaptiles", + "source-layer": "park", + "paint": { + "fill-color": "#d8e8c8", + "fill-opacity": 0.7, + "fill-outline-color": "rgba(95, 208, 100, 1)" + } + }, + { + "id": "park_outline", + "type": "line", + "source": "openmaptiles", + "source-layer": "park", + "paint": { + "line-color": "rgba(228, 241, 215, 1)", + "line-dasharray": [1, 1.5] + } + }, + { + "id": "landuse_residential", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "maxzoom": 8, + "filter": ["==", ["get", "class"], "residential"], + "paint": { + "fill-color": [ + "interpolate", + ["linear"], + ["zoom"], + 9, + "hsla(0,3%,85%,0.84)", + 12, + "hsla(35,57%,88%,0.49)" + ] + } + }, + { + "id": "landcover_wood", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["==", ["get", "class"], "wood"], + "paint": { + "fill-antialias": false, + "fill-color": "hsla(98,61%,72%,0.7)", + "fill-opacity": 0.4 + } + }, + { + "id": "landcover_grass", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["==", ["get", "class"], "grass"], + "paint": { + "fill-antialias": false, + "fill-color": "rgba(176, 213, 154, 1)", + "fill-opacity": 0.3 + } + }, + { + "id": "landcover_ice", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["==", ["get", "class"], "ice"], + "paint": { + "fill-antialias": false, + "fill-color": "rgba(224, 236, 236, 1)", + "fill-opacity": 0.8 + } + }, + { + "id": "landcover_wetland", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "minzoom": 12, + "filter": ["==", ["get", "class"], "wetland"], + "paint": { + "fill-antialias": true, + "fill-opacity": 0.8, + "fill-pattern": "wetland_bg_11", + "fill-translate-anchor": "map" + } + }, + { + "id": "landuse_pitch", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "pitch"], + "paint": {"fill-color": "#DEE3CD"} + }, + { + "id": "landuse_track", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "track"], + "paint": {"fill-color": "#DEE3CD"} + }, + { + "id": "landuse_cemetery", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "cemetery"], + "paint": {"fill-color": "hsl(75,37%,81%)"} + }, + { + "id": "landuse_hospital", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "hospital"], + "paint": {"fill-color": "#fde"} + }, + { + "id": "landuse_school", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landuse", + "filter": ["==", ["get", "class"], "school"], + "paint": {"fill-color": "rgb(236,238,204)"} + }, + { + "id": "waterway_tunnel", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": ["==", ["get", "brunnel"], "tunnel"], + "paint": { + "line-color": "#a0c8f0", + "line-dasharray": [3, 3], + "line-gap-width": ["interpolate", ["linear"], ["zoom"], 12, 0, 20, 6], + "line-opacity": 1, + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 8, + 1, + 20, + 2 + ] + } + }, + { + "id": "waterway_river", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + ["==", ["get", "class"], "river"], + ["!=", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-color": "#a0c8f0", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "waterway_other", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + ["!=", ["get", "class"], "river"], + ["!=", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-color": "#a0c8f0", + "line-width": [ + "interpolate", + ["exponential", 1.3], + ["zoom"], + 13, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "water", + "type": "fill", + "source": "openmaptiles", + "source-layer": "water", + "filter": ["!=", ["get", "brunnel"], "tunnel"], + "paint": {"fill-color": "rgb(158,189,255)"} + }, + { + "id": "landcover_sand", + "type": "fill", + "source": "openmaptiles", + "source-layer": "landcover", + "filter": ["==", ["get", "class"], "sand"], + "paint": {"fill-color": "rgba(247, 239, 195, 1)"} + }, + { + "id": "aeroway_fill", + "type": "fill", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "match", + ["geometry-type"], + ["MultiPolygon", "Polygon"], + true, + false + ], + "paint": {"fill-color": "rgba(229, 228, 224, 1)", "fill-opacity": 0.7} + }, + { + "id": "aeroway_runway", + "type": "line", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "class"], "runway"] + ], + "paint": { + "line-color": "#f0ede9", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 3, + 20, + 16 + ] + } + }, + { + "id": "aeroway_taxiway", + "type": "line", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "class"], "taxiway"] + ], + "paint": { + "line-color": "#f0ede9", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "tunnel_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "tunnel_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["street", "street_limited"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ] + } + }, + { + "id": "tunnel_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "tunnel_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "tunnel_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.75], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "tunnel_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "tunnel_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 7, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "tunnel_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "tunnel_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#ffdaa6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "tunnel_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["rail"], true, false] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "tunnel_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "tunnel_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["transit"], true, false] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "tunnel_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_area_pattern", + "type": "fill", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "match", + ["geometry-type"], + ["MultiPolygon", "Polygon"], + true, + false + ], + "paint": {"fill-pattern": "pedestrian_polygon"} + }, + { + "id": "road_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "road_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "road_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 13, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + [ + "match", + ["get", "class"], + ["motorway", "path", "pedestrian", "service", "track"], + false, + true + ], + ["==", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "road_minor_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["minor"], true, false], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 20 + ] + } + }, + { + "id": "road_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ] + } + }, + { + "id": "road_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "road_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "road_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 14, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.7], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 1, + 20, + 10 + ] + } + }, + { + "id": "road_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "road_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "road_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 13, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "ramp"], 1], + [ + "match", + ["get", "class"], + ["motorway", "path", "pedestrian", "service", "track"], + false, + true + ] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "road_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 18 + ] + } + }, + { + "id": "road_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 8, + 0.5, + 20, + 13 + ] + } + }, + { + "id": "road_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "road_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + "hsl(26,87%,62%)", + 6, + "#fc8" + ], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "road_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "road_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "road_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_one_way_arrow", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 16, + "filter": ["==", ["get", "oneway"], 1], + "layout": {"icon-image": "arrow", "symbol-placement": "line"} + }, + { + "id": "road_one_way_arrow_opposite", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 16, + "filter": ["==", ["get", "oneway"], -1], + "layout": { + "icon-image": "arrow", + "icon-rotate": 180, + "symbol-placement": "line" + } + }, + { + "id": "bridge_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "bridge_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "bridge_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "link"], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "bridge_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["street", "street_limited"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(36,6%,74%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 25 + ] + } + }, + { + "id": "bridge_path_pedestrian_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(35,6%,80%)", + "line-dasharray": [1, 0], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 1.5, + 20, + 18 + ] + } + }, + { + "id": "bridge_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ] + } + }, + { + "id": "bridge_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "bridge_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "bridge_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.3], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "bridge_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "bridge_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "bridge_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "link"], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "bridge_street", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 18 + ] + } + }, + { + "id": "bridge_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 7, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "bridge_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "bridge_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "bridge_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "rail"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "bridge_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "rail"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "bridge_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "transit"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "bridge_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "transit"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "building", + "type": "fill", + "source": "openmaptiles", + "source-layer": "building", + "minzoom": 13, + "maxzoom": 14, + "paint": { + "fill-color": "hsl(35,8%,85%)", + "fill-outline-color": [ + "interpolate", + ["linear"], + ["zoom"], + 13, + "hsla(35,6%,79%,0.32)", + 14, + "hsl(35,6%,79%)" + ] + } + }, + { + "id": "building-3d", + "type": "fill-extrusion", + "source": "openmaptiles", + "source-layer": "building", + "minzoom": 14, + "paint": { + "fill-extrusion-base": ["get", "render_min_height"], + "fill-extrusion-color": "hsl(35,8%,85%)", + "fill-extrusion-height": ["get", "render_height"], + "fill-extrusion-opacity": 0.8 + } + }, + { + "id": "boundary_3", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "minzoom": 8, + "filter": ["match", ["get", "admin_level"], [3, 4], true, false], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#9e9cab", + "line-dasharray": [5, 1], + "line-width": [ + "interpolate", + ["linear"], + ["zoom"], + 4, + 0.4, + 5, + 1, + 12, + 1.8 + ] + } + }, + { + "id": "boundary_2_z0-4", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "maxzoom": 5, + "filter": [ + "all", + ["==", ["get", "admin_level"], 2], + ["!", ["has", "claimed_by"]] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(248,1%,41%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.4, 4, 1], + "line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3] + } + }, + { + "id": "boundary_2_z5-", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "minzoom": 5, + "filter": ["==", ["get", "admin_level"], 2], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(248,1%,41%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.4, 4, 1], + "line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3] + } + }, + { + "id": "water_name_line", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "text-field": ["to-string", ["get", "name"]], + "text-font": ["Roboto Regular"], + "text-max-width": 5, + "text-size": 12 + }, + "paint": { + "text-color": "#5d60be", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1 + } + }, + { + "id": "water_name_point", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "water_name", + "filter": [ + "match", + ["geometry-type"], + ["MultiPoint", "Point"], + true, + false + ], + "layout": { + "text-field": ["to-string", ["get", "name"]], + "text-font": ["Roboto Regular"], + "text-max-width": 5, + "text-size": 12 + }, + "paint": { + "text-color": "#5d60be", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1 + } + }, + { + "id": "poi_z16", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 16, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 20] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": ["to-string", ["get", "name"]], + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_z15", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 15, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 7], + ["<", ["get", "rank"], 20] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": ["to-string", ["get", "name"]], + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_z14", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 14, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 1], + ["<", ["get", "rank"], 7] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": ["to-string", ["get", "name"]], + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#666", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "poi_transit", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "filter": [ + "match", + ["get", "class"], + ["airport", "bus", "rail"], + true, + false + ], + "layout": { + "icon-image": ["to-string", ["get", "class"]], + "text-anchor": "left", + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 9, + "text-offset": [0.9, 0], + "text-size": 12 + }, + "paint": { + "text-color": "#4898ff", + "text-halo-blur": 0.5, + "text-halo-color": "#ffffff", + "text-halo-width": 1 + } + }, + { + "id": "road_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "filter": ["all"], + "layout": { + "symbol-placement": "line", + "text-anchor": "center", + "text-field": ["to-string", ["get", "name"]], + "text-font": ["Roboto Regular"], + "text-offset": [0, 0.15], + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#765", + "text-halo-blur": 0.5, + "text-halo-width": 1 + } + }, + { + "id": "road_shield", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 7, + "filter": ["<=", ["get", "ref_length"], 6], + "layout": { + "icon-image": ["concat", "default_", ["get", "ref_length"]], + "icon-rotation-alignment": "viewport", + "icon-size": 0.8, + "symbol-placement": ["step", ["zoom"], "point", 11, "line"], + "symbol-spacing": 500, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Roboto Regular"], + "text-offset": [0, 0.1], + "text-rotation-alignment": "viewport", + "text-size": 10 + } + }, + { + "id": "place_other", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": [ + "match", + ["get", "class"], + ["hamlet", "island", "islet", "neighbourhood", "quarter", "suburb"], + true, + false + ], + "layout": { + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Condensed Italic"], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 10, + 15, + 14 + ], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#633", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1.2 + } + }, + { + "id": "place_village", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": ["==", ["get", "class"], "village"], + "layout": { + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Regular"], + "text-max-width": 8, + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 10, + 12, + 15, + 22 + ] + }, + "paint": { + "text-color": "#333", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1.2 + } + }, + { + "id": "place_town", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": ["==", ["get", "class"], "town"], + "layout": { + "icon-image": ["step", ["zoom"], "dot_9", 8, ""], + "text-anchor": "bottom", + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Regular"], + "text-max-width": 8, + "text-offset": [0, 0], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 7, + 12, + 11, + 16 + ] + }, + "paint": { + "text-color": "#333", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1.2 + } + }, + { + "id": "place_city", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 5, + "filter": ["==", ["get", "class"], "city"], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "dot_9", 8, ""], + "icon-optional": false, + "text-anchor": "bottom", + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Medium"], + "text-max-width": 8, + "text-offset": [0, 0], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 7, + 14, + 11, + 24 + ] + }, + "paint": { + "text-color": "#333", + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1.2 + } + }, + { + "id": "state", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 6, + "filter": ["==", ["get", "class"], "state"], + "layout": { + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Condensed Italic"], + "text-size": ["interpolate", ["linear"], ["zoom"], 4, 11, 6, 15], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#633", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1 + } + }, + { + "id": "country_3", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": [ + "all", + [">=", ["get", "rank"], 3], + ["==", ["get", "class"], "country"] + ], + "layout": { + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 3, 11, 7, 17], + "text-transform": "none" + }, + "paint": { + "text-color": "#334", + "text-halo-blur": 1, + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1 + } + }, + { + "id": "country_2", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": [ + "all", + ["==", ["get", "rank"], 2], + ["==", ["get", "class"], "country"] + ], + "layout": { + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 2, 11, 5, 17], + "text-transform": "none" + }, + "paint": { + "text-color": "#334", + "text-halo-blur": 1, + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1 + } + }, + { + "id": "country_1", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "filter": [ + "all", + ["==", ["get", "rank"], 1], + ["==", ["get", "class"], "country"] + ], + "layout": { + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Condensed Italic"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 1, 11, 4, 17], + "text-transform": "none" + }, + "paint": { + "text-color": "#334", + "text-halo-blur": 1, + "text-halo-color": "rgba(255,255,255,0.8)", + "text-halo-width": 1 + } + }, + { + "id": "continent", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 1, + "filter": ["==", ["get", "class"], "continent"], + "layout": { + "text-field": ["to-string", ["get", "name_en"]], + "text-font": ["Roboto Condensed Italic"], + "text-justify": "center", + "text-size": 13, + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#633", + "text-halo-color": "rgba(255,255,255,0.7)", + "text-halo-width": 1 + } + } + ] +} diff --git a/ohmg/frontend/static/aerialiberty/style-no-non-us-shield.json b/ohmg/frontend/static/aerialiberty/style-no-non-us-shield.json new file mode 100644 index 00000000..b2885160 --- /dev/null +++ b/ohmg/frontend/static/aerialiberty/style-no-non-us-shield.json @@ -0,0 +1,2329 @@ +{ + "version": 8, + "metadata": {"maputnik:renderer": "mlgljs"}, + "sources": { + "openmaptiles": { + "type": "vector", + "url": "https://tiles.openfreemap.org/planet" + } + }, + "sprite": "https://tiles.openfreemap.org/sprites/ofm_f384/ofm", + "glyphs": "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "waterway_tunnel", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": ["==", ["get", "brunnel"], "tunnel"], + "paint": { + "line-color": "#a0c8f0", + "line-dasharray": [3, 3], + "line-gap-width": ["interpolate", ["linear"], ["zoom"], 12, 0, 20, 6], + "line-opacity": 1, + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 8, + 1, + 20, + 2 + ] + } + }, + { + "id": "waterway_other", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + ["!=", ["get", "class"], "river"], + ["!=", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-color": "#a0c8f0", + "line-width": [ + "interpolate", + ["exponential", 1.3], + ["zoom"], + 13, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "aeroway_taxiway", + "type": "line", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "class"], "taxiway"] + ], + "paint": { + "line-color": "#f0ede9", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "tunnel_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "tunnel_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["street", "street_limited"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ] + } + }, + { + "id": "tunnel_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "tunnel_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "tunnel_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.75], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "tunnel_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "tunnel_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 7, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "tunnel_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "tunnel_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#ffdaa6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "tunnel_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["rail"], true, false] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "tunnel_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "tunnel_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["transit"], true, false] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "tunnel_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_area_pattern", + "type": "fill", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "match", + ["geometry-type"], + ["MultiPolygon", "Polygon"], + true, + false + ], + "paint": { + "fill-pattern": "pedestrian_polygon", + "fill-antialias": ["literal", true], + "fill-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ], + "line-opacity": {"stops": [[1, 1], [15, 0]]} + } + }, + { + "id": "road_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 8, + 0.5, + 20, + 13 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ], + "line-opacity": {"stops": [[1, 1], [15, 0]]} + } + }, + { + "id": "road_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + "hsl(26,87%,62%)", + 6, + "#fc8" + ], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "road_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "road_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "bridge_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 0 + ], + "line-opacity": {"stops": [[1, 1], [15, 0]]} + } + }, + { + "id": "bridge_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "bridge_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "link"], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "bridge_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["street", "street_limited"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(36,6%,74%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 25 + ] + } + }, + { + "id": "bridge_path_pedestrian_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(35,6%,80%)", + "line-dasharray": [1, 0], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 1.5, + 20, + 18 + ] + } + }, + { + "id": "bridge_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round", "visibility": "visible"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "layout": {"visibility": "visible"}, + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.3], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "bridge_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "bridge_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "link"], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "bridge_street", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 18 + ] + } + }, + { + "id": "bridge_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 7, + 0.5, + 20, + 10 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ], + "line-opacity": {"stops": [[1, 1], [15, 0]]} + } + }, + { + "id": "bridge_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "rail"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "bridge_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "rail"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "bridge_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "transit"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "bridge_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "transit"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "boundary_3", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "minzoom": 5, + "filter": [ + "all", + [">=", ["get", "admin_level"], 3], + ["<=", ["get", "admin_level"], 6], + ["!=", ["get", "maritime"], 1], + ["!=", ["get", "disputed"], 1], + ["!", ["has", "claimed_by"]] + ], + "paint": { + "line-color": "hsl(0,0%,70%)", + "line-dasharray": [1, 1], + "line-width": ["interpolate", ["linear", 1], ["zoom"], 7, 1, 11, 2] + } + }, + { + "id": "boundary_2", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "filter": [ + "all", + ["==", ["get", "admin_level"], 2], + ["!=", ["get", "maritime"], 1], + ["!=", ["get", "disputed"], 1], + ["!", ["has", "claimed_by"]] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(248,1%,41%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.4, 4, 1], + "line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3] + } + }, + { + "id": "boundary_disputed", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "filter": [ + "all", + ["!=", ["get", "maritime"], 1], + ["==", ["get", "disputed"], 1] + ], + "paint": { + "line-color": "hsl(248,1%,41%)", + "line-dasharray": [1, 2], + "line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3] + } + }, + { + "id": "waterway_line_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "waterway", + "minzoom": 10, + "filter": [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 350, + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": 14 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-color": "#3e3e3e", + "text-halo-width": 1.5 + } + }, + { + "id": "water_name_point_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "water_name", + "filter": [ + "match", + ["geometry-type"], + ["MultiPoint", "Point"], + true, + false + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": ["interpolate", ["linear"], ["zoom"], 0, 10, 8, 14] + }, + "paint": { + "text-color": "#ffffff", + "text-halo-color": "#3e3e3e", + "text-halo-width": 1, + "text-halo-blur": 0.5 + } + }, + { + "id": "water_name_line_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "water_name", + "filter": [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 350, + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": 14 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-color": "#3e3e3e", + "text-halo-width": 1.5 + } + }, + { + "id": "poi_r20", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 17, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 20] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-halo-blur": 0.5, + "text-halo-color": "#3E3E3E", + "text-halo-width": 1, + "text-color": "#ffffff" + } + }, + { + "id": "poi_r7", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 16, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 7], + ["<", ["get", "rank"], 20] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-blur": 0.5, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "poi_r1", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 15, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 1], + ["<", ["get", "rank"], 7] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-blur": 0.5, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "highway-name-major", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 10, + "filter": [ + "match", + ["get", "class"], + ["primary", "secondary", "tertiary", "trunk"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 0.5, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "poi_transit", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "filter": [ + "match", + ["get", "class"], + ["airport", "bus", "rail"], + true, + false + ], + "layout": { + "icon-image": ["to-string", ["get", "class"]], + "icon-size": 0.7, + "text-anchor": "left", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0.9, 0], + "text-size": 12 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-blur": 0.5, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "highway-name-path", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 15.5, + "filter": ["==", ["get", "class"], "path"], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#fff", + "text-halo-width": 0.5, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "highway-name-minor", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 15, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "class"], ["minor", "service", "track"], true, false] + ], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 0.5, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "highway-shield-us-interstate", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 7, + "filter": [ + "all", + ["<=", ["get", "ref_length"], 6], + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "network"], ["us-interstate"], true, false] + ], + "layout": { + "icon-image": [ + "concat", + ["get", "network"], + "_", + ["get", "ref_length"] + ], + "icon-rotation-alignment": "viewport", + "icon-size": 1, + "symbol-placement": ["step", ["zoom"], "point", 7, "line", 8, "line"], + "symbol-spacing": 200, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "viewport", + "text-size": 10 + }, + "paint": {"text-color": "#000"} + }, + { + "id": "airport", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "aerodrome_label", + "minzoom": 10, + "filter": ["all", ["has", "iata"]], + "layout": { + "icon-image": "airport_11", + "icon-size": 1, + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-optional": true, + "text-padding": 2, + "text-size": 12 + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 0.5, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_other", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 8, + "filter": [ + "match", + ["get", "class"], + ["city", "continent", "country", "state", "town", "village"], + false, + true + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-size": ["interpolate", ["linear"], ["zoom"], 8, 9, 12, 10], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_village", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 9, + "filter": ["==", ["get", "class"], "village"], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 10, ""], + "icon-optional": false, + "icon-size": 0.2, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 7, + 10, + 11, + 12 + ] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_town", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 6, + "filter": ["==", ["get", "class"], "town"], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 10, ""], + "icon-optional": false, + "icon-size": 0.2, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 7, + 12, + 11, + 14 + ] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_state", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 5, + "maxzoom": 8, + "filter": ["==", ["get", "class"], "state"], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 9, + "text-size": ["interpolate", ["linear"], ["zoom"], 5, 10, 8, 14], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_city", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 3, + "filter": [ + "all", + ["==", ["get", "class"], "city"], + ["!=", ["get", "capital"], 2] + ], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 9, ""], + "icon-optional": false, + "icon-size": 0.4, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-offset": [0, -0.1], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 4, + 11, + 7, + 13, + 11, + 18 + ] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "label_city_capital", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 3, + "filter": [ + "all", + ["==", ["get", "class"], "city"], + ["==", ["get", "capital"], 2] + ], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 9, ""], + "icon-optional": false, + "icon-size": 0.5, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 8, + "text-offset": [0, -0.2], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 4, + 12, + 7, + 14, + 11, + 20 + ] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "label_country_3", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 2, + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + [">=", ["get", "rank"], 3] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 3, 9, 7, 17] + }, + "paint": { + "text-halo-blur": 1, + "text-halo-width": 1, + "text-color": "#fff", + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "label_country_2", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + ["==", ["get", "rank"], 2] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 2, 9, 5, 17] + }, + "paint": { + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1, + "text-color": "#fff" + } + }, + { + "id": "label_country_1", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + ["==", ["get", "rank"], 1] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 1, 9, 4, 17] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + } + ], + "id": "di9wvc0" +} \ No newline at end of file diff --git a/ohmg/frontend/static/aerialiberty/style-shield-and-name.json b/ohmg/frontend/static/aerialiberty/style-shield-and-name.json new file mode 100644 index 00000000..2d44de46 --- /dev/null +++ b/ohmg/frontend/static/aerialiberty/style-shield-and-name.json @@ -0,0 +1,93 @@ +{ + "version": 8, + "sources": { + "openmaptiles": { + "type": "vector", + "url": "https://tiles.openfreemap.org/planet" + } + }, + "sprite": "https://tiles.openfreemap.org/sprites/ofm_f384/ofm", + "glyphs": "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "background", + "type": "background", + "paint": { + "background-color": "rgba(13, 81, 30, 1)", + "background-opacity": 1 + } + }, + { + "id": "highway-shield-non-us", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 8, + "filter": [ + "all", + ["<=", ["get", "ref_length"], 6], + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + [ + "match", + ["get", "network"], + ["us-highway", "us-interstate", "us-state"], + false, + true + ] + ], + "layout": { + "icon-image": ["concat", "road_", ["get", "ref_length"]], + "icon-rotation-alignment": "viewport", + "icon-size": 1, + "symbol-placement": ["step", ["zoom"], "point", 11, "line"], + "symbol-spacing": 200, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "viewport", + "text-size": 10, + "visibility": "visible" + }, + "paint": {"text-color": "#F00"} + }, + { + "id": "highway-name-major", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 8, + "filter": [ + "match", + ["get", "class"], + ["primary", "secondary", "tertiary", "trunk"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13], + "visibility": "visible" + }, + "paint": { + "text-color": "#00F", + "text-halo-blur": 0.5, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + } + ], + "id": "di9wvc0-shield-and-name" +} \ No newline at end of file diff --git a/ohmg/frontend/static/aerialiberty/style-shield-only.json b/ohmg/frontend/static/aerialiberty/style-shield-only.json new file mode 100644 index 00000000..98ad95c8 --- /dev/null +++ b/ohmg/frontend/static/aerialiberty/style-shield-only.json @@ -0,0 +1,52 @@ +{ + "version": 8, + "metadata": {"maputnik:renderer": "mlgljs"}, + "sources": { + "openmaptiles": { + "type": "vector", + "url": "https://tiles.openfreemap.org/planet" + } + }, + "sprite": "https://tiles.openfreemap.org/sprites/ofm_f384/ofm", + "glyphs": "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "highway-shield-non-us", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 8, + "filter": [ + "all", + ["<=", ["get", "ref_length"], 6], + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + [ + "match", + ["get", "network"], + ["us-highway", "us-interstate", "us-state"], + false, + true + ] + ], + "layout": { + "icon-image": ["concat", "road_", ["get", "ref_length"]], + "icon-rotation-alignment": "viewport", + "icon-size": 1, + "symbol-placement": ["step", ["zoom"], "point", 11, "line"], + "symbol-spacing": 200, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "viewport", + "text-size": 10 + }, + "paint": {"text-color": "#000", "text-halo-color": "#3e3e3e"} + } + ], + "id": "di9wvc0-shieldlayer" +} \ No newline at end of file diff --git a/ohmg/frontend/static/aerialiberty/style.json b/ohmg/frontend/static/aerialiberty/style.json new file mode 100644 index 00000000..eab437bf --- /dev/null +++ b/ohmg/frontend/static/aerialiberty/style.json @@ -0,0 +1,2367 @@ +{ + "version": 8, + "metadata": {"maputnik:renderer": "mlgljs"}, + "sources": { + "openmaptiles": { + "type": "vector", + "url": "https://tiles.openfreemap.org/planet" + } + }, + "sprite": "https://tiles.openfreemap.org/sprites/ofm_f384/ofm", + "glyphs": "https://tiles.openfreemap.org/fonts/{fontstack}/{range}.pbf", + "layers": [ + { + "id": "waterway_tunnel", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": ["==", ["get", "brunnel"], "tunnel"], + "paint": { + "line-color": "#a0c8f0", + "line-dasharray": [3, 3], + "line-gap-width": ["interpolate", ["linear"], ["zoom"], 12, 0, 20, 6], + "line-opacity": 1, + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 8, + 1, + 20, + 2 + ] + } + }, + { + "id": "waterway_other", + "type": "line", + "source": "openmaptiles", + "source-layer": "waterway", + "filter": [ + "all", + ["!=", ["get", "class"], "river"], + ["!=", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-cap": "round"}, + "paint": { + "line-color": "#a0c8f0", + "line-width": [ + "interpolate", + ["exponential", 1.3], + ["zoom"], + 13, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "aeroway_taxiway", + "type": "line", + "source": "openmaptiles", + "source-layer": "aeroway", + "minzoom": 11, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "class"], "taxiway"] + ], + "paint": { + "line-color": "#f0ede9", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 11, + 0.5, + 20, + 6 + ] + } + }, + { + "id": "tunnel_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "tunnel_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["street", "street_limited"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "tunnel_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ] + } + }, + { + "id": "tunnel_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "tunnel_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-dasharray": [0.5, 0.25], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ] + } + }, + { + "id": "tunnel_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.75], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "tunnel_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "tunnel_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_minor", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "tunnel_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 7, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "tunnel_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff4c6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "tunnel_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "tunnel"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#ffdaa6", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ] + } + }, + { + "id": "tunnel_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["rail"], true, false] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "tunnel_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "tunnel_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["match", ["get", "class"], ["transit"], true, false] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "tunnel_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "all", + ["==", ["get", "brunnel"], "tunnel"], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_area_pattern", + "type": "fill", + "source": "openmaptiles", + "source-layer": "transportation", + "filter": [ + "match", + ["geometry-type"], + ["MultiPolygon", "Polygon"], + true, + false + ], + "paint": { + "fill-pattern": "pedestrian_polygon", + "fill-antialias": ["literal", true], + "fill-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ], + "line-opacity": {"stops": [[1, 1], [15, 0]]} + } + }, + { + "id": "road_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 12, + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 8, + 0.5, + 20, + 13 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ], + "line-opacity": {"stops": [[1, 1], [15, 0]]} + } + }, + { + "id": "road_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "minzoom": 5, + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": [ + "interpolate", + ["linear"], + ["zoom"], + 5, + "hsl(26,87%,62%)", + 6, + "#fc8" + ], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "road_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "road_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "rail"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "road_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "road_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["match", ["get", "brunnel"], ["bridge", "tunnel"], false, true], + ["==", ["get", "class"], "transit"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "bridge_motorway_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 0 + ], + "line-opacity": {"stops": [[1, 1], [15, 0]]} + } + }, + { + "id": "bridge_service_track_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#cfcdca", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15, + 1, + 16, + 4, + 20, + 11 + ] + } + }, + { + "id": "bridge_link_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "link"], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 1, + 13, + 3, + 14, + 4, + 20, + 15 + ] + } + }, + { + "id": "bridge_street_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["street", "street_limited"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "hsl(36,6%,74%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 12, 0, 12.5, 1], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12, + 0.5, + 13, + 1, + 14, + 4, + 20, + 25 + ] + } + }, + { + "id": "bridge_path_pedestrian_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "paint": { + "line-color": "hsl(35,6%,80%)", + "line-dasharray": [1, 0], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 1.5, + 20, + 18 + ] + } + }, + { + "id": "bridge_secondary_tertiary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 8, + 1.5, + 20, + 17 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_trunk_primary_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_motorway_casing", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round", "visibility": "visible"}, + "paint": { + "line-color": "#e9ac77", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0.4, + 6, + 0.7, + 7, + 1.75, + 20, + 22 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_path_pedestrian", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["path", "pedestrian"], true, false] + ], + "layout": {"visibility": "visible"}, + "paint": { + "line-color": "hsl(0,0%,100%)", + "line-dasharray": [1, 0.3], + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 14, + 0.5, + 20, + 10 + ] + } + }, + { + "id": "bridge_motorway_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["==", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_service_track", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["service", "track"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 15.5, + 0, + 16, + 2, + 20, + 7.5 + ] + } + }, + { + "id": "bridge_link", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "link"], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 12.5, + 0, + 13, + 1.5, + 14, + 2.5, + 20, + 11.5 + ] + } + }, + { + "id": "bridge_street", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["minor"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fff", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 13.5, + 0, + 14, + 2.5, + 20, + 18 + ] + } + }, + { + "id": "bridge_secondary_tertiary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["secondary", "tertiary"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 6.5, + 0, + 7, + 0.5, + 20, + 10 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_trunk_primary", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "brunnel"], "bridge"], + ["match", ["get", "class"], ["primary", "trunk"], true, false] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fea", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ], + "line-opacity": {"stops": [[1, 1], [15, 0]]} + } + }, + { + "id": "bridge_motorway", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "motorway"], + ["!=", ["get", "ramp"], 1], + ["==", ["get", "brunnel"], "bridge"] + ], + "layout": {"line-join": "round"}, + "paint": { + "line-color": "#fc8", + "line-width": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 5, + 0, + 7, + 1, + 20, + 18 + ], + "line-opacity": {"stops": [[6, 1], [15, 0]]} + } + }, + { + "id": "bridge_major_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "rail"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "bridge_major_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "rail"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "bridge_transit_rail", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "transit"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14, + 0.4, + 15, + 0.75, + 20, + 2 + ] + } + }, + { + "id": "bridge_transit_rail_hatching", + "type": "line", + "source": "openmaptiles", + "source-layer": "transportation", + "maxzoom": 24, + "filter": [ + "all", + ["==", ["get", "class"], "transit"], + ["==", ["get", "brunnel"], "bridge"] + ], + "paint": { + "line-color": "#bbb", + "line-dasharray": [0.2, 8], + "line-width": [ + "interpolate", + ["exponential", 1.4], + ["zoom"], + 14.5, + 0, + 15, + 3, + 20, + 8 + ] + } + }, + { + "id": "boundary_3", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "minzoom": 5, + "filter": [ + "all", + [">=", ["get", "admin_level"], 3], + ["<=", ["get", "admin_level"], 6], + ["!=", ["get", "maritime"], 1], + ["!=", ["get", "disputed"], 1], + ["!", ["has", "claimed_by"]] + ], + "paint": { + "line-color": "hsl(0,0%,70%)", + "line-dasharray": [1, 1], + "line-width": ["interpolate", ["linear", 1], ["zoom"], 7, 1, 11, 2] + } + }, + { + "id": "boundary_2", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "filter": [ + "all", + ["==", ["get", "admin_level"], 2], + ["!=", ["get", "maritime"], 1], + ["!=", ["get", "disputed"], 1], + ["!", ["has", "claimed_by"]] + ], + "layout": {"line-cap": "round", "line-join": "round"}, + "paint": { + "line-color": "hsl(248,1%,41%)", + "line-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0.4, 4, 1], + "line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3] + } + }, + { + "id": "boundary_disputed", + "type": "line", + "source": "openmaptiles", + "source-layer": "boundary", + "filter": [ + "all", + ["!=", ["get", "maritime"], 1], + ["==", ["get", "disputed"], 1] + ], + "paint": { + "line-color": "hsl(248,1%,41%)", + "line-dasharray": [1, 2], + "line-width": ["interpolate", ["linear"], ["zoom"], 3, 1, 5, 1.2, 12, 3] + } + }, + { + "id": "waterway_line_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "waterway", + "minzoom": 10, + "filter": [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 350, + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": 14 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-color": "#3e3e3e", + "text-halo-width": 1.5 + } + }, + { + "id": "water_name_point_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "water_name", + "filter": [ + "match", + ["geometry-type"], + ["MultiPoint", "Point"], + true, + false + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": ["interpolate", ["linear"], ["zoom"], 0, 10, 8, 14] + }, + "paint": { + "text-color": "#ffffff", + "text-halo-color": "#3e3e3e", + "text-halo-width": 1, + "text-halo-blur": 0.5 + } + }, + { + "id": "water_name_line_label", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "water_name", + "filter": [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "symbol-spacing": 350, + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 5, + "text-size": 14 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-color": "#3e3e3e", + "text-halo-width": 1.5 + } + }, + { + "id": "poi_r20", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 17, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 20] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-halo-blur": 0.5, + "text-halo-color": "#3E3E3E", + "text-halo-width": 1, + "text-color": "#ffffff" + } + }, + { + "id": "poi_r7", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 16, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 7], + ["<", ["get", "rank"], 20] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-blur": 0.5, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "poi_r1", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "minzoom": 15, + "filter": [ + "all", + ["match", ["geometry-type"], ["MultiPoint", "Point"], true, false], + [">=", ["get", "rank"], 1], + ["<", ["get", "rank"], 7] + ], + "layout": { + "icon-image": [ + "match", + ["get", "subclass"], + ["florist", "furniture"], + ["get", "subclass"], + ["get", "class"] + ], + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-size": 12 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-blur": 0.5, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + + { + "id": "highway-name-major", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 12.2, + "filter": [ + "match", + ["get", "class"], + ["primary", "secondary", "tertiary", "trunk"], + true, + false + ], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 0.5, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "poi_transit", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "poi", + "filter": [ + "match", + ["get", "class"], + ["airport", "bus", "rail"], + true, + false + ], + "layout": { + "icon-image": ["to-string", ["get", "class"]], + "icon-size": 0.7, + "text-anchor": "left", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-max-width": 9, + "text-offset": [0.9, 0], + "text-size": 12 + }, + "paint": { + "text-color": "#ffffff", + "text-halo-blur": 0.5, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "highway-name-path", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 15.5, + "filter": ["==", ["get", "class"], "path"], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#fff", + "text-halo-width": 0.5, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "highway-name-minor", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 15, + "filter": [ + "all", + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "class"], ["minor", "service", "track"], true, false] + ], + "layout": { + "symbol-placement": "line", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], " ", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "map", + "text-size": ["interpolate", ["linear"], ["zoom"], 13, 12, 14, 13] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 0.5, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "highway-shield-non-us", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 8, + "filter": [ + "all", + ["<=", ["get", "ref_length"], 6], + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + [ + "match", + ["get", "network"], + ["us-highway", "us-interstate", "us-state"], + false, + true + ] + ], + "layout": { + "icon-image": ["concat", "road_", ["get", "ref_length"]], + "icon-rotation-alignment": "viewport", + "icon-size": 1, + "symbol-placement": ["step", ["zoom"], "point", 11, "line"], + "symbol-spacing": 200, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "viewport", + "text-size": 10 + }, + "paint": {"text-color": "#000", "text-halo-color": "#3e3e3e"} + }, + { + "id": "highway-shield-us-interstate", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "transportation_name", + "minzoom": 7, + "filter": [ + "all", + ["<=", ["get", "ref_length"], 6], + [ + "match", + ["geometry-type"], + ["LineString", "MultiLineString"], + true, + false + ], + ["match", ["get", "network"], ["us-interstate"], true, false] + ], + "layout": { + "icon-image": [ + "concat", + ["get", "network"], + "_", + ["get", "ref_length"] + ], + "icon-rotation-alignment": "viewport", + "icon-size": 1, + "symbol-placement": ["step", ["zoom"], "point", 7, "line", 8, "line"], + "symbol-spacing": 200, + "text-field": ["to-string", ["get", "ref"]], + "text-font": ["Noto Sans Regular"], + "text-rotation-alignment": "viewport", + "text-size": 10 + }, + "paint": {"text-color": "#000"} + }, + { + "id": "airport", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "aerodrome_label", + "minzoom": 10, + "filter": ["all", ["has", "iata"]], + "layout": { + "icon-image": "airport_11", + "icon-size": 1, + "text-anchor": "top", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 9, + "text-offset": [0, 0.6], + "text-optional": true, + "text-padding": 2, + "text-size": 12 + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 0.5, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_other", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 8, + "filter": [ + "match", + ["get", "class"], + ["city", "continent", "country", "state", "town", "village"], + false, + true + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.1, + "text-max-width": 9, + "text-size": ["interpolate", ["linear"], ["zoom"], 8, 9, 12, 10], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_village", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 9, + "filter": ["==", ["get", "class"], "village"], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 10, ""], + "icon-optional": false, + "icon-size": 0.2, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 7, + 10, + 11, + 12 + ] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_town", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 6, + "filter": ["==", ["get", "class"], "town"], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 10, ""], + "icon-optional": false, + "icon-size": 0.2, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 7, + 12, + 11, + 14 + ] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_state", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 5, + "maxzoom": 8, + "filter": ["==", ["get", "class"], "state"], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Italic"], + "text-letter-spacing": 0.2, + "text-max-width": 9, + "text-size": ["interpolate", ["linear"], ["zoom"], 5, 10, 8, 14], + "text-transform": "uppercase" + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + }, + { + "id": "label_city", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 3, + "filter": [ + "all", + ["==", ["get", "class"], "city"], + ["!=", ["get", "capital"], 2] + ], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 9, ""], + "icon-optional": false, + "icon-size": 0.4, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Regular"], + "text-max-width": 8, + "text-offset": [0, -0.1], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 4, + 11, + 7, + 13, + 11, + 18 + ] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "label_city_capital", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 3, + "filter": [ + "all", + ["==", ["get", "class"], "city"], + ["==", ["get", "capital"], 2] + ], + "layout": { + "icon-allow-overlap": true, + "icon-image": ["step", ["zoom"], "circle_11_black", 9, ""], + "icon-optional": false, + "icon-size": 0.5, + "text-anchor": "bottom", + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 8, + "text-offset": [0, -0.2], + "text-size": [ + "interpolate", + ["exponential", 1.2], + ["zoom"], + 4, + 12, + 7, + 14, + 11, + 20 + ] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-width": 1, + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "label_country_3", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "minzoom": 2, + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + [">=", ["get", "rank"], 3] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 3, 9, 7, 17] + }, + "paint": { + "text-halo-blur": 1, + "text-halo-width": 1, + "text-color": "#fff", + "text-halo-color": "#3e3e3e" + } + }, + { + "id": "label_country_2", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + ["==", ["get", "rank"], 2] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 2, 9, 5, 17] + }, + "paint": { + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1, + "text-color": "#fff" + } + }, + { + "id": "label_country_1", + "type": "symbol", + "source": "openmaptiles", + "source-layer": "place", + "maxzoom": 9, + "filter": [ + "all", + ["==", ["get", "class"], "country"], + ["==", ["get", "rank"], 1] + ], + "layout": { + "text-field": [ + "case", + ["has", "name:nonlatin"], + ["concat", ["get", "name:latin"], "\n", ["get", "name:nonlatin"]], + ["coalesce", ["get", "name_en"], ["get", "name"]] + ], + "text-font": ["Noto Sans Bold"], + "text-max-width": 6.25, + "text-size": ["interpolate", ["linear"], ["zoom"], 1, 9, 4, 17] + }, + "paint": { + "text-color": "#fff", + "text-halo-blur": 1, + "text-halo-color": "#3e3e3e", + "text-halo-width": 1 + } + } + ], + "id": "di9wvc0" +} \ No newline at end of file diff --git a/ohmg/frontend/svelte_components/src/lib/utils.js b/ohmg/frontend/svelte_components/src/lib/utils.js index c116b523..81591c76 100644 --- a/ohmg/frontend/svelte_components/src/lib/utils.js +++ b/ohmg/frontend/svelte_components/src/lib/utils.js @@ -107,30 +107,29 @@ export function copyToClipboard(elementId) { alert('Copied the text: ' + copyText.value); } -export function makeSatelliteLayer(apiKey) { - return new TileLayer({ +export function makeOFMLayer() { + const openfreemap = new LayerGroup(); + apply(openfreemap, 'https://tiles.openfreemap.org/styles/liberty'); + return openfreemap; +} + +export function makeOFMSatelliteLayer(apiKey) { + + // first make the XYZ tile layer with satellite imagery in it (mapbox raster tiles) + const mapboxSatellite = new TileLayer({ source: new XYZ({ - url: 'https://api.mapbox.com/styles/v1/mapbox/satellite-streets-v10/tiles/{z}/{x}/{y}?access_token=' + apiKey, + url: 'https://api.mapbox.com/v4/mapbox.satellite/{z}/{x}/{y}.jpg?access_token=' + apiKey, tileSize: 512, attributions: [ `© Mapbox © OpenStreetMap Improve this map`, ], }), - }); -} - -export function makeOSMLayer() { - return new TileLayer({ - source: new OSM({ - attributions: [`© OpenStreetMap contributors.`], - }), - }); -} + }) -export function makeOFMLayer() { - const openfreemap = new LayerGroup(); - apply(openfreemap, 'https://tiles.openfreemap.org/styles/liberty'); - return openfreemap; + // now create a layer group with this layer in it + const openfreemap = new LayerGroup({ layers: [mapboxSatellite]}); + apply(openfreemap, "/static/aerialiberty/style-no-non-us-shield.json") + return openfreemap } export function makeBasemaps(mapboxKey) { @@ -142,7 +141,7 @@ export function makeBasemaps(mapboxKey) { }, { id: 'satellite', - layer: makeSatelliteLayer(mapboxKey), + layer: makeOFMSatelliteLayer(mapboxKey), label: 'Streets+Satellite', }, ]; @@ -262,10 +261,3 @@ export function removeRotateCenter(layer) { layer.setVisible(false); } } - -export function setMapExtent(map, extent4326) { - if (map) { - const extent3857 = transformExtent(extent4326, 'EPSG:4326', 'EPSG:3857'); - map.getView().fit(extent3857); - } -}