aboutsummaryrefslogtreecommitdiffstats
path: root/examples/Styles
diff options
context:
space:
mode:
authorJakub Hampl <kopomir@gmail.com>2019-02-14 15:23:49 +0000
committerGitHub <noreply@github.com>2019-02-14 15:23:49 +0000
commit6bd5f8ccbd8c44c3311ef36b0e2de9ede4fa71ed (patch)
treede40a36d34cb734c2765a705506436f8b38e28a9 /examples/Styles
parentf0c36a3d49fad46e0fb6cafeb7a021dd5d775993 (diff)
New Style Generator (#8)
Diffstat (limited to 'examples/Styles')
-rw-r--r--examples/Styles/Dark.elm2888
-rw-r--r--examples/Styles/Light.elm2906
-rw-r--r--examples/Styles/Outdoors.elm4267
-rw-r--r--examples/Styles/Satellite.elm24
-rw-r--r--examples/Styles/SatelliteStreets.elm2939
-rw-r--r--examples/Styles/Streets.elm3737
6 files changed, 16761 insertions, 0 deletions
diff --git a/examples/Styles/Dark.elm b/examples/Styles/Dark.elm
new file mode 100644
index 0000000..d6d339b
--- /dev/null
+++ b/examples/Styles/Dark.elm
@@ -0,0 +1,2888 @@
+module Styles.Dark 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 51 51 50 1) ]
+ , 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 51 51 50 1)
+ , Layer.fillOpacity (float 0.1)
+ , 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 51 51 50 1)
+ , Layer.fillOpacity (float 0.1)
+ , 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 51 51 50 1)
+ , Layer.fillOpacity (float 0.1)
+ , 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 51 51 50 1)
+ , Layer.fillOpacity (float 0.1)
+ , 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 49 52 50 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 0.5 ) ])
+ ]
+ , Layer.fill "parks"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "park"))
+ , Layer.fillColor (E.rgba 49 52 50 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 5, float 0 ), ( 6, float 0.75 ) ])
+ ]
+ , Layer.fill "pitch"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "pitch"))
+ , Layer.fillColor (E.rgba 49 52 50 1)
+ ]
+ , Layer.fill "industrial"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "industrial"))
+ , Layer.fillColor (E.rgba 51 51 51 1)
+ ]
+ , Layer.fill "sand"
+ "composite"
+ [ Layer.sourceLayer "landuse"
+ , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "sand"))
+ , Layer.fillColor (E.rgba 49 52 50 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.04 ), ( 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.04 ), ( 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 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.033 ), ( 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 89 89 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 14, float 0.033 ), ( 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 89 89 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 89 89 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.any
+ [ E.conditionally
+ [ ( E.typeof (E.getProperty (str "class")) |> E.isEqual (str "string")
+ , E.getProperty (str "class") |> E.isEqual (str "canal")
+ )
+ ]
+ false
+ , E.conditionally
+ [ ( E.typeof (E.getProperty (str "class")) |> E.isEqual (str "string")
+ , E.getProperty (str "class") |> E.isEqual (str "river")
+ )
+ ]
+ false
+ ]
+ )
+ , Layer.lineColor (E.rgba 24 25 26 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.fill "water shadow"
+ "composite"
+ [ Layer.sourceLayer "water"
+ , Layer.fillColor (E.rgba 12 13 13 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 24 25 26 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 51 51 50 1)
+ , Layer.fillOutlineColor (E.rgba 51 51 50 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 51 51 50 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.rgba 68 68 68 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.rgba 68 68 68 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.rgba 68 68 68 1)
+ , Layer.lineWidth (E.zoom |> E.interpolate (E.Exponential 1.5) [ ( 10, float 0.5 ), ( 18, float 20 ) ])
+ ]
+ , 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.rgba 43 43 42 1)
+ , Layer.fillOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 15.5, float 0 ), ( 16, float 1 ) ])
+ , Layer.fillOutlineColor (E.rgba 38 38 37 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 37 38 39 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 37 38 39 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 72 75 75 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 72 75 75 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 72 75 75 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 72 75 75 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) [ ( 5, float 0.75 ), ( 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 72 75 75 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 72 75 75 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 72 75 75 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) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 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) [ ( 5, float 0.75 ), ( 16, float 2 ) ])
+ , Layer.lineColor (E.rgba 72 75 75 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 37 38 39 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 37 38 39 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 ), ( 18, float 4 ) ])
+ , Layer.lineColor (E.rgba 37 38 39 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 37 38 39 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 37 38 39 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 37 38 39 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 37 38 39 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 37 38 39 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 37 38 39 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 37 38 39 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 37 38 39 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-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 37 38 39 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 37 38 39 1)
+ , Layer.lineBlur (float 0)
+ , Layer.lineCap E.lineCapRound
+ , Layer.lineJoin E.lineJoinRound
+ ]
+ , 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 43 43 43 1)
+ , Layer.lineGapWidth (float 0)
+ , Layer.lineOpacity (E.zoom |> E.interpolate (E.Exponential 1) [ ( 13.9, 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
+ ]
+ ]