TileServer GL图层样式的layout属性

发布时间 2023-04-26 14:00:56作者: 槑孒

在 TileServer GL 的样式中,layout 属性用于定义图层布局参数。以下是一些常见的 layout 属性及其说明:

  1. visibility:指定图层是否可见。
  2. line-cap:指定线条末端的外观样式(butt、round、square)。
  3. line-join:指定连接线段的类型(miter、bevel、round)。
  4. line-miter-limit:指定 mitre 连接的 miter 限制(1.0-4.0)。
  5. line-round-limit:指定什么情况下将miter连接替换为 round 连接。
  6. icon-image:指定用于渲染点标记的图像。
  7. icon-size:指定点标记图像的比例因子。
  8. icon-offset:指定点标记图像的偏移量。
  9. text-field:指定在渲染文本标注时要使用的字段。
  10. text-font:指定要在文本标注中使用的字体集。
  11. text-size:指定文本标注的大小。
  12. text-anchor:指定文本标注的锚点。
  13. text-offset:指定文本标注的偏移量。
  14. text-transform:指定在渲染文本标注时应用的文本转换。
  15. text-letter-spacing:指定在渲染文本标注时使用的字母间距。

这些是 layout 属性的一些示例,但不是全部。每个图层可以使用不同的布局属性,具体取决于您的配置。

