You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
203 lines
6.6 KiB
203 lines
6.6 KiB
type: overpass
|
|
query:
|
|
11: |-
|
|
(
|
|
way[railway~"^(rail|narrow_gauge|subway|light_rail|monorail)$"][usage~'^(main|branch)$'];
|
|
way[railway~"^(construction|proposed|abandoned|disused|razed)$"][~"^(construction|proposed|abandoned|disused|razed)$"~"^(rail|narrow_gauge|subway|light_rail|monorail)$"][usage~'^(main|branch)$'];
|
|
way[railway~"^(construction|proposed|abandoned|disused|razed)$"][~"^railway:(construction|proposed|abandoned|disused|razed)$"~"^(rail|narrow_gauge|subway|light_rail|monorail)$"][usage~'^(main|branch)$'];
|
|
)
|
|
13: way[railway~"^(rail|narrow_gauge|funicular|monorail|narrow_gauge|subway|light_rail|tram|construction|proposed|abandoned|disused|razed)$"][!service];
|
|
15: way[railway~"^(rail|narrow_gauge|funicular|monorail|narrow_gauge|subway|light_rail|tram|construction|proposed|abandoned|disused|razed)$"];
|
|
feature:
|
|
pre: |-
|
|
{% set type = tags.railway %}
|
|
{% set lifecyle = 'active' %}
|
|
{% if tags.railway in ['abandoned', 'construction', 'proposed', 'disused', 'razed'] %}
|
|
{% set lifecyle = tags.railway %}
|
|
{% set type = attribute(tags, tags.railway)|default(attribute(tags, tags.railway ~ ':railway')) %}
|
|
{% endif %}
|
|
|
|
{% set color = const.types[type ~ '/' ~ tags.usage].color|default(const.types[type].color)|default(const.types.default.color) %}
|
|
|
|
{% if tags.tunnel and tags.tunnel != 'no' %}
|
|
{% set color = colorInterpolate([ color, '#ffffff' ], 0.3) %}
|
|
{% endif %}
|
|
|
|
{% 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 %}
|
|
{% 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 %}
|
|
description: |-
|
|
{{ tagTrans('railway', type) }}
|
|
{% if lifecyle != 'active' %}
|
|
({{ tagTrans('railway', lifecyle) }})
|
|
{%- endif -%}
|
|
{%- 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') }}<br>{% endif %}
|
|
{% if tags.usage %}{{ keyTrans('railway=rail usage') }}: {{ tagTrans('railway=rail usage', tags.usage)|default(trans('unknown')) }}<br/>{% endif %}
|
|
{% if tags.service %}{{ keyTrans('railway=rail service') }}: {{ tagTrans('railway=rail service', tags.service ) }}<br/>{% endif %}
|
|
{{ keyTrans('gauge') }}: {{ tags.gauge|default(trans('unknown')) }}<br/>
|
|
{% 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 %}<br/>
|
|
markerSign: |-
|
|
{% if tags.railway in [ 'halt', 'tram_stop', 'station', 'stop', 'subway_entrance' ] %}X
|
|
{% endif %}
|
|
markerSymbol: false
|
|
listMarkerSymbol: line
|
|
styles: |-
|
|
{% if tags.bridge and tags.bridge != 'no' %}casing_bridge,{% endif %}
|
|
casing_back,casing_layer,
|
|
{% if lifecyle != 'active' %}background,{% endif %}
|
|
{% if tags.railway == 'narrow_gauge' %}default,narrow
|
|
{% else %}default
|
|
{% endif %}
|
|
style:
|
|
width: |-
|
|
{{ width }}
|
|
zIndex: |-
|
|
{{ tags.layer|default(0) }}
|
|
color: |-
|
|
{{ color }}
|
|
opacity: 1
|
|
lineCap: |-
|
|
{{ lifecyle == 'active' ? 'round' : 'butt' }}
|
|
dashArray: |-
|
|
{{ const.lifecyle[lifecyle].dashArray }}
|
|
fill: false
|
|
|
|
style:background:
|
|
width: |-
|
|
{{ width }}
|
|
zIndex: |-
|
|
{{ tags.layer|default(0) - 0.1 }}
|
|
color: white
|
|
opacity: 1
|
|
fill: false
|
|
|
|
style:casing_back:
|
|
color: '#ffffff'
|
|
pane: casing
|
|
width: |-
|
|
{{ width + 2 }}
|
|
|
|
style:casing_layer:
|
|
color: '#ffffff'
|
|
zIndex: |-
|
|
{{ tags.layer|default(0) - 0.2 }}
|
|
width: |-
|
|
{{ width + 2 }}
|
|
lineCap: butt
|
|
|
|
style:casing_bridge:
|
|
color: '#000000'
|
|
zIndex: |-
|
|
{{ tags.layer|default(0) - 0.3 }}
|
|
width: |-
|
|
{{ width + 4 }}
|
|
lineCap: butt
|
|
|
|
style:narrow:
|
|
width: |-
|
|
{{ width + 2 }}
|
|
zIndex: |-
|
|
{{ tags.layer|default(0) }}
|
|
color: |-
|
|
{{ color }}
|
|
lineCap: butt
|
|
dashArray: '2,4'
|
|
|
|
info: |-
|
|
<table>
|
|
{% for k, v in const.types %}
|
|
{% if not v.hideInfo %}
|
|
{% set railway_usage = k|split('/') %}
|
|
{% if railway_usage|length == 2 %}
|
|
<tr>
|
|
<td>{{ markerLine(evaluate({ 'railway': railway_usage[0], 'usage': railway_usage[1] }))|raw }}</td>
|
|
<td>{{ tagTrans('railway', railway_usage[0]) }}, {{ keyTrans('usage') }}: {{ tagTrans('usage', railway_usage[1]) }}</td>
|
|
</tr>
|
|
{% else %}
|
|
<tr>
|
|
<td>{{ markerLine(evaluate({ "railway": k }))|raw }}</td>
|
|
<td>{{ tagTrans('railway', k) }}</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
<tr>
|
|
<td>{{ markerLine(evaluate({ 'railway': 'rail', 'tunnel': 'yes'}))|raw }}</td>
|
|
<td>{{ keyTrans('tunnel') }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerLine(evaluate({ 'railway': 'rail', 'bridge': 'yes'}))|raw }}</td>
|
|
<td>{{ keyTrans('bridge') }}</td>
|
|
</tr>
|
|
|
|
{% for k, v in const.lifecyle %}
|
|
{% if not v.hideInfo %}
|
|
<tr>
|
|
<td>{{ markerLine(evaluate({ 'railway': k, (k): 'rail'}))|raw }}</td>
|
|
<td>{{ tagTrans('railway', k) }}</td>
|
|
</tr>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</table>
|
|
const:
|
|
types:
|
|
rail/main:
|
|
color: '#ff8100'
|
|
rail/branch:
|
|
color: '#daca00'
|
|
rail:
|
|
color: '#000000'
|
|
narrow_gauge:
|
|
color: '#000000'
|
|
subway:
|
|
color: '#0000ff'
|
|
tram:
|
|
color: '#ff00ff'
|
|
light_rail:
|
|
color: '#ff007f'
|
|
funicular:
|
|
color: '#00BD14'
|
|
monorail:
|
|
color: '#007f00'
|
|
default:
|
|
color: '#ff0000'
|
|
hideInfo: true
|
|
lifecyle:
|
|
active:
|
|
dashArray: ''
|
|
hideInfo: true
|
|
proposed:
|
|
dashArray: '5,5'
|
|
construction:
|
|
dashArray: '5,2'
|
|
disused:
|
|
dashArray: '2,5'
|
|
abandoned:
|
|
dashArray: '1,5'
|
|
razed:
|
|
dashArray: '1,9'
|