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/SatelliteStreets.elm | 2939 ++++++++++++++++++++++++++++++++++ 1 file changed, 2939 insertions(+) create mode 100644 examples/Styles/SatelliteStreets.elm (limited to 'examples/Styles/SatelliteStreets.elm') diff --git a/examples/Styles/SatelliteStreets.elm b/examples/Styles/SatelliteStreets.elm new file mode 100644 index 0000000..b51050d --- /dev/null +++ b/examples/Styles/SatelliteStreets.elm @@ -0,0 +1,2939 @@ +module Styles.SatelliteStreets 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.rgba 4 7 14 1) ] + , Layer.raster "mapbox-mapbox-satellite" "mapbox://mapbox.satellite" [] + , 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.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 12 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street_limited case" + "composite" + [ Layer.sourceLayer "road" + , 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.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 12 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street case" + "composite" + [ Layer.sourceLayer "road" + , 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.lineColor (E.rgba 242 232 232 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , 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.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-trunk_link-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_link") + ] + ] + ) + , Layer.lineColor (E.rgba 242 232 232 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 32 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-motorway_link-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_link") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 13, float 0 ), ( 13.5, float 0.5 ), ( 16, float 0.75 ), ( 18, float 0.35 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 16, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , 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 "class") |> E.isEqual (str "trunk") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0.5 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ]) + , 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.lineColor (E.rgba 255 255 255 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0.5 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 3, 3 ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , 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.lineColor (E.rgba 219 219 219 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.25 ), ( 15, float 0.4 ), ( 16, float 0.75 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 1 ), ( 18, float 2.5 ) ]) + , 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.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-trunk_link" + "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_link") + ] + ] + ) + , Layer.lineColor (E.rgba 242 232 232 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-motorway_link" + "composite" + [ Layer.sourceLayer "road" + , 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.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-pedestrian 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 "pedestrian") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + ] + ] + ) + , Layer.lineColor (E.rgba 249 247 244 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0.5 ) ]) + , Layer.lineWidth (float 1) + , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 1 ] ), ( 16, E.floats [ 1, 2 ] ) ]) + , Layer.lineBlur (float 0) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ]) + , 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.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 143 141 141 1 ), ( 10, E.rgba 191 191 191 1 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0.5 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 12 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street_limited" + "composite" + [ Layer.sourceLayer "road" + , 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.lineColor (E.rgba 43 42 42 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.5 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "tunnel-street" + "composite" + [ Layer.sourceLayer "road" + , 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.lineColor (E.rgba 43 42 42 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.5 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , 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.lineColor (E.rgba 43 42 42 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 11.5, float 0 ), ( 12.5, float 0.65 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 12 ) ]) + , 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.lineColor (E.rgba 212 210 210 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "tunnel-oneway-arrows-blue-minor" + "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 [ ( "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.iconImage (str "oneway-spaced-white-large") + ] + , 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.iconImage (str "oneway-spaced-white-large") + ] + , 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.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 206 193 68 1 ), ( 18, E.rgba 209 210 208 1 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , 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.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.75 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 18, float 18 ) ]) + , Layer.lineDasharray (E.floats [ 1, 0 ]) + , Layer.lineBlur (float 0) + , Layer.lineCap E.lineCapRound + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "tunnel-oneway-arrows-white" + "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 [ ( "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.iconImage (str "oneway-spaced-white-large") + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.symbolSpacing (float 150) + , 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.rgba 219 219 219 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.5, float 0 ), ( 8, float 0.15 ), ( 16, float 0.5 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 18, float 2.5 ) ]) + , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 3.5, 2 ]) [ ( 14, E.floats [ 2, 1 ] ) ]) + , 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.rgba 219 219 219 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7.5, float 0 ), ( 8, float 0.15 ), ( 16, float 0.5 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 18, float 2.5 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "ferry-label" + "composite" + [ Layer.sourceLayer "road_label" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "ferry")) + , Layer.textColor (E.rgba 247 248 252 1) + , Layer.textOpacity (float 1) + , Layer.textHaloColor (E.rgba 7 7 7 1) + , Layer.textHaloBlur (float 0.5) + , Layer.textHaloWidth (float 1.75) + , Layer.textField (E.toFormattedText (E.getProperty (str "name_en"))) + , Layer.textFont (E.strings [ "DIN Offc Pro Medium", "Arial Unicode MS Regular" ]) + , Layer.textSize (E.zoom |> E.interpolate (E.Exponential 1) [ ( 16, float 11 ), ( 20, float 13 ) ]) + , Layer.textLetterSpacing (float 0.01) + , Layer.textLineHeight (float 1.1) + , Layer.textMaxWidth (float 7) + , Layer.symbolPlacement E.symbolPlacementLine + ] + , Layer.line "road-link case" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") |> E.notEqual (str "trunk_link") + ] + ] + ) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 143 141 141 1 ), ( 10, E.rgba 191 191 191 1 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 20, float 2 ) ]) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , 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.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 16, float 2 ) ]) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-primary-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.maxzoom 15 + , 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.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 11, E.rgba 43 42 42 1 ), ( 14, E.rgba 137 137 132 1 ), ( 18, E.rgba 33 32 32 1 ) ] + ) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 7, float 0 ), ( 10, float 0.5 ), ( 14, float 1 ), ( 16, float 0 ) ] + ) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ]) + , 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.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0.75 ), ( 12, float 0.65 ), ( 18, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 14, float 2 ) ]) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , 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.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ]) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0.5 ), ( 18, float 2 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 11, E.lineCapButt ) ]) + , 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", false ) ] true + ] + ] + ) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ]) + , Layer.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 11, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-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.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") + |> E.matchesStr [ ( "crossing", false ), ( "piste", false ), ( "sidewalk", false ), ( "steps", false ) ] true + ] + ] + ) + , Layer.lineColor (E.rgba 219 219 219 1) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 1 ), ( 18, float 2.5 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.25 ), ( 15, float 0.4 ), ( 16, float 0.75 ) ]) + , 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.lineJoin E.lineJoinRound + ] + , Layer.line "road-trunk_link" + "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.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 184 172 64 1 ), ( 18, E.rgba 209 210 208 1 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-motorway_link" + "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.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-pedestrian" + "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.lineColor (E.rgba 219 219 219 1) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 1 ), ( 18, float 2.5 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.25 ), ( 15, float 0.4 ), ( 16, float 0.75 ) ]) + , Layer.lineDasharray (E.zoom |> E.step (E.floats [ 1, 0 ]) [ ( 15, E.floats [ 1.5, 1 ] ), ( 16, E.floats [ 1, 2 ] ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-link" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") |> E.notEqual (str "o") + ] + ] + ) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 7, E.rgba 143 141 141 1 ), ( 10, E.rgba 191 191 191 1 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 0.5 ), ( 18, float 12 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-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 E.textFitNone + ] + ] + ) + , Layer.lineColor (E.rgba 43 42 42 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.25 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-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 E.textFitNone + ] + ] + ) + , Layer.lineColor (E.rgba 43 42 42 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 12, float 0 ), ( 14, float 0.5 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10.5, float 0.5 ), ( 12, float 4 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-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.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + ] + ] + ) + , Layer.lineColor (E.rgba 43 42 42 1) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1.2) [ ( 11.5, float 0 ), ( 12.5, float 0.65 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 16, float 2 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-primary" + "composite" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "class") |> E.matchesStr [ ( "link", true ), ( "primary", true ) ] false + , E.getProperty (str "structure") |> E.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + ] + ] + ) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 8, E.rgba 244 244 244 1 ), ( 10, E.rgba 212 210 210 1 ) ]) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 6, float 0.25 ), ( 8, float 0.6 ), ( 14, float 1 ), ( 16, float 0 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.5 ), ( 12, float 1.75 ), ( 18, float 1 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "road-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.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") |> E.notEqual (str "trunk_link") + ] + ] + ) + , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ]) + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.symbolSpacing (float 200) + , Layer.iconPadding (float 2) + , Layer.iconRotationAlignment E.anchorMap + ] + , Layer.symbol "road-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.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + , E.getProperty (str "type") |> E.notEqual (str "trunk_link") + ] + ] + ) + , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ]) + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.symbolSpacing (float 200) + , Layer.iconPadding (float 2) + , Layer.iconRotationAlignment E.anchorMap + ] + , Layer.line "road-trunk" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 5 + , 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.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 206 193 68 1 ), ( 18, E.rgba 209 210 208 1 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road-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.matchesStr [ ( "bridge", false ), ( "tunnel", false ) ] true + ] + ] + ) + , Layer.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 5, E.rgba 163 131 96 1 ), ( 14.5, E.rgba 208 145 76 1 ), ( 18, E.rgba 209 210 208 1 ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "road-oneway-arrows-white" + "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 [ ( "link", true ), ( "motorway", true ), ( "motorway_link", true ), ( "trunk", true ) ] false + , E.getProperty (str "oneway") |> E.isEqual (str "true") + , E.getProperty (str "type") + |> E.matchesStr [ ( "primary_link", false ), ( "secondary_link", false ), ( "tertiary_link", false ) ] true + ] + ] + ) + , Layer.iconImage (E.zoom |> E.step (str "oneway-spaced-small") [ ( 17, str "oneway-spaced-large" ) ]) + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.symbolSpacing (float 200) + , Layer.iconPadding (float 2) + ] + , Layer.line "bridge-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 "bridge") + ] + ] + ) + , Layer.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 11, E.rgba 43 42 42 1 ), ( 14, E.rgba 137 137 132 1 ), ( 18, E.rgba 33 32 32 1 ) ] + ) + , Layer.lineOpacity + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 7, float 0 ), ( 10, float 0.5 ), ( 14, float 1 ), ( 16, float 0 ) ] + ) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "bridge-trunk_link-case" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 11 + , Layer.maxzoom 15 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "layer") + |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + , E.getProperty (str "type") |> E.isEqual (str "trunk_link") + ] + ] + ) + , Layer.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 11, float 0.75 ), ( 12, float 0.65 ), ( 18, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.75 ), ( 14, float 2 ) ]) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "bridge-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 "layer") + |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + ] + ] + ) + , Layer.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ] + ) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 16, float 2 ) ]) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 12, float 0.5 ), ( 14, float 2 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "bridge-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 "layer") + |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + ] + ] + ) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ]) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ) ]) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0.5 ), ( 18, float 2 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 11, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "bridge-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 "layer") + |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + ] + ] + ) + , Layer.lineGapWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 1 ), ( 12, float 2 ), ( 18, float 1 ) ]) + , Layer.lineColor + (E.zoom + |> E.interpolate (E.Exponential 1) [ ( 9, E.rgba 66 65 65 1 ), ( 12, E.rgba 79 78 78 1 ), ( 15, E.rgba 64 63 63 1 ) ] + ) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 5, float 0.75 ), ( 16, float 2 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "bridge-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 "bridge") + , E.getProperty (str "type") |> E.notEqual (str "steps") + ] + ] + ) + , Layer.lineColor (E.rgba 219 219 219 1) + , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 14, float 1 ), ( 18, float 2.5 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.25 ), ( 15, float 0.4 ), ( 16, float 0.75 ) ]) + , 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.lineJoin E.lineJoinRound + ] + , Layer.line "bridge-trunk_link" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 13 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "layer") + |> E.matchesFloat [ ( 2, false ), ( 3, false ), ( 4, false ), ( 5, false ) ] true + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + , 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 ) ]) + , Layer.lineColor (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, E.rgba 184 172 64 1 ), ( 18, E.rgba 209 210 208 1 ) ]) + , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 1 ), ( 16, float 0 ) ]) + , Layer.lineCap (E.zoom |> E.step E.lineCapRound [ ( 12, E.lineCapButt ) ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "bridge-motorway_link" + "composite" + [ Layer.sourceLayer "road" + , Layer.minzoom 13 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all +