From cb55c1521942e882c494306edc53bc361e1050c3 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/28] 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 24604f35cc25960adf9ec3e3401d65988653707e 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/28] 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 604fbaef5b8e21832fdad0aef1ce282719d95d4e 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/28] 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 c9334d3b78d16e3f215c6dd344e8af8fc17f544c 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/28] 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 75c271af212a9768aee86964e3c8fc0a7ee1b9ba 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/28] 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 c55c2754c8f6cc991c5a5d8faa3537d50d0a0214 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 29 Nov 2018 14:16:01 +0100 Subject: [PATCH 06/28] Re-order fields (like openstreetbrowser-editor orders) --- car_maxspeed.json | 2 +- cycle_routes.json | 50 ++++++++++++------------- pt.json | 94 +++++++++++++++++++++++------------------------ 3 files changed, 73 insertions(+), 73 deletions(-) diff --git a/car_maxspeed.json b/car_maxspeed.json index b2249f3..b077c96 100644 --- a/car_maxspeed.json +++ b/car_maxspeed.json @@ -53,7 +53,7 @@ "{{ trans('unknown') }}", "{% endif %}" ], - "markerSymbol": null, + "markerSymbol": "", "listMarkerSymbol": "line", "style": { "width": "3", diff --git a/cycle_routes.json b/cycle_routes.json index 828dfaf..2cb57ed 100644 --- a/cycle_routes.json +++ b/cycle_routes.json @@ -16,18 +16,18 @@ }, "members": true, "feature": { - "priority": "{{ const[tags.network].priority|default(4) }}", + "title": "{% if tags.ref and tags.name %}{{ tags.ref }} - {{ tags.name }}{% elseif tags.ref %}{{ tags.ref }}{% elseif tags.name %}{{ tags.name }}{% else %}{{ trans('unnamed') }}{% endif %}", "description": "{{ tagTrans('network', tags.network) }}", + "markerSymbol": "", "listMarkerSymbol": "{{ markerLine({ 'width': 4, 'color': const[tags.network].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 }}{% else %}{{ trans('unnamed') }}{% endif %}", + "priority": "{{ const[tags.network].priority|default(4) }}", "styles": "", "style:hover": { - "width": 0 + "width": "0" }, "style:selected": { - "width": 0 - }, - "markerSymbol": "" + "width": "0" + } }, "memberFeature": { "pre": [ @@ -72,62 +72,62 @@ "listExclude": "1", "styles": "default{% if hover %},hover{% endif %}{% if selected %},selected{% endif %}", "style": { - "color": "{{ const[network].color }}", "width": "4", + "color": "{{ const[network].color }}", + "opacity": "1", + "lineCap": "{% if not dirForward or not dirBackward %}butt{% else %}round{% endif %}", "dashArray": "{% if not dirForward or not dirBackward %}27,8{% endif %}", "dashOffset": "{% if dirBackward %}28{% else %}0{% endif %}", - "lineCap": "{% if not dirForward or not dirBackward %}butt{% else %}round{% endif %}", "noClip": "{% if not dirForward or not dirBackward %}true{% else %}false{% endif %}", - "opacity": 1, "text": "{{ refs|join(' · ') }} ", "textRepeat": "1", "textOffset": "12", - "textFontWeight": "bold", "pattern": "{% if dirForward and dirBackward %}{% else %}arrowHead{% endif %}", - "pattern-pixelSize": "9", - "pattern-repeat": "35", "pattern-offset": "{% if dirBackward %}4{% else %}30.5{% endif %}", + "pattern-repeat": "35", "pattern-polygon": "true", + "pattern-pixelSize": "9", "pattern-angleCorrection": "{% if dirBackward %}180{% else %}0{% endif %}", "pattern-path-width": "0", + "pattern-path-color": "{{ const[network].color }}", "pattern-path-fillOpacity": "1", - "pattern-path-color": "{{ const[network].color }}" + "textFontWeight": "bold" }, "style:hover": { "pane": "hover", "width": "4", + "color": "black", + "lineCap": "{% if hover == 'forward' or hover == 'backward' %}butt{% else %}round{% endif %}", "dashArray": "{% if hover == 'forward' or hover == 'backward' %}27,8{% endif %}", "dashOffset": "{% if hover == 'backward' %}28{% else %}0{% endif %}", - "lineCap": "{% if hover == 'forward' or hover == 'backward' %}butt{% else %}round{% endif %}", "noClip": "{% if hover == 'forward' or hover == 'backward' %}true{% else %}false{% endif %}", - "color": "black", "pattern": "{% if hover == 'forward' or hover == 'backward' %}arrowHead{% endif %}", - "pattern-pixelSize": "9", - "pattern-repeat": "35", "pattern-offset": "{% if hover == 'backward' %}4{% else %}30.5{% endif %}", + "pattern-repeat": "35", "pattern-polygon": "true", + "pattern-pixelSize": "9", "pattern-angleCorrection": "{% if hover == 'backward' %}180{% else %}0{% endif %}", "pattern-path-width": "0", - "pattern-path-fillOpacity": "1", - "pattern-path-color": "black" + "pattern-path-color": "black", + "pattern-path-fillOpacity": "1" }, "style:selected": { "pane": "selected", "width": "4", + "color": "#3f3f3f", + "lineCap": "{% if selected == 'forward' or selected == 'backward' %}butt{% else %}round{% endif %}", "dashArray": "{% if selected == 'forward' or selected == 'backward' %}27,8{% endif %}", "dashOffset": "{% if selected == 'backward' %}28{% else %}0{% endif %}", - "lineCap": "{% if selected == 'forward' or selected == 'backward' %}butt{% else %}round{% endif %}", "noClip": "{% if selected == 'forward' or selected == 'backward' %}true{% else %}false{% endif %}", - "color": "#3f3f3f", "pattern": "{% if selected == 'forward' or selected == 'backward' %}arrowHead{% endif %}", - "pattern-pixelSize": "9", - "pattern-repeat": "35", "pattern-offset": "{% if selected == 'backward' %}4{% else %}30.5{% endif %}", + "pattern-repeat": "35", "pattern-polygon": "true", + "pattern-pixelSize": "9", "pattern-angleCorrection": "{% if selected == 'backward' %}180{% else %}0{% endif %}", "pattern-path-width": "0", - "pattern-path-fillOpacity": "1", - "pattern-path-color": "#3f3f3f" + "pattern-path-color": "#3f3f3f", + "pattern-path-fillOpacity": "1" } }, "const": { diff --git a/pt.json b/pt.json index 7ade18d..9c26bf2 100644 --- a/pt.json +++ b/pt.json @@ -69,10 +69,10 @@ "markerSymbol": "", "styles": "", "style:hover": { - "width": 0 + "width": "0" }, "style:selected": { - "width": 0 + "width": "0" }, "listStopsExclude": "true", "listRoutesMarkerSign": "{{ const[tags.route].sign|raw }}", @@ -136,78 +136,78 @@ "{% endfor %}", "" ], + "markerSign": " ", + "markerSymbol": "{% if isStop and stopCount > 0 %}{% if hover or selected %}{{ markerPointer({ })|raw }}{% endif %}{% endif %}", "styles": "{% if isStop and stopCount > 0 %}stop{% elseif isWay %}casing,way{% if hover %},hover{% endif %}{% if selected %},selected{% endif %}{% endif %}", + "style:hover": { + "pane": "hover", + "width": "4", + "color": "black", + "lineCap": "{% if hover == 'forward' or hover == 'backward' %}butt{% else %}round{% endif %}", + "dashArray": "{% if hover == 'forward' or hover == 'backward' %}27,8{% endif %}", + "dashOffset": "{% if hover == 'backward' %}28{% else %}0{% endif %}", + "noClip": "{% if hover == 'forward' or hover == 'backward' %}true{% else %}false{% endif %}", + "pattern": "{% if hover == 'forward' or hover == 'backward' %}arrowHead{% endif %}", + "pattern-offset": "{% if hover == 'backward' %}4{% else %}30.5{% endif %}", + "pattern-repeat": "35", + "pattern-polygon": "true", + "pattern-pixelSize": "9", + "pattern-angleCorrection": "{% if hover == 'backward' %}180{% else %}0{% endif %}", + "pattern-path-width": "0", + "pattern-path-color": "black", + "pattern-path-fillOpacity": "1" + }, + "style:selected": { + "pane": "selected", + "width": "4", + "color": "#3f3f3f", + "lineCap": "{% if selected == 'forward' or selected == 'backward' %}butt{% else %}round{% endif %}", + "dashArray": "{% if selected == 'forward' or selected == 'backward' %}27,8{% endif %}", + "dashOffset": "{% if selected == 'backward' %}28{% else %}0{% endif %}", + "noClip": "{% if selected == 'forward' or selected == 'backward' %}true{% else %}false{% endif %}", + "pattern": "{% if selected == 'forward' or selected == 'backward' %}arrowHead{% endif %}", + "pattern-offset": "{% if selected == 'backward' %}4{% else %}30.5{% endif %}", + "pattern-repeat": "35", + "pattern-polygon": "true", + "pattern-pixelSize": "9", + "pattern-angleCorrection": "{% if selected == 'backward' %}180{% else %}0{% endif %}", + "pattern-path-width": "0", + "pattern-path-color": "#3f3f3f", + "pattern-path-fillOpacity": "1" + }, "listStopsMarkerSign": null, "listStopsMarkerSymbol": "{{ markerCircle({ width: 5, color: color, fillOpacity: '1', radius: 3 })|raw }}", "listStopsExclude": "{{ not isStop or stopCount == 0 }}", "listStopsTitle": "{% if tags %}{{ tags.name|default(stopName)|default(trans('unknown')) }}{% else %}
  • {{ trans('loading') }}
  • {% endif %}", "listStopsDescription": "{{ refs|join(' · ') }}", "listRoutesExclude": "true", - "markerSymbol": "{% if isStop and stopCount > 0 %}{% if hover or selected %}{{ markerPointer({ })|raw }}{% endif %}{% endif %}", - "markerSign": " ", "style:stop": { - "color": "{{ color|default('#ff0000') }}", "width": "4", + "color": "{{ color|default('#ff0000') }}", "radius": "3", "zIndex": "1" }, "style:way": { - "color": "{{ color|default('#ff0000') }}", "width": "4", + "color": "{{ color|default('#ff0000') }}", + "opacity": "1", + "lineCap": "{% if not dirForward or not dirBackward %}butt{% else %}round{% endif %}", "dashArray": "{% if not dirForward or not dirBackward %}27,8{% endif %}", "dashOffset": "{% if dirBackward %}28{% else %}0{% endif %}", - "lineCap": "{% if not dirForward or not dirBackward %}butt{% else %}round{% endif %}", "noClip": "{% if not dirForward or not dirBackward %}true{% else %}false{% endif %}", - "opacity": 1, "text": "{{ refs|join(' · ') }} ", "textRepeat": "1", "textOffset": "12", - "textFontWeight": "bold", "pattern": "{% if dirForward and dirBackward %}{% else %}arrowHead{% endif %}", - "pattern-pixelSize": "9", - "pattern-repeat": "35", "pattern-offset": "{% if dirBackward %}4{% else %}30.5{% endif %}", - "pattern-polygon": "true", - "pattern-angleCorrection": "{% if dirBackward %}180{% else %}0{% endif %}", - "pattern-path-width": "0", - "pattern-path-fillOpacity": "1", - "pattern-path-color": "{{ color|default('#ff0000') }}" - }, - "style:hover": { - "pane": "hover", - "width": "4", - "dashArray": "{% if hover == 'forward' or hover == 'backward' %}27,8{% endif %}", - "dashOffset": "{% if hover == 'backward' %}28{% else %}0{% endif %}", - "lineCap": "{% if hover == 'forward' or hover == 'backward' %}butt{% else %}round{% endif %}", - "noClip": "{% if hover == 'forward' or hover == 'backward' %}true{% else %}false{% endif %}", - "color": "black", - "pattern": "{% if hover == 'forward' or hover == 'backward' %}arrowHead{% endif %}", - "pattern-pixelSize": "9", "pattern-repeat": "35", - "pattern-offset": "{% if hover == 'backward' %}4{% else %}30.5{% endif %}", "pattern-polygon": "true", - "pattern-angleCorrection": "{% if hover == 'backward' %}180{% else %}0{% endif %}", - "pattern-path-width": "0", - "pattern-path-fillOpacity": "1", - "pattern-path-color": "black" - }, - "style:selected": { - "pane": "selected", - "width": "4", - "dashArray": "{% if selected == 'forward' or selected == 'backward' %}27,8{% endif %}", - "dashOffset": "{% if selected == 'backward' %}28{% else %}0{% endif %}", - "lineCap": "{% if selected == 'forward' or selected == 'backward' %}butt{% else %}round{% endif %}", - "noClip": "{% if selected == 'forward' or selected == 'backward' %}true{% else %}false{% endif %}", - "color": "#3f3f3f", - "pattern": "{% if selected == 'forward' or selected == 'backward' %}arrowHead{% endif %}", "pattern-pixelSize": "9", - "pattern-repeat": "35", - "pattern-offset": "{% if selected == 'backward' %}4{% else %}30.5{% endif %}", - "pattern-polygon": "true", - "pattern-angleCorrection": "{% if selected == 'backward' %}180{% else %}0{% endif %}", + "pattern-angleCorrection": "{% if dirBackward %}180{% else %}0{% endif %}", "pattern-path-width": "0", + "pattern-path-color": "{{ color|default('#ff0000') }}", "pattern-path-fillOpacity": "1", - "pattern-path-color": "#3f3f3f" + "textFontWeight": "bold" } }, "info": [ From e4c9c180ccfa19332aa39ed957900f4aa2a7e0d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 29 Nov 2018 18:44:31 +0100 Subject: [PATCH 07/28] public: include office=government and office=administration --- public.json | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/public.json b/public.json index cf28f62..63061c0 100644 --- a/public.json +++ b/public.json @@ -27,6 +27,7 @@ "node[amenity=recycling][recyling_type=centre];", "way[amenity=recycling][recyling_type=centre];", "relation[amenity=recycling][recyling_type=centre];", + "nwr[office~\"^(government|administration)$\"];", ");" ], "16": [ @@ -35,23 +36,36 @@ "way[amenity~'^(courthouse|embassy|public_building|townhall|recycling|toilets)$'];", "relation[amenity~'^(courthouse|embassy|public_building|townhall|recycling|toilets)$'];", "node[drinking_water];", + "nwr[office~\"^(government|administration)$\"];", ");" ] }, "feature": { "pre": [ "{% if tags.drinking_water %}", + "{% set key = 'amenity' %}", "{% set value = 'drinking_water' %}", - "{% else %}", + "{% elseif tags.amenity %}", + "{% set key = 'amenity' %}", "{% set value = tags.amenity %}", + "{% elseif tags.office %}", + "{% set key = 'office' %}", + "{% set value = tags.office %}", "{% endif %}" ], "title": "{{ tags.name|default(tags.operator)|default(tagTrans('amenity', value)) }}", - "description": "{{ tagTrans('amenity', value) }}", + "description": [ + "{% if key == 'office' %}", + " {{ keyTrans('office') }} ({{ tagTrans('office', tags.office) }})", + "{% else %}", + " {{ tagTrans(key, value) }}", + "{% endif %}" + ], "body": "{% if tags.operator %}{{ keyTrans('operator') }}: {{ tags.operator }}
    {% endif %}", "markerSign": [ - "{% if const[value] %}", - "{{ const[value]|raw }}", + "{% set kv = key ~ '=' ~ value %}", + "{% if const[kv] %}", + "{{ const[kv]|raw }}", "{% endif %}" ] }, @@ -66,13 +80,15 @@ "" ], "const": { - "courthouse": "⚖", - "clock": "", - "drinking_water": "", - "embassy": "", - "public_building": "", - "recycling": "", - "toilets": "", - "townhall": "" + "amenity=courthouse": "⚖", + "amenity=clock": "", + "amenity=drinking_water": "", + "amenity=embassy": "", + "amenity=public_building": "", + "amenity=recycling": "", + "amenity=toilets": "", + "amenity=townhall": "", + "office=administration": "", + "office=government": "" } } From 99512fc2adf3f367939e8f295cacb54c7587c865 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 29 Nov 2018 18:53:46 +0100 Subject: [PATCH 08/28] education: include office=educational_institution and =research --- education.json | 51 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 14 deletions(-) diff --git a/education.json b/education.json index c366e82..5b4772d 100644 --- a/education.json +++ b/education.json @@ -32,6 +32,7 @@ "node[amenity~'^(college|university|library|school|kindergarten|language_school)$'];", "way[amenity~'^(college|university|library|school|kindergarten|language_school)$'];", "relation[amenity~'^(college|university|library|school|kindergarten|language_school)$'];", + "nwr[office~\"^(educational_institution|research)$\"];", ")" ], "16": [ @@ -39,20 +40,30 @@ "node[amenity~'^(college|university|library|school|kindergarten|public_bookcase)$'];", "way[amenity~'^(college|university|library|school|kindergarten|public_bookcase)$'];", "relation[amenity~'^(college|university|library|school|kindergarten|public_bookcase)$'];", + "nwr[office~\"^(educational_institution|research)$\"];", ")" ] }, "feature": { - "description": "{{ tagTrans('amenity', tags.amenity) }}", + "pre": [ + "{% if tags.office == 'educational_institution' or tags.office == 'research' %}", + " {% set key = 'office' %}", + " {% set value = tags.office %}", + "{% else %}", + " {% set key = 'amenity' %}", + " {% set value = tags.amenity %}", + "{% endif %}" + ], + "description": "{{ tagTrans(key, value) }}", "body": "{% if tags.operator %}{{ keyTrans('operator') }}: {{ tags.operator }}
    {% endif %}", "markerSign": [ - "{% set data = const[tags.amenity] %}", + "{% set data = const[key ~ '=' ~ value] %}", "{% if data %}", - "{{ data.sign }}", + "{{ data.sign|raw }}", "{% endif %}" ], "priority": [ - "{% set data = const[tags.amenity] %}", + "{% set data = const[key ~ '=' ~ value] %}", "{% if data %}", "{{ data.priority }}", "{% endif %}" @@ -60,51 +71,63 @@ }, "info": [ "", - "{% for value, data in const %}", + "{% for kv, data in const %}", "{% if data.zoom <= map.zoom %}", " ", - " ", - " ", + " ", + " ", " ", "{% endif %}", "{% endfor %}", "
    {{ markerCircle({})|raw }}
    {{ data.sign }}
    {{ tagTrans('amenity', value) }}{{ markerCircle({})|raw }}
    {{ data.sign|raw }}
    ", + " {{ tagTrans(kv|split('=')[0], kv|split('=')[1]) }}", + "
    " ], "const": { - "university": { + "amenity=university": { "priority": 0, "sign": "🎓", "zoom": 11 }, - "college": { + "amenity=college": { "priority": 1, "sign": "🎓", "zoom": 11 }, - "library": { + "amenity=library": { "priority": 2, "sign": "🕮", "zoom": 11 }, - "school": { + "amenity=school": { "priority": 3, "sign": "🏫", "zoom": 14 }, - "language_school": { + "amenity=language_school": { "priority": 3, "sign": "🏫", "zoom": 14 }, - "kindergarten": { + "amenity=kindergarten": { "priority": 4, "sign": "⛹", "zoom": 14 }, - "public_bookcase": { + "amenity=public_bookcase": { "priority": 5, "sign": "📚", "zoom": 16 + }, + "office=educational_institution": { + "priority": 3, + "sign": "🏢", + "zoom": 14 + }, + "office=research": { + "priority": 3, + "sign": "", + "zoom": 14 } } } From 67069f4d9f22209461b7efe577df801f25496474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 29 Nov 2018 19:05:02 +0100 Subject: [PATCH 09/28] communication: include office=telecommunication and office=it --- communication.json | 48 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 40 insertions(+), 8 deletions(-) diff --git a/communication.json b/communication.json index 27f8372..dbdb662 100644 --- a/communication.json +++ b/communication.json @@ -25,21 +25,38 @@ "node[amenity~'^(post_office|internet_cafe)$'];", "way[amenity~'^(post_office|internet_cafe)$'];", "relation[amenity~'^(post_office|internet_cafe)$'];", + "nwr[office~\"^(telecommunication|it)$\"];", ");" ], "16": [ "(node[amenity~'^(post_office|internet_cafe|post_box|telephone)$'];", "way[amenity~'^(post_office|internet_cafe)$'];", "relation[amenity~'^(post_office|internet_cafe)$'];", + "nwr[office~\"^(telecommunication|it)$\"];", ");" ] }, "feature": { + "pre": [ + "{% if tags.amenity %}", + " {% set key = 'amenity' %}", + " {% set value = tags.amenity %}", + "{% else %}", + " {% set key = 'office' %}", + " {% set value = tags.office %}", + "{% endif %}" + ], "title": "{{ localizedTag(tags, 'name') |default(localizedTag(tags, 'operator')) |default(tagTrans('amenity', tags.amenity)) }}", - "description": "{{ tagTrans('amenity', tags.amenity) }}", + "description": [ + "{% if key == 'office' %}", + " {{ keyTrans('office') }} ({{ tagTrans('office', tags.office) }})", + "{% else %}", + " {{ tagTrans(key, value) }}", + "{% endif %}" + ], "body": "{% if tags.operator %}{{ keyTrans('operator') }}: {{ localizedTag(tags, 'operator') }}
    {% endif %}", "markerSign": [ - "{% set data = const[tags.amenity] %}", + "{% set data = const[key ~ '=' ~ value] %}", "{% if data %}", "{{ data.sign|raw }}", "{% endif %}" @@ -47,30 +64,45 @@ }, "info": [ "", - "{% for value, data in const %}", + "{% for kv, data in const %}", "{% if data.zoom <= map.zoom %}", " ", " ", - " ", + " ", " ", "{% endif %}", "{% endfor %}", "
    {{ markerCircle({})|raw }}
    {{ data.sign|raw }}
    {{ tagTrans('amenity', value) }}", + " {% if kv|split('=')[0] == 'office' %}", + " {{ keyTrans('office') }}", + " ({{ tagTrans('office', kv|split('=')[1]) }})", + " {% else %}", + " {{ tagTrans(kv|split('=')[0], kv|split('=')[1]) }}", + " {% endif %}", + "
    " ], "const": { - "post_office": { + "amenity=post_office": { "sign": "", "zoom": 13 }, - "post_box": { + "amenity=post_box": { "sign": "", "zoom": 16 }, - "internet_cafe": { + "amenity=internet_cafe": { "sign": "", "zoom": 13 }, - "telephone": { + "office=telecommunication": { + "sign": "", + "zoom": 13 + }, + "office=it": { + "sign": "", + "zoom": 13 + }, + "amenity=telephone": { "sign": "", "zoom": 16 } From e062e0ea4955fdb974ff8fa1975b24944c3eac42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Tue, 4 Dec 2018 09:18:32 +0100 Subject: [PATCH 10/28] new category organisations --- index.json | 3 ++ organisations.json | 75 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 organisations.json diff --git a/index.json b/index.json index 77bd73e..b2f3364 100644 --- a/index.json +++ b/index.json @@ -100,6 +100,9 @@ }, { "id": "tourism_services" + }, + { + "id": "organisations" } ] }, diff --git a/organisations.json b/organisations.json new file mode 100644 index 0000000..dcc1aa4 --- /dev/null +++ b/organisations.json @@ -0,0 +1,75 @@ +{ + "type": "overpass", + "name": { + "en": "Organisations" + }, + "query": { + "13": [ + "(", + "nwr[office~\"^(ngo|quango|political_party|association|charity)$\"];", + ")" + ] + }, + "feature": { + "pre": [ + "{% set key = 'office' %}", + "{% set value = tags.office %}", + "" + ], + "description": "{{ tagTrans(key, value) }}", + "body": "{% if tags.operator %}{{ keyTrans('operator') }}: {{ tags.operator }}
    {% endif %}", + "markerSign": [ + "{% set data = const[key ~ '=' ~ value] %}", + "{% if data %}", + "{{ data.sign|raw }}", + "{% endif %}" + ], + "priority": [ + "{% set data = const[key ~ '=' ~ value] %}", + "{% if data %}", + "{{ data.priority }}", + "{% endif %}" + ] + }, + "info": [ + "", + "{% for kv, data in const %}", + "{% if data.zoom <= map.zoom %}", + " ", + " ", + " ", + " ", + "{% endif %}", + "{% endfor %}", + "
    {{ markerCircle({})|raw }}
    {{ data.sign|raw }}
    ", + " {{ tagTrans(kv|split('=')[0], kv|split('=')[1]) }}", + "
    " + ], + "const": { + "office=ngo": { + "priority": 0, + "sign": "", + "zoom": 13 + }, + "office=quango": { + "priority": 0, + "sign": "", + "zoom": 13 + }, + "office=political_party": { + "priority": 0, + "sign": "", + "zoom": 13 + }, + "office=association": { + "priority": 0, + "sign": "", + "zoom": 13 + }, + "office=charity": { + "priority": 0, + "sign": "", + "zoom": 13 + } + } +} From d6a8f66edfea11cea619e40291afb98eb729c969 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 11/28] 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 74203ab2a49841deb47807600186f87c8e940a44 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 12/28] 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 e85162c3bd49927a7c6aa105e0b70f029f13194a 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 13/28] 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 0a2ae9276c2ac641c06aad00812fc3eaa2274d94 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 14/28] 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 bea602985fc5aa6db114dfefd0ba9923a6fac5c9 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 15/28] 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 8fcc67e13f738813e54e1cffd5a16fa4b420e9be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Mon, 31 Dec 2018 10:04:07 +0100 Subject: [PATCH 16/28] Popup/Details: include description, start_date, opening_date, (material) --- detailsBody.html | 32 ++++++++++++++++++++++++++++++++ popupBody.html | 24 ++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/detailsBody.html b/detailsBody.html index 6b8d180..bd5c84b 100644 --- a/detailsBody.html +++ b/detailsBody.html @@ -1,4 +1,12 @@
      +{% set hasDescription = tagsPrefix(tags, 'description:') %} +{% if tags.description or hasDescription %} +
    • + + {{ localizedTag(tags, 'description')|default(attribute(tags, 'description:' ~ hasDescription|keys[0])) }} +
    • +{% endif %} + {% set address = tagsPrefix(tags, 'addr:') %} {% if address %}
    • @@ -133,4 +141,28 @@
    • {% endif %} +{% if tags.start_date %} +
    • + + {{ keyTrans('start_date') }}: + {{ enumerate(tags.start_date) }} +
    • +{% endif %} + +{% if tags.opening_date %} +
    • + + {{ keyTrans('opening_date') }}: + {{ enumerate(tags.opening_date) }} +
    • +{% endif %} + +{% if tags.material %} +
    • + + {{ keyTrans('material') }}: + {{ tagTransList('material', tags.material) }} +
    • +{% endif %} +
    diff --git a/popupBody.html b/popupBody.html index 63b8317..d278846 100644 --- a/popupBody.html +++ b/popupBody.html @@ -1,4 +1,12 @@
      +{% set hasDescription = tagsPrefix(tags, 'description:') %} +{% if tags.description or hasDescription %} +
    • + + {{ localizedTag(tags, 'description')|default(attribute(tags, 'description:' ~ hasDescription|keys[0])) }} +
    • +{% endif %} + {% set address = tagsPrefix(tags, 'addr:') %} {% if address %}
    • @@ -139,4 +147,20 @@ {{ wikipedia[2] }} {% endif %} +{% if tags.start_date %} +
    • + + {{ keyTrans('start_date') }}: + {{ enumerate(tags.start_date) }} +
    • +{% endif %} + +{% if tags.opening_date %} +
    • + + {{ keyTrans('opening_date') }}: + {{ enumerate(tags.opening_date) }} +
    • +{% endif %} +
    From 66a7af56274d57525acb2c8dbc6187e631e1c1f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Mon, 31 Dec 2018 10:04:48 +0100 Subject: [PATCH 17/28] culture, historic, memorial: include additional info in popup body --- culture.json | 24 ++++++++++++++++++++++++ historic.json | 31 +++++++++++++++++++++++++++++++ memorial.json | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 95 insertions(+) diff --git a/culture.json b/culture.json index 9fd02fc..c2c91e4 100644 --- a/culture.json +++ b/culture.json @@ -44,6 +44,30 @@ "{% endif %}" ], "description": "{{ tagTrans(key, value) }}", + "body": [ + "
      ", + "{% if tags.inscription %}", + "
    • ", + " ", + " {{ keyTrans('inscription') }}:", + " {{ localizedTag(tags, 'inscription') }}", + "
    • ", + "{% elseif attribute(tags, 'inscription:url') %}", + "
    • ", + " ", + " {{ keyTrans('inscription') }}", + "
    • ", + "{% endif %}", + "", + "{% if tags.artist_name %}", + "
    • ", + " ", + " {{ keyTrans('artist_name') }}:", + " {{ enumerate(tags.artist_name) }}", + "
    • ", + "{% endif %}", + "
    " + ], "markerSign": "{{ attribute(const, key ~ '=' ~ value) }}" }, "const": { diff --git a/historic.json b/historic.json index f09cf10..b1be977 100644 --- a/historic.json +++ b/historic.json @@ -37,6 +37,37 @@ }, "feature": { "description": "{{ tagTransList('historic', tags.historic) }}", + "body": [ + "
      ", + "{% if tags.inscription %}", + "
    • ", + " ", + " {{ keyTrans('inscription') }}:", + " {{ localizedTag(tags, 'inscription') }}", + "
    • ", + "{% elseif attribute(tags, 'inscription:url') %}", + "
    • ", + " ", + " {{ keyTrans('inscription') }}", + "
    • ", + "{% endif %}", + "", + "{% if attribute(tags, 'historic:civilization') %}", + "
    • ", + " ", + " {{ keyTrans('historic:civilization') }}:", + " {{ tagTrans('historic:civilization', attribute(tags, 'historic:civilization')) }}", + "
    • ", + "{% endif %}", + "", + "{% if attribute(tags, 'memorial:conflict') %}", + "
    • ", + " ", + " {{ keyTrans('memorial:conflict') }}:", + " {{ tagTransList('memorial:conflict', attribute(tags, 'memorial:conflict')) }}", + "
    • ", + "{% endif %}" + ], "markerSign": "{{ const[tags.historic].sign|raw }}" }, "info": [ diff --git a/memorial.json b/memorial.json index 4095a13..82e3495 100644 --- a/memorial.json +++ b/memorial.json @@ -32,6 +32,46 @@ "{% endif %}" ], "description": "{{ tagTransList('historic', value) }}", + "body": [ + "
        ", + "{% if tags.inscription %}", + "
      • ", + " ", + " {{ keyTrans('inscription') }}:", + " {{ localizedTag(tags, 'inscription') }}", + "
      • ", + "{% elseif attribute(tags, 'inscription:url') %}", + "
      • ", + " ", + " {{ keyTrans('inscription') }}", + "
      • ", + "{% endif %}", + "", + "{% if attribute(tags, 'historic:civilization') %}", + "
      • ", + " ", + " {{ keyTrans('historic:civilization') }}:", + " {{ tagTrans('historic:civilization', attribute(tags, 'historic:civilization')) }}", + "
      • ", + "{% endif %}", + "", + "{% if attribute(tags, 'memorial:conflict') %}", + "
      • ", + " ", + " {{ keyTrans('memorial:conflict') }}:", + " {{ tagTransList('memorial:conflict', attribute(tags, 'memorial:conflict')) }}", + "
      • ", + "{% endif %}", + "", + "{% if tags.artist_name %}", + "
      • ", + " ", + " {{ keyTrans('artist_name') }}:", + " {{ enumerate(tags.artist_name) }}", + "
      • ", + "{% endif %}", + "
      " + ], "markerSign": "{{ const[value].sign|raw }}" }, "info": [ From 84a7c4b170a1dc3528ec5795d77960876471544d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sat, 5 Jan 2019 15:38:06 +0100 Subject: [PATCH 18/28] culture: show info about material --- culture.json | 9 +++++++++ detailsBody.html | 8 -------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/culture.json b/culture.json index c2c91e4..4fbe618 100644 --- a/culture.json +++ b/culture.json @@ -66,6 +66,15 @@ " {{ enumerate(tags.artist_name) }}", " ", "{% endif %}", + "", + "{% if tags.material %}", + "
    • ", + " ", + " {{ keyTrans('material') }}:", + " {{ tagTransList('material', tags.material) }}", + "
    • ", + "{% endif %}", + "", "
    " ], "markerSign": "{{ attribute(const, key ~ '=' ~ value) }}" diff --git a/detailsBody.html b/detailsBody.html index bd5c84b..3c5a746 100644 --- a/detailsBody.html +++ b/detailsBody.html @@ -157,12 +157,4 @@ {% endif %} -{% if tags.material %} -
  • - - {{ keyTrans('material') }}: - {{ tagTransList('material', tags.material) }} -
  • -{% endif %} - From b967069df5d64500a63c12c63cc3f82228a29c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sun, 6 Jan 2019 08:17:53 +0100 Subject: [PATCH 19/28] Culture: show museum type (tag museum=*) --- culture.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/culture.json b/culture.json index 4fbe618..a9bd6ab 100644 --- a/culture.json +++ b/culture.json @@ -43,7 +43,13 @@ "{% set value = tags.tourism %}", "{% endif %}" ], - "description": "{{ tagTrans(key, value) }}", + "description": [ + "{{ tagTrans(key, value) }}", + "", + "{% if tags.tourism == 'museum' and tags.museum %}", + "({{ tagTrans('museum', tags.museum) }})", + "{% endif %}" + ], "body": [ "
      ", "{% if tags.inscription %}", From 354ef3f66e5d6ac4c794568656cd422e247f0d24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sun, 6 Jan 2019 08:42:34 +0100 Subject: [PATCH 20/28] culture: include shop=art --- culture.json | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/culture.json b/culture.json index a9bd6ab..e34c48f 100644 --- a/culture.json +++ b/culture.json @@ -30,6 +30,7 @@ "node[tourism~\"^(artwork|gallery|museum|theme_park)$\"];", "way[tourism~\"^(artwork|gallery|museum|theme_park)$\"];", "relation[tourism~\"^(artwork|gallery|museum|theme_park)$\"];", + "nwr[shop~\"^(art)$\"];", ")" ] }, @@ -41,10 +42,17 @@ "{% elseif tags.tourism %}", "{% set key = 'tourism' %}", "{% set value = tags.tourism %}", + "{% elseif tags.shop %}", + "{% set key = 'shop' %}", + "{% set value = tags.shop %}", "{% endif %}" ], "description": [ - "{{ tagTrans(key, value) }}", + "{% if key == 'shop' %}", + " {{ keyTrans(key) }} ({{ tagTrans(key, value) }})", + "{% else %}", + " {{ tagTrans(key, value) }}", + "{% endif %}", "", "{% if tags.tourism == 'museum' and tags.museum %}", "({{ tagTrans('museum', tags.museum) }})", @@ -83,7 +91,7 @@ "", "
    " ], - "markerSign": "{{ attribute(const, key ~ '=' ~ value) }}" + "markerSign": "{{ attribute(const, key ~ '=' ~ value)|raw }}" }, "const": { "amenity=arts_centre": "🎨", @@ -95,13 +103,14 @@ "tourism=artwork": "🎨 ", "tourism=gallery": "🖼", "tourism=museum": "🏛 ", - "tourism=theme_park": "" + "tourism=theme_park": "", + "shop=art": "" }, "info": [ "", "{% for value, sign in const %}", " ", - " ", + " ", " ", " ", "{% endfor %}", From d5c1b0869e5135bdc163f5fe4c0bcb51d546e16e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Sun, 6 Jan 2019 09:07:13 +0100 Subject: [PATCH 21/28] culture: show theatre:genre=* resp. community_centre=* --- culture.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/culture.json b/culture.json index e34c48f..25d0dc1 100644 --- a/culture.json +++ b/culture.json @@ -56,6 +56,12 @@ "", "{% if tags.tourism == 'museum' and tags.museum %}", "({{ tagTrans('museum', tags.museum) }})", + "{% endif %}", + "{% if tags.amenity == 'theatre' and attribute(tags, 'theatre:genre') %}", + "({{ tagTrans('theatre:genre', attribute(tags, 'theatre:genre')) }})", + "{% endif %}", + "{% if tags.amenity == 'community_centre' and tags.community_centre %}", + "({{ tagTrans('community_centre', tags.community_centre) }})", "{% endif %}" ], "body": [ From ee3265658b04fad107181399049c8b0520821022 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 22/28] 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 c2dbfc7c71ed62524f9c62a3c62ee1856fe7908b 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 23/28] 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 @@ "
    {{ markerCircle({})|raw }}
    {{ sign }}
    {{ markerCircle({})|raw }}
    {{ sign|raw }}
    {{ tagTrans(value|split('=')[0], value|split('=')[1]) }}
    ", "{% 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 7baa4648414abb86ba577da4011bb9dd8876a6b9 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 24/28] 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 f50bf37949f08879c814caf93e74281dda3e3083 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 25/28] 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 %}", From 5629a313c717ce7b648e0b273c07d099a8cae269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 10 Jan 2019 10:20:52 +0100 Subject: [PATCH 26/28] culture, historic, memorial, tourism_attractions: improve icons --- culture.json | 6 +++--- historic.json | 16 ++++++++++++---- memorial.json | 2 +- tourism_attractions.json | 10 +++++----- 4 files changed, 21 insertions(+), 13 deletions(-) diff --git a/culture.json b/culture.json index 25d0dc1..630f375 100644 --- a/culture.json +++ b/culture.json @@ -102,14 +102,14 @@ "const": { "amenity=arts_centre": "🎨", "amenity=cinema": "🎦", - "amenity=community_centre": "", + "amenity=community_centre": "", "amenity=fountain": "⛲", - "amenity=studio": "", + "amenity=studio": "", "amenity=theatre": "🎭", "tourism=artwork": "🎨 ", "tourism=gallery": "🖼", "tourism=museum": "🏛 ", - "tourism=theme_park": "", + "tourism=theme_park": "", "shop=art": "" }, "info": [ diff --git a/historic.json b/historic.json index b1be977..0042fc1 100644 --- a/historic.json +++ b/historic.json @@ -90,19 +90,27 @@ ], "const": { "archaeological_site": { - "sign": "", + "sign": "", "zoom": 11 }, "battlefield": { - "sign": "", + "sign": "⚔️", "zoom": 11 }, "castle": { - "sign": "", + "sign": "", "zoom": 11 }, + "building": { + "sign": "", + "zoom": 14 + }, "aircraft": { - "sign": "", + "sign": "", + "zoom": 14 + }, + "ruins": { + "sign": "", "zoom": 14 } } diff --git a/memorial.json b/memorial.json index 82e3495..300f321 100644 --- a/memorial.json +++ b/memorial.json @@ -102,7 +102,7 @@ "zoom": 14 }, "monument": { - "sign": "", + "sign": "", "zoom": 11 } } diff --git a/tourism_attractions.json b/tourism_attractions.json index 7fdfea7..d69b2b4 100644 --- a/tourism_attractions.json +++ b/tourism_attractions.json @@ -49,12 +49,12 @@ "const": { "aquarium": "🐟", "artwork": "🎨 ", - "attraction": "", + "attraction": "", "gallery": "🖼", - "museum": "", - "picnic_site": "", - "theme_park": "", - "viewpoint": "", + "museum": "", + "picnic_site": "", + "theme_park": "", + "viewpoint": "", "zoo": "🦁" } } From d9c72528ad38f2bd8ba8a92f30f9003fbeab981c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 10 Jan 2019 11:31:23 +0100 Subject: [PATCH 27/28] Include more office-tags (new category: law) --- communication.json | 30 ++++++++++++++++-- financial.json | 56 ++++++++++++++++++++++++++++------ index.json | 3 ++ law.json | 59 +++++++++++++++++++++++++++++++++++ organisations.json | 5 +++ public.json | 13 ++++---- tourism_services.json | 71 ++++++++++++++++++++++++++++++++++--------- 7 files changed, 203 insertions(+), 34 deletions(-) create mode 100644 law.json diff --git a/communication.json b/communication.json index dbdb662..83a90d3 100644 --- a/communication.json +++ b/communication.json @@ -25,14 +25,14 @@ "node[amenity~'^(post_office|internet_cafe)$'];", "way[amenity~'^(post_office|internet_cafe)$'];", "relation[amenity~'^(post_office|internet_cafe)$'];", - "nwr[office~\"^(telecommunication|it)$\"];", + "nwr[office~\"^(telecommunication|it|newspaper|publisher|advertising_agency)$\"];", ");" ], "16": [ "(node[amenity~'^(post_office|internet_cafe|post_box|telephone)$'];", "way[amenity~'^(post_office|internet_cafe)$'];", "relation[amenity~'^(post_office|internet_cafe)$'];", - "nwr[office~\"^(telecommunication|it)$\"];", + "nwr[office~\"^(telecommunication|it|newspaper|publisher|advertising_agency)$\"];", ");" ] }, @@ -95,13 +95,37 @@ "zoom": 13 }, "office=telecommunication": { - "sign": "", + "sign": "", "zoom": 13 }, "office=it": { "sign": "", "zoom": 13 }, + "office=newspaper": { + "sign": "", + "zoom": 13 + }, + "office=publisher": { + "sign": "", + "zoom": 13 + }, + "office=advertising_agency": { + "sign": "", + "zoom": 13 + }, + "office=public_relations": { + "sign": "", + "zoom": 13 + }, + "office=audiovisual_production": { + "sign": "", + "zoom": 13 + }, + "office=film_production": { + "sign": "", + "zoom": 13 + }, "amenity=telephone": { "sign": "", "zoom": 16 diff --git a/financial.json b/financial.json index b0ea37a..82b3bfb 100644 --- a/financial.json +++ b/financial.json @@ -31,37 +31,75 @@ "node[amenity~\"^(bank|bureau_de_change|atm)$\"];", "way[amenity~\"^(bank|bureau_de_change|atm)$\"];", "relation[amenity~\"^(bank|bureau_de_change|atm)$\"];", + "node[office~\"^(financial|accountant|insurance|tax|tax_advisor)$\"];", + "way[office~\"^(financial|accountant|insurance|tax|tax_advisor)$\"];", + "relation[office~\"^(financial|accountant|insurance|tax|tax_advisor)$\"];", ")" ] }, "feature": { - "description": "{{ tagTrans('amenity', tags.amenity) }}", - "markerSign": "{{ const[tags.amenity].sign|raw }}" + "pre": [ + "{% if tags.amenity %}", + " {% set key = 'amenity' %}", + " {% set value = tags.amenity %}", + "{% else %}", + " {% set key = 'office' %}", + " {% set value = tags.office %}", + "{% endif %}" + ], + "description": "{{ tagTrans(key, value) }}", + "markerSign": "{{ const[key ~ '=' ~ value].sign|raw }}" }, "info": [ "", - "{% for value, data in const %}", + "{% for kv, data in const %}", "{% if data.zoom <= map.zoom %}", " ", " ", - " ", + " ", " ", "{% endif %}", "{% endfor %}", "
    {{ markerCircle({})|raw }}
    {{ data.sign|raw }}
    {{ tagTrans('amenity', value) }}", + " {{ tagTrans(kv|split('=')[0], kv|split('=')[1]) }}", + "
    " ], "const": { - "atm": { - "sign": "", + "amenity=atm": { + "sign": "", "zoom": 15 }, - "bank": { - "sign": "", + "amenity=bank": { + "sign": "", "zoom": 14 }, - "bureau_de_change": { + "amenity=bureau_de_change": { "sign": "⇄", "zoom": 15 + }, + "office=financial": { + "sign": "", + "zoom": 15 + }, + "office=accountant": { + "sign": "", + "zoom": 15 + }, + "office=insurance": { + "sign": "", + "zoom": 15 + }, + "office=tax": { + "sign": "%", + "zoom": 15 + }, + "office=tax_advisor": { + "sign": "%", + "zoom": 15 + }, + "office=cooperative": { + "sign": "", + "zoom": 15 } } } diff --git a/index.json b/index.json index b2f3364..cff222f 100644 --- a/index.json +++ b/index.json @@ -95,6 +95,9 @@ { "id": "financial" }, + { + "id": "law" + }, { "id": "public" }, diff --git a/law.json b/law.json new file mode 100644 index 0000000..02beff1 --- /dev/null +++ b/law.json @@ -0,0 +1,59 @@ +{ + "type": "overpass", + "name": { + "en": "Law" + }, + "query": { + "14": [ + "(", + "node[amenity~\"^(courthouse)$\"];", + "way[amenity~\"^(courthouse)$\"];", + "relation[amenity~\"^(courthouse)$\"];", + "node[office~\"^(lawyer|notary)$\"];", + "way[office~\"^(lawyer|notary)$\"];", + "relation[office~\"^(lawyer|notary)$\"];", + ")" + ] + }, + "feature": { + "pre": [ + "{% if tags.amenity %}", + " {% set key = 'amenity' %}", + " {% set value = tags.amenity %}", + "{% else %}", + " {% set key = 'office' %}", + " {% set value = tags.office %}", + "{% endif %}" + ], + "description": "{{ tagTrans(key, value) }}", + "markerSign": "{{ const[key ~ '=' ~ value].sign|raw }}" + }, + "info": [ + "", + "{% for kv, data in const %}", + "{% if data.zoom <= map.zoom %}", + " ", + " ", + " ", + " ", + "{% endif %}", + "{% endfor %}", + "
    {{ markerCircle({})|raw }}
    {{ data.sign|raw }}
    ", + " {{ tagTrans(kv|split('=')[0], kv|split('=')[1]) }}", + "
    " + ], + "const": { + "amenity=courthouse": { + "sign": "", + "zoom": 14 + }, + "office=lawyer": { + "sign": "⚖", + "zoom": 14 + }, + "office=notary": { + "sign": "", + "zoom": 14 + } + } +} diff --git a/organisations.json b/organisations.json index dcc1aa4..a6652b3 100644 --- a/organisations.json +++ b/organisations.json @@ -66,6 +66,11 @@ "sign": "", "zoom": 13 }, + "office=foundation": { + "priority": 0, + "sign": "", + "zoom": 13 + }, "office=charity": { "priority": 0, "sign": "", diff --git a/public.json b/public.json index 63061c0..956e60a 100644 --- a/public.json +++ b/public.json @@ -21,9 +21,9 @@ "query": { "12": [ "(", - "node[amenity~'^(courthouse|embassy|public_building|townhall)$'];", - "way[amenity~'^(courthouse|embassy|public_building|townhall)$'];", - "relation[amenity~'^(courthouse|embassy|public_building|townhall)$'];", + "node[amenity~'^(embassy|public_building|townhall)$'];", + "way[amenity~'^(embassy|public_building|townhall)$'];", + "relation[amenity~'^(embassy|public_building|townhall)$'];", "node[amenity=recycling][recyling_type=centre];", "way[amenity=recycling][recyling_type=centre];", "relation[amenity=recycling][recyling_type=centre];", @@ -32,9 +32,9 @@ ], "16": [ "(", - "node[amenity~'^(courthouse|embassy|public_building|townhall|clock|drinking_water|recycling|toilets)$'];", - "way[amenity~'^(courthouse|embassy|public_building|townhall|recycling|toilets)$'];", - "relation[amenity~'^(courthouse|embassy|public_building|townhall|recycling|toilets)$'];", + "node[amenity~'^(embassy|public_building|townhall|clock|drinking_water|recycling|toilets)$'];", + "way[amenity~'^(embassy|public_building|townhall|recycling|toilets)$'];", + "relation[amenity~'^(embassy|public_building|townhall|recycling|toilets)$'];", "node[drinking_water];", "nwr[office~\"^(government|administration)$\"];", ");" @@ -80,7 +80,6 @@ "" ], "const": { - "amenity=courthouse": "⚖", "amenity=clock": "", "amenity=drinking_water": "", "amenity=embassy": "", diff --git a/tourism_services.json b/tourism_services.json index 721916e..d6e5ad2 100644 --- a/tourism_services.json +++ b/tourism_services.json @@ -25,6 +25,7 @@ "node[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|motel|wilderness_hut)$\"];", "way[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|motel|wilderness_hut)$\"];", "relation[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|motel|wilderness_hut)$\"];", + "nwr[office~\"^(guide|tourism|tourist_accommodation)$\"];", ")" ], "16": [ @@ -32,67 +33,107 @@ "node[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];", "way[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];", "relation[tourism~\"^(alpine_hut|apartment|camp_site|caravan_site|chalet|guest_house|hostel|hotel|information|motel|wilderness_hut)$\"];", + "nwr[office~\"^(guide|tourism|tourist_accommodation)$\"];", ")" ] }, "feature": { - "description": "{{ tagTrans('tourism', tags.tourism) }}", - "markerSign": "{{ const[tags.tourism].sign|raw }}" + "pre": [ + "{% if tags.tourism %}", + " {% set key = 'tourism' %}", + " {% set value = tags.tourism %}", + "{% else %}", + " {% set key = 'office' %}", + " {% set value = tags.office %}", + "{% endif %}" + ], + "description": [ + "{% if key == 'office' %}", + " {{ keyTrans('office') }} ({{ tagTrans('office', tags.office) }})", + "{% else %}", + " {{ tagTrans(key, value) }}", + "{% endif %}" + ], + "markerSign": [ + "{% set data = const[key ~ '=' ~ value] %}", + "{% if data %}", + "{{ data.sign|raw }}", + "{% endif %}" + ] }, "info": [ "", - "{% for value, data in const %}", + "{% for kv, data in const %}", "{% if data.zoom <= map.zoom %}", " ", " ", - " ", + " ", " ", "{% endif %}", "{% endfor %}", "
    {{ markerCircle({})|raw }}
    {{ data.sign|raw }}
    {{ tagTrans('tourism', value) }}", + " {% if kv|split('=')[0] == 'office' %}", + " {{ keyTrans('office') }}", + " ({{ tagTrans('office', kv|split('=')[1]) }})", + " {% else %}", + " {{ tagTrans(kv|split('=')[0], kv|split('=')[1]) }}", + " {% endif %}", + "
    " ], "const": { - "alpine_hut": { + "tourism=alpine_hut": { "sign": "🛌", "zoom": 13 }, - "apartment": { + "tourism=apartment": { "sign": "🛌", "zoom": 13 }, - "camp_site": { + "tourism=camp_site": { "sign": "⛺", "zoom": 13 }, - "caravan_site": { + "tourism=caravan_site": { "sign": "⛺", "zoom": 13 }, - "chalet": { + "tourism=chalet": { "sign": "🛌", "zoom": 13 }, - "guest_house": { + "tourism=guest_house": { "sign": "🛌", "zoom": 13 }, - "hostel": { + "tourism=hostel": { "sign": "🛌", "zoom": 13 }, - "hotel": { + "tourism=hotel": { "sign": "🛌", "zoom": 13 }, - "motel": { + "tourism=motel": { "sign": "🛌", "zoom": 13 }, - "wilderness_hut": { + "tourism=wilderness_hut": { "sign": "", "zoom": 13 }, - "information": { + "office=tourism": { + "sign": "", + "zoom": 13 + }, + "office=guide": { + "sign": "", + "zoom": 13 + }, + "office=tourist_accommodation": { + "sign": "🛌", + "zoom": 13 + }, + "tourism=information": { "sign": "ℹ️", "zoom": 16 } From a2e0f316f053638c2c0e4a9d8cbe00aa87c61778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= Date: Thu, 10 Jan 2019 11:31:56 +0100 Subject: [PATCH 28/28] religion: include some office tags --- religion.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/religion.json b/religion.json index ebdc2b6..b3e2c5a 100644 --- a/religion.json +++ b/religion.json @@ -38,6 +38,7 @@ "node[historic~\"^wayside_(cross|shrine|chapel)$\"];", "way[historic~\"^wayside_(cross|shrine|chapel)$\"];", "relation[historic~\"^wayside_(cross|shrine|chapel)$\"];", + "nwr[office~\"^(parish|religion)$\"];", ")" ] }, @@ -49,6 +50,9 @@ "{% elseif tags.historic in [ 'wayside_cross', 'wayside_shrine', 'wayside_chapel' ] %}", "{% set key = 'historic' %}", "{% set value = tags.historic %}", + "{% elseif tags.office %}", + "{% set key = 'office' %}", + "{% set value = tags.office %}", "{% else %}", "{% set key = 'amenity' %}", "{% set value = tags.amenity %}",