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: |- ( node[icn_ref]; relation[type=route][route~"^(|.*;)bicycle(|;.*)$"][network~'^(|.*;)(icn)(|;.*)$']; ) 9: |- ( node[~"^[in]cn_ref$"~"."]; relation[type=route][route~"^(|.*;)bicycle(|;.*)$"][network~'^(|.*;)(icn|ncn)(|;.*)$'] 12: |- ( node[~"^[inr]cn_ref$"~"."]; relation[type=route][route~"^(|.*;)bicycle(|;.*)$"][network~'^(|.*;)(icn|ncn|rcn)(|;.*)$']; ) 15: |- ( node[~"^[inrl]cn_ref$"~"."]; 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 %} {% set ref = '' %} {% set item_type = '' %} {% for level, def in const|reverse %} {% if type == 'node' and attribute(tags, 'network:type') == 'node_network' and tags[level ~ '_ref'] %} {% set ref = tags[level ~ '_ref'] %} {% set network = level %} {% set item_type = 'node_network_node' %} {% endif %} {% endfor %} {% set color = const[network].color|default(const[""].color) %} title: |- {% if tags.ref and tags.name %}{{ tags.ref }} - {{ tags.name }}{% elseif tags.ref %}{{ tags.ref }}{% elseif tags.name %}{{ tags.name }}{% endif %} {% if item_type == 'node_network_node' %} {{ ref }} {% endif %} description: |- {% if item_type == 'node_network_node' %} {{ trans('tag:network:type=node_network node') }} {% else %} {{ tagTrans("network", network) }} {% endif %} markerSign: |- {% if item_type == 'node_network_node' %} {{ ref }} {% endif %} markerSymbol: |- {% if item_type == 'node_network_node' %} {{ markerPointer({ "width": 2, "color": color, "fillColor": colorInterpolate([color, 'white'], 0.75), "fillOpacity": 1 }) }} {% endif %} listMarkerSymbol: |- {% if item_type == 'node_network_node' %} {{ markerCircle({ "width": 2, "color": color, "fillColor": colorInterpolate([color, 'white'], 0.75), "fillOpacity": 1 }) }} {% else %} {{ markerLine({ "width": 4, "color": color })|raw }} {% endif %} priority: |- {{ const[network].priority|default(4) }} body: |- {% if item_type == 'node_network_node' %} {% endif %} styles: '' style:hover: color: black width: |- {{ item_type == 'node_network_node' ? 3 : 0 }} style:selected: color: black width: |- {{ item_type == 'node_network_node' ? 3 : 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 %} exclude: |- {{ type == 'node' }} 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 %}