From 9a818b3a490780de0ff80bc914455d2c850be2e2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= <skunk@xover.mud.at>
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 000000000..63d23c7e9
--- /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 17b49fa78..94bb4a9af 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?= <skunk@xover.mud.at>
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 000000000..84c21afce
--- /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": [
+        "<div style='display: inline-block'>",
+        "{{ tagTrans('height') }}",
+        "<table>",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}</td>",
+        "    <td colspan>{{ trans('unknown') }}</td>",
+        "  </tr>",
+        "{% for i in range(0, 50, 10) %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], i / 50) })|raw }}</td>",
+        "    <td>{{ i }}m</td>",
+        "  </tr>",
+        "{% endfor %}",
+        "{% for i in range(100, 250, 50) %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i - 50) / 250) })|raw }}</td>",
+        "    <td>{{ i }}m</td>",
+        "  </tr>",
+        "{% endfor %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': 'yellow' })|raw }}</td>",
+        "    <td>≥300m</td>",
+        "  </tr>",
+        "</table>",
+        "</div>",
+        "",
+        "<div style='display: inline-block'>",
+        "{{ tagTrans('building:levels') }}",
+        "<table>",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}</td>",
+        "    <td colspan>{{ trans('unknown') }}</td>",
+        "  </tr>",
+        "{% for i in range(0, 12, 3) %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], (i * 3.5) / 50) })|raw }}</td>",
+        "    <td>{{ i }}</td>",
+        "  </tr>",
+        "{% endfor %}",
+        "{% for i in range(15, 84, 15) %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i * 3.5 - 50) / 250) })|raw }}</td>",
+        "    <td>{{ i }}</td>",
+        "  </tr>",
+        "{% endfor %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': 'yellow' })|raw }}</td>",
+        "    <td>≥85</td>",
+        "  </tr>",
+        "</table>",
+        "",
+        "</div>"
+    ]
+}
diff --git a/buildings.json b/buildings.json
index 94bb4a9af..0d77826a8 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?= <skunk@xover.mud.at>
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 000000000..04a0d67fc
--- /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": [
+        "<table>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1400\" }))|raw }}</td>",
+        "    <td>&lt;1500</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1500\" }))|raw }}</td>",
+        "    <td>1500</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1600\" }))|raw }}</td>",
+        "    <td>1600</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1700\" }))|raw }}</td>",
+        "    <td>1700</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1800\" }))|raw }}</td>",
+        "    <td>1800</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1900\" }))|raw }}</td>",
+        "    <td>1900</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"1950\" }))|raw }}</td>",
+        "    <td>1950</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"2000\" }))|raw }}</td>",
+        "    <td>2000</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"2020\" }))|raw }}</td>",
+        "    <td>2020</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"start_date\": \"xxx\" }))|raw }}</td>",
+        "    <td>unparseable start_date</td>",
+        "  </tr>",
+        "  <tr>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
+        "    <td>no start_date</td>",
+        "  </tr>",
+        "</table>"
+    ]
+}
diff --git a/buildings.json b/buildings.json
index 0d77826a8..cae67fd37 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?= <skunk@xover.mud.at>
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 04a0d67fc..fadac2069 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?= <skunk@xover.mud.at>
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 000000000..9c0fc4549
--- /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": [
+        "<div style='display: inline-block'>",
+        "{{ tagTrans('height') }}",
+        "<table>",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}</td>",
+        "    <td colspan>{{ trans('unknown') }}</td>",
+        "  </tr>",
+        "{% for i in range(0, 50, 10) %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], i / 50) })|raw }}</td>",
+        "    <td>{{ i }}m</td>",
+        "  </tr>",
+        "{% endfor %}",
+        "{% for i in range(100, 250, 50) %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i - 50) / 250) })|raw }}</td>",
+        "    <td>{{ i }}m</td>",
+        "  </tr>",
+        "{% endfor %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': 'yellow' })|raw }}</td>",
+        "    <td>≥300m</td>",
+        "  </tr>",
+        "</table>",
+        "</div>",
+        "",
+        "<div style='display: inline-block'>",
+        "{{ tagTrans('building:levels') }}",
+        "<table>",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}</td>",
+        "    <td colspan>{{ trans('unknown') }}</td>",
+        "  </tr>",
+        "{% for i in range(0, 12, 3) %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], (i * 3.5) / 50) })|raw }}</td>",
+        "    <td>{{ i }}</td>",
+        "  </tr>",
+        "{% endfor %}",
+        "{% for i in range(15, 84, 15) %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i * 3.5 - 50) / 250) })|raw }}</td>",
+        "    <td>{{ i }}</td>",
+        "  </tr>",
+        "{% endfor %}",
+        "  <tr>",
+        "    <td>{{ markerCircle({ 'fillColor': 'yellow' })|raw }}</td>",
+        "    <td>≥85</td>",
+        "  </tr>",
+        "</table>",
+        "",
+        "</div>"
+    ]
+}

From a66c807f628ba607f42975d7a2d7082163c3ee62 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= <skunk@xover.mud.at>
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 84c21afce..28c2e1490 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') }}",
         "<table>",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
         "    <td colspan>{{ trans('unknown') }}</td>",
         "  </tr>",
         "{% for i in range(0, 50, 10) %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], i / 50) })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}</td>",
         "    <td>{{ i }}m</td>",
         "  </tr>",
         "{% endfor %}",
         "{% for i in range(100, 250, 50) %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i - 50) / 250) })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}</td>",
         "    <td>{{ i }}m</td>",
         "  </tr>",
         "{% endfor %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': 'yellow' })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": \"300\" }))|raw }}</td>",
         "    <td>≥300m</td>",
         "  </tr>",
         "</table>",
@@ -78,23 +78,23 @@
         "{{ tagTrans('building:levels') }}",
         "<table>",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
         "    <td colspan>{{ trans('unknown') }}</td>",
         "  </tr>",
         "{% for i in range(0, 12, 3) %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], (i * 3.5) / 50) })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}</td>",
         "    <td>{{ i }}</td>",
         "  </tr>",
         "{% endfor %}",
         "{% for i in range(15, 84, 15) %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i * 3.5 - 50) / 250) })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}</td>",
         "    <td>{{ i }}</td>",
         "  </tr>",
         "{% endfor %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': 'yellow' })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": \"85\" }))|raw }}</td>",
         "    <td>≥85</td>",
         "  </tr>",
         "</table>",

From b388e23cef4a2127a823aa5291c4bb7161bf9316 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= <skunk@xover.mud.at>
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 9c0fc4549..95af524b8 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') }}",
         "<table>",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
         "    <td colspan>{{ trans('unknown') }}</td>",
         "  </tr>",
         "{% for i in range(0, 50, 10) %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], i / 50) })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}</td>",
         "    <td>{{ i }}m</td>",
         "  </tr>",
         "{% endfor %}",
         "{% for i in range(100, 250, 50) %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i - 50) / 250) })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}</td>",
         "    <td>{{ i }}m</td>",
         "  </tr>",
         "{% endfor %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': 'yellow' })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": \"300\" }))|raw }}</td>",
         "    <td>≥300m</td>",
         "  </tr>",
         "</table>",
@@ -64,27 +67,32 @@
         "{{ tagTrans('building:levels') }}",
         "<table>",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': '#7f7f7f' })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
         "    <td colspan>{{ trans('unknown') }}</td>",
         "  </tr>",
         "{% for i in range(0, 12, 3) %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['green', 'red'], (i * 3.5) / 50) })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}</td>",
         "    <td>{{ i }}</td>",
         "  </tr>",
         "{% endfor %}",
         "{% for i in range(15, 84, 15) %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': colorInterpolate(['red', 'yellow'], (i * 3.5 - 50) / 250) })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}</td>",
         "    <td>{{ i }}</td>",
         "  </tr>",
         "{% endfor %}",
         "  <tr>",
-        "    <td>{{ markerCircle({ 'fillColor': 'yellow' })|raw }}</td>",
+        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": \"85\" }))|raw }}</td>",
         "    <td>≥85</td>",
         "  </tr>",
         "</table>",
         "",
         "</div>"
