Main categories of OpenStreetBrowser
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.
 
 

164 lines
5.5 KiB

type: overpass
name:
ca: Velocitat màxima de la via fèrria
cs: Maximální rychlost železnice
de: Eisenbahn Höchstgeschwindigkeiten
en: Railway Maxspeed
es: Velocidad máxima del ferrocarril
fr: Limites de vitesse
gl: Velocidade máxima do ferrocarril
hu: Sebességkorlátozás
it: Velocità ferroviaria massima
ja: 鉄道の最高速度
nb: Jernbane-fartsgrense
nl: Spoorweg snelheidslimiet
oc: Limits de velocitat
pl: Prędkość maksymalna kolei
pt: Velocidade máxima
pt-br: Velocidade máxima
ru: Максимальная скорость
tr: Demiryolu Maksimum Hızı
query:
11: way[railway=rail][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'][usage~'^(main|branch)$'];
14: way[railway~'^(disused|construction|funicular|light_rail|miniature|monorail|narrow_gauge|preserved|rail|subway|tram)$'];
feature:
pre: |-
{% set maxspeedKmh = null %}
{% set maxspeed = null %}
{% set unit = null %}
{% if tags.maxspeed is defined %}
{% if tags.maxspeed|matches("^[0-9]+$") %}
{% set maxspeedKmh = tags.maxspeed %}
{% set maxspeed = tags.maxspeed %}
{% set unit = "km/h" %}
{% elseif tags.maxspeed|matches( "(^[0-9]+) mph$") %}
{% set m = tags.maxspeed|matches("(^[0-9]+) mph$") %}
{% set maxspeedKmh = m[1] * 1.60934 %}
{% set maxspeed = m[1] %}
{% set unit = "mph" %}
{% endif %}
{% endif %}
{% if attribute(tags, 'maxspeed:forward') is defined %}
{% if attribute(tags, 'maxspeed:forward')|matches("^[0-9]+$") %}
{% set maxspeedFKmh = attribute(tags, 'maxspeed:forward') %}
{% set maxspeedF = attribute(tags, 'maxspeed:forward') %}
{% set unit = "km/h" %}
{% elseif attribute(tags, 'maxspeed:forward')|matches("^[0-9]+ mph$") %}
{% set m = attribute(tags, 'maxspeed:forward')|matches("(^[0-9]+) mph$") %}
{% set maxspeedFKmh = m[1] * 1.60934 %}
{% set maxspeedF = m[1] %}
{% set unit = "mph" %}
{% endif %}
{% endif %}
{% if attribute(tags, 'maxspeed:backward') is defined %}
{% if attribute(tags, 'maxspeed:backward')|matches("^[0-9]+$") %}
{% set maxspeedBKmh = attribute(tags, 'maxspeed:backward') %}
{% set maxspeedB = attribute(tags, 'maxspeed:backward') %}
{% set unit = "km/h" %}
{% elseif attribute(tags, 'maxspeed:backward')|matches("^[0-9]+ mph$") %}
{% set m = attribute(tags, 'maxspeed:backward')|matches("(^[0-9]+) mph$") %}
{% set maxspeedBKmh = m[1] * 1.60934 %}
{% set maxspeedB = m[1] %}
{% set unit = "mph" %}
{% endif %}
{% endif %}
{% if not maxspeedKmh %}
{% set color = "#404040" %}
{% else %}
{% set color = colorInterpolate(const.colorMap, (maxspeedKmh - const.offsetColorSpeed) / const.highestColorSpeed) %}
{% endif %}
{% if maxspeedFKmh %}
{% set colorF = colorInterpolate(const.colorMap, (maxspeedFKmh - const.offsetColorSpeed) / const.highestColorSpeed) %}
{% endif %}
{% if maxspeedBKmh %}
{% set colorB = colorInterpolate(const.colorMap, (maxspeedBKmh - const.offsetColorSpeed) / const.highestColorSpeed) %}
{% endif %}
description: |-
{% if maxspeedF or maxspeedB %}
<span style='color: {{ colorB }}'>{{ maxspeedB|default(trans('unknown')) }}</span> / <span style='color: {{ colorF }}'>{{ maxspeedF|default(trans('unknown')) }}</span> {{ unit }}
{% elseif maxspeed %}
<span style='color: {{ color }}'>{{ maxspeed }} {{ unit }}</span>
{% elseif tags.maxspeed %}
{{ tags.maxspeed }}
{% else %}
{{ trans('unknown') }}
{% endif %}
markerSymbol: null
listMarkerSymbol: line
styles: '{% if maxspeedB or maxspeedF %}left,right,default{% else %}default{% endif %}'
style:
width: '{% if maxspeedB or maxspeedF %}0{% else %}4{% endif %}'
color: '{{ color }}'
text: |-
{% if maxspeedB or maxspeedF %}
{% if maxspeedB %}🡸 {{ maxspeedB }} {% endif %}|{% if maxspeedF %} {{ maxspeedF }} 🡺{% endif %}
{% else %}
{{ maxspeed }}
{% endif %}
textRepeat: '1'
textOffset: '4'
textFontWeight: bold
style:left:
width: '2'
color: '{{ colorB|default(''#404040'') }}'
offset: '-1'
style:right:
width: '2'
color: '{{ colorF|default(''#404040'') }}'
offset: '1'
const:
colorMap:
- '#00af00'
- '#ff7f00'
- '#ff0000'
- '#af00af'
highestColorSpeed: 300
offsetColorSpeed: 20
info: |-
<div style='display: inline-block'>
<table>
<tr>
<td>{{ markerLine(evaluate({}))|raw }}</td>
<td colspan>{{ trans('unknown') }}</td>
</tr>
{% for i in range(25, 280, 25) %}
<tr>
<td>{{ markerLine(evaluate({ "maxspeed": i }))|raw }}</td>
<td>{{ i }}km/h</td>
</tr>
{% endfor %}
<tr>
<td>{{ markerLine(evaluate({ "maxspeed": 300 }))|raw }}</td>
<td>≥300km/h</td>
</tr>
</table>
</div>
<div style='display: inline-block'>
<table>
<tr>
<td>{{ markerLine(evaluate({}))|raw }}</td>
<td colspan>{{ trans('unknown') }}</td>
</tr>
{% for i in range(15, 150, 15) %}
<tr>
<td>{{ markerLine(evaluate({ "maxspeed": (i * 1.60934)|round }))|raw }}</td>
<td>{{ i }}mph</td>
</tr>
{% endfor %}
<tr>
<td>{{ markerLine(evaluate({ "maxspeed": (175 * 1.60934)|round }))|raw }}</td>
<td>175mph</td>
</tr>
<tr>
<td>{{ markerLine(evaluate({ "maxspeed": (200 * 1.60934)|round }))|raw }}</td>
<td>≥200mph</td>
</tr>
</table>
</div>