From 6bd5f8ccbd8c44c3311ef36b0e2de9ede4fa71ed Mon Sep 17 00:00:00 2001 From: Jakub Hampl Date: Thu, 14 Feb 2019 15:23:49 +0000 Subject: New Style Generator (#8) --- examples/Styles/Streets.elm | 3737 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 3737 insertions(+) create mode 100644 examples/Styles/Streets.elm (limited to 'examples/Styles/Streets.elm') diff --git a/examples/Styles/Streets.elm b/examples/Styles/Streets.elm new file mode 100644 index 0000000..1e7c300 --- /dev/null +++ b/examples/Styles/Streets.elm @@ -0,0 +1,3737 @@ +module Styles.Streets exposing (style) + +import Mapbox.Expression as E exposing (false, float, str, true) +import Mapbox.Layer as Layer +import Mapbox.Source as Source +import Mapbox.Style as Style exposing (Style(..)) + + +style : Style +style = + Style + { transition = Style.defaultTransition + , light = Style.defaultLight + , layers = + [ Layer.background "background" + [ Layer.backgroundColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, E.rgba 239 233 224 1 ), ( 13, E.rgba 230 227 223 1 ) ]) + ] + , Layer.fill "landcover_snow" + "composite" + [ Layer.sourceLayer "landcover" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (E.rgba 255 250 250 1)) + , Layer.fillColor (E.rgba 255 255 255 1) + , Layer.fillOpacity (float 0.2) + , Layer.fillAntialias false + ] + , Layer.fill "landcover_wood" + "composite" + [ Layer.sourceLayer "landcover" + , Layer.maxzoom 14 + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "wood")) + , Layer.fillColor (E.rgba 221 236 176 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 7, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "landcover_scrub" + "composite" + [ Layer.sourceLayer "landcover" + , Layer.maxzoom 14 + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "scrub")) + , Layer.fillColor (E.rgba 221 236 176 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 7, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "landcover_grass" + "composite" + [ Layer.sourceLayer "landcover" + , Layer.maxzoom 14 + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "grass")) + , Layer.fillColor (E.rgba 221 236 176 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 7, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "landcover_crop" + "composite" + [ Layer.sourceLayer "landcover" + , Layer.maxzoom 14 + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "crop")) + , Layer.fillColor (E.rgba 221 236 176 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 2, float 0.3 ), ( 7, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "national_park" + "composite" + [ Layer.sourceLayer "landuse_overlay" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park")) + , Layer.fillColor (E.rgba 181 229 158 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 0.5 ) ]) + ] + , Layer.fill "hospital" + "composite" + [ Layer.sourceLayer "landuse" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "hospital")) + , Layer.fillColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 234 209 217 1 ), ( 16, E.rgba 244 209 221 1 ) ] + ) + ] + , Layer.fill "school" + "composite" + [ Layer.sourceLayer "landuse" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "school")) + , Layer.fillColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 229 221 183 1 ), ( 16, E.rgba 239 231 188 1 ) ] + ) + ] + , Layer.fill "park" + "composite" + [ Layer.sourceLayer "landuse" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "park")) + , Layer.fillColor (E.rgba 181 229 158 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 1 ) ]) + ] + , Layer.fill "pitch" + "composite" + [ Layer.sourceLayer "landuse" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch")) + , Layer.fillColor (E.rgba 170 224 142 1) + ] + , Layer.line "pitch-line" + "composite" + [ Layer.sourceLayer "landuse" + , Layer.minzoom 15 + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch")) + , Layer.lineColor (E.rgba 225 237 190 1) + , Layer.lineJoin E.lineJoinMiter + ] + , Layer.fill "cemetery" + "composite" + [ Layer.sourceLayer "landuse" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "cemetery")) + , Layer.fillColor (E.rgba 215 224 188 1) + ] + , Layer.fill "industrial" + "composite" + [ Layer.sourceLayer "landuse" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "industrial")) + , Layer.fillColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 15.5, E.rgba 213 215 224 1 ), ( 16, E.rgba 218 221 235 1 ) ] + ) + ] + , Layer.fill "sand" + "composite" + [ Layer.sourceLayer "landuse" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "sand")) + , Layer.fillColor (E.rgba 237 237 206 1) + ] + , Layer.fill "hillshade_highlight_bright" + "composite" + [ Layer.sourceLayer "hillshade" + , Layer.maxzoom 16 + , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 94)) + , Layer.fillColor (E.rgba 255 255 255 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.12 ), ( 16, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "hillshade_highlight_med" + "composite" + [ Layer.sourceLayer "hillshade" + , Layer.maxzoom 16 + , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 90)) + , Layer.fillColor (E.rgba 255 255 255 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.12 ), ( 16, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "hillshade_shadow_faint" + "composite" + [ Layer.sourceLayer "hillshade" + , Layer.maxzoom 16 + , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 89)) + , Layer.fillColor (E.rgba 89 84 23 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.05 ), ( 16, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "hillshade_shadow_med" + "composite" + [ Layer.sourceLayer "hillshade" + , Layer.maxzoom 16 + , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 78)) + , Layer.fillColor (E.rgba 89 84 23 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.05 ), ( 16, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "hillshade_shadow_dark" + "composite" + [ Layer.sourceLayer "hillshade" + , Layer.maxzoom 16 + , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 67)) + , Layer.fillColor (E.rgba 89 84 23 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.06 ), ( 16, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.fill "hillshade_shadow_extreme" + "composite" + [ Layer.sourceLayer "hillshade" + , Layer.maxzoom 16 + , Layer.filter (E.getProperty (str "level") |> E.isEqual (float 56)) + , Layer.fillColor (E.rgba 89 84 23 1) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.06 ), ( 16, float 0 ) ]) + , Layer.fillAntialias false + ] + , Layer.line "waterway-river-canal" + "composite" + [ Layer.sourceLayer "waterway" + , Layer.minzoom 8 + , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", true ), ( "river", true ) ] false) + , Layer.lineColor (E.rgba 140 202 247 1) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.3) [ ( 8.5, float 0.1 ), ( 20, float 8 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, float 0 ), ( 8.5, float 1 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapButt [ ( 11, E.lineCapRound ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "waterway-small" + "composite" + [ Layer.sourceLayer "waterway" + , Layer.minzoom 13 + , Layer.filter (E.getProperty (str "class") |> E.matchesStr [ ( "canal", false ), ( "river", false ) ] true) + , Layer.lineColor (E.rgba 140 202 247 1) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.35) [ ( 13.5, float 0.1 ), ( 20, float 3 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 1 ) ]) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.fill "water-shadow" + "composite" + [ Layer.sourceLayer "water" + , Layer.fillColor (E.rgba 109 164 242 1) + , Layer.fillTranslate (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 7, E.floats [ 0, 0 ] ), ( 16, E.floats [ -1, -1 ] ) ]) + , Layer.fillTranslateAnchor E.anchorViewport + , Layer.fillOpacity (float 1) + ] + , Layer.fill "water" "composite" [ Layer.sourceLayer "water", Layer.fillColor (E.rgba 117 207 239 1) ] + , Layer.fill "barrier_line-land-polygon" + "composite" + [ Layer.sourceLayer "barrier_line" + , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "class") |> E.isEqual (str "land") ]) + , Layer.fillColor (E.rgba 230 227 223 1) + ] + , Layer.line "barrier_line-land-line" + "composite" + [ Layer.sourceLayer "barrier_line" + , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "class") |> E.isEqual (str "land") ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.99) [ ( 14, float 0.75 ), ( 20, float 40 ) ]) + , Layer.lineColor (E.rgba 230 227 223 1) + , Layer.lineCap E.lineCapRound + ] + , Layer.fill "aeroway-polygon" + "composite" + [ Layer.sourceLayer "aeroway" + , Layer.minzoom 11 + , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "Polygon"), E.getProperty (str "type") |> E.notEqual (str "apron") ]) + , Layer.fillColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ]) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.5, float 1 ) ]) + ] + , Layer.line "aeroway-runway" + "composite" + [ Layer.sourceLayer "aeroway" + , Layer.minzoom 9 + , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "runway") ]) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 9, float 1 ), ( 18, float 80 ) ]) + ] + , Layer.line "aeroway-taxiway" + "composite" + [ Layer.sourceLayer "aeroway" + , Layer.minzoom 9 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.getProperty (str "type") |> E.isEqual (str "taxiway") + ] + ) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 198 202 219 1 ), ( 16, E.rgba 199 204 229 1 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 0.5 ), ( 18, float 20 ) ]) + ] + , Layer.line "building-line" + "composite" + [ Layer.sourceLayer "building" + , Layer.minzoom 15 + , Layer.filter + (E.all + [ E.getProperty (str "type") |> E.notEqual (str "building:part") + , E.getProperty (str "underground") |> E.isEqual (str "false") + ] + ) + , Layer.lineColor (E.rgba 204 201 198 1) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 0.75 ), ( 20, float 3 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ]) + ] + , Layer.fill "building" + "composite" + [ Layer.sourceLayer "building" + , Layer.minzoom 15 + , Layer.filter + (E.all + [ E.getProperty (str "type") |> E.notEqual (str "building:part") + , E.getProperty (str "underground") |> E.isEqual (str "false") + ] + ) + , Layer.fillColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 227 224 221 1 ), ( 16, E.rgba 219 217 213 1 ) ]) + , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ]) + , Layer.fillOutlineColor (E.rgba 204 201 198 1) + ] + , Layer.line "tunnel-street-low" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ] + ) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street_limited-low" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 11.5, float 0 ), ( 12, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ] + ) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-service-link-track-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 14 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") + |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.notEqual (str "trunk_link") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 179 183 203 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street_limited-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 179 183 203 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 179 183 203 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-secondary-tertiary-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ]) + , Layer.lineColor (E.rgba 179 183 203 1) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-primary-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineColor (E.rgba 179 183 203 1) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-trunk_link-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 13 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.isEqual (str "trunk_link") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-motorway_link-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 13 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-trunk-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.isEqual (str "trunk") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineOpacity (float 1) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-motorway-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineOpacity (float 1) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-construction" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 14 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "construction") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 213 216 229 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ]) + , Layer.lineDasharray + (E.zoom + |> E.step (E.floats [ 0.4, 0.8 ]) + [ ( 15, E.floats [ 0.3, 0.6 ] ) + , ( 16, E.floats [ 0.2, 0.3 ] ) + , ( 17, E.floats [ 0.2, 0.25 ] ) + , ( 18, E.floats [ 0.15, 0.15 ] ) + ] + ) + , Layer.lineJoin E.lineJoinMiter + ] + , Layer.line "tunnel-path" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "path") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.notEqual (str "steps") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 18, float 4 ) ]) + , Layer.lineDasharray + (E.zoom + |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 1, 0.5 ] ) ] + ) + , Layer.lineColor (E.rgba 245 242 238 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-steps" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.isEqual (str "steps") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 1 ), ( 16, float 1.6 ), ( 18, float 6 ) ]) + , Layer.lineColor (E.rgba 245 242 238 1) + , Layer.lineDasharray + (E.zoom + |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.75, 1 ] ), ( 16, E.floats [ 1, 0.75 ] ), ( 17, E.floats [ 0.3, 0.3 ] ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 1 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-trunk_link" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 13 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.isEqual (str "trunk_link") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 242 221 155 1) + , Layer.lineOpacity (float 1) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-motorway_link" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 13 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 255 191 142 1) + , Layer.lineOpacity (float 1) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-pedestrian" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 13 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "pedestrian") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity (float 1) + , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 0.4 ] ), ( 16, E.floats [ 1, 0.2 ] ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-service-link-track" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 14 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") + |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.notEqual (str "trunk_link") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street_limited" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 239 237 234 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-secondary-tertiary" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity (float 1) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-primary" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity (float 1) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "tunnel-oneway-arrows-blue-minor" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 16 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") + |> E.matchesStr [ ( "link", true ), ( "path", true ), ( "pedestrian", true ), ( "service", true ), ( "track", true ) ] false + , E.getProperty (str "oneway") |> E.isEqual (str "true") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.notEqual (str "trunk_link") + ] + ] + ) + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 18, str "oneway-large" ) ]) + , Layer.symbolSpacing (float 200) + , Layer.iconPadding (float 2) + ] + , Layer.symbol "tunnel-oneway-arrows-blue-major" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 15 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") + |> E.matchesStr + [ ( "primary", true ) + , ( "secondary", true ) + , ( "street", true ) + , ( "street_limited", true ) + , ( "tertiary", true ) + ] + false + , E.getProperty (str "oneway") |> E.isEqual (str "true") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") |> E.notEqual (str "trunk_link") + ] + ] + ) + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.iconImage (E.zoom |> E.step (str "oneway-small") [ ( 17, str "oneway-large" ) ]) + , Layer.symbolSpacing (float 200) + , Layer.iconPadding (float 2) + ] + , Layer.line "tunnel-trunk" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "trunk") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineColor (E.rgba 242 221 155 1) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-motorway" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineOpacity (float 1) + , Layer.lineColor (E.rgba 255 191 142 1) + , Layer.lineBlur (float 0) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "tunnel-oneway-arrows-white" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 16 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") + |> E.matchesStr [ ( "link", true ), ( "motorway", true ), ( "motorway_link", true ), ( "trunk", true ) ] false + , E.getProperty (str "oneway") |> E.isEqual (str "true") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.getProperty (str "type") + |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true + ] + ] + ) + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.iconImage (E.zoom |> E.step (str "oneway-white-small") [ ( 17, str "oneway-white-large" ) ]) + , Layer.symbolSpacing (float 200) + , Layer.iconPadding (float 2) + ] + , Layer.line "ferry" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter (E.all [ E.geometryType |> E.isEqual (str "LineString"), E.getProperty (str "type") |> E.isEqual (str "ferry") ]) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 91 172 229 1 ), ( 17, E.rgba 91 114 229 1 ) ]) + , Layer.lineOpacity (float 1) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ]) + , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 13, E.floats [ 12, 4 ] ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "ferry_auto" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.getProperty (str "type") |> E.isEqual (str "ferry_auto") + ] + ) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15, E.rgba 91 172 229 1 ), ( 17, E.rgba 91 114 229 1 ) ]) + , Layer.lineOpacity (float 1) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 20, float 1 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-path-bg" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "path") + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") + |> E.matchesStr [ ( "crossing", false ), ( "sidewalk", false ), ( "steps", false ) ] true + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 18, float 7 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineColor (E.rgba 201 203 216 1) + , Layer.lineBlur (float 0) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 0.75 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-steps-bg" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") |> E.isEqual (str "steps") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 17, float 4.6 ), ( 18, float 7 ) ]) + , Layer.lineColor (E.rgba 201 203 216 1) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0 ), ( 14.25, float 0.75 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-sidewalk-bg" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 16 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") |> E.matchesStr [ ( "crossing", true ), ( "sidewalk", true ) ] false + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 15, float 2 ), ( 18, float 7 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineColor (E.rgba 201 203 216 1) + , Layer.lineBlur (float 0) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 0 ), ( 16.25, float 0.75 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "turning-features-outline" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 15 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "Point") + , E.getProperty (str "class") + |> E.matchesStr [ ( "turning_circle", true ), ( "turning_loop", true ) ] false + ] + ) + , Layer.iconImage (str "turning-circle-outline") + , Layer.iconSize + (E.zoom + |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.122 ), ( 18, float 0.969 ), ( 20, float 1 ) ] + ) + , Layer.iconAllowOverlap true + , Layer.iconIgnorePlacement true + , Layer.iconPadding (float 0) + , Layer.iconRotationAlignment E.anchorMap + ] + , Layer.line "road-pedestrian-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 12 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "pedestrian") + , E.getProperty (str "structure") |> E.isEqual E.textFitNone + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 2 ), ( 18, float 14.5 ) ]) + , Layer.lineColor (E.rgba 213 216 229 1) + , Layer.lineGapWidth (float 0) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-street-low" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "structure") |> E.isEqual E.textFitNone + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ] + ) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-street_limited-low" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "structure") |> E.isEqual E.textFitNone + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12.5, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 11, float 0 ), ( 11.25, float 1 ), ( 14, float 1 ), ( 14.01, float 0 ) ] + ) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-service-link-track-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 14 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") + |> E.matchesStr [ ( "link", true ), ( "service", true ), ( "track", true ) ] false + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") |> E.notEqual (str "trunk_link") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 213 216 229 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-street_limited-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "structure") |> E.isEqual E.textFitNone + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 213 216 229 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-street-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "structure") |> E.isEqual E.textFitNone + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 213 216 229 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 13, float 0 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.99, float 0 ), ( 14, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-secondary-tertiary-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.matchesStr [ ( "secondary", true ), ( "tertiary", true ) ] false + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 10, float 0.75 ), ( 18, float 2 ) ]) + , Layer.lineColor (E.rgba 213 216 229 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 8.5, float 0.5 ), ( 10, float 0.75 ), ( 18, float 26 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9.99, float 0 ), ( 10, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-primary-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ]) + , Layer.lineColor (E.rgba 213 216 229 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9.99, float 0 ), ( 10, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-motorway_link-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 10 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-trunk_link-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") |> E.isEqual (str "trunk_link") + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ), ( 18, float 18 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 10.99, float 0 ), ( 11, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-trunk-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "trunk") + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + ] + ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 1 ), ( 16, float 2 ) ]) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 6, float 0 ), ( 6.1, float 1 ) ]) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-motorway-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel"