diff --git a/ice_skating.yaml b/ice_skating.yaml
new file mode 100644
index 0000000..1b3c433
--- /dev/null
+++ b/ice_skating.yaml
@@ -0,0 +1,268 @@
+name:
+ ca: Patinatge sobre gel
+ cs: Bruslení
+ de: Eislaufen
+ en: Ice Skating
+ es: Patinaje sobre hielo
+ fr: Patinage sur glace
+ gl: Patinaxe sobre xeo
+ hu: Korcsolyázás
+ it: Pattinaggio sul ghiaccio
+ ja: アイススケート
+ nb: Skøyter
+ nl: Schaatsen
+ oc: Patinatge sus glaç
+ pl: Łyżwiarstwo
+ pt: Patinagem no gelo
+ pt-br: Patinação no gelo
+ ro: Patinaj pe gheață
+ ru: Катание на коньках
+ sr: Клизање
+ tr: Buz pateni
+type: overpass
+query:
+ # Ice rinks are intentionally excluded here as they are covered already by leisure.json and/or sport.json
+ # TODO: add ice skating relations when there is more than one in the world
+ '9': |-
+ (
+ way["piste:type"="ice_skate"];
+ way[waterway][ice_skates];
+
+ node[leisure=slipway][ice_skates];
+ node[waterway=access_point][ice_skates];
+
+ way[highway][ice_skates=kluning];
+ way[highway][kluning];
+ )
+feature:
+ pre: |-
+ {% if attribute(tags, 'piste:type') == 'ice_skate' %}
+ {% set key = 'piste:type' %}
+ {% set value = 'ice_skate' %}
+ {% elseif type == 'way' and tags.waterway and tags.waterway != 'access_point' and tags.ice_skates %}
+ {% set key = 'piste:type' %}
+ {% set value = 'ice_skate' %}
+ {% elseif type == 'way' and tags.highway and tags.ice_skates == 'kluning' %}
+ {% set key = 'ice_skates' %}
+ {% set value = 'kluning' %}
+ {% elseif type == 'way' and tags.highway and tags.kluning %}
+ {% set key = 'ice_skates' %}
+ {% set value = 'kluning' %}
+ {% elseif tags.waterway == 'access_point' and tags.ice_skates %}
+ {% set key = 'waterway' %}
+ {% set value = 'access_point' %}
+ {% elseif tags.leisure == 'slipway' and tags.ice_skates %}
+ {% set key = 'leisure' %}
+ {% set value = 'slipway' %}
+ {% endif %}
+
+ {% set constIndex = (key ~ "=" ~ value) %}
+ {% set item = const[constIndex] %}
+
+ {% if tags.informal and tags.informal in ['yes','unknown'] %}
+ {% set informal_value = tags.informal %}
+ {% endif %}
+
+ {% if tags.ice_skates and tags.ice_skates in ['no','private','discouraged','unknown'] %}
+ {% set restricted_access_value = tags.ice_skates %}
+ {% elseif tags.access and tags.access in ['no','private','discouraged','unknown'] %}
+ {% set restricted_access_value = tags.access %}
+ {% elseif type == 'way' and tags.waterway and tags.waterway != 'access_point' and tags.ice_skates and tags.ice_skates == 'kluning' %}
+ {% set restricted_access_value = tags.ice_skates %}
+ {% endif %}
+ title: |
+ {% if attribute(tags, "piste:name") %}
+ {{ localizedTag(tags, 'piste:name') }}
+ {% else %}
+ {{ localizedTag(tags, 'name') }}
+ {% endif %}
+ {% if attribute(tags, 'ref') %}
+ ( {{ localizedTag(tags, 'ref') }} )
+ {% endif %}
+ listDetails: |-
+ {%if attribute(tags, 'waterbody:name')%}
+ {{ localizedTag(tags, 'waterbody:name') }}
+ {% endif %}
+ description: |-
+ {% if item.detailSign %}
+ {{ item.detailSign | raw }}
+ {% endif %}
+ {{ tagTrans(key, value) }}
+ body: |-
+
+ {% if attribute(tags, 'waterbody:name') %}
+ -
+
+ {{ tagTrans('natural', 'water') }}:
+ {{ localizedTag(tags, 'waterbody:name') }}
+
+ {% endif %}
+
+ {% if attribute(tags, 'surface') %}
+ -
+
+ {{ keyTrans('surface') }}:
+ {{ attribute(tags, 'surface') ? tagTrans('surface', attribute(tags, 'surface')) : '' }}
+
+ {% endif %}
+
+ {% if attribute(tags, 'operator') %}
+ -
+
+ {{ keyTrans('operator') }}:
+ {{ tagTrans('operator', attribute(tags, 'operator')) }}
+
+ {% endif %}
+
+ {% if attribute(tags, 'informal') %}
+ -
+
+ {{ keyTrans('informal') }}:
+ {{ tagTrans('informal', attribute(tags, 'informal'))}}
+
+ {% endif %}
+
+ {% if attribute(tags, 'ice_skates') and tags.ice_skates != 'kluning'%}
+ -
+
+ {{ keyTrans('ice_skates') }}:
+ {{ tagTrans('access', attribute(tags, 'ice_skates')) }}
+
+ {% elseif type == 'way' and tags.waterway and tags.waterway != 'access_point' and tags.ice_skates and tags.ice_skates == 'kluning' %}
+ -
+
+ {{ keyTrans('ice_skates') }}:
+ {{ tagTrans('access', 'no') }}
+
+ {% endif %}
+
+ {% if attribute(tags, 'kluning') and tags.kluning %}
+ -
+
+ {{ keyTrans('kluning') }}:
+ {{ tagTrans('access', attribute(tags, 'kluning')) }}
+
+ {% elseif tags.highway and tags.ice_skates=='kluning' %}
+ -
+
+ {{ keyTrans('kluning') }}:
+ {{ tagTrans('access', 'yes') }}
+
+ {% endif %}
+
+ {% if attribute(tags, 'access') %}
+ -
+
+ {{ keyTrans('access') }}:
+ {{ tagTrans('access', attribute(tags, 'access'))}}
+
+ {% endif %}
+
+ {% if attribute(tags, 'fee') %}
+ -
+
+ {{ keyTrans('fee') }}:
+ {{ tagTrans('fee', attribute(tags, 'fee')) }}
+
+ {% endif %}
+
+ {% if attribute(tags,'ice_skates:description') %}
+ -
+
+ {{ localizedTag(tags, 'ice_skates:description') }}
+
+ {% endif %}
+ {% if attribute(tags,'wheelchair:description') %}
+ -
+
+ {{ localizedTag(tags, 'wheelchair:description') }}
+
+ {% endif %}
+
+ markerSign: '{{ item[''sign''] | raw }}'
+ markerSymbol: |-
+ {% if item.symbol=='pointer' %}
+ {% if restricted_access_value %}
+ {{ markerPointer({ fillColor: item.style.color_restricted }) }}
+ {% else %}
+ {{ markerPointer({ fillColor: item.style.color }) }}
+ {% endif %}
+ {% endif %}
+ listMarkerSymbol: |-
+ {% if item.symbol == 'pointer' %}
+ {% if restricted_access_value %}
+ {{ markerCircle({ fillColor: item.style.color_restricted }) }}
+ {% else %}
+ {{ markerCircle({ fillColor: item.style.color }) }}
+ {% endif %}
+ {% elseif item.symbol == 'polygon' %}
+ polygon
+ {% elseif item.symbol == 'line' %}
+ line
+ {% endif %}
+ style:
+ width: '{{ item.style.width }}'
+ color: |-
+ {% if restricted_access_value %}
+ {{ item.style.color_restricted }}
+ {% elseif informal_value %}
+ {{ item.style.color_informal }}
+ {% else %}
+ {{ item.style.color }}
+ {% endif %}
+ text: |-
+ {% if item.text %}
+ {% if attribute(tags, "piste:name") %}
+ {{ localizedTag(tags, 'piste:name') }}
+ {% elseif attribute(tags, "name") %}
+ {{ localizedTag(tags, 'name') }}
+ {% endif %}
+ {% endif %}
+ textRepeat: '1'
+ lineCap: round
+ dashArray: |-
+ {% if restricted_access_value %}5,5{% endif %}
+ priority: |-
+ {% if item is defined %}
+ {{ item['priority'] }}
+ {% else %}
+ 10
+ {% endif %}
+const:
+ piste:type=ice_skate:
+ symbol: line
+ style:
+ width: 4
+ color: '#AA99DD'
+ color_informal: '#948CAE'
+ color_restricted: '#7F7F7F'
+ text: true
+ priority: 1
+ ice_skates=kluning: #To align better with either typical access restrictions or pistes, this tag should be more like a piste:type=kluning or a highway with access ice_skates=kluning. However ice_skates=kluning is the *documented* tagging for now.
+ symbol: line
+ style:
+ width: 4
+ color: '#998888'
+ color_informal: '#DD9999'
+ color_restricted: '#7F7F7F'
+ text: true
+ priority: 1
+ waterway=access_point:
+ symbol: pointer
+ sign:
+ detailSign:
+ style:
+ color: '#AA99DD'
+ color_informal: '#948CAE'
+ color_restricted: '#7F7F7F'
+ priority: 0
+ leisure=slipway:
+ symbol: pointer
+ sign:
+ detailSign:
+ style:
+ color: '#AA99DD'
+ color_informal: '#948CAE'
+ color_restricted: '#7F7F7F'
+ priority: 0
+
\ No newline at end of file
diff --git a/outdoor.json b/outdoor.json
index f6d4f67..6d302db 100644
--- a/outdoor.json
+++ b/outdoor.json
@@ -30,6 +30,9 @@
},
{
"id": "paddling"
+ },
+ {
+ "id": "ice_skating"
}
]
}