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) , Layer.textField (E.getProperty (str "name_en")) , Layer.textTransform E.textTransformUppercase , Layer.textLetterSpacing (float 0.15) , Layer.textMaxWidth (float 8) , Layer.textFont (E.strings [ "Roboto Regular" , "Arial Unicode MS Regular" ] ) , Layer.textPadding (float 3) , Layer.textSize (E.zoom |> E.interpolate E.Linear [ ( 12, float 11 ) , ( 16, float 16 ) ] ) ] , Layer.symbol "place-town-village-hamlet-label" "mapbox-streets" [ Layer.minzoom 6 , Layer.maxzoom 14 , Layer.filter (E.any [ E.getProperty (str "type") |> E.isEqual (str "hamlet") , E.getProperty (str "type") |> E.isEqual (str "town") , E.getProperty (str "type") |> E.isEqual (str "village") ] ) , Layer.sourceLayer "place_label" , Layer.textColor (E.rgba 0 0 0 1) , Layer.textHaloBlur (float 0.5) , Layer.textHaloColor (E.rgba 255 255 255 1) , Layer.textHaloWidth (float 1) , Layer.textSize (E.zoom |> E.interpolate E.Linear [ ( 5, E.getProperty (str "type") |> E.matchesStr [ ( "town", float 9.5 ) ] (float 8) ) , ( 16, E.getProperty (str "type") |> E.matchesStr [ ( "town", float 20 ) ] (float 16) ) ] ) , Layer.textFont (E.zoom |> E.step (E.strings [ "Roboto Regular" , "Arial Unicode MS Regular" ] ) [ ( 12 , E.getProperty (str "type") |> E.matchesStr [ ( "town" , E.strings [ "Roboto Medium" , "Arial Unicode MS Regular" ] ) ] (E.strings [ "Roboto Regular" , "Arial Unicode MS Regular" ] ) ) ] ) , Layer.textMaxWidth (float 7) , Layer.textField (E.getProperty (str "name_en")) ] , Layer.symbol "place-city-label-minor" "mapbox-streets" [ Layer.minzoom 1 , Layer.maxzoom 14 , Layer.filter (E.all [ E.not (E.hasProperty (str "scalerank")) , E.getProperty (str "type") |> E.isEqual (str "city") ] ) , Layer.sourceLayer "place_label" , Layer.textColor (E.zoom |> E.interpolate E.Linear [ ( 5, E.rgba 84 84 84 1 ) , ( 6, E.rgba 0 0 0 1 ) ] ) , Layer.textHaloBlur (float 0.5) , Layer.textHaloColor (E.rgba 255 255 255 1) , Layer.textHaloWidth (float 1.25) , Layer.textSize (E.zoom |> E.interpolate E.Linear [ ( 5, float 12 ) , ( 16, float 22 ) ] ) , Layer.textFont (E.strings [ "Roboto Medium" , "Arial Unicode MS Regular" ] ) , Layer.textMaxWidth (float 10) , Layer.textField (E.getProperty (str "name_en")) ] , Layer.symbol "place-city-label-major" "mapbox-streets" [ Layer.minzoom 1 , Layer.maxzoom 14 , Layer.filter (E.all [ E.getProperty (str "type") |> E.isEqual (str "city") , E.hasProperty (str "scalerank") ] ) , Layer.sourceLayer "place_label" , Layer.textColor (E.zoom |> E.interpolate E.Linear [ ( 5, E.rgba 84 84 84 1 ) , ( 6, E.rgba 0 0 0 1 ) ] ) , Layer.textHaloBlur (float 0.5) , Layer.textHaloColor (E.rgba 255 255 255 1) , Layer.textHaloWidth (float 1.25) , Layer.textSize (E.zoom |> E.interpolate E.Linear [ ( 5, E.getProperty (str "scalerank") |> E.step (float 14) [ ( 4, float 12 ) ] ) , ( 16, E.getProperty (str "scalerank") |> E.step (float 30) [ ( 4, float 22 ) ] ) ] ) , Layer.textFont (E.zoom |> E.step (E.strings [ "Roboto Medium" , "Arial Unicode MS Regular" ] ) [ ( 10 , E.getProperty (str "scalerank") |> E.step (E.strings [ "Roboto Bold" , "Arial Unicode MS Bold" ] ) [ ( 5 , E.strings [ "Roboto Medium" , "Arial Unicode MS Regular" ] ) ] ) ] ) , Layer.textMaxWidth (float 10) , Layer.textField (E.getProperty (str "name_en")) ] , Layer.symbol "state-label" "mapbox-streets" [ Layer.sourceLayer "state_label" , Layer.minzoom 4 , Layer.maxzoom 8 , Layer.textColor (E.rgba 169 164 156 1) , Layer.textHaloWidth (float 1) , Layer.textHaloColor (E.rgba 255 255 255 1) , Layer.textLineHeight (float 1.2) , Layer.textSize (E.zoom |> E.interpolate E.Linear [ ( 4 , E.getProperty (str "area") |> E.step (float 8) [ ( 20000, float 9 ) , ( 80000, float 10 ) ] ) , ( 9 , E.getProperty (str "area") |> E.step (float 14) [ ( 20000, float 18 ) , ( 80000, float 23 ) ] ) ] ) , Layer.textTransform E.textTransformUppercase , Layer.textFont (E.strings [ "Roboto Black" , "Arial Unicode MS Bold" ] ) , Layer.textPadding (float 1) , Layer.textField (E.zoom |> E.step (E.getProperty (str "area") |> E.step (E.getProperty (str "abbr")) [ ( 80000, E.getProperty (str "name_en") ) ]) [ ( 5, E.getProperty (str "name_en") ) ]) , Layer.textLetterSpacing (float 0.2) , Layer.textMaxWidth (float 6) ] , Layer.symbol "country-label" "mapbox-streets" [ Layer.sourceLayer "country_label" , Layer.minzoom 1 , Layer.maxzoom 8 , Layer.textHaloWidth (float 1.5) , Layer.textHaloColor (E.rgba 255 255 255 1) , Layer.textColor (E.rgba 0 0 0 1) , Layer.textField (E.getProperty (str "name_en")) , Layer.textMaxWidth (E.zoom |> E.interpolate E.Linear [ ( 0, float 5 ) , ( 3, float 6 ) ] ) , Layer.textFont (E.zoom |> E.step (E.strings [ "Roboto Medium" , "Arial Unicode MS Regular" ] ) [ ( 4 , E.strings [ "Roboto Bold" , "Arial Unicode MS Bold" ] ) ] ) , Layer.textSize (E.zoom |> E.interpolate E.Linear [ ( 2 , E.getProperty (str "scalerank") |> E.step (float 13) [ ( 3, float 11 ) , ( 5, float 9 ) ] ) , ( 9 , E.getProperty (str "scalerank") |> E.step (float 35) [ ( 3, float 27 ) , ( 5, float 22 ) ] ) ] ) ] ] , sources = [ Source.vectorFromUrl "mapbox-streets" "mapbox://mapbox.mapbox-streets-v7" ] , misc = [ Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf" , Style.sprite "mapbox://sprites/astrosat/cjlnn5red6a2o2sqtzzyg7prr" ] }