type: overpass name: ca: Infraestructura fèrria cs: Železniční infrastruktura de: Eisenbahn Infrastruktur en: Railway infrastructure es: Infraestructura ferroviaria fr: Infrastructure ferroviaire gl: Infraestrutura do ferrocarril hu: Vasúti infrastruktúra it: Infrastruttura ferroviaria ja: 鉄道インフラ nb: Jernbane-infrastruktur nl: Spoorweginfrastructuur oc: Infrastructura ferroviària pl: Infrastruktura kolejowa pt: Infraestrutura ferroviária pt-br: Infraestrutura ferroviária ru: Железнодорожная инфраструктура sr: Железничка инфраструктура tr: Demiryolu altyapısı query: 11: (way[railway=rail][usage~'^(main|branch)$'];node[railway~'^(station)$'];) 14: (way[railway];node[railway~'^(station|halt|tram_stop)$'];) 17: (node[railway];way[railway];) feature: pre: |- {% set width = 2 %} {% if tags.service == 'yard' or tags.service == 'siding' or tags.service == 'spur' or tags.service == 'crossover' %} {% set width = 1 %} {% elseif tags.railway in ['rail', 'narrow_gauge', 'abandoned', 'disused', 'razed'] %} {% if tags.usage in ['main', 'branch'] %} {% set width = 3 %} {% else %} {% set width = 2 %} {% endif %} {% elseif tags.railway in ['signal', 'switch', 'railway_crossing'] %} {% set width = 0 %} {% endif %} title: |- {% if tags.ref %}{{ localizedTag(tags, 'ref') }} - {% endif %} {{ localizedTag(tags, 'name')|default(localizedTag(tags, 'operator')) }} {% if attribute(tags, 'tunnel:name') %}- {{ localizedTag(tags, 'tunnel:name') }}{% endif %} {% if attribute(tags, 'bridge:name') %}- {{ localizedTag(tags, 'bridge:name') }}{% endif %} details: |- {{ width }} description: |- {{ tagTrans('railway', tags.railway) -}} {%- if tags.usage %} , {{ tagTrans('railway=rail usage', tags.usage) }} {% endif -%} {%- if tags.service %} , {{ tagTrans('railway=rail service', tags.service) }} {% endif -%} body: |- {% if tags.operator %}{{ keyTrans('operator') }}: {{ localizedTag(tags, 'operator') }}
{% endif %} {% if tags.usage %}{{ keyTrans('railway=rail usage') }}: {{ tagTrans('railway=rail usage', tags.usage)|default(trans('unknown')) }}
{% endif %} {% if tags.service %}{{ keyTrans('railway=rail service') }}: {{ tagTrans('railway=rail service', tags.service ) }}
{% endif %} {{ keyTrans('gauge') }}: {{ tags.gauge|default(trans('unknown')) }}
{% if tags.electrified == 'no' %} {{ keyTrans('electrified') }}: {{ tagTrans('electrified', 'no') }} {% elseif tags.electrified %} {{ keyTrans('electrified') }}: {{ tagTrans('electrified', tags.electrified) }}, {{ keyTrans('voltage') }}: {{ tags.voltage|default(trans('unknown')) }}, {{ keyTrans('frequency') }}: {{ tags.frequency|default(trans('unknown')) }} {% endif %}
markerSign: |- {% if tags.railway in [ 'halt', 'tram_stop', 'station', 'stop', 'subway_entrance' ] %}X {% endif %} markerSymbol: |- {% if tags.railway == 'signal' %} {% elseif tags.railway == 'switch' %} {% elseif tags.railway == 'railway_crossing' %} {% elseif tags.railway not in [ 'rail', 'tram', 'subway', 'narrow_gauge', 'abandoned', 'disused', 'razed' ] %} {{ markerPointer({})|raw }} {% endif %} listMarkerSymbol: |- {% if tags.railway in [ 'station', 'halt', 'tram_stop', 'stop', 'subway_entrance', 'signal', 'switch', 'railway_crossing' ] %} {% else %} line {% endif %} priority: |- {% if tags.railway == 'station' %}0 {% elseif tags.railway in [ 'halt' ] %}1 {% elseif tags.railway in [ 'tram_stop', 'stop' ] %}2 {% elseif tags.railway in [ 'subway_entrance' ] %}3 {% else %}5 {% endif %} styles: |- {% if tags.bridge and tags.bridge != 'no' %}casing_bridge,{% endif %} {% if const.color[tags.railway] %}casing,casing_layer,{% endif %} {% if tags.railway in ['abandoned', 'disused', 'razed'] %}disused,{% endif %} {% if tags.railway == 'narrow_gauge' %}default,narrow {% else %}default {% endif %} style: width: |- {{ width }} zIndex: |- {{ tags.layer|default(0) + 10 }} color: |- {% set color = tags.railway == 'rail' or tags.railway == 'narrow_gauge' or tags.railway == 'disused' ? const.color['rail/' ~ tags.usage]|default(const.color.rail) : const.color[tags.railway]|default(const.color.default) %} {% if tags.tunnel and tags.tunnel != 'no' %} {{ colorInterpolate([ color, '#ffffff' ], 0.3) }} {% else %} {{ color }} {% endif %} opacity: 1 dashArray: |- {% if tags.railway == 'disused' %}1,5 {% elseif tags.railway == 'abandoned' %}1,7 {% elseif tags.railway == 'razed' %}1,9 {% endif %} fill: |- {% if tags.railway == 'platform' %} 1 {% elseif type == 'node' %} 1 {% else %} {% endif %} fillColor: |- {% if tags.railway == 'platform' %} #3f3f3f {% elseif type == 'node' %} #ffffff {% endif %} fillOpacity: |- {% if tags.railway == 'platform' %} 0.2 {% elseif type == 'node' %} 0 {% endif %} style:disused: width: |- {{ width }} zIndex: |- {{ tags.layer|default(0) + 9.995 }} color: white opacity: 1 fill: false style:casing: color: '#ffffff' pane: casing width: |- {{ width + 2 }} style:casing_layer: color: '#ffffff' zIndex: |- {{ tags.layer|default(0) + 9.99 }} width: |- {{ width + 2 }} lineCap: butt style:casing_bridge: color: '#000000' zIndex: |- {{ tags.layer|default(0) + 9.98 }} width: |- {{ width + 4 }} lineCap: butt style:narrow: width: |- {{ width + 2 }} color: |- {% if tags.railway == 'rail' or tags.railway == 'narrow_gauge' or tags.railway == 'disused' %} {% if tags.usage == 'main' %}#ff8100 {% elseif tags.usage == 'branch' %}#daca00 {% else %}#000000 {% endif %} {% elseif tags.railway == 'subway' %}#0000ff {% elseif tags.railway == 'tram' %}#ff00ff {% elseif tags.railway == 'light_rail' %}#00BD14 {% elseif tags.railway == 'platform' %}#3f3f3f {% else %}#000000 {% endif %} lineCap: butt dashArray: '2,4' info: |- {% if map.zoom >= 14 %} {% endif %}
{{ markerLine(evaluate({ "railway": "rail", "usage": "main" }))|raw }} {{ tagTrans('railway', 'rail') }}, {{ keyTrans('usage') }}: {{ tagTrans('usage', 'main') }}
{{ markerLine(evaluate({ "railway": "rail" }))|raw }} {{ tagTrans('railway', 'rail') }}
{{ markerLine(evaluate({ "railway": "narrow_gauge" }))|raw }} {{ tagTrans('railway', 'narrow_gauge') }}
{{ markerLine(evaluate({ "railway": "light_rail" }))|raw }} {{ tagTrans('railway', 'light_rail') }}
{{ markerLine(evaluate({ "railway": "subway" }))|raw }} {{ tagTrans('railway', 'subway') }}
{{ markerLine(evaluate({ "railway": "tram" }))|raw }} {{ tagTrans('railway', 'tram') }}
const: color: rail: '#000000' rail/main: '#ff8100' rail/branch: '#daca00' subway: '#0000ff' tram: '#ff00ff' light_rail: '#00BD14' platform: '#3f3f3f' default: '#000000'