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.
143 lines
6.6 KiB
143 lines
6.6 KiB
{
|
|
"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"
|
|
}
|
|
}
|