From ff076db93244622598dfa6f5f00305f7ccaf2bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Mon, 14 Jul 2025 09:58:36 +0200 Subject: [PATCH] cycle_routes: convert to YAML --- cycle_routes.json | 204 -------------------------------------------- cycle_routes.yaml | 210 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 210 insertions(+), 204 deletions(-) delete mode 100644 cycle_routes.json create mode 100644 cycle_routes.yaml diff --git a/cycle_routes.json b/cycle_routes.json deleted file mode 100644 index 2709972..0000000 --- a/cycle_routes.json +++ /dev/null @@ -1,204 +0,0 @@ -{ - "type": "overpass", - "name": { - "ca": "Rutes Ciclistes", - "cs": "Cyklotrasy", - "de": "Radrouten", - "en": "Cycle Routes", - "es": "Rutas ciclistas", - "fr": "Itinéraires vélo", - "gl": "Rotas ciclistas", - "hu": "Kerékpáros útvonalak", - "it": "Percorsi ciclabili", - "ja": "自転車ルート", - "nb": "Sykkelruter", - "nl": "Fietsroutes", - "oc": "Itineraris ciclistas", - "pl": "Trasy rowerowe", - "pt": "Ciclovias", - "pt-br": "Ciclorrotas", - "ro": "Trasee ciclism", - "ru": "Веломаршруты", - "sr": "Трасе за бицикле", - "tr": "Bisiklet Rotaları" - }, - "query": { - "6": "relation[type=route][route~\"^(|.*;)bicycle(|;.*)$\"][network~'^(|.*;)(icn)(|;.*)$']", - "9": "relation[type=route][route~\"^(|.*;)bicycle(|;.*)$\"][network~'^(|.*;)(icn|ncn)(|;.*)$']", - "12": "relation[type=route][route~\"^(|.*;)bicycle(|;.*)$\"][network~'^(|.*;)(icn|ncn|rcn)(|;.*)$']", - "15": "relation[type=route][route~\"^(|.*;)bicycle(|;.*)$\"]" - }, - "members": true, - "feature": { - "pre": [ - "{% set network = tags.network %}", - "{% for n in tags.network|split(';') %}", - "{% if n|matches('cn$') %}{% set network = n %}{% endif %}", - "{% endfor %}" - ], - "title": "{% if tags.ref and tags.name %}{{ tags.ref }} - {{ tags.name }}{% elseif tags.ref %}{{ tags.ref }}{% elseif tags.name %}{{ tags.name }}{% endif %}", - "description": "{{ tagTrans('network', network) }}", - "markerSymbol": "", - "listMarkerSymbol": "{{ markerLine({ 'width': 4, 'color': const[network].color|default(const[''].color) })|raw }}", - "priority": "{{ const[network].priority|default(4) }}", - "styles": "", - "style:hover": { - "width": "0" - }, - "style:selected": { - "width": "0" - } - }, - "memberFeature": { - "pre": [ - "{% set priority = 4 %}", - "{% set network = '' %}", - "{% set refs = [] %}", - "{% set dirForward = false %}", - "{% set dirBackward = false %}", - "{% set hover = false %}", - "{% set selected = false %}", - "", - "{% for master in masters %}", - " {% set masterNetwork = '' %}", - " {% for n in master.tags.network|split(';') %}", - " {% if n|matches('cn$') %}{% set masterNetwork = n %}{% endif %}", - " {% endfor %}", - " {% set _p = const[masterNetwork].priority|default(4) %}", - " {% if _p < priority %}", - " {% set priority = _p %}", - " {% set network = masterNetwork %}", - " {% endif %}", - " {% if master.tags.ref %}", - " {% set refs = refs|merge([ master.tags.ref ]) %}", - " {% endif %}", - " {% if master.role == 'forward' %}{% set dirForward = true %}", - " {% elseif master.role == 'backward' %}{% set dirBackward = true %}", - " {% else %}{% set dirForward = true %}{% set dirBackward = true %}", - " {% endif %}", - " {% if master.flags.hover %}{% set hover = master.role|default('both') %}{% endif %}", - " {% if master.flags.selected %}{% set selected = master.role|default('both') %}{% endif %}", - "{% endfor %}" - ], - "title": "", - "body": [ - "

Routes

", - "" - ], - "listExclude": "1", - "styles": "default{% if hover %},hover{% endif %}{% if selected %},selected{% endif %}", - "style": { - "width": "4", - "color": "{{ const[network].color }}", - "opacity": "1", - "lineCap": "{% if not dirForward or not dirBackward %}butt{% else %}round{% endif %}", - "dashArray": "{% if not dirForward or not dirBackward %}27,8{% endif %}", - "dashOffset": "{% if dirBackward %}28{% else %}0{% endif %}", - "noClip": "{% if not dirForward or not dirBackward %}true{% else %}false{% endif %}", - "text": "{{ refs|join(' · ') }} ", - "textRepeat": "1", - "textOffset": "12", - "pattern": "{% if dirForward and dirBackward %}{% else %}arrowHead{% endif %}", - "pattern-offset": "{% if dirBackward %}4{% else %}30.5{% endif %}", - "pattern-repeat": "35", - "pattern-polygon": "true", - "pattern-pixelSize": "9", - "pattern-angleCorrection": "{% if dirBackward %}180{% else %}0{% endif %}", - "pattern-path-width": "0", - "pattern-path-color": "{{ const[network].color }}", - "pattern-path-fillOpacity": "1", - "textFontWeight": "bold" - }, - "style:hover": { - "pane": "hover", - "width": "4", - "color": "black", - "lineCap": "{% if hover == 'forward' or hover == 'backward' %}butt{% else %}round{% endif %}", - "dashArray": "{% if hover == 'forward' or hover == 'backward' %}27,8{% endif %}", - "dashOffset": "{% if hover == 'backward' %}28{% else %}0{% endif %}", - "noClip": "{% if hover == 'forward' or hover == 'backward' %}true{% else %}false{% endif %}", - "pattern": "{% if hover == 'forward' or hover == 'backward' %}arrowHead{% endif %}", - "pattern-offset": "{% if hover == 'backward' %}4{% else %}30.5{% endif %}", - "pattern-repeat": "35", - "pattern-polygon": "true", - "pattern-pixelSize": "9", - "pattern-angleCorrection": "{% if hover == 'backward' %}180{% else %}0{% endif %}", - "pattern-path-width": "0", - "pattern-path-color": "black", - "pattern-path-fillOpacity": "1" - }, - "style:selected": { - "pane": "selected", - "width": "4", - "color": "#3f3f3f", - "lineCap": "{% if selected == 'forward' or selected == 'backward' %}butt{% else %}round{% endif %}", - "dashArray": "{% if selected == 'forward' or selected == 'backward' %}27,8{% endif %}", - "dashOffset": "{% if selected == 'backward' %}28{% else %}0{% endif %}", - "noClip": "{% if selected == 'forward' or selected == 'backward' %}true{% else %}false{% endif %}", - "pattern": "{% if selected == 'forward' or selected == 'backward' %}arrowHead{% endif %}", - "pattern-offset": "{% if selected == 'backward' %}4{% else %}30.5{% endif %}", - "pattern-repeat": "35", - "pattern-polygon": "true", - "pattern-pixelSize": "9", - "pattern-angleCorrection": "{% if selected == 'backward' %}180{% else %}0{% endif %}", - "pattern-path-width": "0", - "pattern-path-color": "#3f3f3f", - "pattern-path-fillOpacity": "1" - } - }, - "const": { - "icn": { - "color": "#ff0000", - "priority": 0, - "zoom": 6 - }, - "ncn": { - "color": "#ff00ba", - "priority": 1, - "zoom": 9 - }, - "rcn": { - "color": "#ba00ff", - "priority": 2, - "zoom": 12 - }, - "lcn": { - "color": "#0000ff", - "priority": 3, - "zoom": 15 - }, - "": { - "color": "#007fff", - "priority": 4, - "zoom": 15 - } - }, - "info": [ - "", - "{% for value, data in const %}", - "{% if data.zoom <= map.zoom %}", - " ", - " ", - " ", - " ", - "{% endif %}", - "{% endfor %}", - "
{{ markerLine({ 'width': 4, color: data.color })|raw }}{% if value %}{{ tagTrans('network', value) }}{% else %}{{ trans('unknown') }}{% endif %}
" - ] -} diff --git a/cycle_routes.yaml b/cycle_routes.yaml new file mode 100644 index 0000000..6d01093 --- /dev/null +++ b/cycle_routes.yaml @@ -0,0 +1,210 @@ +name: + ca: Rutes Ciclistes + cs: Cyklotrasy + de: Radrouten + en: Cycle Routes + es: Rutas ciclistas + fr: Itinéraires vélo + gl: Rotas ciclistas + hu: Kerékpáros útvonalak + it: Percorsi ciclabili + ja: 自転車ルート + nb: Sykkelruter + nl: Fietsroutes + oc: Itineraris ciclistas + pl: Trasy rowerowe + pt: Ciclovias + pt-br: Ciclorrotas + ro: Trasee ciclism + ru: Веломаршруты + sr: Трасе за бицикле + tr: Bisiklet Rotaları +query: + 6: relation[type=route][route~"^(|.*;)bicycle(|;.*)$"][network~'^(|.*;)(icn)(|;.*)$'] + 9: relation[type=route][route~"^(|.*;)bicycle(|;.*)$"][network~'^(|.*;)(icn|ncn)(|;.*)$'] + 12: relation[type=route][route~"^(|.*;)bicycle(|;.*)$"][network~'^(|.*;)(icn|ncn|rcn)(|;.*)$'] + 15: relation[type=route][route~"^(|.*;)bicycle(|;.*)$"] +members: true +feature: + pre: |- + {% set network = tags.network %} + {% for n in tags.network|split(';') %} + {% if n|matches('cn$') %}{% set network = n %}{% endif %} + {% endfor %} + title: |- + {% if tags.ref and tags.name %}{{ tags.ref }} - {{ tags.name }}{% elseif tags.ref %}{{ tags.ref }}{% elseif tags.name %}{{ tags.name }}{% endif %} + description: |- + {{ tagTrans("network", network) }} + markerSymbol: '' + listMarkerSymbol: |- + {{ markerLine({ "width": 4, "color": const[network].color|default(const[""].color) })|raw }} + priority: |- + {{ const[network].priority|default(4) }} + styles: '' + style:hover: + width: 0 + style:selected: + width: 0 +memberFeature: + pre: |- + {% set priority = 4 %} + {% set network = '' %} + {% set refs = [] %} + {% set dirForward = false %} + {% set dirBackward = false %} + {% set hover = false %} + {% set selected = false %} + + {% for master in masters %} + {% set masterNetwork = '' %} + {% for n in master.tags.network|split(';') %} + {% if n|matches('cn$') %}{% set masterNetwork = n %}{% endif %} + {% endfor %} + {% set _p = const[masterNetwork].priority|default(4) %} + {% if _p < priority %} + {% set priority = _p %} + {% set network = masterNetwork %} + {% endif %} + {% if master.tags.ref %} + {% set refs = refs|merge([ master.tags.ref ]) %} + {% endif %} + {% if master.role == 'forward' %}{% set dirForward = true %} + {% elseif master.role == 'backward' %}{% set dirBackward = true %} + {% else %}{% set dirForward = true %}{% set dirBackward = true %} + {% endif %} + {% if master.flags.hover %}{% set hover = master.role|default('both') %}{% endif %} + {% if master.flags.selected %}{% set selected = master.role|default('both') %}{% endif %} + {% endfor %} + title: '' + body: |- +

Routes

+ + listExclude: true + styles: |- + default{% if hover %},hover{% endif %}{% if selected %},selected{% endif %} + style: + width: 4 + color: |- + {{ const[network].color }} + opacity: 1 + lineCap: |- + {% if not dirForward or not dirBackward %}butt{% else %}round{% endif %} + dashArray: |- + {% if not dirForward or not dirBackward %}27,8{% endif %} + dashOffset: |- + {% if dirBackward %}28{% else %}0{% endif %} + noClip: |- + {% if not dirForward or not dirBackward %}true{% else %}false{% endif %} + text: '{{ refs|join(" · ") }} ' + textRepeat: true + textOffset: 12 + pattern: |- + {% if dirForward and dirBackward %}{% else %}arrowHead{% endif %} + pattern-offset: |- + {% if dirBackward %}4{% else %}30.5{% endif %} + pattern-repeat: 35 + pattern-polygon: true + pattern-pixelSize: 9 + pattern-angleCorrection: |- + {% if dirBackward %}180{% else %}0{% endif %} + pattern-path-width: 0 + pattern-path-color: |- + {{ const[network].color }} + pattern-path-fillOpacity: 1 + textFontWeight: bold + style:hover: + pane: hover + width: 4 + color: black + lineCap: |- + {% if hover == "forward" or hover == "backward" %}butt{% else %}round{% endif %} + dashArray: |- + {% if hover == "forward" or hover == "backward" %}27,8{% endif %} + dashOffset: |- + {% if hover == "backward" %}28{% else %}0{% endif %} + noClip: |- + {% if hover == "forward" or hover == "backward" %}true{% else %}false{% endif %} + pattern: |- + {% if hover == "forward" or hover == "backward" %}arrowHead{% endif %} + pattern-offset: |- + {% if hover == "backward" %}4{% else %}30.5{% endif %} + pattern-repeat: 35 + pattern-polygon: true + pattern-pixelSize: 9 + pattern-angleCorrection: |- + {% if hover == "backward" %}180{% else %}0{% endif %} + pattern-path-width: 0 + pattern-path-color: black + pattern-path-fillOpacity: 1 + style:selected: + pane: selected + width: 4 + color: '#3f3f3f' + lineCap: |- + {% if selected == "forward" or selected == "backward" %}butt{% else %}round{% endif %} + dashArray: |- + {% if selected == "forward" or selected == "backward" %}27,8{% endif %} + dashOffset: |- + {% if selected == "backward" %}28{% else %}0{% endif %} + noClip: |- + {% if selected == "forward" or selected == "backward" %}true{% else %}false{% endif %} + pattern: |- + {% if selected == "forward" or selected == "backward" %}arrowHead{% endif %} + pattern-offset: |- + {% if selected == "backward" %}4{% else %}30.5{% endif %} + pattern-repeat: 35 + pattern-polygon: true + pattern-pixelSize: 9 + pattern-angleCorrection: |- + {% if selected == "backward" %}180{% else %}0{% endif %} + pattern-path-width: 0 + pattern-path-color: '#3f3f3f' + pattern-path-fillOpacity: 1 +const: + icn: + color: '#ff0000' + priority: 0 + zoom: 6 + ncn: + color: '#ff00ba' + priority: 1 + zoom: 9 + rcn: + color: '#ba00ff' + priority: 2 + zoom: 12 + lcn: + color: '#0000ff' + priority: 3 + zoom: 15 + '': + color: '#007fff' + priority: 4 + zoom: 15 +info: |- + + {% for value, data in const %} + {% if data.zoom <= map.zoom %} + + + + + {% endif %} + {% endfor %} +
{{ markerLine({ 'width': 4, color: data.color })|raw }}{% if value %}{{ tagTrans('network', value) }}{% else %}{{ trans('unknown') }}{% endif %}