-    ]
+    ],
+    "const": {
+        "yes": "#7f7f7f",
+        "apartments": "#ff0000",
+        "place_of_worship": "#af29cc"
+    }
 }
diff --git a/buildings.json b/buildings.json
index cae67fd37..ba4e1e0b4 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?= <skunk@xover.mud.at>
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 95af524b8..8ebe352fb 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": [
-        "<div style='display: inline-block'>",
-        "{{ tagTrans('height') }}",
         "<table>",
+        "{% for cat, data in const %}",
         "  <tr>",
-        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
-        "    <td colspan>{{ trans('unknown') }}</td>",
-        "  </tr>",
-        "{% for i in range(0, 50, 10) %}",
-        "  <tr>",
-        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}</td>",
-        "    <td>{{ i }}m</td>",
+        "    <td>{{ markerPolygon({ \"fillColor\": data.color, \"fillOpacity\": \"0.8\", \"width\": 1, \"color\": \"#000000\" })|raw }}</td>",
+        "    <td>{{ cat }}</td>",
         "  </tr>",
         "{% endfor %}",
-        "{% for i in range(100, 250, 50) %}",
-        "  <tr>",
-        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": i }))|raw }}</td>",
-        "    <td>{{ i }}m</td>",
-        "  </tr>",
-        "{% endfor %}",
-        "  <tr>",
-        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"height\": \"300\" }))|raw }}</td>",
-        "    <td>≥300m</td>",
-        "  </tr>",
-        "</table>",
-        "</div>",
-        "",
-        "<div style='display: inline-block'>",
-        "{{ tagTrans('building:levels') }}",
-        "<table>",
-        "  <tr>",
-        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\" }))|raw }}</td>",
-        "    <td colspan>{{ trans('unknown') }}</td>",
-        "  </tr>",
-        "{% for i in range(0, 12, 3) %}",
-        "  <tr>",
-        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}</td>",
-        "    <td>{{ i }}</td>",
-        "  </tr>",
-        "{% endfor %}",
-        "{% for i in range(15, 84, 15) %}",
-        "  <tr>",
-        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": i }))|raw }}</td>",
-        "    <td>{{ i }}</td>",
-        "  </tr>",
-        "{% endfor %}",
-        "  <tr>",
-        "    <td>{{ markerPolygon(evaluate({ \"building\": \"yes\", \"building:levels\": \"85\" }))|raw }}</td>",
-        "    <td>≥85</td>",
-        "  </tr>",
-        "</table>",
-        "",
-        "</div>"
+        "</table>"
     ],
     "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?= <skunk@xover.mud.at>
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 8ebe352fb..9536d62f1 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?= <skunk@xover.mud.at>
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 9536d62f1..f1eda471b 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?= <skunk@xover.mud.at>
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 000000000..583b2a817
--- /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 ba4e1e0b4..fe3010af6 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?= <skunk@xover.mud.at>
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 f1eda471b..09bb904b7 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 @@
         "<table>",
         "{% for cat, data in const %}",
         "  <tr>",
-        "    <td>{{ markerPolygon({ \"fillColor\": data.color, \"fillOpacity\": \"0.8\", \"width\": 1, \"color\": \"#000000\" })|raw }}</td>",
-        "    <td>{{ cat }}</td>",
+        "    <td valign='top'>{{ markerPolygon({ \"fillColor\": data.color, \"fillOpacity\": \"0.8\", \"width\": 1, \"color\": \"#000000\" })|raw }}</td>",
+        "    <td onclick='this.classList.toggle(\"infoShowDetails\")'><b>{{ trans(data.name) }}</b><span class='details'>:",
+        "      {% for i, type in data.types %}<span title='building={{ type }}'>{% if i > 0 %}, {% endif %}{{ tagTrans('building', type) }}</span>{% endfor %}",
+        "      </span>",
+        "<span class='summary'><i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i></span>",
+        "    </td>",
         "  </tr>",
         "{% endfor %}",
         "</table>"
     ],
     "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?= <skunk@xover.mud.at>
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 583b2a817..0950f11a3 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?= <skunk@xover.mud.at>
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 63d23c7e9..726fc2b84 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 %}",