From 9a818b3a490780de0ff80bc914455d2c850be2e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Tue, 5 Jun 2018 21:28:15 +0200 Subject: [PATCH 01/14] Buildings: create a real 'figure-ground diagram' as sub category of buildings --- buildings-figure-ground.json | 37 ++++++++++++++++++++++++++++++++++++ buildings.json | 34 +++++---------------------------- 2 files changed, 42 insertions(+), 29 deletions(-) create mode 100644 buildings-figure-ground.json diff --git a/buildings-figure-ground.json b/buildings-figure-ground.json new file mode 100644 index 0000000..63d23c7 --- /dev/null +++ b/buildings-figure-ground.json @@ -0,0 +1,37 @@ +{ + "type": "overpass", + "name": { + "de": "Schwarzplan", + "en": "Figure-ground diagram" + }, + "query": { + "16": [ + "(", + " way[building];", + " relation[building];", + ")" + ] + }, + "feature": { + "markerSymbol": null, + "priority": [ + "{% set p = 100 %}", + "{% 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": "0", + "color": "#000000", + "fillColor": "#000000", + "fillOpacity": "1" + } + } +} diff --git a/buildings.json b/buildings.json index 17b49fa..94bb4a9 100644 --- a/buildings.json +++ b/buildings.json @@ -1,38 +1,14 @@ { - "type": "overpass", + "type": "index", "name": { "de": "Gebäude", "en": "Buildings", "fr": "Bâtiments", "pt-br": "Edificações" }, - "query": { - "16": [ - "(", - " way[building];", - " relation[building];", - ")" - ] - }, - "feature": { - "markerSymbol": null, - "priority": [ - "{% set p = 100 %}", - "{% 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": "#000000" + "subCategories": [ + { + "id": "buildings-figure-ground" } - } + ] } From aea862cb407c0f0deb430de3d36dc7cb2c3074d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Tue, 5 Jun 2018 22:19:18 +0200 Subject: [PATCH 02/14] Buildings: height --- buildings-height.json | 104 ++++++++++++++++++++++++++++++++++++++++++ buildings.json | 3 ++ 2 files changed, 107 insertions(+) create mode 100644 buildings-height.json diff --git a/buildings-height.json b/buildings-height.json new file mode 100644 index 0000000..84c21af --- /dev/null +++ b/buildings-height.json @@ -0,0 +1,104 @@ +{ + "type": "overpass", + "name": { + "de": "Gebäudehöhen", + "en": "Building height" + }, + "query": { + "16": [ + "(", + " way[building];", + " relation[building];", + ")" + ] + }, + "feature": { + "pre": [ + "{% if tags.height %}", + "{% set approxHeight = tags.height %}", + "{% elseif attribute(tags, 'building:levels') %}", + "{% 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.height %}", + "{{ tags.height }}m", + "{% endif %}", + "", + "{% if attribute(tags, 'building:levels') %}", + "{{ attribute(tags, 'building:levels') }} {{ keyTrans('building:levels') }}", + "{% endif %}" + ], + "markerSymbol": null, + "listMarkerSymbol": "{{ markerCircle({fillColor: color})|raw }}", + "priority": "{{ (approxHeight|default(0)) * -1 }}", + "style": { + "width": "1", + "color": "#000000", + "fillColor": "{{ color }}", + "fillOpacity": "1" + } + }, + "info": [ + "
", + "{{ tagTrans('height') }}", + "", + " ", + " ", + " ", + " ", + "{% for i in range(0, 50, 10) %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + "{% for i in range(100, 250, 50) %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + " ", + " ", + " ", + " ", + "
{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}{{ trans('unknown') }}
{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], i / 50) })|raw }}{{ i }}m
{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i - 50) / 250) })|raw }}{{ i }}m
{{ markerCircle({ 'fillColor': 'yellow' })|raw }}≥300m
", + "
", + "", + "
", + "{{ tagTrans('building:levels') }}", + "", + " ", + " ", + " ", + " ", + "{% for i in range(0, 12, 3) %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + "{% for i in range(15, 84, 15) %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + " ", + " ", + " ", + " ", + "
{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}{{ trans('unknown') }}
{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], (i * 3.5) / 50) })|raw }}{{ i }}
{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i * 3.5 - 50) / 250) })|raw }}{{ i }}
{{ markerCircle({ 'fillColor': 'yellow' })|raw }}≥85
", + "", + "
" + ] +} diff --git a/buildings.json b/buildings.json index 94bb4a9..0d77826 100644 --- a/buildings.json +++ b/buildings.json @@ -9,6 +9,9 @@ "subCategories": [ { "id": "buildings-figure-ground" + }, + { + "id": "buildings-height" } ] } From 913ca616169586b415823c420fc99edc53afde7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Wed, 6 Jun 2018 15:40:47 +0200 Subject: [PATCH 03/14] Buildings: import start_date category from other repository --- buildings-start_date.json | 120 ++++++++++++++++++++++++++++++++++++++ buildings.json | 3 + 2 files changed, 123 insertions(+) create mode 100644 buildings-start_date.json diff --git a/buildings-start_date.json b/buildings-start_date.json new file mode 100644 index 0000000..04a0d67 --- /dev/null +++ b/buildings-start_date.json @@ -0,0 +1,120 @@ +{ + "type": "overpass", + "name": { + "en": "Buildings", + "de": "Gebäude" + }, + "query": { + "16": [ + "(", + " way[building];", + " relation[building];", + ")" + ] + }, + "feature": { + "pre": [ + "{% if tags.start_date %}", + " {% set value = tags.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 = '#000000' %}", + "{% endif %}" + ], + "description": [ + "{% if tags.start_date %}", + "{{ tags.start_date }}", + "{% endif %}" + ], + "markerSign": null, + "listMarkerSymbol": "polygon", + "priority": [ + "{% set p = 100 %}", + "{% if tags.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": { + "weight": "1", + "color": "#000000", + "fillColor": "{{ color }}", + "fillOpacity": "0.8" + } + }, + "info": [ + "", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + " ", + "
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1400\" }))|raw }}<1500
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1500\" }))|raw }}1500
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1600\" }))|raw }}1600
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1700\" }))|raw }}1700
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1800\" }))|raw }}1800
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1900\" }))|raw }}1900
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1950\" }))|raw }}1950
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"2000\" }))|raw }}2000
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"2020\" }))|raw }}2020
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"xxx\" }))|raw }}unparseable start_date
{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}no start_date
" + ] +} diff --git a/buildings.json b/buildings.json index 0d77826..cae67fd 100644 --- a/buildings.json +++ b/buildings.json @@ -12,6 +12,9 @@ }, { "id": "buildings-height" + }, + { + "id": "buildings-start_date" } ] } From c121c07ee70cdc17d525a98b57ba0a6caffea7be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Wed, 6 Jun 2018 20:47:54 +0200 Subject: [PATCH 04/14] Building Start Date: Improvements --- buildings-start_date.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/buildings-start_date.json b/buildings-start_date.json index 04a0d67..fadac20 100644 --- a/buildings-start_date.json +++ b/buildings-start_date.json @@ -1,8 +1,8 @@ { "type": "overpass", "name": { - "en": "Buildings", - "de": "Gebäude" + "en": "Building age", + "de": "Gebäudealter" }, "query": { "16": [ @@ -38,7 +38,7 @@ " {% set color = colorInterpolate([ '#ffff00', '#00ff00' ], (value - 2000.0) / 50) %}", " {% endif %}", "{% else %}", - "{% set color = '#000000' %}", + "{% set color = '#7f7f7f' %}", "{% endif %}" ], "description": [ @@ -46,8 +46,8 @@ "{{ tags.start_date }}", "{% endif %}" ], - "markerSign": null, - "listMarkerSymbol": "polygon", + "markerSymbol": null, + "listMarkerSymbol": "{{ markerPolygon({ \"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}", "priority": [ "{% set p = 100 %}", "{% if tags.start_date %}{% set p = p - 20 %}{% endif %}", @@ -63,7 +63,7 @@ "{{ p }}" ], "style": { - "weight": "1", + "width": "1", "color": "#000000", "fillColor": "{{ color }}", "fillOpacity": "0.8" From 6053d2e119c7e7df847748d347c088d1fa6708e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Fri, 27 Jul 2018 06:22:48 +0200 Subject: [PATCH 05/14] buildings-type: unfin --- buildings-type.json | 90 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 buildings-type.json diff --git a/buildings-type.json b/buildings-type.json new file mode 100644 index 0000000..9c0fc45 --- /dev/null +++ b/buildings-type.json @@ -0,0 +1,90 @@ +{ + "type": "overpass", + "name": { + "de": "Typ", + "en": "Type" + }, + "query": { + "16": [ + "(", + " way[building];", + " relation[building];", + ")" + ] + }, + "feature": { + "pre": [ + "{% if tags.building == 'yes' %}", + "{% set color = '#7f7f7f' %}", + "{% else %}", + "{% set color = '#7f0000' %}", + "{% endif %}" + ], + "description": [ + "{{ tagTrans('building', tags.building) }}" + ], + "markerSymbol": null, + "listMarkerSymbol": "{{ markerCircle({fillColor: color})|raw }}", + "priority": "{{ (approxHeight|default(0)) * -1 }}", + "style": { + "width": "1", + "color": "#000000", + "fillColor": "{{ color }}", + "fillOpacity": "1" + } + }, + "info": [ + "
", + "{{ tagTrans('height') }}", + "", + " ", + " ", + " ", + " ", + "{% for i in range(0, 50, 10) %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + "{% for i in range(100, 250, 50) %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + " ", + " ", + " ", + " ", + "
{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}{{ trans('unknown') }}
{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], i / 50) })|raw }}{{ i }}m
{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i - 50) / 250) })|raw }}{{ i }}m
{{ markerCircle({ 'fillColor': 'yellow' })|raw }}≥300m
", + "
", + "", + "
", + "{{ tagTrans('building:levels') }}", + "", + " ", + " ", + " ", + " ", + "{% for i in range(0, 12, 3) %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + "{% for i in range(15, 84, 15) %}", + " ", + " ", + " ", + " ", + "{% endfor %}", + " ", + " ", + " ", + " ", + "
{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}{{ trans('unknown') }}
{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], (i * 3.5) / 50) })|raw }}{{ i }}
{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i * 3.5 - 50) / 250) })|raw }}{{ i }}
{{ markerCircle({ 'fillColor': 'yellow' })|raw }}≥85
", + "", + "
" + ] +} From a66c807f628ba607f42975d7a2d7082163c3ee62 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sun, 16 Dec 2018 22:17:44 +0100 Subject: [PATCH 06/14] buildings-height: similar markers as in building age --- buildings-height.json | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/buildings-height.json b/buildings-height.json index 84c21af..28c2e14 100644 --- a/buildings-height.json +++ b/buildings-height.json @@ -14,9 +14,9 @@ }, "feature": { "pre": [ - "{% if tags.height %}", + "{% if tags.height is defined %}", "{% set approxHeight = tags.height %}", - "{% elseif attribute(tags, 'building:levels') %}", + "{% elseif attribute(tags, 'building:levels') is defined %}", "{% set approxHeight = attribute(tags, 'building:levels') * 3.5 %}", "{% endif %}", "", @@ -29,16 +29,16 @@ "{% endif %}" ], "description": [ - "{% if tags.height %}", + "{% if tags.height is defined %}", "{{ tags.height }}m", "{% endif %}", "", - "{% if attribute(tags, 'building:levels') %}", + "{% if attribute(tags, 'building:levels') is defined %}", "{{ attribute(tags, 'building:levels') }} {{ keyTrans('building:levels') }}", "{% endif %}" ], "markerSymbol": null, - "listMarkerSymbol": "{{ markerCircle({fillColor: color})|raw }}", + "listMarkerSymbol": "{{ markerPolygon({\"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}", "priority": "{{ (approxHeight|default(0)) * -1 }}", "style": { "width": "1", @@ -52,23 +52,23 @@ "{{ tagTrans('height') }}", "", " ", - " ", + " ", " ", " ", "{% for i in range(0, 50, 10) %}", " ", - " ", + " ", " ", " ", "{% endfor %}", "{% for i in range(100, 250, 50) %}", " ", - " ", + " ", " ", " ", "{% endfor %}", " ", - " ", + " ", " ", " ", "
{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}{{ trans('unknown') }}
{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], i / 50) })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}{{ i }}m
{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i - 50) / 250) })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}{{ i }}m
{{ markerCircle({ 'fillColor': 'yellow' })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": \"300\" }))|raw }}≥300m
", @@ -78,23 +78,23 @@ "{{ tagTrans('building:levels') }}", "", " ", - " ", + " ", " ", " ", "{% for i in range(0, 12, 3) %}", " ", - " ", + " ", " ", " ", "{% endfor %}", "{% for i in range(15, 84, 15) %}", " ", - " ", + " ", " ", " ", "{% endfor %}", " ", - " ", + " ", " ", " ", "
{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}{{ trans('unknown') }}
{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], (i * 3.5) / 50) })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}{{ i }}
{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i * 3.5 - 50) / 250) })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}{{ i }}
{{ markerCircle({ 'fillColor': 'yellow' })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": \"85\" }))|raw }}≥85
", From b388e23cef4a2127a823aa5291c4bb7161bf9316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Mon, 17 Dec 2018 07:39:58 +0100 Subject: [PATCH 07/14] buildings-type: unfin --- buildings-type.json | 42 +++++++++++++++++++++++++----------------- buildings.json | 3 +++ 2 files changed, 28 insertions(+), 17 deletions(-) diff --git a/buildings-type.json b/buildings-type.json index 9c0fc45..95af524 100644 --- a/buildings-type.json +++ b/buildings-type.json @@ -1,8 +1,8 @@ { "type": "overpass", "name": { - "de": "Typ", - "en": "Type" + "de": "Gebäudearten", + "en": "Building types" }, "query": { "16": [ @@ -14,17 +14,20 @@ }, "feature": { "pre": [ - "{% if tags.building == 'yes' %}", - "{% set color = '#7f7f7f' %}", - "{% else %}", - "{% set color = '#7f0000' %}", + "{% set color = \"#7f7f7f\" %}", + "{% if tags.building in const %}", + "{% set color = const[tags.building] %}", "{% endif %}" ], "description": [ - "{{ tagTrans('building', tags.building) }}" + "{% if tags.building == 'yes' %}", + "{{ keyTrans('building') }}", + "{% else %}", + "{{ tagTrans('building', tags.building) }}", + "{% endif %}" ], "markerSymbol": null, - "listMarkerSymbol": "{{ markerCircle({fillColor: color})|raw }}", + "listMarkerSymbol": "{{ markerPolygon({\"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}", "priority": "{{ (approxHeight|default(0)) * -1 }}", "style": { "width": "1", @@ -38,23 +41,23 @@ "{{ tagTrans('height') }}", "", " ", - " ", + " ", " ", " ", "{% for i in range(0, 50, 10) %}", " ", - " ", + " ", " ", " ", "{% endfor %}", "{% for i in range(100, 250, 50) %}", " ", - " ", + " ", " ", " ", "{% endfor %}", " ", - " ", + " ", " ", " ", "
{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}{{ trans('unknown') }}
{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], i / 50) })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}{{ i }}m
{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i - 50) / 250) })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}{{ i }}m
{{ markerCircle({ 'fillColor': 'yellow' })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": \"300\" }))|raw }}≥300m
", @@ -64,27 +67,32 @@ "{{ tagTrans('building:levels') }}", "", " ", - " ", + " ", " ", " ", "{% for i in range(0, 12, 3) %}", " ", - " ", + " ", " ", " ", "{% endfor %}", "{% for i in range(15, 84, 15) %}", " ", - " ", + " ", " ", " ", "{% endfor %}", " ", - " ", + " ", " ", " ", "
{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}{{ trans('unknown') }}
{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], (i * 3.5) / 50) })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}{{ i }}
{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i * 3.5 - 50) / 250) })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}{{ i }}
{{ markerCircle({ 'fillColor': 'yellow' })|raw }}{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": \"85\" }))|raw }}≥85
", "", "" - ] + ], + "const": { + "yes": "#7f7f7f", + "apartments": "#ff0000", + "place_of_worship": "#af29cc" + } } diff --git a/buildings.json b/buildings.json index cae67fd..ba4e1e0 100644 --- a/buildings.json +++ b/buildings.json @@ -7,6 +7,9 @@ "pt-br": "Edificações" }, "subCategories": [ + { + "id": "buildings-type" + }, { "id": "buildings-figure-ground" }, From b16498594461317ac1807ba22225aaca6783441a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Mon, 17 Dec 2018 19:37:26 +0100 Subject: [PATCH 08/14] buildings-type: add many types --- buildings-type.json | 133 +++++++++++++++++++++++++------------------- 1 file changed, 76 insertions(+), 57 deletions(-) diff --git a/buildings-type.json b/buildings-type.json index 95af524..8ebe352 100644 --- a/buildings-type.json +++ b/buildings-type.json @@ -14,10 +14,12 @@ }, "feature": { "pre": [ - "{% set color = \"#7f7f7f\" %}", - "{% if tags.building in const %}", - "{% set color = const[tags.building] %}", - "{% endif %}" + "{% set color = const.other.color %}", + "{% for cat, data in const %}", + " {% if tags.building in data.types %}", + " {% set color = data.color %}", + " {% endif %}", + "{% endfor %}" ], "description": [ "{% if tags.building == 'yes' %}", @@ -26,73 +28,90 @@ "{{ tagTrans('building', tags.building) }}", "{% endif %}" ], + "priority": [ + "{% set p = 100 %}", + "{% 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 }}" + ], "markerSymbol": null, "listMarkerSymbol": "{{ markerPolygon({\"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}", - "priority": "{{ (approxHeight|default(0)) * -1 }}", "style": { "width": "1", "color": "#000000", "fillColor": "{{ color }}", - "fillOpacity": "1" + "fillOpacity": "0.8" } }, "info": [ - "
", - "{{ tagTrans('height') }}", "", + "{% for cat, data in const %}", " ", - " ", - " ", - " ", - "{% for i in range(0, 50, 10) %}", - " ", - " ", - " ", + " ", + " ", " ", "{% endfor %}", - "{% for i in range(100, 250, 50) %}", - " ", - " ", - " ", - " ", - "{% endfor %}", - " ", - " ", - " ", - " ", - "
{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}{{ trans('unknown') }}
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}{{ i }}m{{ markerPolygon({ \"fillColor\": data.color, \"fillOpacity\": \"0.8\", \"width\": 1, \"color\": \"#000000\" })|raw }}{{ cat }}
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}{{ i }}m
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": \"300\" }))|raw }}≥300m
", - "
", - "", - "
", - "{{ tagTrans('building:levels') }}", - "", - " ", - " ", - " ", - " ", - "{% for i in range(0, 12, 3) %}", - " ", - " ", - " ", - " ", - "{% endfor %}", - "{% for i in range(15, 84, 15) %}", - " ", - " ", - " ", - " ", - "{% endfor %}", - " ", - " ", - " ", - " ", - "
{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}{{ trans('unknown') }}
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}{{ i }}
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}{{ i }}
{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": \"85\" }))|raw }}≥85
", - "", - "
" + "" ], "const": { - "yes": "#7f7f7f", - "apartments": "#ff0000", - "place_of_worship": "#af29cc" + "residential": { + "color": "#25a000", + "types": [ "house", "apartments", "block", "flats", "farm", "detached", "dormitory", "terrace", "houseboat", "bungalow", "static_caravan", "cabin", "residential", "semidetached_house", "ger", "trullo" ] + }, + "tourism": { + "color": "#814ce2", + "types": [ "hotel", "ruins", "conservatory" ] + }, + "commercial": { + "color": "#ec5bcf", + "types": [ "commercial", "office", "industrial", "retail", "supermarket", "warehouse", "kiosk", "mall", "shop" ] + }, + "religious": { + "color": "#af29cc", + "types": [ "religious", "cathedral", "chapel", "church", "mosque", "temple", "synagogue", "shrine", "monastery" ] + }, + "amenity": { + "color": "#2935cc", + "types": [ "kindergarten", "civic", "government", "hospital", "school", "university", "grandstand", "public", "toilets", "college" ] + }, + "farm": { + "color": "#92e934", + "types": [ "bakehouse", "barn", "cowshed", "farm_auxiliary", "greenhouse", "stable", "sty", "kitchen", "slurry_tank", "silo" ] + }, + "industrial": { + "color": "#e2da1b", + "types": [ "construction", "garbage_shed", "transformer_tower", "service", "water_tower", "industrial", "warehouse", "storage_tank" ] + }, + "transport": { + "color": "#1bb5e2", + "types": [ "carport", "garage", "garages", "bridge", "hangar", "parking", "train_station", "transportation" ] + }, + "sport": { + "color": "#e21b66", + "types": [ "pavilion", "riding_hall", "stadium", "sports_hall" ] + }, + "simple": { + "color": "#cc8725", + "types": [ "hut", "roof", "shed" ] + }, + "military": { + "color": "#4a7300", + "types": [ "bunker", "riding_hall", "sports_hall" ] + }, + "other": { + "color": "#ff0000", + "types": [] + }, + "unspecified": { + "color": "#7f7f7f", + "types": [ "yes" ] + } } } From 36ca0e95fdb9d6a786687769f40be6e0916f4e30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Mon, 17 Dec 2018 21:56:11 +0100 Subject: [PATCH 09/14] buildings-type: support multi values; exclude building=no --- buildings-type.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/buildings-type.json b/buildings-type.json index 8ebe352..9536d62 100644 --- a/buildings-type.json +++ b/buildings-type.json @@ -7,16 +7,17 @@ "query": { "16": [ "(", - " way[building];", - " relation[building];", + " way[building][building!=no];", + " relation[building][building!=no];", ")" ] }, "feature": { "pre": [ + "{% set type = tags.building|split(';')[0] %}", "{% set color = const.other.color %}", "{% for cat, data in const %}", - " {% if tags.building in data.types %}", + " {% if type in data.types %}", " {% set color = data.color %}", " {% endif %}", "{% endfor %}" @@ -25,7 +26,7 @@ "{% if tags.building == 'yes' %}", "{{ keyTrans('building') }}", "{% else %}", - "{{ tagTrans('building', tags.building) }}", + "{{ tagTransList('building', tags.building) }}", "{% endif %}" ], "priority": [ From 4fa537276b37057a84660458a036e7b75c5b3899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Mon, 17 Dec 2018 22:01:40 +0100 Subject: [PATCH 10/14] buildings-type: support building=construction, construction=* --- buildings-type.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/buildings-type.json b/buildings-type.json index 9536d62..f1eda47 100644 --- a/buildings-type.json +++ b/buildings-type.json @@ -27,6 +27,9 @@ "{{ keyTrans('building') }}", "{% else %}", "{{ tagTransList('building', tags.building) }}", + "{% endif %}", + "{% if tags.building == 'construction' and tags.construction %}", + "({{ tagTransList('building', tags.construction) }})", "{% endif %}" ], "priority": [ From 4d59cc3e220dc4d710d4be8b9210b99bc2b56fe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sun, 6 Jan 2019 20:35:04 +0100 Subject: [PATCH 11/14] Entrances --- buildings-entrances.json | 24 ++++++++++++++++++++++++ buildings.json | 3 +++ 2 files changed, 27 insertions(+) create mode 100644 buildings-entrances.json diff --git a/buildings-entrances.json b/buildings-entrances.json new file mode 100644 index 0000000..583b2a8 --- /dev/null +++ b/buildings-entrances.json @@ -0,0 +1,24 @@ +{ + "type": "overpass", + "name": { + "de": "Eingänge", + "en": "Entrances" + }, + "query": { + "16": [ + "(", + " node[entrance];", + " node[building=entrance];", + ")" + ] + }, + "feature": { + "description": [ + "{% if tags.entrance == 'yes' or (not tags.entrance and tags.building == 'entrance') %}", + "{{ keyTrans('entrance') }}", + "{% else %}", + "{{ tagTrans('entrance', tags.entrance) }}", + "{% endif %}" + ] + } +} diff --git a/buildings.json b/buildings.json index ba4e1e0..fe3010a 100644 --- a/buildings.json +++ b/buildings.json @@ -18,6 +18,9 @@ }, { "id": "buildings-start_date" + }, + { + "id": "buildings-entrances" } ] } From 388a86429dc6bc1f1bbb632f15a9615bb3f6cee7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 10 Jan 2019 09:44:39 +0100 Subject: [PATCH 12/14] buildings-type: improvements --- buildings-type.json | 162 ++++++++++++++++++++++++++++++++++++++------ 1 file changed, 140 insertions(+), 22 deletions(-) diff --git a/buildings-type.json b/buildings-type.json index f1eda47..09bb904 100644 --- a/buildings-type.json +++ b/buildings-type.json @@ -32,6 +32,8 @@ "({{ tagTransList('building', tags.construction) }})", "{% endif %}" ], + "markerSymbol": "", + "listMarkerSymbol": "{{ markerPolygon({\"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}", "priority": [ "{% set p = 100 %}", "{% if tags.name %}{% set p = p - 10 %}{% endif %}", @@ -45,8 +47,6 @@ "{% if tags.tourism %}{% set p = p - 1 %}{% endif %}", "{{ p }}" ], - "markerSymbol": null, - "listMarkerSymbol": "{{ markerPolygon({\"fillColor\": color, \"fillOpacity\": 0.8, \"width\": 1, \"color\": \"#000000\" })|raw }}", "style": { "width": "1", "color": "#000000", @@ -58,64 +58,182 @@ "", "{% for cat, data in const %}", " ", - " ", - " ", + " ", + " ", " ", "{% endfor %}", "
{{ markerPolygon({ \"fillColor\": data.color, \"fillOpacity\": \"0.8\", \"width\": 1, \"color\": \"#000000\" })|raw }}{{ cat }}{{ markerPolygon({ \"fillColor\": data.color, \"fillOpacity\": \"0.8\", \"width\": 1, \"color\": \"#000000\" })|raw }}{{ trans(data.name) }}:", + " {% for i, type in data.types %}{% if i > 0 %}, {% endif %}{{ tagTrans('building', type) }}{% endfor %}", + " ", + "", + "
" ], "const": { "residential": { + "name": "tag:building=residential", "color": "#25a000", - "types": [ "house", "apartments", "block", "flats", "farm", "detached", "dormitory", "terrace", "houseboat", "bungalow", "static_caravan", "cabin", "residential", "semidetached_house", "ger", "trullo" ] + "types": [ + "house", + "apartments", + "block", + "flats", + "farm", + "detached", + "dormitory", + "terrace", + "houseboat", + "bungalow", + "static_caravan", + "residential", + "semidetached_house", + "ger", + "trullo" + ] }, "tourism": { + "name": "tag:tourism", "color": "#814ce2", - "types": [ "hotel", "ruins", "conservatory" ] + "types": [ + "hotel", + "ruins", + "conservatory" + ] }, "commercial": { + "name": "tag:building=commercial", "color": "#ec5bcf", - "types": [ "commercial", "office", "industrial", "retail", "supermarket", "warehouse", "kiosk", "mall", "shop" ] + "types": [ + "commercial", + "office", + "industrial", + "retail", + "supermarket", + "warehouse", + "kiosk", + "mall", + "shop" + ] }, "religious": { + "name": "tag:building=religious", "color": "#af29cc", - "types": [ "religious", "cathedral", "chapel", "church", "mosque", "temple", "synagogue", "shrine", "monastery" ] + "types": [ + "religious", + "cathedral", + "chapel", + "church", + "mosque", + "temple", + "synagogue", + "shrine", + "monastery" + ] }, "amenity": { + "name": "tag:amenity", "color": "#2935cc", - "types": [ "kindergarten", "civic", "government", "hospital", "school", "university", "grandstand", "public", "toilets", "college" ] + "types": [ + "kindergarten", + "civic", + "government", + "hospital", + "school", + "university", + "grandstand", + "public", + "toilets", + "college" + ] }, - "farm": { + "agriculture": { + "name": "tag:landuse=agriculture", "color": "#92e934", - "types": [ "bakehouse", "barn", "cowshed", "farm_auxiliary", "greenhouse", "stable", "sty", "kitchen", "slurry_tank", "silo" ] + "types": [ + "bakehouse", + "barn", + "cowshed", + "farm_auxiliary", + "greenhouse", + "stable", + "sty", + "kitchen", + "slurry_tank", + "silo" + ] }, "industrial": { + "name": "tag:landuse=industrial", "color": "#e2da1b", - "types": [ "construction", "garbage_shed", "transformer_tower", "service", "water_tower", "industrial", "warehouse", "storage_tank" ] + "types": [ + "construction", + "garbage_shed", + "transformer_tower", + "service", + "water_tower", + "industrial", + "warehouse", + "storage_tank" + ] }, - "transport": { + "transportation": { + "name": "tag:building=transportation", "color": "#1bb5e2", - "types": [ "carport", "garage", "garages", "bridge", "hangar", "parking", "train_station", "transportation" ] + "types": [ + "carport", + "garage", + "garages", + "bridge", + "hangar", + "parking", + "train_station", + "transportation" + ] }, "sport": { + "name": "tag:sport", "color": "#e21b66", - "types": [ "pavilion", "riding_hall", "stadium", "sports_hall" ] + "types": [ + "pavilion", + "riding_hall", + "stadium", + "sports_hall" + ] + }, + "roof": { + "name": "tag:building=roof", + "color": "#afafaf7f", + "types": [ + "roof" + ] }, - "simple": { + "shelter": { + "name": "tag:amenity=shelter", "color": "#cc8725", - "types": [ "hut", "roof", "shed" ] + "types": [ + "cabin", + "hut", + "shed" + ] }, "military": { + "name": "tag:military", "color": "#4a7300", - "types": [ "bunker", "riding_hall", "sports_hall" ] + "types": [ + "bunker" + ] + }, + "unspecified": { + "name": "tag:building=generic", + "color": "#7f7f7f", + "types": [ + "yes", + "generic" + ] }, "other": { + "name": "other", "color": "#ff0000", "types": [] - }, - "unspecified": { - "color": "#7f7f7f", - "types": [ "yes" ] } } } From 195be128037f2bdacd96ae7b3ceb5229cf5b8ee6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 10 Jan 2019 09:57:40 +0100 Subject: [PATCH 13/14] buildings-entrances: show only markers, without blue circle --- buildings-entrances.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/buildings-entrances.json b/buildings-entrances.json index 583b2a8..0950f11 100644 --- a/buildings-entrances.json +++ b/buildings-entrances.json @@ -19,6 +19,7 @@ "{% else %}", "{{ tagTrans('entrance', tags.entrance) }}", "{% endif %}" - ] + ], + "styles": "" } } From ac39920610b45ba0366f68f51897c7bf8a4780b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 10 Jan 2019 09:59:27 +0100 Subject: [PATCH 14/14] buildings-figure-ground: use black polygons as list markers --- buildings-figure-ground.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/buildings-figure-ground.json b/buildings-figure-ground.json index 63d23c7..726fc2b 100644 --- a/buildings-figure-ground.json +++ b/buildings-figure-ground.json @@ -13,7 +13,8 @@ ] }, "feature": { - "markerSymbol": null, + "markerSymbol": "", + "listMarkerSymbol": "{{ markerPolygon({fillColor: \"#000000\", fillOpacity: 1 })|raw }}", "priority": [ "{% set p = 100 %}", "{% if tags.name %}{% set p = p - 10 %}{% endif %}",