Files
LBJ_Console/assets/mapbox_map.html
2025-09-29 18:44:15 +08:00

15039 lines
459 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>LBJ Console Railway Map</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="https://unpkg.com/maplibre-gl@4.7.1/dist/maplibre-gl.js"></script>
<link
href="https://unpkg.com/maplibre-gl@4.7.1/dist/maplibre-gl.css"
rel="stylesheet"
/>
<style>
body {
margin: 0;
padding: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
sans-serif;
}
#map {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
transition: opacity 0.3s ease-in-out;
}
.maplibregl-popup-content {
background: #1e1e1e !important;
color: white !important;
border-radius: 12px !important;
padding: 16px !important;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
border: 1px solid #333 !important;
}
.maplibregl-popup-anchor-top .maplibregl-popup-tip,
.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,
.maplibregl-popup-anchor-left .maplibregl-popup-tip,
.maplibregl-popup-anchor-right .maplibregl-popup-tip {
border-bottom-color: #1e1e1e !important;
border-top-color: #1e1e1e !important;
border-left-color: #1e1e1e !important;
border-right-color: #1e1e1e !important;
}
.train-marker {
background-color: #000000;
color: white;
padding: 2px 6px;
font-size: 11px;
font-weight: normal;
cursor: pointer;
white-space: nowrap;
text-align: center;
min-width: 40px;
line-height: 1;
}
.user-location-marker {
width: 12px;
height: 12px;
background-color: #2196f3;
border-radius: 50%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
let trainMarkers = [];
let userLocationMarker = null;
let railwayLayersVisible = true;
let mapLoaded = false;
const embeddedStyle = {
version: 8,
name: "OpenRailwayMap standard",
metadata: {},
center: [12.55, 51.14],
zoom: 3.75,
sprite: [
{
id: "sdf",
url: "https://openrailwaymap.app/sdf_sprite/symbols",
},
{
id: "default",
url: "https://openrailwaymap.app/sprite/symbols",
},
],
glyphs: "https://openrailwaymap.app/font/{fontstack}/{range}",
sources: {
osm: {
type: "raster",
tiles: [
"https://a.tile.openstreetmap.org/{z}/{x}/{y}.png",
"https://b.tile.openstreetmap.org/{z}/{x}/{y}.png",
"https://c.tile.openstreetmap.org/{z}/{x}/{y}.png",
],
tileSize: 256,
attribution: "© OpenStreetMap contributors",
minzoom: 0,
maxzoom: 19,
},
search: {
type: "geojson",
data: {
type: "FeatureCollection",
features: [],
},
},
openrailwaymap_low: {
type: "vector",
url: "https://openrailwaymap.app/railway_line_high",
promoteId: "id",
},
standard_railway_text_stations_low: {
type: "vector",
url: "https://openrailwaymap.app/standard_railway_text_stations_low",
promoteId: "id",
},
standard_railway_text_stations_med: {
type: "vector",
url: "https://openrailwaymap.app/standard_railway_text_stations_med",
promoteId: "id",
},
high: {
type: "vector",
url: "https://openrailwaymap.app/railway_line_high,railway_text_km",
promoteId: "id",
},
openrailwaymap_standard: {
type: "vector",
url: "https://openrailwaymap.app/standard_railway_turntables,standard_railway_text_stations,standard_railway_grouped_stations,standard_railway_symbols,standard_railway_switch_ref,standard_station_entrances,standard_railway_platforms,standard_railway_platform_edges",
promoteId: "id",
},
openrailwaymap_speed: {
type: "vector",
url: "https://openrailwaymap.app/speed_railway_signals",
promoteId: "id",
},
openrailwaymap_signals: {
type: "vector",
url: "https://openrailwaymap.app/signals_railway_signals,signals_signal_boxes",
promoteId: "id",
},
openrailwaymap_electrification: {
type: "vector",
url: "https://openrailwaymap.app/electrification_signals,catenary,electrification_railway_symbols",
promoteId: "id",
},
openrailwaymap_operator: {
type: "vector",
url: "https://openrailwaymap.app/operator_railway_symbols",
promoteId: "id",
},
openhistoricalmap: {
type: "vector",
tiles: [
"https://vtiles.openhistoricalmap.org/maps/osm/{z}/{x}/{y}.pbf",
],
attribution:
'<a href="https://www.openhistoricalmap.org/">OpenHistoricalMap</a>',
},
},
layers: [
{
id: "osm",
type: "raster",
source: "osm",
minzoom: 0,
maxzoom: 19,
paint: {
"raster-opacity": 1,
"raster-fade-duration": 0,
},
},
{
id: "railway_grouped_stations",
type: "fill",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_grouped_stations",
minzoom: 13,
paint: {
"fill-color": [
"case",
[
"in",
["get", "state"],
["literal", ["disused", "abandoned", "preserved"]],
],
"#535353",
[
"in",
["get", "state"],
["literal", ["construction", "proposed"]],
],
"#fff732",
["==", ["get", "station"], "light_rail"],
"#00bd14",
["==", ["get", "station"], "subway"],
"#0300c3",
["==", ["get", "station"], "monorail"],
"#00bd8b",
["==", ["get", "station"], "miniature"],
"#7d7094",
["==", ["get", "station"], "funicular"],
"#d87777",
["==", ["get", "station"], "tram"],
"#d877b8",
"#ff8100",
],
"fill-opacity": [
"case",
["boolean", ["feature-state", "hover"], false],
0.3,
0.2,
],
},
},
{
id: "railway_platforms",
type: "fill",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_platforms",
minzoom: 15,
filter: [
"any",
["==", ["geometry-type"], "Polygon"],
["==", ["geometry-type"], "MultiPolygon"],
],
paint: {
"fill-color": "#aaa",
},
},
{
id: "railway_platforms_outline",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_platforms",
minzoom: 15,
filter: [
"any",
["==", ["geometry-type"], "Polygon"],
["==", ["geometry-type"], "MultiPolygon"],
],
layout: {
"line-join": "round",
},
paint: {
"line-width": 2,
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#aaa",
],
},
},
{
id: "railway_platforms_edges",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_platform_edges",
minzoom: 17,
layout: {
"line-join": "round",
},
paint: {
"line-width": 3,
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"blue",
],
},
},
{
id: "railway_grouped_stations_outline_present",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_grouped_stations",
minzoom: 13,
filter: ["==", ["get", "state"], "present"],
paint: {
"line-color": [
"case",
["==", ["get", "station"], "light_rail"],
"#00bd14",
["==", ["get", "station"], "subway"],
"#0300c3",
["==", ["get", "station"], "monorail"],
"#00bd8b",
["==", ["get", "station"], "miniature"],
"#7d7094",
["==", ["get", "station"], "funicular"],
"#d87777",
["==", ["get", "station"], "tram"],
"#d877b8",
"#ff8100",
],
"line-opacity": 0.3,
"line-width": 2,
"line-dasharray": [1],
},
},
{
id: "railway_grouped_stations_outline_disused",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_grouped_stations",
minzoom: 13,
filter: ["==", ["get", "state"], "disused"],
paint: {
"line-color": [
"case",
["==", ["get", "station"], "light_rail"],
"#00bd14",
["==", ["get", "station"], "subway"],
"#0300c3",
["==", ["get", "station"], "monorail"],
"#00bd8b",
["==", ["get", "station"], "miniature"],
"#7d7094",
["==", ["get", "station"], "funicular"],
"#d87777",
["==", ["get", "station"], "tram"],
"#d877b8",
"#ff8100",
],
"line-opacity": 0.3,
"line-width": 2,
"line-dasharray": [2.5, 2.5],
},
},
{
id: "railway_grouped_stations_outline_abandoned",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_grouped_stations",
minzoom: 13,
filter: ["==", ["get", "state"], "abandoned"],
paint: {
"line-color": [
"case",
["==", ["get", "station"], "light_rail"],
"#00bd14",
["==", ["get", "station"], "subway"],
"#0300c3",
["==", ["get", "station"], "monorail"],
"#00bd8b",
["==", ["get", "station"], "miniature"],
"#7d7094",
["==", ["get", "station"], "funicular"],
"#d87777",
["==", ["get", "station"], "tram"],
"#d877b8",
"#ff8100",
],
"line-opacity": 0.3,
"line-width": 2,
"line-dasharray": [2.5, 2.5],
},
},
{
id: "railway_grouped_stations_outline_preserved",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_grouped_stations",
minzoom: 13,
filter: ["==", ["get", "state"], "preserved"],
paint: {
"line-color": [
"case",
["==", ["get", "station"], "light_rail"],
"#00bd14",
["==", ["get", "station"], "subway"],
"#0300c3",
["==", ["get", "station"], "monorail"],
"#00bd8b",
["==", ["get", "station"], "miniature"],
"#7d7094",
["==", ["get", "station"], "funicular"],
"#d87777",
["==", ["get", "station"], "tram"],
"#d877b8",
"#ff8100",
],
"line-opacity": 0.3,
"line-width": 2,
"line-dasharray": [2.5, 2.5],
},
},
{
id: "railway_grouped_stations_outline_construction",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_grouped_stations",
minzoom: 13,
filter: ["==", ["get", "state"], "construction"],
paint: {
"line-color": [
"case",
["==", ["get", "station"], "light_rail"],
"#00bd14",
["==", ["get", "station"], "subway"],
"#0300c3",
["==", ["get", "station"], "monorail"],
"#00bd8b",
["==", ["get", "station"], "miniature"],
"#7d7094",
["==", ["get", "station"], "funicular"],
"#d87777",
["==", ["get", "station"], "tram"],
"#d877b8",
"#ff8100",
],
"line-opacity": 0.3,
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_grouped_stations_outline_proposed",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_grouped_stations",
minzoom: 13,
filter: ["==", ["get", "state"], "proposed"],
paint: {
"line-color": [
"case",
["==", ["get", "station"], "light_rail"],
"#00bd14",
["==", ["get", "station"], "subway"],
"#0300c3",
["==", ["get", "station"], "monorail"],
"#00bd8b",
["==", ["get", "station"], "miniature"],
"#7d7094",
["==", ["get", "station"], "funicular"],
"#d87777",
["==", ["get", "station"], "tram"],
"#d877b8",
"#ff8100",
],
"line-opacity": 0.3,
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_low_tunnel_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "rail"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_ferry_main_low_tunnel_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_main_med_tunnel_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_main_med_tunnel_casing_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_med_tunnel_casing_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_med_tunnel_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_branch_med_tunnel_casing_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_med_tunnel_casing_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_med_tunnel_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_ferry_med_tunnel_casing_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_med_tunnel_casing_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_miniature_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_miniature_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_miniature_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_funicular_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_funicular_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_funicular_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_disused_tunnel_casing_disused",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 11,
filter: [
"all",
["==", ["get", "state"], "disused"],
["get", "tunnel"],
true,
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 1.5,
"line-gap-width": 1,
"line-dasharray": [2.5, 2.5],
},
},
{
id: "railway_line_narrow_gauge_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_narrow_gauge_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_narrow_gauge_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_service_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_service_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_service_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_light_rail_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_light_rail_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_light_rail_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_test_military_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_test_military_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_test_military_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_tourism_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_tourism_tunnel_casing_preserved",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "preserved"],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_tourism_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_tourism_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_industrial_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_industrial_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_industrial_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_high_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_ferry_high_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_high_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_high_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_branch_high_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_high_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_high_tunnel_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_main_high_tunnel_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_high_tunnel_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_low_tunnel_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "rail"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
},
},
{
id: "railway_ferry_main_low_tunnel_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
},
},
{
id: "railway_line_main_med_tunnel_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
},
},
{
id: "railway_line_main_med_tunnel_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_med_tunnel_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_med_tunnel_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
},
},
{
id: "railway_line_branch_med_tunnel_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_med_tunnel_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_med_tunnel_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
},
},
{
id: "railway_ferry_med_tunnel_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_med_tunnel_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_miniature_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
},
},
{
id: "railway_line_miniature_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_miniature_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_funicular_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
},
},
{
id: "railway_line_funicular_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_funicular_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_disused_tunnel_fill_disused",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 11,
filter: [
"all",
["==", ["get", "state"], "disused"],
["get", "tunnel"],
true,
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#70584d",
],
"line-width": 1.5,
"line-dasharray": [2.5, 2.5],
},
},
{
id: "railway_line_narrow_gauge_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
},
},
{
id: "railway_line_narrow_gauge_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_narrow_gauge_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_service_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
},
},
{
id: "railway_line_service_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_service_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_light_rail_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
},
},
{
id: "railway_line_light_rail_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_light_rail_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_test_military_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
},
},
{
id: "railway_line_test_military_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_test_military_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_tourism_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
},
},
{
id: "railway_line_tourism_tunnel_fill_preserved",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "preserved"],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
},
},
{
id: "railway_line_tourism_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_tourism_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_industrial_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
},
},
{
id: "railway_line_industrial_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_industrial_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_high_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_ferry_high_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_high_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_high_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_branch_high_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_high_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_high_tunnel_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_main_high_tunnel_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_high_tunnel_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_low_tunnel_cover",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 7,
filter: [
"all",
["any", ["==", ["get", "state"], "present"]],
["get", "tunnel"],
["==", ["get", "feature"], "rail"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
},
},
{
id: "railway_ferry_main_low_tunnel_cover",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 7,
filter: [
"all",
["any", ["==", ["get", "state"], "present"]],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
},
},
{
id: "railway_line_main_med_tunnel_cover",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 2,
},
},
{
id: "railway_line_branch_med_tunnel_cover",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 2,
},
},
{
id: "railway_ferry_med_tunnel_cover",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 2,
},
},
{
id: "railway_line_miniature_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 2,
},
},
{
id: "railway_line_funicular_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 2,
},
},
{
id: "railway_line_disused_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 11,
filter: [
"all",
["any", ["==", ["get", "state"], "disused"]],
["get", "tunnel"],
true,
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 1.5,
},
},
{
id: "railway_line_narrow_gauge_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 2,
},
},
{
id: "railway_line_service_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
},
},
{
id: "railway_line_light_rail_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 2,
},
},
{
id: "railway_line_test_military_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
},
},
{
id: "railway_line_tourism_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "preserved"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": 2,
},
},
{
id: "railway_line_industrial_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
},
},
{
id: "railway_ferry_high_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_branch_high_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_main_high_tunnel_cover",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["get", "tunnel"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "rgba(255, 255, 255, 50%)",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_main_low_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
["any", ["==", ["get", "state"], "present"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "rail"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_ferry_main_low_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
["any", ["==", ["get", "state"], "present"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_main_med_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_branch_med_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_ferry_med_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_miniature_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "miniature"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_funicular_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "funicular"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_disused_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
["any", ["==", ["get", "state"], "disused"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
true,
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#70584d",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_narrow_gauge_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_service_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_light_rail_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_test_military_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_tourism_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "preserved"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_industrial_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_ferry_high_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_branch_high_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_main_high_tunnel_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["get", "tunnel"],
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_main_low_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "rail"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_ferry_main_low_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_main_med_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_main_med_casing_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_med_casing_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_med_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_branch_med_casing_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_med_casing_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_med_casing_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_ferry_med_casing_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_med_casing_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_miniature_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_miniature_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_miniature_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_funicular_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_funicular_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_funicular_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_disused_casing_disused",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 11,
filter: [
"all",
["==", ["get", "state"], "disused"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
true,
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 1.5,
"line-gap-width": 1,
"line-dasharray": [2.5, 2.5],
},
},
{
id: "railway_line_narrow_gauge_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_narrow_gauge_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_narrow_gauge_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_service_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_service_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_service_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_light_rail_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_light_rail_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_light_rail_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_test_military_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_test_military_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_test_military_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_tourism_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_tourism_casing_preserved",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "preserved"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_tourism_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_tourism_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_industrial_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_industrial_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_industrial_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_high_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_ferry_high_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_high_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_high_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_branch_high_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_high_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_high_casing_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_main_high_casing_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_high_casing_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_low_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "rail"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
},
},
{
id: "railway_ferry_main_low_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
},
},
{
id: "railway_line_main_med_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
},
},
{
id: "railway_line_main_med_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_med_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_med_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
},
},
{
id: "railway_line_branch_med_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_med_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_med_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
},
},
{
id: "railway_ferry_med_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_med_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_miniature_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
},
},
{
id: "railway_line_miniature_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_miniature_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_funicular_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
},
},
{
id: "railway_line_funicular_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_funicular_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_disused_fill_disused",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 11,
filter: [
"all",
["==", ["get", "state"], "disused"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
true,
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#70584d",
],
"line-width": 1.5,
"line-dasharray": [2.5, 2.5],
},
},
{
id: "railway_line_narrow_gauge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
},
},
{
id: "railway_line_narrow_gauge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_narrow_gauge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_service_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
},
},
{
id: "railway_line_service_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_service_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_light_rail_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
},
},
{
id: "railway_line_light_rail_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_light_rail_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_test_military_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
},
},
{
id: "railway_line_test_military_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_test_military_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_tourism_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
},
},
{
id: "railway_line_tourism_fill_preserved",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "preserved"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
},
},
{
id: "railway_line_tourism_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_tourism_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_industrial_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
},
},
{
id: "railway_line_industrial_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_industrial_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_high_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_ferry_high_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_high_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_high_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_branch_high_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_high_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_high_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_main_high_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_high_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["!", ["get", "bridge"]],
["!", ["get", "tunnel"]],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_low_bridge_railing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "rail"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
"line-gap-width": 3,
},
},
{
id: "railway_line_main_low_bridge_casing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "rail"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_ferry_main_low_bridge_railing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
"line-gap-width": 3,
},
},
{
id: "railway_ferry_main_low_bridge_casing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_main_med_bridge_railing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": 2,
"line-gap-width": 3,
},
},
{
id: "railway_line_main_med_bridge_casing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_branch_med_bridge_railing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": 2,
"line-gap-width": 3,
},
},
{
id: "railway_line_branch_med_bridge_casing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_ferry_med_bridge_railing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": 2,
"line-gap-width": 3,
},
},
{
id: "railway_ferry_med_bridge_casing",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 8,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_miniature_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": 2,
"line-gap-width": 3,
},
},
{
id: "railway_line_miniature_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_funicular_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": 2,
"line-gap-width": 3,
},
},
{
id: "railway_line_funicular_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_narrow_gauge_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": 2,
"line-gap-width": 3,
},
},
{
id: "railway_line_narrow_gauge_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_service_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-gap-width": 3,
},
},
{
id: "railway_line_service_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_light_rail_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": 2,
"line-gap-width": 3,
},
},
{
id: "railway_line_light_rail_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_test_military_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 3,
},
},
{
id: "railway_line_test_military_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_tourism_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": 2,
"line-gap-width": 3,
},
},
{
id: "railway_line_tourism_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": 2,
"line-gap-width": 1,
},
},
{
id: "railway_line_industrial_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 3,
},
},
{
id: "railway_line_industrial_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-gap-width": 1,
},
},
{
id: "railway_ferry_high_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 3,
},
},
{
id: "railway_ferry_high_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_branch_high_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 3,
},
},
{
id: "railway_line_branch_high_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_main_high_bridge_railing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "#000000",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 3,
},
},
{
id: "railway_line_main_high_bridge_casing",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
">=",
["get", "way_length"],
["interpolate", ["exponential", 0.5], ["zoom"], 8, 1500, 16, 0],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": "white",
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-gap-width": 1,
},
},
{
id: "railway_line_main_low_bridge_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
["==", ["get", "feature"], "rail"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
},
},
{
id: "railway_ferry_main_low_bridge_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
0,
0.5,
7,
2,
],
},
},
{
id: "railway_line_main_med_bridge_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
},
},
{
id: "railway_line_main_med_bridge_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_med_bridge_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_med_bridge_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
},
},
{
id: "railway_line_branch_med_bridge_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_med_bridge_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_med_bridge_fill_present",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
},
},
{
id: "railway_ferry_med_bridge_fill_construction",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_med_bridge_fill_proposed",
type: "line",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_miniature_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
},
},
{
id: "railway_line_miniature_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_miniature_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
["==", ["get", "feature"], "miniature"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_funicular_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
},
},
{
id: "railway_line_funicular_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_funicular_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
["==", ["get", "feature"], "funicular"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_disused_bridge_fill_disused",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 11,
filter: [
"all",
["==", ["get", "state"], "disused"],
["get", "bridge"],
true,
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#70584d",
],
"line-width": 1.5,
"line-dasharray": [2.5, 2.5],
},
},
{
id: "railway_line_narrow_gauge_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
},
},
{
id: "railway_line_narrow_gauge_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_narrow_gauge_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_service_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
},
},
{
id: "railway_line_service_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_service_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
["match", ["get", "service"], "yard", 1, 1.5],
15,
["match", ["get", "service"], "yard", 1, 1.5],
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_light_rail_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
},
},
{
id: "railway_line_light_rail_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_light_rail_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_test_military_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
},
},
{
id: "railway_line_test_military_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_test_military_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_tourism_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
},
},
{
id: "railway_line_tourism_bridge_fill_preserved",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "preserved"],
["get", "bridge"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
},
},
{
id: "railway_line_tourism_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_tourism_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"line-width": 2,
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_industrial_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
},
},
{
id: "railway_line_industrial_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_industrial_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
1.5,
14,
1.5,
16,
2,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_ferry_high_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_ferry_high_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_ferry_high_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
["==", ["get", "feature"], "ferry"],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_branch_high_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_branch_high_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_branch_high_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_high_bridge_fill_present",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "present"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "round",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
},
},
{
id: "railway_line_main_high_bridge_fill_construction",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "construction"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [4.5, 4.5],
},
},
{
id: "railway_line_main_high_bridge_fill_proposed",
type: "line",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
["==", ["get", "state"], "proposed"],
["get", "bridge"],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"line-join": "round",
"line-cap": "butt",
},
paint: {
"line-color": [
"case",
["boolean", ["feature-state", "hover"], false],
["case", ["get", "highspeed"], "#ffc107", "#ff0000"],
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"line-width": [
"interpolate",
["exponential", 1.2],
["zoom"],
8,
2,
14,
2,
16,
3,
],
"line-dasharray": [1, 4],
},
},
{
id: "railway_line_main_low_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["any", ["==", ["get", "state"], "present"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "rail"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_ferry_main_low_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["any", ["==", ["get", "state"], "present"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_main_med_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_branch_med_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_ferry_med_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_miniature_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "miniature"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#7d7094",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_funicular_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "funicular"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#d87777",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_disused_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
["any", ["==", ["get", "state"], "disused"]],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
true,
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#70584d",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_narrow_gauge_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c0da00",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_service_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "service"],
"spur",
"#87491d",
"siding",
"#000000",
"yard",
"#000000",
"crossover",
"#000000",
"#000000",
],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_light_rail_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "feature"],
"light_rail",
"#00bd14",
"monorail",
"#00bd8b",
"subway",
"#0300c3",
"tram",
"#d877b8",
"#000000",
],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_test_military_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
[
"match",
["get", "usage"],
"test",
"#3d634e",
"military",
"#764765",
"#000000",
],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_tourism_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "preserved"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#5b4d70",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_industrial_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#87491d",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_ferry_high_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#1e81b0",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_branch_high_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
"#c4b600",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_line_main_high_preferred_direction",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 15,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["!", ["get", "tunnel"]],
[
"any",
["==", ["get", "preferred_direction"], "forward"],
["==", ["get", "preferred_direction"], "backward"],
["==", ["get", "preferred_direction"], "both"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"symbol-placement": "line",
"symbol-spacing": 750,
"icon-overlap": "always",
"icon-image": [
"match",
["get", "preferred_direction"],
"forward",
"sdf:general/line-direction",
"backward",
"sdf:general/line-direction",
"both",
"sdf:general/line-direction-both",
"",
],
"icon-rotate": [
"match",
["get", "preferred_direction"],
"backward",
180,
0,
],
},
paint: {
"icon-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"#ff0000",
["case", ["get", "highspeed"], "#ff0c00", "#ff8100"],
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-width": 2,
},
},
{
id: "railway_text_km",
type: "symbol",
source: "high",
"source-layer": "railway_text_km",
minzoom: 10,
filter: ["step", ["zoom"], ["get", "zero"], 13, true],
layout: {
"symbol-z-order": "source",
"text-field": [
"step",
["zoom"],
["get", "pos_int"],
13,
["get", "pos"],
],
"text-font": ["Fira Code Bold"],
"text-size": 11,
},
paint: {
"text-color": "hsl(268, 100%, 40%)",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 1,
},
},
{
id: "railway_line_main_low_text",
type: "symbol",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["any", ["==", ["get", "state"], "present"]],
["==", ["get", "feature"], "rail"],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_ferry_main_low_text",
type: "symbol",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 0,
maxzoom: 7,
filter: [
"all",
["any", ["==", ["get", "state"], "present"]],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_main_med_text",
type: "symbol",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_branch_med_text",
type: "symbol",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_ferry_med_text",
type: "symbol",
source: "openrailwaymap_low",
"source-layer": "railway_line_high",
minzoom: 7,
maxzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_miniature_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["==", ["get", "feature"], "miniature"],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_funicular_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 12,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["==", ["get", "feature"], "funicular"],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_disused_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 11,
filter: ["all", ["any", ["==", ["get", "state"], "disused"]], true],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_narrow_gauge_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"all",
["==", ["get", "feature"], "narrow_gauge"],
["!", ["==", ["get", "usage"], "industrial"]],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_service_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 10,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], null],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_light_rail_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "feature"], "subway"],
["==", ["get", "feature"], "tram"],
["==", ["get", "feature"], "light_rail"],
["==", ["get", "feature"], "monorail"],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_test_military_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"all",
["==", ["get", "feature"], "rail"],
[
"any",
["==", ["get", "usage"], "test"],
["==", ["get", "usage"], "military"],
],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_tourism_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "preserved"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"any",
["==", ["get", "usage"], "tourism"],
["==", ["get", "state"], "preserved"],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_industrial_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 9,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"all",
["==", ["get", "usage"], "industrial"],
[
"any",
["==", ["get", "feature"], "rail"],
["==", ["get", "feature"], "narrow_gauge"],
],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_ferry_high_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
["==", ["get", "feature"], "ferry"],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_branch_high_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "branch"],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_line_main_high_text",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 8,
filter: [
"all",
[
"any",
["==", ["get", "state"], "present"],
["==", ["get", "state"], "construction"],
["==", ["get", "state"], "proposed"],
],
[
"all",
["==", ["get", "feature"], "rail"],
["==", ["get", "usage"], "main"],
],
],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": [
"step",
["zoom"],
["coalesce", ["get", "ref"], ""],
14,
["coalesce", ["get", "standard_label"], ""],
],
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"symbol-spacing": 200,
},
paint: {
"text-color": "#585858",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_text_stations_low1",
type: "symbol",
source: "standard_railway_text_stations_low",
"source-layer": "standard_railway_text_stations_low",
minzoom: 4,
maxzoom: 5,
layout: {
"symbol-z-order": "source",
"icon-image": "sdf:general/station-small",
"icon-overlap": "always",
},
paint: {
"icon-color": "blue",
"icon-halo-width": 1,
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
},
},
{
id: "railway_text_stations_low2",
type: "symbol",
source: "standard_railway_text_stations_low",
"source-layer": "standard_railway_text_stations_low",
minzoom: 5,
maxzoom: 7,
layout: {
"symbol-z-order": "source",
"icon-image": [
"image",
["concat", "sdf:general/station-", ["get", "station_size"]],
],
"icon-overlap": "always",
"text-field": "{label}",
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"text-optional": true,
"text-variable-anchor": ["top", "bottom", "left", "right"],
},
paint: {
"text-color": "blue",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 1.5,
"icon-color": "blue",
"icon-halo-width": 1,
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
},
},
{
id: "railway_text_stations_med",
type: "symbol",
source: "standard_railway_text_stations_med",
"source-layer": "standard_railway_text_stations_med",
minzoom: 7,
maxzoom: 8,
layout: {
"symbol-z-order": "source",
"icon-image": [
"image",
["concat", "sdf:general/station-", ["get", "station_size"]],
],
"icon-overlap": "always",
"text-field": "{label}",
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"text-optional": true,
"text-variable-anchor": ["top", "bottom", "left", "right"],
},
paint: {
"text-color": "blue",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 1.5,
"icon-color": "blue",
"icon-halo-width": 1,
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
},
},
{
id: "railway_turntables_fill",
type: "fill",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_turntables",
minzoom: 10,
paint: {
"fill-color": "#ababab",
},
},
{
id: "railway_turntables_casing",
type: "line",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_turntables",
minzoom: 15,
paint: {
"line-color": "#808080",
"line-width": 2,
},
},
{
id: "railway_symbols_colored",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_symbols",
minzoom: 12,
layout: {
"symbol-z-order": "source",
"icon-overlap": "always",
"icon-image": ["concat", "sdf:", ["get", "feature"]],
"text-field": ["coalesce", ["get", "ref"], ""],
"text-font": [
"Noto Sans Regular",
"Noto Naskh Arabic Regular",
"Noto Sans Armenian Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bengali Regular",
"Noto Sans Devanagari Regular",
"Noto Sans Ethiopic Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati Regular",
"Noto Sans Gurmukhi Regular",
"Noto Sans Hebrew Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kannada Regular",
"Noto Sans Khmer Regular",
"Noto Sans Lao Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Myanmar Regular",
"Noto Sans Oriya Regular",
"Noto Sans Sinhala Regular",
"Noto Sans Symbols Regular",
"Noto Sans Tamil Regular",
"Noto Sans Thai Regular",
"Noto Sans Tibetan Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 15,
"text-offset": [0, 1.5],
"text-optional": true,
},
paint: {
"icon-color": "black",
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-blur": [
"case",
["boolean", ["feature-state", "hover"], false],
1,
0,
],
"icon-halo-width": [
"case",
["boolean", ["feature-state", "hover"], false],
3,
2,
],
"text-color": "black",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_symbols_outline_outline",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_symbols",
minzoom: 12,
layout: {
"symbol-z-order": "source",
"icon-overlap": "always",
"icon-image": ["image", ["concat", "sdf:", ["get", "feature"]]],
},
paint: {
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-blur": [
"case",
["boolean", ["feature-state", "hover"], false],
1,
0,
],
"icon-halo-width": [
"case",
["boolean", ["feature-state", "hover"], false],
3,
2,
],
},
},
{
id: "railway_symbols_outline_image",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_symbols",
minzoom: 12,
layout: {
"symbol-z-order": "source",
"icon-overlap": "always",
"icon-image": ["image", ["get", "feature"]],
},
},
{
id: "railway_platforms_text",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_platforms",
minzoom: 17,
filter: [
"all",
[
"any",
["==", ["geometry-type"], "Polygon"],
["==", ["geometry-type"], "MultiPolygon"],
],
["!=", ["get", "name"], null],
],
layout: {
"text-field": "{name}",
"text-font": [
"Noto Sans Regular",
"Noto Naskh Arabic Regular",
"Noto Sans Armenian Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bengali Regular",
"Noto Sans Devanagari Regular",
"Noto Sans Ethiopic Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati Regular",
"Noto Sans Gurmukhi Regular",
"Noto Sans Hebrew Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kannada Regular",
"Noto Sans Khmer Regular",
"Noto Sans Lao Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Myanmar Regular",
"Noto Sans Oriya Regular",
"Noto Sans Sinhala Regular",
"Noto Sans Symbols Regular",
"Noto Sans Tamil Regular",
"Noto Sans Thai Regular",
"Noto Sans Tibetan Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 10,
},
paint: {
"text-color": "#616161",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 1.5,
},
},
{
id: "standard_railway_platform_edges_text",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_platform_edges",
minzoom: 17,
filter: ["!=", ["get", "ref"], null],
layout: {
"symbol-placement": "line",
"text-field": "{ref}",
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 10,
"text-padding": 10,
},
paint: {
"text-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-color": "blue",
"text-halo-width": 4,
"text-halo-blur": 2,
},
},
{
id: "standard_station_entrances",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_station_entrances",
minzoom: 16,
layout: {
"symbol-z-order": "source",
"icon-overlap": "always",
"icon-image": "sdf:general/subway-entrance",
"text-field": "{label}",
"text-font": [
"Noto Sans Regular",
"Noto Naskh Arabic Regular",
"Noto Sans Armenian Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bengali Regular",
"Noto Sans Devanagari Regular",
"Noto Sans Ethiopic Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati Regular",
"Noto Sans Gurmukhi Regular",
"Noto Sans Hebrew Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kannada Regular",
"Noto Sans Khmer Regular",
"Noto Sans Lao Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Myanmar Regular",
"Noto Sans Oriya Regular",
"Noto Sans Sinhala Regular",
"Noto Sans Symbols Regular",
"Noto Sans Tamil Regular",
"Noto Sans Thai Regular",
"Noto Sans Tibetan Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 15,
"text-offset": [0, 1.5],
"text-optional": true,
},
paint: {
"icon-color": "#0300c3",
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-blur": [
"case",
["boolean", ["feature-state", "hover"], false],
1,
0,
],
"icon-halo-width": [
"case",
["boolean", ["feature-state", "hover"], false],
3,
2,
],
"text-color": "#0300c3",
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_text_track_numbers",
type: "symbol",
source: "high",
"source-layer": "railway_line_high",
minzoom: 16,
filter: ["!=", ["get", "track_ref"], null],
layout: {
"symbol-z-order": "source",
"symbol-placement": "line",
"text-field": "{track_ref}",
"text-font": [
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 10,
"text-padding": 10,
},
paint: {
"text-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-color": "blue",
"text-halo-width": 4,
"text-halo-blur": 2,
},
},
{
id: "railway_switch",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_switch_ref",
minzoom: 17,
layout: {
"icon-overlap": "always",
"icon-image": [
"image",
[
"match",
["get", "railway"],
"switch",
[
"match",
["get", "type"],
"double_slip",
"sdf:general/switch-double-slip",
"single_slip",
"sdf:general/switch-single-slip",
"wye",
"sdf:general/switch-wye",
"three_way",
"sdf:general/switch-three-way",
"four_way",
"sdf:general/switch-four-way",
"abt",
"sdf:general/switch-abt",
[
"match",
["get", "turnout_side"],
"left",
"sdf:general/switch-default-left",
"right",
"sdf:general/switch-default-right",
"sdf:general/switch-default",
],
],
"railway_crossing",
"sdf:general/railway-crossing",
"sdf:general/switch-default",
],
],
"symbol-z-order": "source",
"text-field": ["coalesce", ["get", "ref"], ""],
"text-font": [
"Noto Sans Regular",
"Noto Naskh Arabic Regular",
"Noto Sans Armenian Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bengali Regular",
"Noto Sans Devanagari Regular",
"Noto Sans Ethiopic Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati Regular",
"Noto Sans Gurmukhi Regular",
"Noto Sans Hebrew Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kannada Regular",
"Noto Sans Khmer Regular",
"Noto Sans Lao Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Myanmar Regular",
"Noto Sans Oriya Regular",
"Noto Sans Sinhala Regular",
"Noto Sans Symbols Regular",
"Noto Sans Tamil Regular",
"Noto Sans Thai Regular",
"Noto Sans Tibetan Regular",
"Noto Sans Tifinagh Regular",
],
"text-size": 11,
"text-padding": 15,
"text-offset": [0, 1.5],
"text-optional": true,
},
paint: {
"icon-color": [
"case",
["get", "local_operated"],
"#005129",
["get", "resetting"],
"#414925",
"#003687",
],
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"icon-halo-blur": [
"case",
["boolean", ["feature-state", "hover"], false],
1,
0,
],
"icon-halo-width": [
"case",
["boolean", ["feature-state", "hover"], false],
3,
2,
],
"text-color": [
"case",
["get", "local_operated"],
"#005129",
["get", "local_operated"],
"#414925",
"#003687",
],
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 2,
},
},
{
id: "railway_text_stations",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_text_stations",
minzoom: 8,
maxzoom: 13,
filter: [
"step",
["zoom"],
[
"all",
["==", ["get", "state"], "present"],
[
"any",
["==", ["get", "feature"], "station"],
["==", ["get", "feature"], "yard"],
],
["!=", ["get", "station"], "light_rail"],
["!=", ["get", "station"], "subway"],
["!=", ["get", "station"], "monorail"],
["!=", ["get", "station"], "funicular"],
],
9,
[
"all",
["==", ["get", "state"], "present"],
[
"any",
["==", ["get", "feature"], "station"],
["==", ["get", "feature"], "yard"],
["==", ["get", "feature"], "halt"],
],
["!=", ["get", "station"], "light_rail"],
["!=", ["get", "station"], "tram"],
["!=", ["get", "station"], "subway"],
["!=", ["get", "station"], "monorail"],
["!=", ["get", "station"], "funicular"],
],
10,
[
"all",
["!=", ["get", "station"], "tram"],
["!=", ["get", "station"], "funicular"],
["!=", ["get", "station"], "miniature"],
],
11,
[
"all",
["!=", ["get", "station"], "funicular"],
["!=", ["get", "station"], "miniature"],
],
],
layout: {
"symbol-z-order": "source",
"icon-image": [
"image",
[
"concat",
"sdf:general/station-",
[
"case",
[
"in",
["get", "state"],
["literal", ["disused", "abandoned", "preserved"]],
],
"past",
[
"in",
["get", "state"],
["literal", ["construction", "proposed"]],
],
"future",
["get", "station_size"],
],
],
],
"icon-overlap": "always",
"text-field": [
"step",
["zoom"],
["get", "label"],
10,
["get", "name"],
],
"text-font": [
"case",
[
"in",
["get", "state"],
["literal", ["construction", "proposed"]],
],
[
"literal",
[
"Noto Sans Italic",
"Noto Naskh Arabic Regular",
"Noto Sans Armenian Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bengali Regular",
"Noto Sans Devanagari Regular",
"Noto Sans Ethiopic Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati Regular",
"Noto Sans Gurmukhi Regular",
"Noto Sans Hebrew Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kannada Regular",
"Noto Sans Khmer Regular",
"Noto Sans Lao Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Myanmar Regular",
"Noto Sans Oriya Regular",
"Noto Sans Sinhala Regular",
"Noto Sans Symbols Regular",
"Noto Sans Tamil Regular",
"Noto Sans Thai Regular",
"Noto Sans Tibetan Regular",
"Noto Sans Tifinagh Regular",
"Noto Sans Regular",
],
],
[
"literal",
[
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
],
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
"text-optional": true,
"text-variable-anchor": ["top", "bottom", "left", "right"],
},
paint: {
"text-color": [
"case",
["==", ["get", "feature"], "yard"],
"#87491D",
[
"any",
["==", ["get", "feature"], "station"],
["==", ["get", "feature"], "halt"],
["==", ["get", "feature"], "tram_stop"],
],
[
"case",
["==", ["get", "station"], "light_rail"],
"#0e5414",
["==", ["get", "station"], "monorail"],
"#00674d",
["==", ["get", "station"], "tram"],
"#D877B8",
"blue",
],
"#616161",
],
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 1.5,
"icon-color": [
"case",
["==", ["get", "feature"], "yard"],
"#87491D",
[
"any",
["==", ["get", "feature"], "station"],
["==", ["get", "feature"], "halt"],
["==", ["get", "feature"], "tram_stop"],
],
[
"case",
["==", ["get", "station"], "light_rail"],
"#0e5414",
["==", ["get", "station"], "monorail"],
"#00674d",
["==", ["get", "station"], "tram"],
"#D877B8",
"blue",
],
"#616161",
],
"icon-halo-width": 1,
"icon-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
},
},
{
id: "railway_text_stations_high",
type: "symbol",
source: "openrailwaymap_standard",
"source-layer": "standard_railway_text_stations",
minzoom: 13,
layout: {
"symbol-z-order": "source",
"text-field": [
"step",
["zoom"],
["get", "name"],
15,
[
"case",
[">", ["coalesce", ["get", "count"], 0], 1],
["concat", ["get", "name"], " (", ["get", "count"], ")"],
["get", "name"],
],
],
"text-font": [
"case",
[
"in",
["get", "state"],
["literal", ["construction", "proposed"]],
],
[
"literal",
[
"Noto Sans Italic",
"Noto Naskh Arabic Regular",
"Noto Sans Armenian Regular",
"Noto Sans Balinese Regular",
"Noto Sans Bengali Regular",
"Noto Sans Devanagari Regular",
"Noto Sans Ethiopic Regular",
"Noto Sans Georgian Regular",
"Noto Sans Gujarati Regular",
"Noto Sans Gurmukhi Regular",
"Noto Sans Hebrew Regular",
"Noto Sans Javanese Regular",
"Noto Sans Kannada Regular",
"Noto Sans Khmer Regular",
"Noto Sans Lao Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Myanmar Regular",
"Noto Sans Oriya Regular",
"Noto Sans Sinhala Regular",
"Noto Sans Symbols Regular",
"Noto Sans Tamil Regular",
"Noto Sans Thai Regular",
"Noto Sans Tibetan Regular",
"Noto Sans Tifinagh Regular",
"Noto Sans Regular",
],
],
[
"literal",
[
"Noto Sans Bold",
"Noto Naskh Arabic Bold",
"Noto Sans Armenian Bold",
"Noto Sans Bengali Bold",
"Noto Sans Devanagari Bold",
"Noto Sans Ethiopic Bold",
"Noto Sans Georgian Bold",
"Noto Sans Gujarati Bold",
"Noto Sans Gurmukhi Bold",
"Noto Sans Hebrew Bold",
"Noto Sans Kannada Bold",
"Noto Sans Khmer Bold",
"Noto Sans Lao Bold",
"Noto Sans Myanmar Bold",
"Noto Sans Oriya Bold",
"Noto Sans Sinhala Bold",
"Noto Sans Symbols Bold",
"Noto Sans Tamil Bold",
"Noto Sans Thai Bold",
"Noto Sans Tibetan Bold",
"Noto Sans Balinese Regular",
"Noto Sans Javanese Regular",
"Noto Sans Mongolian Regular",
"Noto Sans Tifinagh Regular",
],
],
],
"text-variable-anchor": [
"center",
"top",
"bottom",
"left",
"right",
],
"text-size": 11,
"text-padding": 10,
"text-max-width": 5,
},
paint: {
"text-color": [
"case",
["==", ["get", "feature"], "yard"],
"#87491D",
[
"any",
["==", ["get", "feature"], "station"],
["==", ["get", "feature"], "halt"],
["==", ["get", "feature"], "tram_stop"],
],
[
"case",
["==", ["get", "station"], "light_rail"],
"#0e5414",
["==", ["get", "station"], "monorail"],
"#00674d",
["==", ["get", "station"], "miniature"],
"#503285",
["==", ["get", "station"], "funicular"],
"#d75656",
["==", ["get", "station"], "tram"],
"#D877B8",
"blue",
],
"#616161",
],
"text-halo-color": [
"case",
["boolean", ["feature-state", "hover"], false],
"yellow",
"white",
],
"text-halo-width": 1.5,
},
},
{
id: "search",
type: "circle",
source: "search",
paint: {
"circle-radius": 8,
"circle-color": "rgba(183, 255, 0, 0.7)",
"circle-stroke-width": 2,
"circle-stroke-color": "black",
},
},
],
};
function initializeMapWithEmbeddedStyle() {
window.map = new maplibregl.Map({
container: "map",
style: embeddedStyle,
bearing: 0,
pitch: 0,
antialias: false,
fadeDuration: 0,
crossSourceCollisions: false,
refreshExpiredTiles: true,
maxTileCacheSize: 100,
trackResize: true,
preserveDrawingBuffer: false,
});
window.map.getContainer().style.opacity = "0";
initializeMap();
}
initializeMapWithEmbeddedStyle();
function initializeMap() {
const map = window.map;
map.on("load", function () {
mapLoaded = true;
setupMapEventListeners();
if (window.MapInterface && window.MapInterface.onMapLoaded) {
window.MapInterface.onMapLoaded();
}
});
}
function setRailwayLayersVisible(visible) {
railwayLayersVisible = visible;
const railwayLayerGroups = {
stations: [
"railway_grouped_stations",
"railway_grouped_stations_outline_present",
"railway_grouped_stations_outline_disused",
"railway_grouped_stations_outline_abandoned",
"railway_grouped_stations_outline_preserved",
"railway_grouped_stations_outline_construction",
"railway_grouped_stations_outline_proposed",
"railway_platforms",
"railway_platforms_outline",
"railway_platforms_edges",
],
main_lines: [
"railway_line_main_low_tunnel_casing_present",
"railway_line_main_low_tunnel_fill_present",
"railway_line_main_low_tunnel_cover",
"railway_line_main_low_tunnel_preferred_direction",
"railway_line_main_low_casing_present",
"railway_line_main_low_fill_present",
"railway_line_main_low_bridge_railing",
"railway_line_main_low_bridge_casing",
"railway_line_main_low_bridge_fill_present",
"railway_line_main_low_preferred_direction",
"railway_line_main_low_text",
"railway_line_main_med_tunnel_casing_present",
"railway_line_main_med_tunnel_fill_present",
"railway_line_main_med_tunnel_cover",
"railway_line_main_med_tunnel_preferred_direction",
"railway_line_main_med_casing_present",
"railway_line_main_med_fill_present",
"railway_line_main_med_bridge_railing",
"railway_line_main_med_bridge_casing",
"railway_line_main_med_bridge_fill_present",
"railway_line_main_med_preferred_direction",
"railway_line_main_med_text",
"railway_line_main_high_tunnel_casing_present",
"railway_line_main_high_tunnel_fill_present",
"railway_line_main_high_tunnel_cover",
"railway_line_main_high_tunnel_preferred_direction",
"railway_line_main_high_casing_present",
"railway_line_main_high_fill_present",
"railway_line_main_high_bridge_railing",
"railway_line_main_high_bridge_casing",
"railway_line_main_high_bridge_fill_present",
"railway_line_main_high_preferred_direction",
"railway_line_main_high_text",
],
branch_lines: [
"railway_line_branch_med_tunnel_casing_present",
"railway_line_branch_med_tunnel_fill_present",
"railway_line_branch_med_tunnel_cover",
"railway_line_branch_med_tunnel_preferred_direction",
"railway_line_branch_med_casing_present",
"railway_line_branch_med_fill_present",
"railway_line_branch_med_bridge_railing",
"railway_line_branch_med_bridge_casing",
"railway_line_branch_med_bridge_fill_present",
"railway_line_branch_med_preferred_direction",
"railway_line_branch_med_text",
"railway_line_branch_high_tunnel_casing_present",
"railway_line_branch_high_tunnel_fill_present",
"railway_line_branch_high_tunnel_cover",
"railway_line_branch_high_tunnel_preferred_direction",
"railway_line_branch_high_casing_present",
"railway_line_branch_high_fill_present",
"railway_line_branch_high_bridge_railing",
"railway_line_branch_high_bridge_casing",
"railway_line_branch_high_bridge_fill_present",
"railway_line_branch_high_preferred_direction",
"railway_line_branch_high_text",
],
light_rail: [
"railway_line_light_rail_tunnel_casing_present",
"railway_line_light_rail_tunnel_fill_present",
"railway_line_light_rail_tunnel_cover",
"railway_line_light_rail_tunnel_preferred_direction",
"railway_line_light_rail_casing_present",
"railway_line_light_rail_fill_present",
"railway_line_light_rail_bridge_railing",
"railway_line_light_rail_bridge_casing",
"railway_line_light_rail_bridge_fill_present",
"railway_line_light_rail_preferred_direction",
"railway_line_light_rail_text",
],
narrow_gauge: [
"railway_line_narrow_gauge_tunnel_casing_present",
"railway_line_narrow_gauge_tunnel_fill_present",
"railway_line_narrow_gauge_tunnel_cover",
"railway_line_narrow_gauge_tunnel_preferred_direction",
"railway_line_narrow_gauge_casing_present",
"railway_line_narrow_gauge_fill_present",
"railway_line_narrow_gauge_bridge_railing",
"railway_line_narrow_gauge_bridge_casing",
"railway_line_narrow_gauge_bridge_fill_present",
"railway_line_narrow_gauge_preferred_direction",
"railway_line_narrow_gauge_text",
],
industrial: [
"railway_line_industrial_tunnel_casing_present",
"railway_line_industrial_tunnel_fill_present",
"railway_line_industrial_tunnel_cover",
"railway_line_industrial_tunnel_preferred_direction",
"railway_line_industrial_casing_present",
"railway_line_industrial_fill_present",
"railway_line_industrial_bridge_railing",
"railway_line_industrial_bridge_casing",
"railway_line_industrial_bridge_fill_present",
"railway_line_industrial_preferred_direction",
"railway_line_industrial_text",
],
tourism: [
"railway_line_tourism_tunnel_casing_present",
"railway_line_tourism_tunnel_fill_present",
"railway_line_tourism_tunnel_cover",
"railway_line_tourism_tunnel_preferred_direction",
"railway_line_tourism_casing_present",
"railway_line_tourism_fill_present",
"railway_line_tourism_bridge_railing",
"railway_line_tourism_bridge_casing",
"railway_line_tourism_bridge_fill_present",
"railway_line_tourism_casing_preserved",
"railway_line_tourism_fill_preserved",
"railway_line_tourism_bridge_fill_preserved",
"railway_line_tourism_preferred_direction",
"railway_line_tourism_text",
],
service: [
"railway_line_service_tunnel_casing_present",
"railway_line_service_tunnel_fill_present",
"railway_line_service_tunnel_cover",
"railway_line_service_tunnel_preferred_direction",
"railway_line_service_casing_present",
"railway_line_service_fill_present",
"railway_line_service_bridge_railing",
"railway_line_service_bridge_casing",
"railway_line_service_bridge_fill_present",
"railway_line_service_fill_construction",
"railway_line_service_casing_construction",
"railway_line_service_bridge_fill_construction",
"railway_line_service_preferred_direction",
"railway_line_service_text",
],
others: [
"railway_line_miniature_tunnel_casing_present",
"railway_line_miniature_tunnel_fill_present",
"railway_line_miniature_tunnel_cover",
"railway_line_miniature_tunnel_preferred_direction",
"railway_line_miniature_casing_present",
"railway_line_miniature_fill_present",
"railway_line_miniature_bridge_railing",
"railway_line_miniature_bridge_casing",
"railway_line_miniature_bridge_fill_present",
"railway_line_miniature_preferred_direction",
"railway_line_miniature_text",
"railway_line_funicular_tunnel_casing_present",
"railway_line_funicular_tunnel_fill_present",
"railway_line_funicular_tunnel_cover",
"railway_line_funicular_tunnel_preferred_direction",
"railway_line_funicular_casing_present",
"railway_line_funicular_fill_present",
"railway_line_funicular_bridge_railing",
"railway_line_funicular_bridge_casing",
"railway_line_funicular_bridge_fill_present",
"railway_line_funicular_preferred_direction",
"railway_line_funicular_text",
"railway_line_test_military_tunnel_casing_present",
"railway_line_test_military_tunnel_fill_present",
"railway_line_test_military_tunnel_cover",
"railway_line_test_military_tunnel_preferred_direction",
"railway_line_test_military_casing_present",
"railway_line_test_military_fill_present",
"railway_line_test_military_bridge_railing",
"railway_line_test_military_bridge_casing",
"railway_line_test_military_bridge_fill_present",
"railway_line_test_military_preferred_direction",
"railway_line_test_military_text",
"railway_line_disused_tunnel_casing_disused",
"railway_line_disused_tunnel_fill_disused",
"railway_line_disused_tunnel_cover",
"railway_line_disused_casing_disused",
"railway_line_disused_fill_disused",
"railway_line_disused_bridge_railing",
"railway_line_disused_bridge_casing",
"railway_line_disused_bridge_fill_disused",
"railway_line_disused_preferred_direction",
"railway_line_disused_text",
],
facilities: [
"railway_turntables_fill",
"railway_turntables_casing",
"railway_symbols_colored",
"railway_symbols_outline_outline",
"railway_symbols_outline_image",
"railway_switch",
"railway_text_track_numbers",
],
text_labels: [
"railway_text_km",
"railway_text_stations_low1",
"railway_text_stations_low2",
"railway_text_stations_med",
"railway_text_stations_high",
"railway_platforms_text",
"standard_railway_platform_edges_text",
],
};
const allRailwayLayers = Object.values(railwayLayerGroups).flat();
let successCount = 0;
let failCount = 0;
allRailwayLayers.forEach((layerId) => {
if (map.getLayer(layerId)) {
try {
map.setLayoutProperty(
layerId,
"visibility",
visible ? "visible" : "none"
);
successCount++;
} catch (error) {
failCount++;
}
} else {
failCount++;
}
});
hideAllVectorLayers(visible);
}
function hideAllVectorLayers(railwayVisible) {
const layers = map.getStyle().layers;
let vectorLayerCount = 0;
let processedCount = 0;
layers.forEach((layer) => {
if (
layer.id === "osm" ||
layer.id === "search" ||
layer.id.includes("train")
) {
return;
}
if (layer.type !== "raster") {
vectorLayerCount++;
if (map.getLayer(layer.id)) {
try {
map.setLayoutProperty(
layer.id,
"visibility",
railwayVisible ? "visible" : "none"
);
processedCount++;
} catch (error) {}
}
}
});
}
function addTrainMarker(lat, lng, trainNumber, recordData) {
if (!mapLoaded) return;
const el = document.createElement("div");
el.className = "train-marker";
el.textContent = trainNumber || "未知列车";
el.title = trainNumber || "未知列车";
el.style.zIndex = "1000";
el.addEventListener("click", function (e) {
e.stopPropagation();
showTrainDetails(lat, lng, recordData);
if (window.flutter_inappwebview) {
window.flutter_inappwebview.callHandler("showTrainDetails", {
id: recordData.id || Date.now(),
trainNumber: trainNumber || "未知车次",
trainType: recordData.trainType || "未知类型",
speed: recordData.speed || 0,
direction: recordData.direction || 0,
latitude: lat,
longitude: lng,
timestamp: Date.now(),
});
}
});
const marker = new maplibregl.Marker({
element: el,
})
.setLngLat([lng, lat])
.addTo(map);
trainMarkers.push(marker);
return marker;
}
function showTrainDetails(lat, lng, record) {
const popup = new maplibregl.Popup({ offset: 25 })
.setLngLat([lng, lat])
.setHTML(createDetailedPopupContent(record))
.addTo(map);
}
function createDetailedPopupContent(record) {
const lat = record.lat || 0;
const lng = record.lng || 0;
return `
<div>
<div>
${record.fullTrainNumber || "未知列车"}
</div>
<div style="margin-bottom: 8px;">
<strong>时间:</strong> ${record.time || "未知"}
</div>
<div style="margin-bottom: 8px;">
<strong>速度:</strong> ${record.speed || "未知"}
</div>
<div style="margin-bottom: 8px;">
<strong>位置:</strong> ${record.position || "未知"}
</div>
<div style="margin-bottom: 8px;">
<strong>路线:</strong> ${record.route || "未知"}
</div>
<div style="margin-bottom: 8px;">
<strong>机车:</strong> ${record.locoType || "未知"}-${
record.loco || "未知"
}
</div>
<div style="margin-bottom: 8px;">
<strong>坐标:</strong> ${lat.toFixed(4)}, ${lng.toFixed(
4
)}
</div>
<div style="margin-top: 12px; text-align: center;">
</div>
</div>
`;
}
function centerToTrain(lat, lng) {
map.jumpTo({
center: [lng, lat],
zoom: 16,
});
}
function clearTrainMarkers() {
trainMarkers.forEach((marker) => marker.remove());
trainMarkers = [];
}
function setUserLocation(lat, lng) {
if (userLocationMarker) {
userLocationMarker.remove();
}
const el = document.createElement("div");
el.className = "user-location-marker";
userLocationMarker = new maplibregl.Marker(el)
.setLngLat([lng, lat])
.addTo(map);
}
function setCenter(lat, lng, zoom, bearing) {
map.jumpTo({
center: [lng, lat],
zoom: zoom !== undefined ? zoom : map.getZoom(),
bearing: bearing !== undefined ? bearing : map.getBearing(),
});
}
function getMapState() {
const center = map.getCenter();
return {
lat: center.lat,
lng: center.lng,
zoom: map.getZoom(),
bearing: map.getBearing(),
};
}
function setupMapEventListeners() {
if (!map) return;
map.on("moveend", function () {
const center = map.getCenter();
const zoom = map.getZoom();
const bearing = map.getBearing();
if (window.flutter_inappwebview) {
window.flutter_inappwebview.callHandler("onMapStateChanged", {
lat: center.lat,
lng: center.lng,
zoom: zoom,
bearing: bearing,
});
}
});
}
window.MapInterface = {
onMapLoaded: function () {},
setRailwayVisible: function (visible) {
try {
setRailwayLayersVisible(visible);
} catch (error) {}
},
updateTrainMarkers: function (trainData) {
try {
clearTrainMarkers();
if (trainData && Array.isArray(trainData)) {
let validCount = 0;
trainData.forEach((train, index) => {
const lat =
train.lat || (train.coordinates && train.coordinates.lat);
const lng =
train.lng || (train.coordinates && train.coordinates.lng);
if (
lat !== undefined &&
lng !== undefined &&
lat !== 0 &&
lng !== 0
) {
addTrainMarker(lat, lng, train.fullTrainNumber, train);
validCount++;
} else {
}
});
} else {
}
} catch (error) {}
},
setUserLocation: function (lat, lng) {
try {
setUserLocation(lat, lng);
} catch (error) {}
},
setCenter: function (lat, lng, zoom, bearing) {
try {
setCenter(lat, lng, zoom, bearing);
} catch (error) {}
},
getMapState: function () {
try {
const state = getMapState();
return state;
} catch (error) {
return null;
}
},
centerToTrain: function (trainId) {
try {
const marker = trainMarkers.find((m) =>
m.getElement().textContent.includes(trainId)
);
if (marker) {
const lngLat = marker.getLngLat();
setCenter(lngLat.lat, lngLat.lng, 16);
} else {
}
} catch (error) {}
},
getTrainMarkersCount: function () {
try {
const count = trainMarkers.length;
return count;
} catch (error) {
return 0;
}
},
};
</script>
</body>
</html>