|
|
{ "type": "overpass", "name": { "de": "Eisenbahn Elektrifizierung", "en": "Railway electrification", "fr": "Puissance électrique ferroviaire", "hu": "Vasút villamosítottsága", "pt": "Eletrificação ferroviária", "pt-br": "Eletrificação ferroviária" }, "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": [ "{% if tags.electrified and tags.electrified != 'no' %}", " {% if not tags.voltage is defined %}", " {% set color = const.colorUnknown %}", " {% elseif not tags.voltage|matches('^[0-9]+$') %}", " {% set color = const.colorIllegal %}", " {% elseif tags.voltage < const.range[1] %}", " {% set color = colorInterpolate(const.scheme|slice(0, 2), tags.voltage / const.range[1]) %}", " {% else %}", " {% set color = colorInterpolate(const.scheme|slice(1, 2), (tags.voltage - const.range[1]) / (const.range[2] - const.range[1])) %}", " {% endif %}", "{% elseif tags.electrified and tags.electrified == 'no' %}", " {% set color = const.colorNone %}", "{% else %}", " {% set color = const.colorUnknown %}", "{% endif %}", "", "{% if tags.service == 'yard' or tags.service == 'siding' or tags.service == 'spur' or tags.service == 'crossover' %}", " {% set width=2 %}", " {% else %}", " {% if tags.railway == 'rail' %}", " {% if tags.usage == 'main' or tags.usage == 'branch' %}", " {% set width=4 %}", " {% else %}", " {% set width=3 %}", " {% endif %}", " {% else %}", " {% set width=2 %}", " {% endif %}", "{% endif %}" ], "title": "{% if tags.ref %}{{ localizedTag(tags, 'ref') }} - {% endif %}{{ localizedTag(tags, 'name')|default(localizedTag(tags, 'operator'))|default(trans('unnamed')) }}", "description": [ "{{ tagTrans('railway', tags.railway) }}", "", "{% if tags.electrified == 'no' %}", " - {{ tagTrans('electrified', 'no') }}", "{% elseif tags.electrified %}", " - {{ tags.voltage|default(trans('unknown')) }}V, {{ tags.frequency|default(trans('unknown')) }}Hz", "{% endif %}" ], "body": [ "{{ tagTrans('railway', tags.railway) }}<br/>", "{% if tags.operator %}{{ keyTrans('operator') }}: {{ localizedTag(tags, 'operator') }}<br>{% endif %}", "{% if tags.usage %}{{ keyTrans('usage') }}: {{ tagTrans('usage', tags.usage)|default(trans('unknown')) }}<br/>{% endif %}", "{% if tags.service %}{{ keyTrans('service') }}: {{ tagTrans('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')) }}<br/>{% endif %}" ], "markerSymbol": null, "listMarkerSymbol": "line", "styles": "casing,default", "priority": "{% if tags.railway == 'station' %}0{% elseif tags.railway in [ 'halt', 'tram_stop' ] %}1{% else %}5{% endif %}", "style": { "width": "{{ width }}", "lineCap": "butt", "color": "{{ color }}", "opacity": "1", "fill": null, "dashArray": [ "{% if not tags.electrified is defined %}", "{% elseif not tags.frequency is defined or tags.frequency == 0 %}", "{% else %}", "5,2", "{% endif %}" ] }, "style:casing": { "width": "{{ width }}", "color": "white", "opacity": "1", "lineCap": "butt", "fill": null } }, "info": [ "<table>", " <tr>", " <td>{{ markerLine({ 'width': 3, 'color': const.colorNone })|raw }}</td>", " <td>{{ trans('not electrified') }}</td>", " </tr>", "{% for i in range(0, const.range[1], const.infoSteps[0]) %}", " {% set color = colorInterpolate(const.scheme|slice(0, 2), i / const.range[1]) %}", " <tr>", " <td>{{ markerLine({ 'width': 3, 'color': color })|raw }}</td>", " <td>{{ i }}V</td>", " </tr>", "{% endfor %}", "", "{% for i in range(const.range[1] + const.infoSteps[1], const.range[2], const.infoSteps[1]) %}", " {% set color = colorInterpolate(const.scheme|slice(1, 2), (i - const.range[1]) / (const.range[2] - const.range[1])) %}", " <tr>", " <td>{{ markerLine({ 'width': 3, 'color': color })|raw }}</td>", " <td>{{ i }}V</td>", " </tr>", "{% endfor %}", "", "{% set color = const.scheme[1] %}", " <tr>", " <td>{{ markerLine({ 'width': 3, 'color': color })|raw }}</td>", " <td>{{ trans('tag:frequency=0') }}</td>", " </tr>", "", " <tr>", " <td>{{ markerLine({ 'styles': [ 'casing', 'default' ], 'style:casing': { 'width': 3, 'color': 'white' }, 'style': { 'width': '3', 'dashArray': '5,2', 'lineCap': 'butt', 'color': color } })|raw }}</td>", " <td>{{ trans('tag:frequency>0') }}</td>", " </tr>", "", " <tr>", " <td>{{ markerLine({ 'width': 3, 'color': const.colorUnknown })|raw }}</td>", " <td>{{ trans('unknown') }}</td>", " </tr>", "", " <tr>", " <td>{{ markerLine({ 'width': 3, 'color': const.colorIllegal })|raw }}</td>", " <td>{{ trans('illegal value') }}</td>", " </tr>", "</table>" ], "const": { "range": [ 0, 1000, 25000 ], "infoSteps": [ 200, 2000 ], "scheme": [ "#00ff00", "#003fff", "#af0000" ], "colorNone": "orange", "colorUnknown": "#404040", "colorIllegal": "#ff0000" } }
|