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:
+
Parking Type:
{% for k, def in const.type %}
- {{ markerLine(evaluate({ 'parking:both': k, 'parking:both:orientation': 'parallel' })) }} |
+ {{ markerLine(evaluate({ 'parking:both': k, 'parking:both:orientation': (k in ['no', 'unknown'] ? '' : 'parallel') })) }} |
{{ k }} |
{% endfor %}
@@ -174,7 +197,7 @@ info: |
{% for k, def in const.orientation %}
- {{ markerLine(evaluate({ 'parking:both': 'lane', 'parking:both:orientation': k })) }} |
+ {{ markerLine(evaluate({ 'parking:both': k, 'parking:both:orientation': (k in ['no', 'unknown'] ? '' : 'parallel') })) }} |
{{ k }} |
{% endfor %}