|
|
{ "type": "overpass", "name": { "ast": "Tresporte Públicu", "cs": "Veřejná doprava", "de": "Öffentlicher Verkehr", "el": "Δημόσιες Μεταφορές", "en": "Public Transportation", "et": "Ühistransport", "fr": "Transports publics", "hu": "Tömegközlekedés", "it": "Trasporti pubblici", "ja": "公共輸送", "nl": "Openbaar vervoer", "pl": "Transport Publiczny", "ro": "Transport public", "ru": "Общественный транспорт", "uk": "Громадський транспорт", "pt-br": "Transporte Público", "pt": "Transportes públicos" }, "query": { "12": "relation[type=route][route~\"^(subway|monorail|ferry|train)$\"];", "14": [ "(", "relation[type=route][route~\"^(subway|monorail|aerialway|bus|trolleybus|ferry|train|tram)$\"];", "relation[type=public_transport][public_transport=stop_area];", ")" ] }, "members": true, "lists": { "stops": { "prefix": "listStops", "name": { "ast": "Paraes y estaciones", "cs": "Zastávky & Stanice", "de": "Haltestellen", "el": "Στάσεις & Σταθμοί", "en": "Stops & Stations", "es": "Paradas y estaciones", "fr": "Arrêts/Stops, Stations", "hu": "Megállók és állomások", "it": "Stazioni e fermate", "ja": "停留所と駅", "nl": "Haltes en Stations", "pl": "Przystanki i Stacje", "pt-br": "Paradas e Estações", "ru": "Остановки и станции", "uk": "Зупинки та станції" } }, "routes": { "prefix": "listRoutes", "name": { "de": "Routen", "en": "Routes", "fr": "Lignes", "pt": "Rotas", "pt-br": "Rotas" } } }, "feature": { "pre": "{% set isStopArea = tags.public_transport == 'stop_area' %}", "listRoutesExclude": "{{ isStopArea }}", "styles": "", "title": [ "{% if tags.ref %}{{ tags.ref }} - {% endif %}", "", "{{ localizedTag(tags, 'name') |default(localizedTag(tags, 'operator')) | default(localizedTag(tags, 'ref')) | default(trans('unnamed')) }}" ], "description": "{{ tagTrans('route', tags.route) }}", "body": [ "<h4>Stops</h4><ul>", "{% for member in members %}", "{% if member.role|slice(-4) == 'stop' %}", "<li data-object='{{ member.id }}' data-sublayer='member'><b>{{ member.tags.name|default(member.id) }}</li>", "{% endif %}", "{% endfor %}", "</ul>" ], "listStopsExclude": "true", "listRoutesMarkerSign": "{{ const[tags.route].sign|raw }}", "markerSymbol": null, "listRoutesMarkerSymbol": "{{ markerCircle({fillColor:const[tags.route].color})|raw }}" }, "memberFeature": { "pre": [ "{% set stopName = '' %}", "{% set isStop = false %}", "{% set isWay = false %}", "{% set aRoute = null %}", "{% set refs = [] %}", "{% for master in masters %}", " {% if master.tags.public_transport == 'stop_area' %}", " {% set stopName = master.tags.name %}", " {% else %}", " {% if master.role|slice(-4) == 'stop' %}", " {% set isStop = true %}", " {% elseif master.role|matches('^(|forward|backward)$') %}", " {% set isWay = true %}", " {% endif %}", " {% set aRoute = master %}", "", " {% if master.tags.ref %}", " {% set refs = refs|merge([ master.tags.ref ]) %}", " {% endif %}", " {% endif %}", "{% endfor %}", "", "{% set refs = refs|unique|natsort({ insensitive: true }) %}", "{% set color = const[aRoute.tags.route].color %}" ], "listStopsMarkerSymbol": "{{ markerCircle({ width: 5, color: color, fillOpacity: '1', radius: 3 })|raw }}", "listStopsMarkerSign": " ", "styles": "{% if isStop %}stop{% elseif isWay %}way{% else %}{% endif %}", "style:way": { "color": [ "{{ color|default('#ff0000') }}" ], "width": "3", "text": "{{ refs|join(' ') }} ", "textRepeat": "1", "textOffset": "12", "textFontWeight": "bold" }, "style:stop": { "color": [ "{{ color|default('#ff0000') }}" ], "width": "5", "radius": 3 }, "title": "{% if tags.public_transport == 'stop_position' %}{{ tags.name|default(stopName)|default(id) }}{% endif %}", "listStopsTitle": "{{ tags.name|default(stopName)|default(id) }}", "listStopsDescription": "{{ refs|join(' ') }}", "body": [ "<h4>Routes</h4>", "<ul>", "{% for master in masters %}", " {% if master.tags.public_transport != 'stop_area' %}", " <li data-object=\"{{ master.id }}\"><b>{{ master.tags.name|default(master.tags.ref) }}</li>", " {% endif %}", " {{ master.role }}", "{% endfor %}", "</ul>" ], "listRoutesExclude": "true", "listStopsExclude": "{{ not isStop }}" }, "info": [ "<table>", "{% for value, data in const %}", "{% if data.zoom <= map.zoom %}", " <tr>", " <td>{{ markerCircle({fillColor:data.color})|raw }}<div class='sign'>{{ data.sign|raw }}</div></td>", " <td>{{ tagTrans('route', value) }}</td>", " </tr>", "{% endif %}", "{% endfor %}", "</table>" ], "const": { "train": { "sign": "<img src='maki:rail?fill=#ffffff'>", "zoom": 12, "color": "#00007f" }, "subway": { "sign": "<img src='maki:rail-metro?fill=#ffffff'>", "zoom": 12, "color": "#0000ff" }, "monorail": { "sign": "<span style='color: #ffffff'>M</span>", "zoom": 12, "color": "#006f8f" }, "tram": { "sign": "<img src='maki:rail-light?fill=#ffffff'>", "zoom": 12, "color": "#7f007f" }, "bus": { "sign": "<img src='maki:bus?fill=#ffffff'>", "zoom": 12, "color": "#af0000" }, "trolleybus": { "sign": "<img src='maki:bus?fill=#ffffff'>", "zoom": 12, "color": "#af3f00" }, "aerialway": { "sign": "<img src='maki:aerialway?fill=#ffffff'>", "zoom": 12, "color": "#00aaaa" }, "ferry": { "sign": "<img src='maki:ferry?fill=#ffffff'>", "zoom": 12, "color": "#007fff" } } }
|