You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
3.9 KiB
129 lines
3.9 KiB
query:
|
|
16: |-
|
|
(
|
|
way[building];
|
|
relation[building];
|
|
)
|
|
feature:
|
|
pre: |-
|
|
{% if tags.height is defined %}
|
|
{% set approxHeight = tags.height %}
|
|
{% set m = tags.height|matches('(.*)\s*(m|ft)$') %}
|
|
{% if m and m[2] == 'm' %}{% set approxHeight = m[1] %}{% endif %}
|
|
{% if m and m[2] == 'ft' %}{% set approxHeight = m[1] / 3.2808 %}{% endif %}
|
|
{% elseif attribute(tags, 'building:levels') is defined %}
|
|
{% set approxHeight = attribute(tags, 'building:levels') * 3.5 %}
|
|
{% endif %}
|
|
|
|
{% if approxHeight <= 50 %}
|
|
{% set color = colorInterpolate(['green', 'red'], approxHeight / 50) %}
|
|
{% elseif approxHeight %}
|
|
{% set color = colorInterpolate(['red', 'yellow'], (approxHeight - 50) / 250) %}
|
|
{% else %}
|
|
{% set color = '#7f7f7f' %}
|
|
{% endif %}
|
|
description: |-
|
|
{% if tags.building == 'yes' and tags.military %}
|
|
{{ tagTrans('building', 'military') }}
|
|
{% elseif tags.building == 'yes' %}
|
|
{{ keyTrans('building') }}
|
|
{% else %}
|
|
{{ tagTransList('building', tags.building) }}
|
|
{% endif %}
|
|
{% if tags.building == 'construction' and tags.construction %}
|
|
({{ tagTransList('building', tags.construction) }})
|
|
{% endif %}
|
|
{% if tags.building in [ 'yes', 'military' ] and tags.military %}
|
|
({{ tagTransList('military', tags.military) }})
|
|
{% endif %}
|
|
details: |-
|
|
{% if tags.height is defined %}
|
|
{% if tags.height|matches('(m|ft)$') %}{{ tags.height -}}
|
|
{% else %}{{ tags.height }} m
|
|
{%- endif -%}
|
|
{% endif -%}
|
|
|
|
{%- if attribute(tags, 'building:levels') is defined -%}
|
|
{%- if tags.height is defined %}, {% endif %}
|
|
{{ attribute(tags, 'building:levels') }} {{ keyTrans('building:levels') }}
|
|
{% endif %}
|
|
markerSymbol: null
|
|
listMarkerSymbol: |-
|
|
{{ markerPolygon({"fillColor": color, "fillOpacity": 0.8, "width": 1, "color": "#000000" })|raw }}
|
|
markerSign: |-
|
|
{% if map.zoom >= 18 %}
|
|
<span style="color: white; font-size: 80%; line-height: 80%;">
|
|
{%- if attribute(tags, 'building:levels') is defined -%}
|
|
{{ attribute(tags, 'building:levels') }}
|
|
<br>
|
|
{% endif %}
|
|
|
|
{% if tags.height is defined %}
|
|
{% if tags.height|matches('(m|ft)$') %}({{ tags.height -}})
|
|
{% else %}({{ tags.height }}m)
|
|
{%- endif -%}
|
|
{% endif -%}
|
|
</span>
|
|
{% else %} {% endif %}
|
|
listMarkerSign: ' '
|
|
priority: |-
|
|
{{ (approxHeight|default(0)) * -1 }}
|
|
style:
|
|
width: 1
|
|
color: '#000000'
|
|
fillColor: |-
|
|
{{ color }}
|
|
fillOpacity: 1
|
|
info: |-
|
|
<div style='display: inline-block'>
|
|
{{ tagTrans('height') }}
|
|
<table>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes" }))|raw }}</td>
|
|
<td colspan>{{ trans('unknown') }}</td>
|
|
</tr>
|
|
{% for i in range(0, 50, 10) %}
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "height": i }))|raw }}</td>
|
|
<td>{{ i }}m</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% for i in range(100, 250, 50) %}
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "height": i }))|raw }}</td>
|
|
<td>{{ i }}m</td>
|
|
</tr>
|
|
{% endfor %}
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "height": "300" }))|raw }}</td>
|
|
<td>≥300m</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div style='display: inline-block'>
|
|
{{ tagTrans('building:levels') }}
|
|
<table>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes" }))|raw }}</td>
|
|
<td colspan>{{ trans('unknown') }}</td>
|
|
</tr>
|
|
{% for i in range(0, 12, 3) %}
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "building:levels": i }))|raw }}</td>
|
|
<td>{{ i }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
{% for i in range(15, 84, 15) %}
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "building:levels": i }))|raw }}</td>
|
|
<td>{{ i }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "building:levels": "85" }))|raw }}</td>
|
|
<td>≥85</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</div>
|