Nathan Hartley
2 years ago
4 changed files with 281 additions and 0 deletions
@ -0,0 +1,5 @@ |
|||
type: index |
|||
subCategories: |
|||
- id: paddling_amenities |
|||
- id: paddling_hazards |
|||
- id: paddling_routes |
@ -0,0 +1,99 @@ |
|||
type: overpass |
|||
name: |
|||
en: Paddling Amenities |
|||
query: |
|||
'14': |- |
|||
( |
|||
node["canoe"="put_in"]; |
|||
node["leisure"="slipway"]; |
|||
way["canoe"="portage"]; |
|||
nwr[shop~"^(boat)$"]["boat:type"~"^(.*;|)canoe|kayak|standup_paddleboard|dinghy|pedalboat(|;.*)$"]; |
|||
nwr[rental~"^(boat)$"]["boat:type"~"^(.*;|)canoe|kayak|standup_paddleboard|dinghy|pedalboat(|;.*)$"]; |
|||
nwr["canoe_rental"="yes"]; |
|||
nwr["kayak_rental"="yes"]; |
|||
nwr["standup_paddleboard_rental"="yes"]; |
|||
nwr["dinghy_rental"="yes"]; |
|||
nwr["pedalboat_rental"="yes"]; |
|||
) |
|||
feature: |
|||
pre: |- |
|||
{% if tags.canoe %} |
|||
{% set key = 'canoe' %} |
|||
{% set value = tags.canoe %} |
|||
{% elseif tags.leisure %} |
|||
{% set key = 'leisure' %} |
|||
{% set value = tags.leisure %} |
|||
{% elseif tags.shop %} |
|||
{% set key = 'shop' %} |
|||
{% set value = tags.shop %} |
|||
{% elseif tags.rental or tags.canoe_rental or tags.kayak_rental or tags.standup_paddleboard_rental or tags.dingy_rental or tags.pedalboat_rental %} |
|||
{% set key = 'shop' %} |
|||
{% set value = 'rental' %} |
|||
{% endif %} |
|||
|
|||
{% set constIndex = (key ~ "=" ~ value) %} |
|||
{% set item = const[constIndex] %} |
|||
|
|||
title: | |
|||
{{ localizedTag(tags, 'name') }} |
|||
{% if attribute(tags, 'ref') %} |
|||
( {{ localizedTag(tags, 'ref') }} ) |
|||
{% endif %} |
|||
description: | |
|||
{{ tagTrans(key, value) }} |
|||
body: |- |
|||
{% if constIndex in ['canoe=put_in', 'leisure=slipway','canoe=portage'] %} |
|||
<dl> |
|||
<dt>{{ keyTrans('Description') }}</dt> |
|||
<dd>{{ localizedTag(tags, 'description') }}</dd> |
|||
|
|||
<dt>{{ keyTrans('Surface') }}</dt> |
|||
<dd>{{ attribute(tags, 'surface') ? tagTrans('surface', attribute(tags, 'surface')) : '' }}</dd> |
|||
|
|||
<dt>{{ keyTrans('Operator') }}</dt> |
|||
<dd>{{ attribute(tags, 'operator') ? tagTrans('operator', attribute(tags, 'operator')) : '' }}</dd> |
|||
|
|||
<dt>{{ keyTrans('Access') }}</dt> |
|||
<dd>{{ attribute(tags, 'access') ? tagTrans('access', attribute(tags, 'access')) : '' }}</dd> |
|||
|
|||
<dt>{{ keyTrans('Fee') }}</dt> |
|||
<dd>{{ attribute(tags, 'fee') ? tagTrans('fee', attribute(tags, 'fee')) : '' }}</dd> |
|||
|
|||
<dt>{{ keyTrans('Wheelchair') }}</dt> |
|||
<dd>{{ attribute(tags, 'wheelchair') ? tagTrans('wheelchair', attribute(tags, 'wheelchair')) : '' }}</dd> |
|||
|
|||
<dt>{{ trans('Photos') }}</dt> |
|||
<dd> |
|||
<ul> |
|||
{% if attribute(tags, 'mapillary') %} |
|||
<li><a href="https://www.mapillary.com/app/?focus=photo&pKey={{ attribute(tags, 'mapillary') }}" rel="noreferrer" target="_blank">Mapillary</a></li> |
|||
{% endif %} |
|||
</ul> |
|||
</dd> |
|||
</dl> |
|||
{% endif %} |
|||
markerSign: '{{ item[''sign''] }}' |
|||
|
|||
priority: |- |
|||
{% if item is defined %} |
|||
{{ item['priority'] }} |
|||
{% else %} |
|||
10 |
|||
{% endif %} |
|||
|
|||
const: |
|||
canoe=put_in: |
|||
sign: 🛶 |
|||
priority: 0 |
|||
leisure=slipway: |
|||
sign: 🚣🏻 |
|||
priority: 1 |
|||
canoe=portage: |
|||
sign: 🚶🏻 |
|||
priority: 2 |
|||
shop=boat: |
|||
sign: 🛒 |
|||
priority: 3 |
|||
shop=rental: |
|||
sign: 🛒 |
|||
priority: 3 |
@ -0,0 +1,75 @@ |
|||
type: overpass |
|||
name: |
|||
en: Paddling Hazards |
|||
query: |
|||
'13': |- |
|||
( |
|||
nwr[waterway~"^(dam|weir|waterfall|rapids|lock|lock_gate|sluice_gate)$"]; |
|||
) |
|||
feature: |
|||
pre: |- |
|||
{% if tags.waterway %} |
|||
{% set key = 'waterway' %} |
|||
{% set value = tags.waterway %} |
|||
{% endif %} |
|||
|
|||
{% set constIndex = (key ~ "=" ~ value) %} |
|||
{% set item = const[constIndex] %} |
|||
|
|||
title: | |
|||
{{ item['sign'] }} {{ localizedTag(tags, 'name') | default(localizedTag(tags, 'key')) | default(localizedTag(tags, 'ref')) }} |
|||
description: | |
|||
{{ tagTrans(key, value) }} |
|||
body: |- |
|||
<dl> |
|||
<dt>{{ keyTrans('Description') }}</dt> |
|||
<dd>{{ localizedTag(tags, 'description') }}</dd> |
|||
|
|||
{% if attribute(tags, 'operator') %} |
|||
<dt>{{ keyTrans('Operator') }}</dt> |
|||
<dd>{{ attribute(tags, 'operator') ? tagTrans('operator', attribute(tags, 'operator')) : '' }}</dd> |
|||
{% endif %} |
|||
|
|||
<dt>{{ trans('Photos') }}</dt> |
|||
<dd> |
|||
<ul> |
|||
{% if attribute(tags, 'mapillary') %} |
|||
<li><a href="https://www.mapillary.com/app/?focus=photo&pKey={{ attribute(tags, 'mapillary') }}" rel="noreferrer" target="_blank">Mapillary</a></li> |
|||
{% endif %} |
|||
</ul> |
|||
</dd> |
|||
|
|||
</dl> |
|||
|
|||
markerSign: '⚠️' |
|||
|
|||
priority: |- |
|||
{% if const[constIndex] is defined %} |
|||
{{ const[constIndex]['priority'] }} |
|||
{% else %} |
|||
10 |
|||
{% endif %} |
|||
|
|||
const: |
|||
waterway=dam: |
|||
sign: '🦫' |
|||
priority: 0 |
|||
waterway=weir: |
|||
sign: '🦫' |
|||
priority: 0 |
|||
waterway=waterfall: |
|||
sign: '🌊' |
|||
priority: 0 |
|||
waterway=rapids: |
|||
sign: '🌊' |
|||
priority: 0 |
|||
waterway=lock: |
|||
sign: '🚪' |
|||
priority: 1 |
|||
waterway=lock_gate: |
|||
sign: '🚪' |
|||
priority: 1 |
|||
waterway=sluice_gate: |
|||
sign: '🦫' |
|||
priority: 0 |
|||
|
@ -0,0 +1,102 @@ |
|||
type: overpass |
|||
name: |
|||
en: Paddling Routes |
|||
query: |
|||
'4': relation[type=route][route~"^(|.*;)canoe(|;.*)$"][network~'^(|.*;)(ipn)(|;.*)$'] |
|||
'6': relation[type=route][route~"^(|.*;)canoe(|;.*)$"][network~'^(|.*;)(ipn|npn)(|;.*)$'] |
|||
'8': relation[type=route][route~"^(|.*;)canoe(|;.*)$"][network~'^(|.*;)(ipn|npn|rpn)(|;.*)$'] |
|||
'10': relation[type=route][route~"^(|.*;)canoe(|;.*)$"][network~'^(|.*;)(ipn|npn|rpn|lpn)(|;.*)$'] |
|||
'13': (relation[type=route][route~"^(|.*;)canoe(|;.*)$"] |
|||
members: true |
|||
feature: |
|||
pre: |- |
|||
{% set network = tags.network %} |
|||
{% for n in tags.network|split(';') %} |
|||
{% if n|matches('pn$') %}{% set network = n %}{% endif %} |
|||
{% endfor %} |
|||
priority: '{{ const[network].priority|default(4) }}' |
|||
description: '{% if network %}{{ tagTrans(''network'', network) }}{% endif %}' |
|||
listMarkerSymbol: '{{ markerLine({ ''width'': 4, ''color'': const[network|default('''')].color|default(const[''''].color) })|raw }}' |
|||
title: '{% if tags.ref and tags.name %}{{ tags.ref }} - {{ tags.name }}{% elseif tags.ref %}{{ tags.ref }}{% elseif tags.name %}{{ tags.name }}{% endif %}' |
|||
styles: '' |
|||
markerSymbol: '' |
|||
memberFeature: |
|||
pre: |- |
|||
{% set priority = 4 %} |
|||
{% set network = '' %} |
|||
{% set refs = [] %} |
|||
|
|||
{% for master in masters %} |
|||
{% set masterNetwork = '' %} |
|||
{% for n in master.tags.network|split(';') %} |
|||
{% if n|matches('pn$') %}{% set masterNetwork = n %}{% endif %} |
|||
{% endfor %} |
|||
{% set _p = const[masterNetwork].priority|default(4) %} |
|||
{% if _p < priority %} |
|||
{% set priority = _p %} |
|||
{% set network = masterNetwork %} |
|||
{% endif %} |
|||
{% if master.tags.ref %} |
|||
{% set refs = refs|merge([ master.tags.ref ]) %} |
|||
{% endif %} |
|||
{% endfor %} |
|||
body: |- |
|||
<h4>Routes</h4> |
|||
<ul class='overpass-layer-list'> |
|||
{% for master in masters %} |
|||
{% set masterNetwork = '' %} |
|||
{% for n in master.tags.network|split(';') %} |
|||
{% if n|matches('pn$') %}{% set masterNetwork = n %}{% endif %} |
|||
{% endfor %} |
|||
<li data-object="{{ master.id }}"><a> |
|||
<div class='marker'> |
|||
<div class='symbol'>{{ markerLine({ width: 4, color: const[masterNetwork].color|default(const[''].color) })|raw }}</div> |
|||
</div> |
|||
<div class='content'> |
|||
<div class='description'>{{ tagTrans('network', masterNetwork) }}</div> |
|||
<div class='title'>{% if master.tags.ref and master.tags.name %}{{ master.tags.ref }} - {{ master.tags.name|default(master.tags.ref) }}{% elseif master.tags.ref %}{{ master.tags.ref }}{% elseif master.tags.name %}{{ master.tags.name }}{% endif %}</div> |
|||
</div> |
|||
</a></li> |
|||
{% endfor %} |
|||
</ul> |
|||
listExclude: '1' |
|||
style: |
|||
color: '{{ const[network].color }}' |
|||
width: 4 |
|||
opacity: 1 |
|||
text: '{{ refs|join('' · '') }} ' |
|||
textRepeat: '1' |
|||
textOffset: '12' |
|||
textFontWeight: bold |
|||
const: |
|||
ipn: |
|||
color: '#ff0000' |
|||
priority: 0 |
|||
zoom: 10 |
|||
npn: |
|||
color: '#ff00ba' |
|||
priority: 1 |
|||
zoom: 11 |
|||
rpn: |
|||
color: '#ba00ff' |
|||
priority: 2 |
|||
zoom: 12 |
|||
lpn: |
|||
color: '#0000ff' |
|||
priority: 3 |
|||
zoom: 14 |
|||
'': |
|||
color: '#007fff' |
|||
priority: 4 |
|||
zoom: 14 |
|||
info: |- |
|||
<table> |
|||
{% for value, data in const %} |
|||
{% if data.zoom <= map.zoom %} |
|||
<tr> |
|||
<td>{{ markerLine({ 'width': 4, color: data.color })|raw }}</td> |
|||
<td>{% if value %}{{ tagTrans('network', value) }}{% else %}{{ trans('unknown') }}{% endif %}</td> |
|||
</tr> |
|||
{% endif %} |
|||
{% endfor %} |
|||
</table> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue