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: |- + + 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" } ] }