|
|
{ "type": "overpass", "name": { "de": "Eisenbahn Höchstgeschwindigkeiten", "en": "Railway Maxspeed", "fr": "Limites de vitesse", "hu": "Sebességkorlátozás", "pt": "Velocidade máxima", "pt-br": "Velocidade máxima" }, "query": { "11": "way[railway=rail][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'][usage~'^(main|branch)$'];", "14": "way[railway][railway!~'^(platform|abandoned|disused|station|proposed|subway_entrance)$'];" }, "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>" ] }
|