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.
147 lines
5.8 KiB
147 lines
5.8 KiB
query:
|
|
16: |-
|
|
(
|
|
way[building];
|
|
relation[building];
|
|
)
|
|
feature:
|
|
pre: |-
|
|
{% set type = tags.building|split(';')[0] %}
|
|
{% if tags.military %}{% set type = 'military' %}{% endif %}
|
|
|
|
{% set start_date = tags.start_date %}
|
|
{% if attribute(tags, 'building:start_date') %}{% set start_date = attribute(tags, 'building:start_date') %}{% endif %}
|
|
{# Deprecated tags #}
|
|
{% if not start_date and attribute(tags, 'building:age') %}{% set start_date = attribute(tags, 'building:age') %}{% endif %}
|
|
{% if not start_date and attribute(tags, 'building:year_built') %}{% set start_date = attribute(tags, 'building:year_built') %}{% endif %}
|
|
{% if not start_date and attribute(tags, 'building:buildyear') %}{% set start_date = attribute(tags, 'building:buildyear') %}{% endif %}
|
|
{% if not start_date and attribute(tags, 'year_built') %}{% set start_date = attribute(tags, 'year_built') %}{% endif %}
|
|
{% if not start_date and attribute(tags, 'building:year') %}{% set start_date = attribute(tags, 'building:year') %}{% endif %}
|
|
{% if not start_date and attribute(tags, 'year_of_construction') %}{% set start_date = attribute(tags, 'year_of_construction') %}{% endif %}
|
|
|
|
{% if start_date %}
|
|
{# equalize tagging mistakes - need to add QA messages #}
|
|
{# convert 1910-1911 to 1910..1911 #}{% set m = start_date|matches('^(\d{4})-(\d{4})$') %}{% if m %}{% set start_date = m[1] ~ '..' ~ m[2] %}{% endif %}
|
|
{# convert 191* to 1910s #}{% set m = start_date|matches('^(\d{3})\*$') %}{% if m %}{% set start_date = m[1] ~ '0s' %}{% endif %}
|
|
|
|
|
|
{% set value = start_date|osmParseDate %}
|
|
{% if value and value[0] and value[1] %}
|
|
{% set value = (value[1] - value[0]) / 2 + value[0] %}
|
|
{% elseif value and value[0] %}
|
|
{% set value = value[0] %}
|
|
{% elseif value and value[1] %}
|
|
{% set value = value[1] %}
|
|
{% else %}
|
|
{% set value = 'error' %}
|
|
{% endif %}
|
|
|
|
{% if value == 'error' %}
|
|
{% set color = '#ff0000' %}
|
|
{% elseif value < 1500 %}
|
|
{% set color = '#0000ff' %}
|
|
{% elseif value < 1900 %}
|
|
{% set color = colorInterpolate([ '#0000ff', '#ff00ff' ], (value - 1500.0) / 400) %}
|
|
{% elseif value < 2000 %}
|
|
{% set color = colorInterpolate([ '#ff00ff', '#ffff00' ], (value - 1900.0) / 100) %}
|
|
{% else %}
|
|
{% set color = colorInterpolate([ '#ffff00', '#00ff00' ], (value - 2000.0) / 50) %}
|
|
{% endif %}
|
|
{% 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 start_date %}
|
|
{{ start_date|osmFormatDate({ format: 'short' }) }}
|
|
{% else %}
|
|
{{ trans('unknown') }}
|
|
{% endif %}
|
|
body: |-
|
|
<ul>
|
|
{% if attribute(tags, 'building:start_date') %}<li>
|
|
<span class='key'>{{ keyTrans('building:start_date') }}:</span>
|
|
<span class='value'>{{ attribute(tags, 'building:start_date')|osmFormatDate }}</span>
|
|
</li>{% endif %}
|
|
</ul>
|
|
markerSymbol: null
|
|
listMarkerSymbol: |-
|
|
{{ markerPolygon({ "fillColor": color, "fillOpacity": 0.8, "width": 1, "color": "#000000" })|raw }}
|
|
priority: |-
|
|
{% set p = 100 %}
|
|
{% if start_date %}{% set p = p - 20 %}{% endif %}
|
|
{% if tags.name %}{% set p = p - 10 %}{% endif %}
|
|
{% if tags.amenity %}{% set p = p - 1 %}{% endif %}
|
|
{% if tags.historic %}{% set p = p - 1 %}{% endif %}
|
|
{% if tags.culture %}{% set p = p - 1 %}{% endif %}
|
|
{% if tags.highway %}{% set p = p - 1 %}{% endif %}
|
|
{% if tags.railway %}{% set p = p - 1 %}{% endif %}
|
|
{% if tags.aeroway %}{% set p = p - 1 %}{% endif %}
|
|
{% if tags.amenity %}{% set p = p - 1 %}{% endif %}
|
|
{% if tags.tourism %}{% set p = p - 1 %}{% endif %}
|
|
{{ p }}
|
|
style:
|
|
width: 1
|
|
color: '#000000'
|
|
fillColor: '{{ color }}'
|
|
fillOpacity: 0.8
|
|
info: |-
|
|
<table>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "1400" }))|raw }}</td>
|
|
<td><1500</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "1500" }))|raw }}</td>
|
|
<td>1500</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "1600" }))|raw }}</td>
|
|
<td>1600</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "1700" }))|raw }}</td>
|
|
<td>1700</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "1800" }))|raw }}</td>
|
|
<td>1800</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "1900" }))|raw }}</td>
|
|
<td>1900</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "1950" }))|raw }}</td>
|
|
<td>1950</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "2000" }))|raw }}</td>
|
|
<td>2000</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "2020" }))|raw }}</td>
|
|
<td>2020</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes", "start_date": "xxx" }))|raw }}</td>
|
|
<td>{{ repoTrans('date format not understood') }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td>{{ markerPolygon(evaluate({ "building": "yes" }))|raw }}</td>
|
|
<td>{{ trans('unknown') }}</td>
|
|
</tr>
|
|
</table>
|