点击样式示例代码
{
  "version": 8,
  "name": "OSM Liberty",
  "metadata": {
    "maputnik:license": "https://github.com/maputnik/osm-liberty/blob/gh-pages/LICENSE.md",
    "maputnik:renderer": "mbgljs",
    "openmaptiles:version": "3.x"
  },
  "sources": {
    "openmaptiles": {
      "type": "vector",
      "url": "https://api.maptiler.com/tiles/v3/tiles.json?key={key}"
    },
    "natural_earth_shaded_relief": {
      "maxzoom": 6,
      "tileSize": 256,
      "tiles": [
        "https://klokantech.github.io/naturalearthtiles/tiles/natural_earth_2_shaded_relief.raster/{z}/{x}/{y}.png"
      ],
      "type": "raster"
    }
  },
  "sprite": "https://maputnik.github.io/osm-liberty/sprites/osm-liberty",
  "glyphs": "https://api.maptiler.com/fonts/{fontstack}/{range}.pbf?key={key}",
  "layers": [
    {
      "id": "background",
      "type": "background",
      "paint": {"background-color": "rgb(239,239,239)"}
    },
    {
      "id": "natural_earth",
      "type": "raster",
      "source": "natural_earth_shaded_relief",
      "maxzoom": 6,
      "paint": {"raster-opacity": {"base": 1.5, "stops": [[0, 0.6], [6, 0.1]]}}
    },
    {
      "id": "park",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "park",
      "paint": {
        "fill-color": "#d8e8c8",
        "fill-opacity": 0.7,
        "fill-outline-color": "rgba(95, 208, 100, 1)"
      }
    },
    {
      "id": "park_outline",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "park",
      "paint": {
        "line-dasharray": [1, 1.5],
        "line-color": "rgba(228, 241, 215, 1)"
      }
    },
    {
      "id": "landuse_residential",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landuse",
      "maxzoom": 8,
      "filter": ["==", "class", "residential"],
      "paint": {
        "fill-color": {
          "base": 1,
          "stops": [
            [9, "hsla(0, 3%, 85%, 0.84)"],
            [12, "hsla(35, 57%, 88%, 0.49)"]
          ]
        }
      }
    },
    {
      "id": "landcover_wood",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landcover",
      "filter": ["all", ["==", "class", "wood"]],
      "paint": {
        "fill-antialias": false,
        "fill-color": "hsla(98, 61%, 72%, 0.7)",
        "fill-opacity": 0.4
      }
    },
    {
      "id": "landcover_grass",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landcover",
      "filter": ["all", ["==", "class", "grass"]],
      "paint": {
        "fill-antialias": false,
        "fill-color": "rgba(176, 213, 154, 1)",
        "fill-opacity": 0.3
      }
    },
    {
      "id": "landcover_ice",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landcover",
      "filter": ["all", ["==", "class", "ice"]],
      "paint": {
        "fill-antialias": false,
        "fill-color": "rgba(224, 236, 236, 1)",
        "fill-opacity": 0.8
      }
    },
    {
      "id": "landuse_cemetery",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landuse",
      "filter": ["==", "class", "cemetery"],
      "paint": {"fill-color": "hsl(75, 37%, 81%)"}
    },
    {
      "id": "landuse_hospital",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landuse",
      "filter": ["==", "class", "hospital"],
      "paint": {"fill-color": "#fde"}
    },
    {
      "id": "landuse_school",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landuse",
      "filter": ["==", "class", "school"],
      "paint": {"fill-color": "rgb(236,238,204)"}
    },
    {
      "id": "waterway_tunnel",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "waterway",
      "filter": ["all", ["==", "brunnel", "tunnel"]],
      "paint": {
        "line-color": "#a0c8f0",
        "line-dasharray": [3, 3],
        "line-gap-width": {"stops": [[12, 0], [20, 6]]},
        "line-opacity": 1,
        "line-width": {"base": 1.4, "stops": [[8, 1], [20, 2]]}
      }
    },
    {
      "id": "waterway_river",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "waterway",
      "filter": ["all", ["==", "class", "river"], ["!=", "brunnel", "tunnel"]],
      "layout": {"line-cap": "round"},
      "paint": {
        "line-color": "#a0c8f0",
        "line-width": {"base": 1.2, "stops": [[11, 0.5], [20, 6]]}
      }
    },
    {
      "id": "waterway_other",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "waterway",
      "filter": ["all", ["!=", "class", "river"], ["!=", "brunnel", "tunnel"]],
      "layout": {"line-cap": "round"},
      "paint": {
        "line-color": "#a0c8f0",
        "line-width": {"base": 1.3, "stops": [[13, 0.5], [20, 6]]}
      }
    },
    {
      "id": "water",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "water",
      "filter": ["all", ["!=", "brunnel", "tunnel"]],
      "paint": {"fill-color": "rgb(158,189,255)"}
    },
    {
      "id": "landcover_sand",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "landcover",
      "filter": ["all", ["==", "class", "sand"]],
      "paint": {"fill-color": "rgba(247, 239, 195, 1)"}
    },
    {
      "id": "aeroway_fill",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "aeroway",
      "minzoom": 11,
      "filter": ["==", "$type", "Polygon"],
      "paint": {"fill-color": "rgba(229, 228, 224, 1)", "fill-opacity": 0.7}
    },
    {
      "id": "aeroway_runway",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "aeroway",
      "minzoom": 11,
      "filter": [
        "all",
        ["==", "$type", "LineString"],
        ["==", "class", "runway"]
      ],
      "paint": {
        "line-color": "#f0ede9",
        "line-width": {"base": 1.2, "stops": [[11, 3], [20, 16]]}
      }
    },
    {
      "id": "aeroway_taxiway",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "aeroway",
      "minzoom": 11,
      "filter": [
        "all",
        ["==", "$type", "LineString"],
        ["==", "class", "taxiway"]
      ],
      "paint": {
        "line-color": "#f0ede9",
        "line-width": {"base": 1.2, "stops": [[11, 0.5], [20, 6]]}
      }
    },
    {
      "id": "tunnel_motorway_link_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "motorway"],
        ["==", "ramp", 1],
        ["==", "brunnel", "tunnel"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-dasharray": [0.5, 0.25],
        "line-width": {
          "base": 1.2,
          "stops": [[12, 1], [13, 3], [14, 4], [20, 15]]
        }
      }
    },
    {
      "id": "tunnel_service_track_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["in", "class", "service", "track"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#cfcdca",
        "line-dasharray": [0.5, 0.25],
        "line-width": {"base": 1.2, "stops": [[15, 1], [16, 4], [20, 11]]}
      }
    },
    {
      "id": "tunnel_link_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "ramp", 1], ["==", "brunnel", "tunnel"]],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[12, 1], [13, 3], [14, 4], [20, 15]]
        }
      }
    },
    {
      "id": "tunnel_street_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["in", "class", "street", "street_limited"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#cfcdca",
        "line-opacity": {"stops": [[12, 0], [12.5, 1]]},
        "line-width": {
          "base": 1.2,
          "stops": [[12, 0.5], [13, 1], [14, 4], [20, 15]]
        }
      }
    },
    {
      "id": "tunnel_secondary_tertiary_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["in", "class", "secondary", "tertiary"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {"base": 1.2, "stops": [[8, 1.5], [20, 17]]}
      }
    },
    {
      "id": "tunnel_trunk_primary_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["in", "class", "primary", "trunk"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]]
        }
      }
    },
    {
      "id": "tunnel_motorway_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "motorway"],
        ["!=", "ramp", 1],
        ["==", "brunnel", "tunnel"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-dasharray": [0.5, 0.25],
        "line-width": {
          "base": 1.2,
          "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]]
        }
      }
    },
    {
      "id": "tunnel_path_pedestrian",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "$type", "LineString"],
        ["==", "brunnel", "tunnel"],
        ["in", "class", "path", "pedestrian"]
      ],
      "paint": {
        "line-color": "hsl(0, 0%, 100%)",
        "line-dasharray": [1, 0.75],
        "line-width": {"base": 1.2, "stops": [[14, 0.5], [20, 10]]}
      }
    },
    {
      "id": "tunnel_motorway_link",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "motorway"],
        ["==", "ramp", 1],
        ["==", "brunnel", "tunnel"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fc8",
        "line-width": {
          "base": 1.2,
          "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
        }
      }
    },
    {
      "id": "tunnel_service_track",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["in", "class", "service", "track"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fff",
        "line-width": {"base": 1.2, "stops": [[15.5, 0], [16, 2], [20, 7.5]]}
      }
    },
    {
      "id": "tunnel_link",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "ramp", 1], ["==", "brunnel", "tunnel"]],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fff4c6",
        "line-width": {
          "base": 1.2,
          "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
        }
      }
    },
    {
      "id": "tunnel_minor",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "brunnel", "tunnel"], ["in", "class", "minor"]],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fff",
        "line-width": {"base": 1.2, "stops": [[13.5, 0], [14, 2.5], [20, 11.5]]}
      }
    },
    {
      "id": "tunnel_secondary_tertiary",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["in", "class", "secondary", "tertiary"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fff4c6",
        "line-width": {"base": 1.2, "stops": [[6.5, 0], [7, 0.5], [20, 10]]}
      }
    },
    {
      "id": "tunnel_trunk_primary",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["in", "class", "primary", "trunk"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fff4c6",
        "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]}
      }
    },
    {
      "id": "tunnel_motorway",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "motorway"],
        ["!=", "ramp", 1],
        ["==", "brunnel", "tunnel"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#ffdaa6",
        "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]}
      }
    },
    {
      "id": "tunnel_major_rail",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "brunnel", "tunnel"], ["in", "class", "rail"]],
      "paint": {
        "line-color": "#bbb",
        "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]}
      }
    },
    {
      "id": "tunnel_major_rail_hatching",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "brunnel", "tunnel"], ["==", "class", "rail"]],
      "paint": {
        "line-color": "#bbb",
        "line-dasharray": [0.2, 8],
        "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]}
      }
    },
    {
      "id": "tunnel_transit_rail",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["in", "class", "transit"]
      ],
      "paint": {
        "line-color": "#bbb",
        "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]}
      }
    },
    {
      "id": "tunnel_transit_rail_hatching",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "tunnel"],
        ["==", "class", "transit"]
      ],
      "paint": {
        "line-color": "#bbb",
        "line-dasharray": [0.2, 8],
        "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]}
      }
    },
    {
      "id": "road_area_pattern",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "$type", "Polygon"]],
      "paint": {"fill-pattern": "pedestrian_polygon"}
    },
    {
      "id": "road_motorway_link_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 12,
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "class", "motorway"],
        ["==", "ramp", 1]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[12, 1], [13, 3], [14, 4], [20, 15]]
        }
      }
    },
    {
      "id": "road_service_track_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "service", "track"]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#cfcdca",
        "line-width": {"base": 1.2, "stops": [[15, 1], [16, 4], [20, 11]]}
      }
    },
    {
      "id": "road_link_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 13,
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["!in", "class", "pedestrian", "path", "track", "service", "motorway"],
        ["==", "ramp", 1]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[12, 1], [13, 3], [14, 4], [20, 15]]
        }
      }
    },
    {
      "id": "road_minor_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "$type", "LineString"],
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "minor"],
        ["!=", "ramp", 1]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#cfcdca",
        "line-opacity": {"stops": [[12, 0], [12.5, 1]]},
        "line-width": {
          "base": 1.2,
          "stops": [[12, 0.5], [13, 1], [14, 4], [20, 20]]
        }
      }
    },
    {
      "id": "road_secondary_tertiary_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "secondary", "tertiary"],
        ["!=", "ramp", 1]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {"base": 1.2, "stops": [[8, 1.5], [20, 17]]}
      }
    },
    {
      "id": "road_trunk_primary_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "primary", "trunk"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]]
        }
      }
    },
    {
      "id": "road_motorway_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 5,
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "class", "motorway"],
        ["!=", "ramp", 1]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]]
        }
      }
    },
    {
      "id": "road_path_pedestrian",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 14,
      "filter": [
        "all",
        ["==", "$type", "LineString"],
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "path", "pedestrian"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "hsl(0, 0%, 100%)",
        "line-dasharray": [1, 0.7],
        "line-width": {"base": 1.2, "stops": [[14, 1], [20, 10]]}
      }
    },
    {
      "id": "road_motorway_link",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 12,
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "class", "motorway"],
        ["==", "ramp", 1]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#fc8",
        "line-width": {
          "base": 1.2,
          "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
        }
      }
    },
    {
      "id": "road_service_track",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "service", "track"]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#fff",
        "line-width": {"base": 1.2, "stops": [[15.5, 0], [16, 2], [20, 7.5]]}
      }
    },
    {
      "id": "road_link",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 13,
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "ramp", 1],
        ["!in", "class", "pedestrian", "path", "track", "service", "motorway"]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#fea",
        "line-width": {
          "base": 1.2,
          "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
        }
      }
    },
    {
      "id": "road_minor",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "$type", "LineString"],
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "minor"]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#fff",
        "line-width": {"base": 1.2, "stops": [[13.5, 0], [14, 2.5], [20, 18]]}
      }
    },
    {
      "id": "road_secondary_tertiary",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "secondary", "tertiary"]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "#fea",
        "line-width": {"base": 1.2, "stops": [[6.5, 0], [8, 0.5], [20, 13]]}
      }
    },
    {
      "id": "road_trunk_primary",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["in", "class", "primary", "trunk"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fea",
        "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]}
      }
    },
    {
      "id": "road_motorway",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 5,
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "class", "motorway"],
        ["!=", "ramp", 1]
      ],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": {
          "base": 1,
          "stops": [[5, "hsl(26, 87%, 62%)"], [6, "#fc8"]]
        },
        "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]}
      }
    },
    {
      "id": "road_major_rail",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "class", "rail"]
      ],
      "paint": {
        "line-color": "#bbb",
        "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]}
      }
    },
    {
      "id": "road_major_rail_hatching",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "class", "rail"]
      ],
      "paint": {
        "line-color": "#bbb",
        "line-dasharray": [0.2, 8],
        "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]}
      }
    },
    {
      "id": "road_transit_rail",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "class", "transit"]
      ],
      "paint": {
        "line-color": "#bbb",
        "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]}
      }
    },
    {
      "id": "road_transit_rail_hatching",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["!in", "brunnel", "bridge", "tunnel"],
        ["==", "class", "transit"]
      ],
      "paint": {
        "line-color": "#bbb",
        "line-dasharray": [0.2, 8],
        "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]}
      }
    },
    {
      "id": "road_one_way_arrow",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 15,
      "filter": ["==", "oneway", 1],
      "layout": {"icon-image": "arrow", "symbol-placement": "line"}
    },
    {
      "id": "road_one_way_arrow_opposite",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "minzoom": 15,
      "filter": ["==", "oneway", -1],
      "layout": {
        "icon-image": "arrow",
        "symbol-placement": "line",
        "icon-rotate": 180
      }
    },
    {
      "id": "bridge_motorway_link_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "motorway"],
        ["==", "ramp", 1],
        ["==", "brunnel", "bridge"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[12, 1], [13, 3], [14, 4], [20, 15]]
        }
      }
    },
    {
      "id": "bridge_service_track_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "bridge"],
        ["in", "class", "service", "track"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#cfcdca",
        "line-width": {"base": 1.2, "stops": [[15, 1], [16, 4], [20, 11]]}
      }
    },
    {
      "id": "bridge_link_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "class", "link"], ["==", "brunnel", "bridge"]],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[12, 1], [13, 3], [14, 4], [20, 15]]
        }
      }
    },
    {
      "id": "bridge_street_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "bridge"],
        ["in", "class", "street", "street_limited"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "hsl(36, 6%, 74%)",
        "line-opacity": {"stops": [[12, 0], [12.5, 1]]},
        "line-width": {
          "base": 1.2,
          "stops": [[12, 0.5], [13, 1], [14, 4], [20, 25]]
        }
      }
    },
    {
      "id": "bridge_path_pedestrian_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "$type", "LineString"],
        ["==", "brunnel", "bridge"],
        ["in", "class", "path", "pedestrian"]
      ],
      "paint": {
        "line-color": "hsl(35, 6%, 80%)",
        "line-dasharray": [1, 0],
        "line-width": {"base": 1.2, "stops": [[14, 1.5], [20, 18]]}
      }
    },
    {
      "id": "bridge_secondary_tertiary_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "bridge"],
        ["in", "class", "secondary", "tertiary"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {"base": 1.2, "stops": [[8, 1.5], [20, 17]]}
      }
    },
    {
      "id": "bridge_trunk_primary_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "bridge"],
        ["in", "class", "primary", "trunk"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]]
        }
      }
    },
    {
      "id": "bridge_motorway_casing",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "motorway"],
        ["!=", "ramp", 1],
        ["==", "brunnel", "bridge"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#e9ac77",
        "line-width": {
          "base": 1.2,
          "stops": [[5, 0.4], [6, 0.7], [7, 1.75], [20, 22]]
        }
      }
    },
    {
      "id": "bridge_path_pedestrian",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "$type", "LineString"],
        ["==", "brunnel", "bridge"],
        ["in", "class", "path", "pedestrian"]
      ],
      "paint": {
        "line-color": "hsl(0, 0%, 100%)",
        "line-dasharray": [1, 0.3],
        "line-width": {"base": 1.2, "stops": [[14, 0.5], [20, 10]]}
      }
    },
    {
      "id": "bridge_motorway_link",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "motorway"],
        ["==", "ramp", 1],
        ["==", "brunnel", "bridge"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fc8",
        "line-width": {
          "base": 1.2,
          "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
        }
      }
    },
    {
      "id": "bridge_service_track",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "bridge"],
        ["in", "class", "service", "track"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fff",
        "line-width": {"base": 1.2, "stops": [[15.5, 0], [16, 2], [20, 7.5]]}
      }
    },
    {
      "id": "bridge_link",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "class", "link"], ["==", "brunnel", "bridge"]],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fea",
        "line-width": {
          "base": 1.2,
          "stops": [[12.5, 0], [13, 1.5], [14, 2.5], [20, 11.5]]
        }
      }
    },
    {
      "id": "bridge_street",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "brunnel", "bridge"], ["in", "class", "minor"]],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fff",
        "line-width": {"base": 1.2, "stops": [[13.5, 0], [14, 2.5], [20, 18]]}
      }
    },
    {
      "id": "bridge_secondary_tertiary",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "bridge"],
        ["in", "class", "secondary", "tertiary"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fea",
        "line-width": {"base": 1.2, "stops": [[6.5, 0], [7, 0.5], [20, 10]]}
      }
    },
    {
      "id": "bridge_trunk_primary",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "brunnel", "bridge"],
        ["in", "class", "primary", "trunk"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fea",
        "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]}
      }
    },
    {
      "id": "bridge_motorway",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "motorway"],
        ["!=", "ramp", 1],
        ["==", "brunnel", "bridge"]
      ],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#fc8",
        "line-width": {"base": 1.2, "stops": [[5, 0], [7, 1], [20, 18]]}
      }
    },
    {
      "id": "bridge_major_rail",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "class", "rail"], ["==", "brunnel", "bridge"]],
      "paint": {
        "line-color": "#bbb",
        "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]}
      }
    },
    {
      "id": "bridge_major_rail_hatching",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": ["all", ["==", "class", "rail"], ["==", "brunnel", "bridge"]],
      "paint": {
        "line-color": "#bbb",
        "line-dasharray": [0.2, 8],
        "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]}
      }
    },
    {
      "id": "bridge_transit_rail",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "transit"],
        ["==", "brunnel", "bridge"]
      ],
      "paint": {
        "line-color": "#bbb",
        "line-width": {"base": 1.4, "stops": [[14, 0.4], [15, 0.75], [20, 2]]}
      }
    },
    {
      "id": "bridge_transit_rail_hatching",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "transportation",
      "filter": [
        "all",
        ["==", "class", "transit"],
        ["==", "brunnel", "bridge"]
      ],
      "paint": {
        "line-color": "#bbb",
        "line-dasharray": [0.2, 8],
        "line-width": {"base": 1.4, "stops": [[14.5, 0], [15, 3], [20, 8]]}
      }
    },
    {
      "id": "building",
      "type": "fill",
      "source": "openmaptiles",
      "source-layer": "building",
      "minzoom": 13,
      "maxzoom": 14,
      "paint": {
        "fill-color": "hsl(35, 8%, 85%)",
        "fill-outline-color": {
          "base": 1,
          "stops": [[13, "hsla(35, 6%, 79%, 0.32)"], [14, "hsl(35, 6%, 79%)"]]
        }
      }
    },
    {
      "id": "building-3d",
      "type": "fill-extrusion",
      "source": "openmaptiles",
      "source-layer": "building",
      "minzoom": 14,
      "paint": {
        "fill-extrusion-color": "hsl(35, 8%, 85%)",
        "fill-extrusion-height": {
          "property": "render_height",
          "type": "identity"
        },
        "fill-extrusion-base": {
          "property": "render_min_height",
          "type": "identity"
        },
        "fill-extrusion-opacity": 0.8
      }
    },
    {
      "id": "boundary_3",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "boundary",
      "minzoom": 8,
      "filter": ["all", ["in", "admin_level", 3, 4]],
      "layout": {"line-join": "round"},
      "paint": {
        "line-color": "#9e9cab",
        "line-dasharray": [5, 1],
        "line-width": {"base": 1, "stops": [[4, 0.4], [5, 1], [12, 1.8]]}
      }
    },
    {
      "id": "boundary_2_z0-4",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "boundary",
      "maxzoom": 5,
      "filter": ["all", ["==", "admin_level", 2], ["!has", "claimed_by"]],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "hsl(248, 1%, 41%)",
        "line-opacity": {"base": 1, "stops": [[0, 0.4], [4, 1]]},
        "line-width": {"base": 1, "stops": [[3, 1], [5, 1.2], [12, 3]]}
      }
    },
    {
      "id": "boundary_2_z5-",
      "type": "line",
      "source": "openmaptiles",
      "source-layer": "boundary",
      "minzoom": 5,
      "filter": ["all", ["==", "admin_level", 2]],
      "layout": {"line-cap": "round", "line-join": "round"},
      "paint": {
        "line-color": "hsl(248, 1%, 41%)",
        "line-opacity": {"base": 1, "stops": [[0, 0.4], [4, 1]]},
        "line-width": {"base": 1, "stops": [[3, 1], [5, 1.2], [12, 3]]}
      }
    },
    {
      "id": "water_name_line",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "waterway",
      "filter": ["all", ["==", "$type", "LineString"]],
      "layout": {
        "text-field": "{name}",
        "text-font": ["Roboto Regular"],
        "text-max-width": 5,
        "text-size": 12,
        "symbol-placement": "line"
      },
      "paint": {
        "text-color": "#5d60be",
        "text-halo-color": "rgba(255,255,255,0.7)",
        "text-halo-width": 1
      }
    },
    {
      "id": "water_name_point",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "water_name",
      "filter": ["==", "$type", "Point"],
      "layout": {
        "text-field": "{name}",
        "text-font": ["Roboto Regular"],
        "text-max-width": 5,
        "text-size": 12
      },
      "paint": {
        "text-color": "#5d60be",
        "text-halo-color": "rgba(255,255,255,0.7)",
        "text-halo-width": 1
      }
    },
    {
      "id": "poi_z16",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "poi",
      "minzoom": 16,
      "filter": ["all", ["==", "$type", "Point"], [">=", "rank", 20]],
      "layout": {
        "icon-image": "{class}_11",
        "text-anchor": "top",
        "text-field": "{name}",
        "text-font": ["Roboto Condensed Italic"],
        "text-max-width": 9,
        "text-offset": [0, 0.6],
        "text-size": 12
      },
      "paint": {
        "text-color": "#666",
        "text-halo-blur": 0.5,
        "text-halo-color": "#ffffff",
        "text-halo-width": 1
      }
    },
    {
      "id": "poi_z15",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "poi",
      "minzoom": 15,
      "filter": [
        "all",
        ["==", "$type", "Point"],
        [">=", "rank", 7],
        ["<", "rank", 20]
      ],
      "layout": {
        "icon-image": "{class}_11",
        "text-anchor": "top",
        "text-field": "{name}",
        "text-font": ["Roboto Condensed Italic"],
        "text-max-width": 9,
        "text-offset": [0, 0.6],
        "text-size": 12
      },
      "paint": {
        "text-color": "#666",
        "text-halo-blur": 0.5,
        "text-halo-color": "#ffffff",
        "text-halo-width": 1
      }
    },
    {
      "id": "poi_z14",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "poi",
      "minzoom": 14,
      "filter": [
        "all",
        ["==", "$type", "Point"],
        [">=", "rank", 1],
        ["<", "rank", 7]
      ],
      "layout": {
        "icon-image": "{class}_11",
        "text-anchor": "top",
        "text-field": "{name}",
        "text-font": ["Roboto Condensed Italic"],
        "text-max-width": 9,
        "text-offset": [0, 0.6],
        "text-size": 12
      },
      "paint": {
        "text-color": "#666",
        "text-halo-blur": 0.5,
        "text-halo-color": "#ffffff",
        "text-halo-width": 1
      }
    },
    {
      "id": "poi_transit",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "poi",
      "filter": ["all", ["in", "class", "bus", "rail", "airport"]],
      "layout": {
        "icon-image": "{class}_11",
        "text-anchor": "left",
        "text-field": "{name_en}",
        "text-font": ["Roboto Condensed Italic"],
        "text-max-width": 9,
        "text-offset": [0.9, 0],
        "text-size": 12
      },
      "paint": {
        "text-color": "#4898ff",
        "text-halo-blur": 0.5,
        "text-halo-color": "#ffffff",
        "text-halo-width": 1
      }
    },
    {
      "id": "road_label",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "transportation_name",
      "filter": ["all"],
      "layout": {
        "symbol-placement": "line",
        "text-anchor": "center",
        "text-field": "{name}",
        "text-font": ["Roboto Regular"],
        "text-offset": [0, 0.15],
        "text-size": {"base": 1, "stops": [[13, 12], [14, 13]]}
      },
      "paint": {
        "text-color": "#765",
        "text-halo-blur": 0.5,
        "text-halo-width": 1
      }
    },
    {
      "id": "road_shield",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "transportation_name",
      "minzoom": 7,
      "filter": ["all", ["<=", "ref_length", 6]],
      "layout": {
        "icon-image": "default_{ref_length}",
        "icon-rotation-alignment": "viewport",
        "symbol-placement": {"base": 1, "stops": [[10, "point"], [11, "line"]]},
        "symbol-spacing": 500,
        "text-field": "{ref}",
        "text-font": ["Roboto Regular"],
        "text-offset": [0, 0.1],
        "text-rotation-alignment": "viewport",
        "text-size": 10,
        "icon-size": 0.8
      }
    },
    {
      "id": "place_other",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "filter": [
        "all",
        [
          "in",
          "class",
          "hamlet",
          "island",
          "islet",
          "neighbourhood",
          "suburb",
          "quarter"
        ]
      ],
      "layout": {
        "text-field": "{name_en}",
        "text-font": ["Roboto Condensed Italic"],
        "text-letter-spacing": 0.1,
        "text-max-width": 9,
        "text-size": {"base": 1.2, "stops": [[12, 10], [15, 14]]},
        "text-transform": "uppercase"
      },
      "paint": {
        "text-color": "#633",
        "text-halo-color": "rgba(255,255,255,0.8)",
        "text-halo-width": 1.2
      }
    },
    {
      "id": "place_village",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "filter": ["all", ["==", "class", "village"]],
      "layout": {
        "text-field": "{name_en}",
        "text-font": ["Roboto Regular"],
        "text-max-width": 8,
        "text-size": {"base": 1.2, "stops": [[10, 12], [15, 22]]}
      },
      "paint": {
        "text-color": "#333",
        "text-halo-color": "rgba(255,255,255,0.8)",
        "text-halo-width": 1.2
      }
    },
    {
      "id": "place_town",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "filter": ["all", ["==", "class", "town"]],
      "layout": {
        "icon-image": {"base": 1, "stops": [[0, "dot_9"], [8, ""]]},
        "text-anchor": "bottom",
        "text-field": "{name_en}",
        "text-font": ["Roboto Regular"],
        "text-max-width": 8,
        "text-offset": [0, 0],
        "text-size": {"base": 1.2, "stops": [[7, 12], [11, 16]]}
      },
      "paint": {
        "text-color": "#333",
        "text-halo-color": "rgba(255,255,255,0.8)",
        "text-halo-width": 1.2
      }
    },
    {
      "id": "place_city",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "minzoom": 5,
      "filter": ["all", ["==", "class", "city"]],
      "layout": {
        "icon-image": {"base": 1, "stops": [[0, "dot_9"], [8, ""]]},
        "text-anchor": "bottom",
        "text-field": "{name_en}",
        "text-font": ["Roboto Medium"],
        "text-max-width": 8,
        "text-offset": [0, 0],
        "text-size": {"base": 1.2, "stops": [[7, 14], [11, 24]]},
        "icon-allow-overlap": true,
        "icon-optional": false
      },
      "paint": {
        "text-color": "#333",
        "text-halo-color": "rgba(255,255,255,0.8)",
        "text-halo-width": 1.2
      }
    },
    {
      "id": "state",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "maxzoom": 6,
      "filter": ["all", ["==", "class", "state"]],
      "layout": {
        "text-field": "{name_en}",
        "text-font": ["Roboto Condensed Italic"],
        "text-size": {"stops": [[4, 11], [6, 15]]},
        "text-transform": "uppercase"
      },
      "paint": {
        "text-color": "#633",
        "text-halo-color": "rgba(255,255,255,0.7)",
        "text-halo-width": 1
      }
    },
    {
      "id": "country_3",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "filter": ["all", [">=", "rank", 3], ["==", "class", "country"]],
      "layout": {
        "text-field": "{name_en}",
        "text-font": ["Roboto Condensed Italic"],
        "text-max-width": 6.25,
        "text-size": {"stops": [[3, 11], [7, 17]]},
        "text-transform": "none"
      },
      "paint": {
        "text-color": "#334",
        "text-halo-blur": 1,
        "text-halo-color": "rgba(255,255,255,0.8)",
        "text-halo-width": 1
      }
    },
    {
      "id": "country_2",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "filter": ["all", ["==", "rank", 2], ["==", "class", "country"]],
      "layout": {
        "text-field": "{name_en}",
        "text-font": ["Roboto Condensed Italic"],
        "text-max-width": 6.25,
        "text-size": {"stops": [[2, 11], [5, 17]]},
        "text-transform": "none"
      },
      "paint": {
        "text-color": "#334",
        "text-halo-blur": 1,
        "text-halo-color": "rgba(255,255,255,0.8)",
        "text-halo-width": 1
      }
    },
    {
      "id": "country_1",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "filter": ["all", ["==", "rank", 1], ["==", "class", "country"]],
      "layout": {
        "text-field": "{name_en}",
        "text-font": ["Roboto Condensed Italic"],
        "text-max-width": 6.25,
        "text-size": {"stops": [[1, 11], [4, 17]]},
        "text-transform": "none"
      },
      "paint": {
        "text-color": "#334",
        "text-halo-blur": 1,
        "text-halo-color": "rgba(255,255,255,0.8)",
        "text-halo-width": 1
      }
    },
    {
      "id": "continent",
      "type": "symbol",
      "source": "openmaptiles",
      "source-layer": "place",
      "maxzoom": 1,
      "filter": ["all", ["==", "class", "continent"]],
      "layout": {
        "text-field": "{name_en}",
        "text-font": ["Roboto Condensed Italic"],
        "text-size": 13,
        "text-transform": "uppercase",
        "text-justify": "center"
      },
      "paint": {
        "text-color": "#633",
        "text-halo-color": "rgba(255,255,255,0.7)",
        "text-halo-width": 1
      }
    }
  ],
  "id": "osm-liberty"
}