6 Commits
a274a7407d
...
69c9b5580b
Author | SHA1 | Message | Date |
---|---|---|---|
Stephan Bösch-Plepelits | 69c9b5580b |
Paddling: move names to language file; include in outdoor category
|
2 years ago |
Stephan Bösch-Plepelits |
58724edaab
|
Merge pull request #61 from treestryder/master
Paddling categories |
2 years ago |
Nathan Hartley | 7265e86fcb |
Adjusted zoom levels.
|
2 years ago |
Nathan Hartley | 5dff12960b |
Switched to icons found in Font Awesome Free.
|
2 years ago |
Nathan Hartley | 79695347df |
Improved marker contrast and removed markers for portage way segments in the water..
|
2 years ago |
Nathan Hartley | 2acd6c910a |
Added paddling categories.
|
2 years ago |
6 changed files with 289 additions and 0 deletions
-
4lang/en.json
-
3outdoor.json
-
5paddling.yaml
-
104paddling_amenities.yaml
-
73paddling_hazards.yaml
-
100paddling_routes.yaml
@ -0,0 +1,5 @@ |
|||||
|
type: index |
||||
|
subCategories: |
||||
|
- id: paddling_amenities |
||||
|
- id: paddling_hazards |
||||
|
- id: paddling_routes |
@ -0,0 +1,104 @@ |
|||||
|
type: overpass |
||||
|
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 == 'portage' and ( not attribute(tags, 'surface') or attribute(tags, 'surface') == 'water' ) %} |
||||
|
{% set key = 'waterway' %} |
||||
|
{% set value = 'portage' %} |
||||
|
{% elseif 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 = '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''] | raw }}' |
||||
|
markerSymbol: | |
||||
|
{% if item['sign'] %}{{ markerPointer({ fillColor: '#FFFFFF' }) }}{% endif %} |
||||
|
listMarkerSymbol: | |
||||
|
{% if item['sign'] %}{{ markerCircle({ fillColor: '#FFFFFF' }) }}{% endif %} |
||||
|
priority: |- |
||||
|
{% if item is defined %} |
||||
|
{{ item['priority'] }} |
||||
|
{% else %} |
||||
|
10 |
||||
|
{% endif %} |
||||
|
const: |
||||
|
canoe=portage: |
||||
|
sign: <i class="fas fa-walking"></i> |
||||
|
priority: 2 |
||||
|
canoe=put_in: |
||||
|
sign: <i class="fas fa-expand-alt"></i> |
||||
|
priority: 0 |
||||
|
leisure=slipway: |
||||
|
sign: <i class="fas fa-ship"></i> |
||||
|
priority: 1 |
||||
|
shop=shop: |
||||
|
sign: <i class="fas fa-store-alt"></i> |
||||
|
priority: 3 |
||||
|
shop=rental: |
||||
|
sign: <i class="fas fa-store"></i> |
||||
|
priority: 3 |
||||
|
waterway=portage: |
||||
|
sign: |
||||
|
priority: 2 |
@ -0,0 +1,73 @@ |
|||||
|
type: overpass |
||||
|
query: |
||||
|
'12': |- |
||||
|
( |
||||
|
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'] | raw }} {{ 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: <i class="fas fa-exclamation-triangle"></i> |
||||
|
markerSymbol: | |
||||
|
{{ markerPointer({ fillColor: '#ff6700' }) }} |
||||
|
listMarkerSymbol: | |
||||
|
{{ markerCircle({ fillColor: '#ff6700' }) }} |
||||
|
priority: |- |
||||
|
{% if const[constIndex] is defined %} |
||||
|
{{ const[constIndex]['priority'] }} |
||||
|
{% else %} |
||||
|
10 |
||||
|
{% endif %} |
||||
|
const: |
||||
|
waterway=dam: |
||||
|
sign: <i class="fas fa-sort-amount-down-alt"></i> |
||||
|
priority: 0 |
||||
|
waterway=weir: |
||||
|
sign: <i class="fas fa-sort-amount-up-alt"></i> |
||||
|
priority: 0 |
||||
|
waterway=waterfall: |
||||
|
sign: <i class="far fa-chart-bar"></i> |
||||
|
priority: 0 |
||||
|
waterway=rapids: |
||||
|
sign: <i class="fas fa-water"></i> |
||||
|
priority: 0 |
||||
|
waterway=lock: |
||||
|
sign: <i class="fas fa-lock"></i> |
||||
|
priority: 1 |
||||
|
waterway=lock_gate: |
||||
|
sign: <i class="fas fa-torii-gate"></i> |
||||
|
priority: 1 |
||||
|
waterway=sluice_gate: |
||||
|
sign: <i class="fas fa-grip-lines"></i> |
||||
|
priority: 0 |
||||
|
|
@ -0,0 +1,100 @@ |
|||||
|
type: overpass |
||||
|
query: |
||||
|
'2': relation[type=route][route~"^(|.*;)canoe(|;.*)$"][network~'^(|.*;)(ipn)(|;.*)$'] |
||||
|
'4': relation[type=route][route~"^(|.*;)canoe(|;.*)$"][network~'^(|.*;)(ipn|npn)(|;.*)$'] |
||||
|
'6': relation[type=route][route~"^(|.*;)canoe(|;.*)$"][network~'^(|.*;)(ipn|npn|rpn)(|;.*)$'] |
||||
|
'8': relation[type=route][route~"^(|.*;)canoe(|;.*)$"][network~'^(|.*;)(ipn|npn|rpn|lpn)(|;.*)$'] |
||||
|
'10': (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