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.
166 lines
3.3 KiB
166 lines
3.3 KiB
query:
|
|
(
|
|
way[highway=cycleway];
|
|
way[cyclestreet=yes];
|
|
way[bicycle_road=yes];
|
|
)
|
|
feature:
|
|
pre: |
|
|
{% set type = tags.highway %}
|
|
|
|
{% if tags.cyclestreet == 'yes' %}
|
|
{% set type = 'cyclestreet' %}
|
|
{% elseif tags.bicycle_road in ['yes', 'designated'] %}
|
|
{% set type = 'bicycle_road' %}
|
|
{% endif %}
|
|
|
|
{% set oneway = attribute(tags, 'oneway:bicycle')|default(tags.oneway) %}
|
|
{% if oneway == 'yes' %}
|
|
{% set oneway = 1 %}
|
|
{% elseif oneway == 'no' %}
|
|
{% set oneway = 0 %}
|
|
{% endif %}
|
|
|
|
styles: |
|
|
{% if tags.segregated %}
|
|
footway,
|
|
{% endif %}
|
|
default
|
|
style:
|
|
width: |
|
|
{% if tags.segregated == 'yes' %}
|
|
{{ const.types[type].width / 2 }}
|
|
{% else %}
|
|
{{ const.types[type].width }}
|
|
{% endif %}
|
|
|
|
dashArray: |
|
|
{% if oneway and tags.segregated == 'no' %}
|
|
5,5,5,20
|
|
{% elseif oneway %}
|
|
25,10
|
|
{% elseif tags.segregated == 'no' %}
|
|
5,5
|
|
{% endif %}
|
|
|
|
dashOffset: |
|
|
{% if oneway and tags.segregated == 'no' %}
|
|
5
|
|
{% elseif oneway %}
|
|
10
|
|
{% elseif tags.segregated == 'no' %}
|
|
0
|
|
{% endif %}
|
|
|
|
lineCap: |
|
|
{% if tags.segregated == 'no' or oneway %}
|
|
butt
|
|
{% else %}
|
|
round
|
|
{% endif %}
|
|
|
|
color: |
|
|
{{ const.types[type].color }}
|
|
|
|
offset: |
|
|
{% if tags.segregated == 'yes' %}
|
|
{{ const.types[type].width / 2 - 1 }}
|
|
{% endif %}
|
|
|
|
pattern: |
|
|
{% if oneway -%}
|
|
arrowHead
|
|
{%- endif %}
|
|
|
|
pattern-repeat: |
|
|
35
|
|
|
|
pattern-offset: |
|
|
{{ oneway == -1 ? 17 : 22 }}
|
|
|
|
noClip: |
|
|
{{ oneway != 0 }}
|
|
|
|
pattern-polygon: true
|
|
|
|
pattern-pixelSize: 9
|
|
|
|
pattern-angleCorrection: |
|
|
{{ oneway == -1 ? 180 : 0 }}
|
|
|
|
pattern-path-color: |
|
|
{{ const.types[type].color }}
|
|
|
|
pattern-path-width: 0
|
|
|
|
pattern-path-fillOpacity: 1
|
|
|
|
style:footway:
|
|
color: |
|
|
{{ const.types.footway.color }}
|
|
|
|
width: |
|
|
{% if tags.segregated == 'yes' %}
|
|
{{ const.types.footway.width / 2 }}
|
|
{% else %}
|
|
{{ const.types.footway.width }}
|
|
{% endif %}
|
|
|
|
dashArray: |
|
|
{% if oneway and tags.segregated == 'no' %}
|
|
5,5,5,5,5,10
|
|
{% elseif oneway %}
|
|
25,10
|
|
{% elseif tags.segregated == 'no' %}
|
|
5,5
|
|
{% endif %}
|
|
|
|
dashOffset: |
|
|
{% if oneway %}
|
|
10
|
|
{% elseif tags.segregated == 'no' %}
|
|
5
|
|
{% endif %}
|
|
|
|
noClip: |
|
|
{{ oneway != 0 }}
|
|
|
|
lineCap: |
|
|
{% if tags.segregated == 'no' or oneway %}
|
|
butt
|
|
{% else %}
|
|
round
|
|
{% endif %}
|
|
|
|
offset: |
|
|
{% if tags.segregated == 'yes' %}
|
|
{{ (const.types.footway.width / 2 - 1) * -1 }}
|
|
{% endif %}
|
|
|
|
description: |
|
|
{% if tags.cyclestreet == 'yes' %}
|
|
{{ keyTrans('cyclestreet') }}
|
|
{% elseif tags.bicycle_road in ['yes', 'designated'] %}
|
|
{{ keyTrans('bicycle_road') }}
|
|
{% elseif tags.segregated %}
|
|
{{ tagTrans('highway', 'cycleway segregated=' ~ tags.segregated) }}
|
|
{% elseif tags.highway %}
|
|
{{ tagTrans('highway', tags.highway) }}
|
|
{% endif %}
|
|
|
|
markerSymbol: ''
|
|
|
|
const:
|
|
types:
|
|
cycleway:
|
|
color: '#009f00'
|
|
width: 4
|
|
footway:
|
|
color: '#ff9f00'
|
|
width: 4
|
|
cyclestreet:
|
|
color: '#006f3f'
|
|
width: 8
|
|
bicycle_road:
|
|
color: '#006f4f'
|
|
width: 8
|