Stephan Bösch-Plepelits
2 years ago
3 changed files with 362 additions and 0 deletions
-
245footways.yaml
-
6index.json
-
111kerbs.yaml
@ -0,0 +1,245 @@ |
|||||
|
query: |
||||
|
15: | |
||||
|
( |
||||
|
way[highway~"^(footway|pedestrian|steps|path)$"]; |
||||
|
way[highway=cycleway][foot~"^(yes|designated)$"]; |
||||
|
way[footway]; |
||||
|
way[sidewalk~"^(yes|both|left|right|no|none)$"]; |
||||
|
way["sidewalk:left"~"(yes|no|separate)$"]; |
||||
|
way["sidewalk:right"~"(yes|no|separate)$"]; |
||||
|
way["sidewalk:both"~"(yes|no|separate)$"]; |
||||
|
nwr["railway"="platform"]; |
||||
|
node[highway=crossing]; |
||||
|
) |
||||
|
feature: |
||||
|
pre: | |
||||
|
{% set sides = ['default'] %} |
||||
|
{% set sidewalk_left = null %}{% set sidewalk_right = null %} |
||||
|
{% set category = tags.highway %} |
||||
|
|
||||
|
{% if attribute(tags, 'sidewalk:both') == 'yes' or tags.sidewalk in ['yes', 'both', 'left', 'both', 'right'] or tags.footway == 'sidewalk' %} |
||||
|
{% set category = 'sidewalk' %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if tags.highway in ['pedestrian', 'footway','steps','path','cycleway'] %} |
||||
|
{% set sides = sides|merge(['main']) %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if tags.railway in ['platform'] %} |
||||
|
{% set sides = sides|merge(['main']) %} |
||||
|
{% set category = 'platform' %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% set foot = false %} |
||||
|
{% if tags.highway not in ['pedestrian', 'footway', 'path'] and tags.foot in ['yes', 'designated'] %} |
||||
|
{% set foot = tags.foot %} |
||||
|
{% set sides = sides|merge(['foot']) %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if tags.footway == 'crossing' %} |
||||
|
{% set category = 'crossing' %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if attribute(tags, 'sidewalk:both') %} |
||||
|
{% set sidewalk_left = attribute(tags, 'sidewalk:both') %} |
||||
|
{% set sides = sides|merge(['leftr', 'rightr']) %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if attribute(tags, 'sidewalk:left') %} |
||||
|
{% set sidewalk_left = attribute(tags, 'sidewalk:left') %} |
||||
|
{% set sides = sides|merge(['leftr']) %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if attribute(tags, 'sidewalk:left') == 'yes' or attribute(tags, 'sidewalk:both') == 'yes' or tags.sidewalk in ['left', 'both'] %} |
||||
|
{% set sidewalk_left = 'yes' %} |
||||
|
{% set sides = sides|merge(['leftr', 'left']) %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if attribute(tags, 'sidewalk:right') %} |
||||
|
{% set sidewalk_right = attribute(tags, 'sidewalk:right') %} |
||||
|
{% set sides = sides|merge(['rightr']) %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if attribute(tags, 'sidewalk:right') == 'yes' or attribute(tags, 'sidewalk:both') == 'yes' or tags.sidewalk in ['right', 'both'] %} |
||||
|
{% set sidewalk_right = 'yes' %} |
||||
|
{% set sides = sides|merge(['rightr', 'right']) %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% if type == 'node' %} |
||||
|
{% set sides = ['node'] %} |
||||
|
{% endif %} |
||||
|
description: | |
||||
|
{% if tags.footway %} |
||||
|
{{ tagTrans('footway', tags.footway) }} |
||||
|
{% else %} |
||||
|
{{ tagTrans('highway', tags.highway) }} |
||||
|
{% endif %} |
||||
|
markerSymbol: "" |
||||
|
listMarkerSymbol: | |
||||
|
{% if tags.area == 'yes' %}polygon{% else %}line{% endif %} |
||||
|
style: |
||||
|
opacity: 0 |
||||
|
fillOpacity: 0 |
||||
|
width: 5 |
||||
|
style:node: |
||||
|
width: 0 |
||||
|
radius: 5 |
||||
|
fillOpacity: 1 |
||||
|
fill: true |
||||
|
color: | |
||||
|
{{ const.categories[category].color }} |
||||
|
style:main: |
||||
|
fill: | |
||||
|
{% if tags.area == 'yes' %}true{% else %}false{% endif %} |
||||
|
width: | |
||||
|
{% if tags.area == 'yes' %} |
||||
|
1 |
||||
|
{% elseif foot and tags.segregated == 'yes' %} |
||||
|
2 |
||||
|
{% else %} |
||||
|
{{ const.categories[category].width|default(3) }} |
||||
|
{% endif %} |
||||
|
color: | |
||||
|
{{ const.categories[category].color }} |
||||
|
dashArray: | |
||||
|
{% if tags.highway == 'steps' or (foot and tags.segregated != 'yes') %} |
||||
|
3,3 |
||||
|
{% endif %} |
||||
|
lineCap: | |
||||
|
{% if tags.highway == 'steps' or (foot and tags.segregated != 'yes') %}butt{% else %}round{% endif %} |
||||
|
offset: | |
||||
|
{% if foot and tags.segregated == 'yes' %}1{% else %}0{% endif %} |
||||
|
style:foot: |
||||
|
fill: false |
||||
|
width: | |
||||
|
{% if foot and tags.segregated == 'yes' %} |
||||
|
2 |
||||
|
{% else %} |
||||
|
3 |
||||
|
{% endif %} |
||||
|
color: | |
||||
|
{{ const.categories.footway.color }} |
||||
|
dashArray: | |
||||
|
{% if foot and tags.segregated != 'yes' %} |
||||
|
3,3 |
||||
|
{% endif %} |
||||
|
dashOffset: 3 |
||||
|
lineCap: | |
||||
|
{% if foot and tags.segregated != 'yes' %}butt{% else %}round{% endif %} |
||||
|
offset: | |
||||
|
{% if foot and tags.segregated == 'yes' %}-1{% else %}0{% endif %} |
||||
|
style:left: |
||||
|
width: 3 |
||||
|
offset: | |
||||
|
{{ -5 / map.metersPerPixel }} |
||||
|
color: | |
||||
|
{{ const.categories.sidewalk.color }} |
||||
|
style:right: |
||||
|
width: 3 |
||||
|
offset: | |
||||
|
{{ 5 / map.metersPerPixel }} |
||||
|
color: | |
||||
|
{{ const.categories.sidewalk.color }} |
||||
|
|
||||
|
style:leftr: |
||||
|
width: | |
||||
|
{{ sidewalk_left ? 5 / map.metersPerPixel : 0 }} |
||||
|
offset: | |
||||
|
{{ -2.5 / map.metersPerPixel }} |
||||
|
opacity: 0.3 |
||||
|
dashArray: '1,10' |
||||
|
lineCap: butt |
||||
|
color: | |
||||
|
{{ sidewalk_left in ['no', 'none'] ? '#000000' : const.categories.sidewalk.color }} |
||||
|
|
||||
|
style:rightr: |
||||
|
width: | |
||||
|
{{ sidewalk_right ? 5 / map.metersPerPixel : 0 }} |
||||
|
offset: | |
||||
|
{{ 2.5 / map.metersPerPixel }} |
||||
|
opacity: 0.3 |
||||
|
dashArray: '1,10' |
||||
|
lineCap: butt |
||||
|
color: | |
||||
|
{{ sidewalk_right in ['no', 'none'] ? '#000000' : const.categories.sidewalk.color }} |
||||
|
|
||||
|
styles: | |
||||
|
{{ sides|join(',') }} |
||||
|
info: | |
||||
|
<table> |
||||
|
{% for k, d in const.categories if k != 'cycleway' %} |
||||
|
<tr> |
||||
|
<td>{{ markerLine({ |
||||
|
width: d.width|default(3), |
||||
|
color: d.color, |
||||
|
dashArray: d.dashArray |
||||
|
}) }}</td> |
||||
|
<td>{{ tagTrans(d.key|default('highway'), k) }}</td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
<tr> |
||||
|
<td>{{ markerCircle({ |
||||
|
width: 0, |
||||
|
radius: 5, |
||||
|
fillOpacity: 1, |
||||
|
fill: true, |
||||
|
color: const.categories.crossing.color |
||||
|
}) }}</td> |
||||
|
<td>{{ tagTrans('highway', 'crossing') }}</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>{{ markerLine({ |
||||
|
styles: 'default,foot', |
||||
|
style: { |
||||
|
width: 4, |
||||
|
color: const.categories.cycleway.color, |
||||
|
dashArray: '3,3' |
||||
|
}, |
||||
|
'style:foot': { |
||||
|
width: 4, |
||||
|
color: const.categories.footway.color, |
||||
|
dashArray: '3,3', |
||||
|
dashOffset: 3 |
||||
|
} |
||||
|
}) }}</td> |
||||
|
<td>highway=cycleway segregated=no</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>{{ markerLine({ |
||||
|
styles: 'default,foot', |
||||
|
style: { |
||||
|
width: 2, |
||||
|
color: const.categories.cycleway.color, |
||||
|
offset: -1 |
||||
|
}, |
||||
|
'style:foot': { |
||||
|
width: 2, |
||||
|
color: const.categories.footway.color, |
||||
|
offset: 1 |
||||
|
} |
||||
|
}) }}</td> |
||||
|
<td>highway=cycleway segregated=yes</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
const: |
||||
|
categories: |
||||
|
sidewalk: |
||||
|
color: '#ff007f' |
||||
|
key: footway |
||||
|
pedestrian: |
||||
|
color: '#ff00c8' |
||||
|
width: 5 |
||||
|
footway: |
||||
|
color: '#ab00ff' |
||||
|
path: |
||||
|
color: '#ee922d' |
||||
|
steps: |
||||
|
color: '#ab00ff' |
||||
|
dashArray: '3,3' |
||||
|
crossing: |
||||
|
color: '#964e00' |
||||
|
cycleway: |
||||
|
color: '#002aff' |
||||
|
platform: |
||||
|
key: railway |
||||
|
color: '#00ff00' |
@ -0,0 +1,111 @@ |
|||||
|
query: |
||||
|
14: (way[kerb];way[barrier=kerb];node[kerb];node[barrier=kerb];) |
||||
|
name: |
||||
|
en: Kerbs |
||||
|
feature: |
||||
|
pre: | |
||||
|
{% set kerb = 'unknown' %} |
||||
|
{% if const.kerb[tags.kerb] %} |
||||
|
{% set kerb = tags.kerb %} |
||||
|
{% endif %} |
||||
|
|
||||
|
{% set wheelchair = 'unknown' %} |
||||
|
{% if const.wheelchair[tags.wheelchair] %} |
||||
|
{% set wheelchair = tags.wheelchair %} |
||||
|
{% endif %} |
||||
|
|
||||
|
description: | |
||||
|
{{ tagTrans('barrier', 'kerb') }} |
||||
|
body: | |
||||
|
<ul> |
||||
|
{% if tags.kerb %} |
||||
|
<li>{{ keyTrans('kerb') }}: {{ tagTrans('kerb', tags.kerb) }}</li> |
||||
|
{% endif %} |
||||
|
{% if tags.wheelchair %} |
||||
|
<li>{{ keyTrans('wheelchair') }}: {{ tagTrans('wheelchair', tags.wheelchair) }}</li> |
||||
|
{% endif %} |
||||
|
{% if tags.tactile_paving %} |
||||
|
<li>{{ keyTrans('tactile_paving') }}: {{ tagTrans('tactile_paving', tags.tactile_paving) }}</li> |
||||
|
{% endif %} |
||||
|
{% if tags.height %} |
||||
|
<li>{{ keyTrans('height') }}: {{ tags.height }}</li> |
||||
|
{% endif %} |
||||
|
</ul> |
||||
|
markerSymbol: |
||||
|
listMarkerSymbol: | |
||||
|
{% if type == 'way' %} |
||||
|
line |
||||
|
{% else %} |
||||
|
{{ markerCircle({ radius: 5, width: 2, fillOpacity: 1, fillColor: const.kerb[kerb], color: const.wheelchair[wheelchair] }) }} |
||||
|
{% endif %} |
||||
|
details: | |
||||
|
{{ tags.kerb }} |
||||
|
{% if tags.height %}({{ tags.height }}){% endif %} |
||||
|
styles: | |
||||
|
{% if type == 'way' %} |
||||
|
default,marker |
||||
|
{% else %} |
||||
|
node |
||||
|
{% endif %} |
||||
|
style: |
||||
|
color: | |
||||
|
{{ const.kerb[kerb] }} |
||||
|
fill: | |
||||
|
{{ type == 'way' ? false : true }} |
||||
|
radius: 4 |
||||
|
fillOpacity: 1 |
||||
|
width: 2 |
||||
|
style:marker: |
||||
|
color: | |
||||
|
{{ const.kerb[kerb] }} |
||||
|
offset: 2 |
||||
|
width: 2 |
||||
|
fill: false |
||||
|
dashArray: 2,9 |
||||
|
style:node: |
||||
|
fillColor: | |
||||
|
{{ const.kerb[kerb] }} |
||||
|
fill: true |
||||
|
radius: 6 |
||||
|
fillOpacity: 1 |
||||
|
width: 2 |
||||
|
color: | |
||||
|
{{ const.wheelchair[wheelchair] }} |
||||
|
info: | |
||||
|
{{ tagTrans('barrier', 'kerb') }}: |
||||
|
<table> |
||||
|
{% for v, color in const.kerb %} |
||||
|
<tr> |
||||
|
<td> |
||||
|
{{ markerLine({ styles: 'default,marker', style: { width: 2, color: color }, 'style:marker': { width: 2, offset: 2, color: color, dashArray: '2,9'} } ) }} |
||||
|
{{ markerCircle({ radius: 4, width: 2, fillOpacity: 1, color: color }) }} |
||||
|
</td> |
||||
|
<td>{{ v == 'unknown' ? trans('unknown') : tagTrans('kerb', v) }}</td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
</table> |
||||
|
{{ keyTrans('wheelchair') }}: |
||||
|
<table> |
||||
|
{% for v, color in const.wheelchair %} |
||||
|
<tr> |
||||
|
<td> |
||||
|
{{ markerCircle({ radius: 6, width: 2, fillOpacity: 1, fillColor: '#000000', color: color }) }} |
||||
|
</td> |
||||
|
<td>{{ v == 'unknown' ? trans('unknown') : tagTrans('kerb', v) }}</td> |
||||
|
</tr> |
||||
|
{% endfor %} |
||||
|
</table> |
||||
|
const: |
||||
|
kerb: |
||||
|
flush: '#00af00' |
||||
|
lowered: '#007f7f' |
||||
|
no: '#000000' |
||||
|
raised: '#af0000' |
||||
|
rolled: '#af7f00' |
||||
|
unknown: '#7f7f7f' |
||||
|
wheelchair: |
||||
|
designated: '#00ff7f' |
||||
|
yes: '#00ff00' |
||||
|
no: '#ff0000' |
||||
|
limited: '#ffff00' |
||||
|
unknown: '#ffffff' |
Write
Preview
Loading…
Cancel
Save
Reference in new issue