diff options
| author | Jakub Hampl <kopomir@gmail.com> | 2018-09-11 09:50:38 +0100 | 
|---|---|---|
| committer | Jakub Hampl <kopomir@gmail.com> | 2018-09-11 09:50:38 +0100 | 
| commit | 075a1730211ed26e227bc8de6ad9a032048e66ee (patch) | |
| tree | 75eb3b1cf1255df3f093c3c891341ca912a0ac54 /examples | |
| parent | 2e9381479d484d383238493306421327623bc4a2 (diff) | |
Add style generator
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/Example02.elm | 12 | ||||
| -rw-r--r-- | examples/Outdoors.elm | 1079 | 
2 files changed, 1091 insertions, 0 deletions
diff --git a/examples/Example02.elm b/examples/Example02.elm new file mode 100644 index 0000000..5e04567 --- /dev/null +++ b/examples/Example02.elm @@ -0,0 +1,12 @@ +module Example02 exposing (main) + +import Browser +import Html exposing (div) +import Html.Attributes exposing (style) +import Mapbox.Element exposing (..) +import Outdoors + + +main = +    div [ style "height" "100vh" ] +        [ map [] Outdoors.style ] 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.getPrope  | 
