diff options
Diffstat (limited to 'examples/Outdoors.elm')
-rw-r--r-- | examples/Outdoors.elm | 1079 |
1 files changed, 1079 insertions, 0 deletions
diff --git a/examples/Outdoors.elm b/examples/Outdoors.elm new file mode 100644 index 0000000..9fc5f4d --- /dev/null +++ b/examples/Outdoors.elm @@ -0,0 +1,1079 @@ +module Outdoors exposing (style) + +import Mapbox.Expression as E exposing (false, float, int, 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.Linear + [ ( 5, E.rgba 239 230 214 1 ) + , ( 7, E.rgba 236 223 202 1 ) + ] + ) + ] + , Layer.fill "national_park" + "mapbox-streets" + [ Layer.sourceLayer "landuse_overlay" + , Layer.filter (E.getProperty (str "class") |> E.isEqual (str "national_park")) + , Layer.fillColor (E.rgba 200 221 151 1) + , Layer.fillOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 5, float 0 ) + , ( 6, float 0.5 ) + ] + ) + ] + , Layer.fill "landuse" + "mapbox-streets" + [ Layer.sourceLayer "landuse" + , Layer.filter + (E.any + [ E.getProperty (str "class") |> E.isEqual (str "hospital") + , E.getProperty (str "class") |> E.isEqual (str "park") + , E.getProperty (str "class") |> E.isEqual (str "pitch") + , E.getProperty (str "class") |> E.isEqual (str "school") + ] + ) + , Layer.fillColor + (E.getProperty (str "class") + |> E.matchesStr + [ ( "park", E.rgba 200 221 151 1 ) + , ( "pitch", E.rgba 200 221 151 1 ) + , ( "hospital", E.rgba 242 211 211 1 ) + , ( "school", E.rgba 233 213 199 1 ) + ] + (E.rgba 0 0 0 0) + ) + , Layer.fillOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 5, float 0 ) + , ( 6, float 1 ) + ] + ) + ] + , Layer.line "waterway" + "mapbox-streets" + [ Layer.minzoom 8 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "canal") + , E.getProperty (str "class") |> E.isEqual (str "river") + ] + ] + ) + , Layer.sourceLayer "waterway" + , Layer.lineColor (E.rgba 120 188 236 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.Linear + [ ( 8, float 0 ) + , ( 8.5, float 1 ) + ] + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.fill "water" + "mapbox-streets" + [ Layer.sourceLayer "water" + , Layer.fillColor + (E.zoom + |> E.interpolate E.Linear + [ ( 5, E.rgba 106 181 234 1 ) + , ( 7, E.rgba 120 188 236 1 ) + ] + ) + ] + , Layer.fill "aeroway-polygon" + "mapbox-streets" + [ Layer.sourceLayer "aeroway" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "Polygon") + , E.any + [ E.getProperty (str "type") |> E.isEqual (str "helipad") + , E.getProperty (str "type") |> E.isEqual (str "runway") + , E.getProperty (str "type") |> E.isEqual (str "taxiway") + ] + ] + ) + , Layer.fillColor (E.rgba 196 196 196 1) + ] + , Layer.line "aeroway-line" + "mapbox-streets" + [ Layer.sourceLayer "aeroway" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.any + [ E.getProperty (str "type") |> E.isEqual (str "runway") + , E.getProperty (str "type") |> E.isEqual (str "taxiway") + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 10, float 0.5 ) + , ( 18, float 20 ) + ] + ) + , Layer.lineColor (E.rgba 196 196 196 1) + ] + , Layer.fill "building" + "mapbox-streets" + [ 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.sourceLayer "building" + , Layer.fillColor (E.rgba 212 200 179 1) + , Layer.fillOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 15.5, float 0 ) + , ( 16, float 1 ) + ] + ) + ] + , Layer.line "pedestrian-path" + "mapbox-streets" + [ Layer.minzoom 14 + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "platform") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "path") + , E.getProperty (str "class") |> E.isEqual (str "pedestrian") + ] + ] + ] + ) + , Layer.sourceLayer "road" + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 14 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "pedestrian", float 1 ) + , ( "path", float 0.75 ) + ] + (float 0.75) + ) + , ( 20 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "pedestrian", float 8 ) + , ( "path", float 5 ) + ] + (float 5) + ) + ] + ) + , Layer.lineColor + (E.getProperty (str "type") + |> E.matchesStr + [ ( "sidewalk", E.rgba 221 208 186 1 ) + , ( "crossing", E.rgba 221 208 186 1 ) + ] + (E.rgba 199 184 157 1) + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "tunnel" + "mapbox-streets" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle") + , E.getProperty (str "structure") |> E.isEqual (str "tunnel") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "service") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "track") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 5 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 0.5 ) + , ( "trunk", float 0.5 ) + , ( "primary", float 0.5 ) + , ( "secondary", float 0.01 ) + , ( "tertiary", float 0.01 ) + , ( "street", float 0 ) + , ( "street_limited", float 0 ) + , ( "motorway_link", float 0 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 12 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 3 ) + , ( "trunk", float 3 ) + , ( "primary", float 3 ) + , ( "secondary", float 2 ) + , ( "tertiary", float 2 ) + , ( "street", float 0.5 ) + , ( "street_limited", float 0.5 ) + , ( "motorway_link", float 0.5 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 18 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 30 ) + , ( "trunk", float 30 ) + , ( "primary", float 30 ) + , ( "secondary", float 24 ) + , ( "tertiary", float 24 ) + , ( "street", float 12 ) + , ( "street_limited", float 12 ) + , ( "motorway_link", float 12 ) + , ( "service", float 10 ) + , ( "track", float 10 ) + , ( "link", float 10 ) + ] + (float 10) + ) + ] + ) + , Layer.lineColor + (E.getProperty (str "class") + |> E.matchesStr + [ ( "street", E.rgba 255 251 244 1 ) + , ( "street_limited", E.rgba 255 251 244 1 ) + , ( "service", E.rgba 255 251 244 1 ) + , ( "track", E.rgba 255 251 244 1 ) + , ( "link", E.rgba 255 251 244 1 ) + ] + (E.rgba 255 255 255 1) + ) + , Layer.lineDasharray (E.floats [ 0.2, 0.2 ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "road" + "mapbox-streets" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle") + , E.all + [ E.getProperty (str "structure") |> E.notEqual (str "bridge") + , E.getProperty (str "structure") |> E.notEqual (str "tunnel") + ] + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "service") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "track") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 5 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 0.5 ) + , ( "trunk", float 0.5 ) + , ( "primary", float 0.5 ) + , ( "secondary", float 0.01 ) + , ( "tertiary", float 0.01 ) + , ( "street", float 0 ) + , ( "street_limited", float 0 ) + , ( "motorway_link", float 0 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 12 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 3 ) + , ( "trunk", float 3 ) + , ( "primary", float 3 ) + , ( "secondary", float 2 ) + , ( "tertiary", float 2 ) + , ( "street", float 0.5 ) + , ( "street_limited", float 0.5 ) + , ( "motorway_link", float 0.5 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 18 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 30 ) + , ( "trunk", float 30 ) + , ( "primary", float 30 ) + , ( "secondary", float 24 ) + , ( "tertiary", float 24 ) + , ( "street", float 12 ) + , ( "street_limited", float 12 ) + , ( "motorway_link", float 12 ) + , ( "service", float 10 ) + , ( "track", float 10 ) + , ( "link", float 10 ) + ] + (float 10) + ) + ] + ) + , Layer.lineColor + (E.getProperty (str "class") + |> E.matchesStr + [ ( "street", E.rgba 255 251 244 1 ) + , ( "street_limited", E.rgba 255 251 244 1 ) + , ( "service", E.rgba 255 251 244 1 ) + , ( "track", E.rgba 255 251 244 1 ) + , ( "link", E.rgba 255 251 244 1 ) + ] + (E.rgba 255 255 255 1) + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "bridge-case" + "mapbox-streets" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle") + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "service") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "track") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 10, float 1 ) + , ( 16, float 2 ) + ] + ) + , Layer.lineColor (E.rgba 236 223 202 1) + , Layer.lineGapWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 5 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 0.5 ) + , ( "trunk", float 0.5 ) + , ( "primary", float 0.5 ) + , ( "secondary", float 0.01 ) + , ( "tertiary", float 0.01 ) + , ( "street", float 0 ) + , ( "street_limited", float 0 ) + , ( "motorway_link", float 0 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 12 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 3 ) + , ( "trunk", float 3 ) + , ( "primary", float 3 ) + , ( "secondary", float 2 ) + , ( "tertiary", float 2 ) + , ( "street", float 0.5 ) + , ( "street_limited", float 0.5 ) + , ( "motorway_link", float 0.5 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 18 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 30 ) + , ( "trunk", float 30 ) + , ( "primary", float 30 ) + , ( "secondary", float 24 ) + , ( "tertiary", float 24 ) + , ( "street", float 12 ) + , ( "street_limited", float 12 ) + , ( "motorway_link", float 12 ) + , ( "service", float 10 ) + , ( "track", float 10 ) + , ( "link", float 10 ) + ] + (float 10) + ) + ] + ) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.line "bridge" + "mapbox-streets" + [ Layer.sourceLayer "road" + , Layer.filter + (E.all + [ E.geometryType |> E.isEqual (str "LineString") + , E.all + [ E.getProperty (str "type") |> E.notEqual (str "service:parking_aisle") + , E.getProperty (str "structure") |> E.isEqual (str "bridge") + , E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "motorway_link") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "service") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "track") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ] + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate (E.Exponential 1.5) + [ ( 5 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 0.5 ) + , ( "trunk", float 0.5 ) + , ( "primary", float 0.5 ) + , ( "secondary", float 0.01 ) + , ( "tertiary", float 0.01 ) + , ( "street", float 0 ) + , ( "street_limited", float 0 ) + , ( "motorway_link", float 0 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 12 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 3 ) + , ( "trunk", float 3 ) + , ( "primary", float 3 ) + , ( "secondary", float 2 ) + , ( "tertiary", float 2 ) + , ( "street", float 0.5 ) + , ( "street_limited", float 0.5 ) + , ( "motorway_link", float 0.5 ) + , ( "service", float 0 ) + , ( "track", float 0 ) + , ( "link", float 0 ) + ] + (float 0) + ) + , ( 18 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 30 ) + , ( "trunk", float 30 ) + , ( "primary", float 30 ) + , ( "secondary", float 24 ) + , ( "tertiary", float 24 ) + , ( "street", float 12 ) + , ( "street_limited", float 12 ) + , ( "motorway_link", float 12 ) + , ( "service", float 10 ) + , ( "track", float 10 ) + , ( "link", float 10 ) + ] + (float 10) + ) + ] + ) + , Layer.lineColor + (E.getProperty (str "class") + |> E.matchesStr + [ ( "street", E.rgba 255 251 244 1 ) + , ( "street_limited", E.rgba 255 251 244 1 ) + , ( "service", E.rgba 255 251 244 1 ) + , ( "track", E.rgba 255 251 244 1 ) + , ( "link", E.rgba 255 251 244 1 ) + ] + (E.rgba 255 255 255 1) + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "admin-state-province" + "mapbox-streets" + [ Layer.minzoom 2 + , Layer.filter + (E.all + [ E.getProperty (str "maritime") |> E.isEqual (float 0) + , E.getProperty (str "admin_level") |> E.greaterThanOrEqual (float 3) + ] + ) + , Layer.sourceLayer "admin" + , Layer.lineDasharray + (E.zoom + |> E.step + (E.floats + [ 2 + , 0 + ] + ) + [ ( 7 + , E.floats + [ 2 + , 2 + , 6 + , 2 + ] + ) + ] + ) + , Layer.lineWidth + (E.zoom + |> E.interpolate E.Linear + [ ( 7, float 0.75 ) + , ( 12, float 1.5 ) + ] + ) + , Layer.lineOpacity + (E.zoom + |> E.interpolate E.Linear + [ ( 2, float 0 ) + , ( 3, float 1 ) + ] + ) + , Layer.lineColor (E.zoom |> E.step (E.rgba 204 204 204 1) [ ( 4, E.rgba 165 165 165 1 ) ]) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "admin-country" + "mapbox-streets" + [ Layer.minzoom 1 + , Layer.filter + (E.all + [ E.getProperty (str "admin_level") |> E.lessThanOrEqual (float 2) + , E.getProperty (str "disputed") |> E.isEqual (float 0) + , E.getProperty (str "maritime") |> E.isEqual (float 0) + ] + ) + , Layer.sourceLayer "admin" + , Layer.lineColor (E.rgba 127 127 127 1) + , Layer.lineWidth + (E.zoom + |> E.interpolate E.Linear + [ ( 3, float 0.5 ) + , ( 10, float 2 ) + ] + ) + , Layer.lineJoin E.lineJoinRound + , Layer.lineCap E.lineCapRound + ] + , Layer.line "admin-country-disputed" + "mapbox-streets" + [ Layer.minzoom 1 + , Layer.filter + (E.all + [ E.getProperty (str "admin_level") |> E.lessThanOrEqual (float 2) + , E.getProperty (str "disputed") |> E.isEqual (float 1) + , E.getProperty (str "maritime") |> E.isEqual (float 0) + ] + ) + , Layer.sourceLayer "admin" + , Layer.lineColor (E.rgba 127 127 127 1) + , Layer.lineWidth + (E.zoom + |> E.interpolate E.Linear + [ ( 3, float 0.5 ) + , ( 10, float 2 ) + ] + ) + , Layer.lineDasharray (E.floats [ 1.5, 1.5 ]) + , Layer.lineJoin E.lineJoinRound + ] + , Layer.symbol "road-label" + "mapbox-streets" + [ Layer.minzoom 12 + , Layer.filter + (E.any + [ E.getProperty (str "class") |> E.isEqual (str "link") + , E.getProperty (str "class") |> E.isEqual (str "motorway") + , E.getProperty (str "class") |> E.isEqual (str "pedestrian") + , E.getProperty (str "class") |> E.isEqual (str "primary") + , E.getProperty (str "class") |> E.isEqual (str "secondary") + , E.getProperty (str "class") |> E.isEqual (str "street") + , E.getProperty (str "class") |> E.isEqual (str "street_limited") + , E.getProperty (str "class") |> E.isEqual (str "tertiary") + , E.getProperty (str "class") |> E.isEqual (str "trunk") + ] + ) + , Layer.sourceLayer "road_label" + , Layer.textColor (E.rgba 0 0 0 1) + , Layer.textHaloColor (E.rgba 255 255 255 1) + , Layer.textHaloWidth (float 1) + , Layer.textSize + (E.zoom + |> E.interpolate E.Linear + [ ( 9 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 10 ) + , ( "trunk", float 10 ) + , ( "primary", float 10 ) + , ( "secondary", float 10 ) + , ( "tertiary", float 10 ) + ] + (float 9) + ) + , ( 20 + , E.getProperty (str "class") + |> E.matchesStr + [ ( "motorway", float 15 ) + , ( "trunk", float 15 ) + , ( "primary", float 15 ) + , ( "secondary", float 15 ) + , ( "tertiary", float 15 ) + ] + (float 14) + ) + ] + ) + , Layer.textMaxAngle (float 30) + , Layer.textFont + (E.strings + [ "Roboto Regular" + , "Arial Unicode MS Regular" + ] + ) + , Layer.symbolPlacement E.symbolPlacementLine + , Layer.textPadding (float 1) + , Layer.textRotationAlignment E.anchorMap + , Layer.textPitchAlignment E.anchorViewport + , Layer.textField (E.getProperty (str "name_en")) + ] + , Layer.symbol "poi-label" + "mapbox-streets" + [ Layer.sourceLayer "poi_label" + , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 3)) + , Layer.textColor (E.rgba 88 77 59 1) + , Layer.textHaloColor (E.rgba 255 255 255 0.75) + , Layer.textHaloWidth (float 1) + , Layer.textHaloBlur (float 0.5) + , Layer.textLineHeight (float 1.1) + , Layer.textSize + (E.zoom + |> E.interpolate E.Linear + [ ( 10, float 11 ) + , ( 18, float 13 ) + ] + ) + , Layer.iconImage (E.getProperty (str "maki") |> E.append (str "-11")) + , Layer.textMaxAngle (float 38) + , Layer.textFont + (E.strings + [ "Roboto Regular" + , "Arial Unicode MS Regular" + ] + ) + , Layer.textPadding (float 2) + , Layer.textOffset (E.floats [ 0, 0.75 ]) + , Layer.textAnchor E.positionTop + , Layer.textField (E.getProperty (str "name_en")) + , Layer.textMaxWidth (float 8) + ] + , Layer.symbol "airport-label" + "mapbox-streets" + [ Layer.sourceLayer "airport_label" + , Layer.filter (E.getProperty (str "scalerank") |> E.lessThanOrEqual (float 2)) + , Layer.textColor (E.rgba 88 77 59 1) + , Layer.textHaloColor (E.rgba 255 255 255 1) + , Layer.textHaloWidth (float 1) + , Layer.textLineHeight (float 1.1) + , Layer.textSize + (E.zoom + |> E.interpolate E.Linear + [ ( 10, float 12 ) + , ( 18, float 18 ) + ] + ) + , Layer.iconImage + (E.zoom + |> E.step (E.getProperty (str "maki") |> E.append (str "-11")) + [ ( 13, E.getProperty (str "maki") |> E.append (str "-15") ) ] + ) + , Layer.textFont + (E.strings + [ "Roboto Regular" + , "Arial Unicode MS Regular" + ] + ) + , Layer.textPadding (float 2) + , Layer.textOffset (E.floats [ 0, 0.75 ]) + , Layer.textAnchor E.positionTop + , Layer.textField (E.zoom |> E.step (E.getProperty (str "ref")) [ ( 14, E.getProperty (str "name_en") ) ]) + , Layer.textMaxWidth (float 9) + ] + , Layer.symbol "place-neighborhood-suburb-label" + "mapbox-streets" + [ Layer.minzoom 12 + , Layer.maxzoom 15 + , Layer.filter + (E.any + [ E.getProperty (str "type") |> E.isEqual (str "neighbourhood") + , E.getProperty (str "type") |> E.isEqual (str "suburb") + ] + ) + , Layer.sourceLayer "place_label" + , Layer.textHaloColor (E.rgba 255 255 255 1) + , Layer.textHaloWidth (float 1) + , Layer.textColor (E.rgba 86 62 20 1) + , L |