diff --git a/parking_lanes.yaml b/parking_lanes.yaml index 8efdc48..a60de85 100644 --- a/parking_lanes.yaml +++ b/parking_lanes.yaml @@ -1,12 +1,22 @@ query: 10: | - (way["parking:left"];way["parking:right"];way["parking:both"];) + ( + way["parking:left"];way["parking:right"];way["parking:both"]; + way["parking:lane:left"];way["parking:lane:right"];way["parking:lane:both"]; + ) feature: pre: | - {% set leftType = attribute(tags, 'parking:left')|default(attribute(tags, 'parking:both'))|default('unknown') %} - {% set rightType = attribute(tags, 'parking:right')|default(attribute(tags, 'parking:both'))|default('unknown') %} - {% set leftOrientation = attribute(tags, 'parking:left:orientation')|default(attribute(tags, 'parking:both:orientation'))|default('unknown') %} - {% set rightOrientation = attribute(tags, 'parking:right:orientation')|default(attribute(tags, 'parking:both:orientation'))|default('unknown') %} + {% set deprecated = attribute(tags, 'parking:lane:left') or attribute(tags, 'parking:lane:right') or attribute(tags, 'parking:lane:both') %} + {% set leftOrientation = attribute(tags, 'parking:left:orientation')|default(attribute(tags, 'parking:lane:left'))|default(attribute(tags, 'parking:both:orientation'))|default(attribute(tags, 'parking:lane:both'))|default('unknown') %} + {% set rightOrientation = attribute(tags, 'parking:right:orientation')|default(attribute(tags, 'parking:lane:right'))|default(attribute(tags, 'parking:both:orientation'))|default(attribute(tags, 'parking:lane:both'))|default('unknown') %} + {% set leftType = attribute(tags, 'parking:left')|default(attribute(tags, 'parking:lane:left:' ~ leftOrientation))|default(attribute(tags, 'parking:both'))|default(attribute(tags, 'parking:lane:both:' ~ leftOrientation))|default('unknown') %} + {% set rightType = attribute(tags, 'parking:right')|default(attribute(tags, 'parking:lane:right:' ~ rightOrientation))|default(attribute(tags, 'parking:both'))|default(attribute(tags, 'parking:lane:both:' ~ rightOrientation))|default('unknown') %} + {% if (attribute(tags, 'parking:lane:left:' ~ leftOrientation) or attribute(tags, 'parking:lane:both:' ~ leftOrientation)) and leftType == 'on_street' %} + {% set leftType = 'lane' %} + {% endif %} + {% if (attribute(tags, 'parking:lane:right:' ~ rightOrientation) or attribute(tags, 'parking:lane:both:' ~ rightOrientation)) and rightType == 'on_street' %} + {% set rightType = 'lane' %} + {% endif %} {% set leftCondition = 'undefined' %} {% if attribute(tags, 'parking:left:fee')|default(attribute(tags, 'parking:both:fee')) == 'no' %} @@ -77,6 +87,7 @@ feature:
  • Orientation: {{ rightOrientation }}
  • {% endif %} + {% if deprecated %}
    {{ repoTrans('deprecated', 'parking:lane:left/right/both', 'https://wiki.openstreetmap.org/wiki/Key:parking:lane')|raw }}
    {% endif %} markerSymbol: '' listMarkerSymbol: line details: | @@ -86,20 +97,21 @@ feature: default {% if leftType == 'separate' %} ,leftSeparate - {% elseif leftType in ['no', 'unknown'] %} + {% elseif leftType in ['no', 'unknown'] and leftOrientation == 'unknown' %} ,leftType {% else %} ,leftType,leftOrientation {% endif %} {% if rightType == 'separate' %} ,rightSeparate - {% elseif rightType in ['no', 'unknown'] %} + {% elseif rightType in ['no', 'unknown'] and rightOrientation == 'unknown' %} ,rightType {% else %} ,rightType,rightOrientation {% endif %} style: - color: '#7f7f7f' + color: | + {{ deprecated ? '#ff0000' : '#7f7f7f' }} style:leftType: color: | {{ const.restriction[leftRestriction].color }} @@ -161,11 +173,22 @@ feature: pattern-path-color: | {{ const.restriction[rightRestriction].color }} info: | + Tagging scheme: + + + + + + + + + +
    {{ markerLine({ color: '#7f7f7f', width: 2 }) }}Street parking
    {{ markerLine({ color: '#ff0000', width: 2 }) }}Deprecated tagging
    Parking Type: {% for k, def in const.type %} - + {% endfor %} @@ -174,7 +197,7 @@ info: |
    {{ markerLine(evaluate({ 'parking:both': k, 'parking:both:orientation': 'parallel' })) }}{{ markerLine(evaluate({ 'parking:both': k, 'parking:both:orientation': (k in ['no', 'unknown'] ? '' : 'parallel') })) }} {{ k }}
    {% for k, def in const.orientation %} - + {% endfor %}
    {{ markerLine(evaluate({ 'parking:both': 'lane', 'parking:both:orientation': k })) }}{{ markerLine(evaluate({ 'parking:both': k, 'parking:both:orientation': (k in ['no', 'unknown'] ? '' : 'parallel') })) }} {{ k }}