[openstreetmap-carto] 02/09: Imported Upstream version 2.31.0

Sebastiaan Couwenberg sebastic at moszumanska.debian.org
Sun Aug 30 15:21:10 UTC 2015


This is an automated email from the git hooks/post-receive script.

sebastic pushed a commit to branch master
in repository openstreetmap-carto.

commit 18fcbfc24ae8945c893e6126132511c4a89c202b
Author: Bas Couwenberg <sebastic at xs4all.nl>
Date:   Sun Aug 30 16:57:00 2015 +0200

    Imported Upstream version 2.31.0
---
 .gitignore                   |   1 +
 aerialways.mss               |  23 +++-
 amenity-points.mss           | 244 ++++++++++++++++++++++++++++-------
 citywalls.mss                |  11 --
 landcover.mss                |  19 +--
 project.mml                  | 124 ++++++------------
 project.yaml                 | 301 +++++++++++++++++++++++++------------------
 roads.mss                    |   2 +-
 symbols/beauty-14.svg        |  40 ++++++
 symbols/beverages-14.svg     |  47 +++++++
 symbols/cable_car.png        | Bin 229 -> 0 bytes
 symbols/car_parts-14.svg     |  40 ++++++
 symbols/chair_lift.png       | Bin 230 -> 0 bytes
 symbols/chemist-14.svg       |  40 ++++++
 symbols/confectionery-14.svg |  33 +++++
 symbols/garden_centre-14.svg |  40 ++++++
 symbols/greengrocer-14.svg   |  40 ++++++
 symbols/hifi-14.svg          |  38 ++++++
 symbols/hostel.16.svg        |  40 ++++++
 symbols/hostel.p.20.png      | Bin 597 -> 0 bytes
 symbols/hotel.16.svg         |  40 ++++++
 symbols/hotel2.p.20.png      | Bin 368 -> 0 bytes
 symbols/laundry-14.svg       |  45 +++++++
 symbols/newsagent-14.svg     |  46 +++++++
 symbols/perfumery-14.svg     |  31 +++++
 symbols/photo-14.svg         |  31 +++++
 symbols/stationery-14.svg    |  33 +++++
 symbols/taxi.16.svg          |  14 ++
 symbols/tower_water.p.20.png | Bin 477 -> 0 bytes
 symbols/toys-14.svg          |  37 ++++++
 symbols/travel_agency-14.svg |  33 +++++
 symbols/view_point.p.16.png  | Bin 636 -> 0 bytes
 symbols/viewpoint.16.svg     |  14 ++
 symbols/water_park.16.svg    |  14 ++
 symbols/water_park.p.20.png  | Bin 802 -> 0 bytes
 symbols/water_tower.16.svg   |  41 ++++++
 symbols/windmill.16.svg      |  14 ++
 symbols/windmill.png         | Bin 617 -> 0 bytes
 symbols/zoo.png              | Bin 165 -> 0 bytes
 39 files changed, 1195 insertions(+), 281 deletions(-)

diff --git a/.gitignore b/.gitignore
index 3eead54..a5319ed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ layers/
 data/
 *.xml
 node_modules/
+localconfig.json
diff --git a/aerialways.mss b/aerialways.mss
index 6fef77f..07e6e82 100644
--- a/aerialways.mss
+++ b/aerialways.mss
@@ -3,7 +3,17 @@
   [aerialway = 'gondola'],
   [aerialway = 'goods'] {
     [zoom >= 12] {
-      line-pattern-file: url('symbols/cable_car.png');
+      line/line-width: 1;
+      line/line-join: round;
+      line/line-cap: round;
+      line/line-color: #808080;
+
+      dash/line-width: 3;
+      dash/line-join: round;
+      dash/line-cap: round;
+      dash/line-color: black;
+      dash/line-dasharray: 0.4,13;
+      dash/line-clip: false;
     }
   }
 
@@ -14,7 +24,16 @@
   [aerialway = 'platter'],
   [aerialway = 'rope_tow'] {
     [zoom >= 12] {
-      line-pattern-file: url('symbols/chair_lift.png');
+      line/line-width: 1;
+      line/line-join: round;
+      line/line-cap: round;
+      line/line-color: #808080;
+
+      dash/line-width: 4;
+      dash/line-join: round;
+      dash/line-color: black;
+      dash/line-dasharray: 1,30;
+      dash/line-clip: false;
     }
   }
 }
diff --git a/amenity-points.mss b/amenity-points.mss
old mode 100644
new mode 100755
index 62386be..3cec897
--- a/amenity-points.mss
+++ b/amenity-points.mss
@@ -78,6 +78,13 @@
     point-placement: interior;
   }
 
+  [feature = 'amenity_taxi'][zoom >= 16] {
+    marker-file: url('symbols/taxi.16.svg');
+    marker-fill: @transportation-icon;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
   [feature = 'highway_traffic_signals'][zoom >= 17] {
     marker-file: url('symbols/traffic_light.svg');
     marker-fill: #0a0a0a;
@@ -169,13 +176,17 @@
   }
 
   [feature = 'tourism_hostel'][zoom >= 17] {
-    point-file: url('symbols/hostel.p.20.png');
-    point-placement: interior;
+    marker-file: url('symbols/hostel.16.svg');
+    marker-placement: interior;
+    marker-clip: false;
+    marker-fill: @transportation-icon;
   }
 
   [feature = 'tourism_hotel'][zoom >= 17] {
-    point-file: url('symbols/hotel2.p.20.png');
-    point-placement: interior;
+    marker-file: url('symbols/hotel.16.svg');
+    marker-placement: interior;
+    marker-clip: false;
+    marker-fill: @transportation-icon;
   }
 
   [feature = 'tourism_motel'][zoom >= 17] {
@@ -253,6 +264,7 @@
     marker-clip: false;
   }
 
+  [feature = 'amenity_clinic'][zoom >= 16],
   [feature = 'amenity_doctors'][zoom >= 17] {
     marker-file: url('symbols/doctors.16.svg');
     marker-fill: @health-color;
@@ -332,7 +344,7 @@
     marker-clip: false;
   }
 
-  [feature = 'amenity_recycling'][zoom >= 16] {
+  [feature = 'amenity_recycling'][zoom >= 17] {
     marker-file: url('symbols/recycling.16.svg');
     marker-fill: @amenity-brown;
     marker-placement: interior;
@@ -396,13 +408,17 @@
   }
 
   [feature = 'tourism_viewpoint'][zoom >= 16] {
-    point-file: url('symbols/view_point.p.16.png');
-    point-placement: interior;
+    marker-file: url('symbols/viewpoint.16.svg');
+    marker-placement: interior;
+    marker-fill: @amenity-brown;
+    marker-clip: false;
   }
 
   [feature = 'man_made_water_tower'][zoom >= 17] {
-    point-file: url('symbols/tower_water.p.20.png');
-    point-placement: interior;
+    marker-file: url('symbols/water_tower.16.svg');
+    marker-fill: @man-made-icon;
+    marker-placement: interior;
+    marker-clip: false;
   }
 
   [feature = 'historic_memorial'][zoom >= 17] {
@@ -448,6 +464,20 @@
     marker-clip: false;
   }
 
+  [feature = 'shop_beauty'][zoom >= 17] {
+    marker-file: url('symbols/beauty-14.svg');
+    marker-fill: @shop-icon;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
+  [feature = 'shop_beverages'][zoom >= 17] {
+    marker-file: url('symbols/beverages-14.svg');
+    marker-placement: interior;
+    marker-clip: false;
+    marker-fill: @shop-icon;
+  }
+
   [feature = 'shop_books'][zoom >= 17] {
     marker-file: url('symbols/shop_books.16.svg');
     marker-fill: @shop-icon;
@@ -461,6 +491,13 @@
     marker-clip: false;
   }
 
+  [feature = 'shop_chemist'][zoom >= 17] {
+    marker-file: url('symbols/chemist-14.svg');
+    marker-fill: @shop-icon;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
   [feature = 'shop_clothes'],
   [feature = 'shop_fashion'] {
     [zoom >= 17] {
@@ -478,6 +515,23 @@
     marker-fill: @shop-icon;
   }
 
+  [feature = 'shop_confectionery'][zoom >= 17] {
+    marker-file: url('symbols/confectionery-14.svg');
+    marker-fill: @shop-icon;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
+  [feature = 'shop_cosmetics'],
+  [feature = 'shop_perfumery'] {
+    [zoom >= 17] {
+      marker-file: url('symbols/perfumery-14.svg');
+      marker-placement: interior;
+      marker-clip: false;
+      marker-fill: @shop-icon;
+    }
+  }
+
   [feature = 'shop_department_store'][zoom >= 16] {
     point-file: url('symbols/department_store.p.16.png');
     point-placement: interior;
@@ -493,6 +547,16 @@
     }
   }
 
+  [feature = 'shop_dry_cleaning'],
+  [feature = 'shop_laundry'] {
+    [zoom >= 17] {
+      marker-file: url('symbols/laundry-14.svg');
+      marker-placement: interior;
+      marker-clip: false;
+      marker-fill: @shop-icon;
+    }
+  }
+
   [feature = 'shop_florist'][zoom >= 17] {
     marker-file: url('symbols/florist.16.svg');
     marker-placement: interior;
@@ -500,6 +564,23 @@
     marker-fill: @shop-icon;
   }
 
+  [feature = 'shop_garden_centre'][zoom >= 17] {
+    marker-file: url('symbols/garden_centre-14.svg');
+    marker-placement: interior;
+    marker-clip: false;
+    marker-fill: @shop-icon;
+  }
+
+  [feature = 'shop_greengrocer'],
+  [feature = 'shop_farm'] {
+    [zoom >= 17] {
+      marker-file: url('symbols/greengrocer-14.svg');
+      marker-placement: interior;
+      marker-clip: false;
+      marker-fill: @shop-icon;
+    }
+  }
+
   [feature = 'shop_hairdresser'][zoom >= 17] {
     marker-file: url('symbols/shop_hairdresser.16.svg');
     marker-placement: interior;
@@ -507,6 +588,13 @@
     marker-fill: @shop-icon;
   }
 
+  [feature = 'shop_hifi'][zoom >= 17] {
+    marker-file: url('symbols/hifi-14.svg');
+    marker-placement: interior;
+    marker-clip: false;
+    marker-fill: @shop-icon;
+  }
+
   [feature = 'shop_car'][zoom >= 17] {
     marker-file: url('symbols/shop_car.svg');
     marker-placement: interior;
@@ -514,6 +602,13 @@
     marker-fill: @shop-icon;
   }
 
+  [feature = 'shop_car_parts'][zoom >= 17] {
+    marker-file: url('symbols/car_parts-14.svg');
+    marker-fill: @shop-icon;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
   [feature = 'shop_car_repair'][zoom >= 17] {
     marker-file: url('symbols/shopping_car_repair.16.svg');
     marker-placement: interior;
@@ -535,6 +630,17 @@
     marker-fill: @shop-icon;
   }
 
+  [feature = 'shop_photo'],
+  [feature = 'shop_photo_studio'],
+  [feature = 'shop_photography'] {
+    [zoom >= 17] {
+      marker-file: url('symbols/photo-14.svg');
+      marker-placement: interior;
+      marker-clip: false;
+      marker-fill: @shop-icon;
+    }
+  }
+
   [feature = 'shop_shoes'][zoom >= 17] {
     marker-file: url('symbols/shop_shoes.16.svg');
     marker-placement: interior;
@@ -583,7 +689,17 @@
     marker-clip: false;
     marker-fill: @shop-icon;
   }
-  
+
+  [feature = 'shop_kiosk'],
+  [feature = 'shop_newsagent'] {
+    [zoom >= 17] {
+      marker-file: url('symbols/newsagent-14.svg');
+      marker-placement: interior;
+      marker-clip: false;
+      marker-fill: @shop-icon;
+    }
+  }
+
   [feature = 'shop_jewelry'],
   [feature = 'shop_jewellery'] {
     [zoom >= 17] {
@@ -594,9 +710,32 @@
     }
   }
 
+  [feature = 'shop_toys'][zoom >= 17] {
+    marker-file: url('symbols/toys-14.svg');
+    marker-fill: @shop-icon;
+    marker-placement: interior;
+    marker-clip: false;
+  }
+
+  [feature = 'shop_travel_agency'][zoom >= 17] {
+    marker-file: url('symbols/travel_agency-14.svg');
+    marker-placement: interior;
+    marker-clip: false;
+    marker-fill: @shop-icon;
+  }
+
+  [feature = 'shop_stationery'][zoom >= 17] {
+    marker-file: url('symbols/stationery-14.svg');
+    marker-placement: interior;
+    marker-clip: false;
+    marker-fill: @shop-icon;
+  }
+
   [feature = 'leisure_water_park'][zoom >= 17] {
-    point-file: url('symbols/water_park.p.20.png');
-    point-placement: interior;
+    marker-file: url('symbols/water_park.16.svg');
+    marker-placement: interior;
+    marker-fill: @amenity-brown;
+    marker-clip: false;
   }
 
   [feature = 'leisure_playground'][zoom >= 17] {
@@ -702,8 +841,10 @@
   }
 
   [feature = 'man_made_windmill'][zoom >= 16] {
-    point-file: url('symbols/windmill.png');
-    point-placement: interior;
+    marker-file: url('symbols/windmill.16.svg');
+    marker-placement: interior;
+    marker-fill: @amenity-brown;
+    marker-clip: false;
   }
 
   [feature = 'amenity_hunting_stand'][zoom >= 16] {
@@ -970,9 +1111,11 @@
     text-name: "[name]";
     text-size: 10;
     text-fill: black;
-    [feature = 'natural_cave_entrance'] { text-dy: 11; }
+    [feature = 'natural_cave_entrance'],
+    [feature = 'man_made_water_tower'] {
+      text-dy: 11;
+    }
     [feature = 'man_made_mast']         { text-dy: 10; }
-    [feature = 'man_made_water_tower']  { text-dy: 13; }
     text-face-name: @book-fonts;
     text-halo-radius: 1;
     text-halo-fill: rgba(255,255,255,0.6);
@@ -1040,7 +1183,7 @@
       text-name: "[name]";
       text-size: 11;
       text-fill: darken(@park, 60%);
-      text-dy: 13;
+      text-dy: 11;
       text-face-name: @book-fonts;
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
@@ -1492,17 +1635,14 @@
     text-name: "[name]";
     text-size: 10;
     text-fill: #0066ff;
-    text-dy: 13;
+    text-dy: 11;
     text-face-name: @book-fonts;
     text-halo-radius: 1;
     text-halo-fill: rgba(255,255,255,0.6);
     text-wrap-width: @standard-wrap-width;
     text-placement: interior;
-    [feature = 'tourism_alpine_hut'],
-    [feature = 'amenity_shelter'],
-    [feature = 'tourism_chalet'],
-    [feature = 'tourism_guest_house'] {
-      text-dy: 11;
+    [feature = 'tourism_motel'] {
+      text-dy: 13;
     }
     [feature = 'tourism_camp_site'] {
       text-dy: 15;
@@ -1521,6 +1661,18 @@
     text-placement: interior;
   }
 
+  [feature = 'amenity_taxi'][zoom >= 16] {
+    text-name: "[name]";
+    text-size: 9;
+    text-fill: #0066ff;
+    text-dy: 11;
+    text-face-name: @book-fonts;
+    text-halo-radius: 1;
+    text-halo-fill: rgba(255,255,255,0.6);
+    text-wrap-width: @standard-wrap-width;
+    text-placement: interior;
+  }
+
   [feature = 'highway_bus_stop'],
   [feature = 'amenity_fuel'],
   [feature = 'amenity_bus_station'] {
@@ -1573,14 +1725,15 @@
     }
   }
 
-  [feature = 'tourism_theme_park'][is_building = 'no'] {
+  [feature = 'tourism_theme_park'][is_building = 'no'],
+  [feature = 'tourism_zoo'][is_building = 'no'] {
     [zoom >= 13][way_pixels > 3000],
     [zoom >= 17] {
       text-name: "[name]";
       text-size: @landcover-font-size;
       [way_pixels > 12000] { text-size: @landcover-font-size-big; }
       [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: @theme_park;
+      text-fill: @tourism;
       text-face-name: @bold-fonts; /*rendered bold to improve visibility since theme parks tend to have crowded backgrounds*/
       text-halo-radius: 1;
       text-halo-fill: rgba(255,255,255,0.6);
@@ -1680,6 +1833,8 @@
     text-placement: interior;
   }
 
+
+  [feature = 'amenity_clinic'],
   [feature = 'amenity_pharmacy'],
   [feature = 'amenity_doctors'],
   [feature = 'amenity_dentist'] {
@@ -1697,28 +1852,49 @@
   }
 
   [feature = 'shop_bakery'],
+  [feature = 'shop_beauty'],
+  [feature = 'shop_beverages'],
   [feature = 'shop_books'],
   [feature = 'shop_clothes'],
   [feature = 'shop_fashion'],
   [feature = 'shop_convenience'],
+  [feature = 'shop_confectionery'],
   [feature = 'shop_doityourself'],
+  [feature = 'shop_dry_cleaning'],
   [feature = 'shop_hardware'],
   [feature = 'shop_hairdresser'],
+  [feature = 'shop_hifi'],
   [feature = 'shop_butcher'],
   [feature = 'shop_car'],
   [feature = 'shop_car_repair'],
+  [feature = 'shop_car_parts'],
+  [feature = 'shop_cosmetics'],
   [feature = 'shop_bicycle'],
+  [feature = 'shop_farm'],
   [feature = 'shop_florist'],
+  [feature = 'shop_garden_centre'],
+  [feature = 'shop_greengrocer'],
   [feature = 'shop_pet'],
+  [feature = 'shop_photo'],
+  [feature = 'shop_photo_studio'],
+  [feature = 'shop_photography'],
   [feature = 'shop_shoes'],
   [feature = 'shop_gift'],
   [feature = 'shop_electronics'],
   [feature = 'shop_alcohol'],
   [feature = 'shop_optician'],
+  [feature = 'shop_perfumery'],
   [feature = 'shop_furniture'],
+  [feature = 'shop_kiosk'],
   [feature = 'shop_mobile_phone'],
+  [feature = 'shop_newsagent'],
   [feature = 'shop_jewelry'],
   [feature = 'shop_jewellery'],
+  [feature = 'shop_laundry'],
+  [feature = 'shop_chemist'],
+  [feature = 'shop_toys'],
+  [feature = 'shop_travel_agency'],
+  [feature = 'shop_stationery'],
   [feature = 'shop_other']{
     [zoom >= 17] {
       text-name: "[name]";
@@ -1795,24 +1971,6 @@
     text-placement: interior;
   }
 
-  [feature = 'tourism_zoo'][is_building = 'no'] {
-    [zoom >= 10][way_pixels > 3000],
-    [zoom >= 17] {
-      text-name: "[name]";
-      text-size: @landcover-font-size;
-      [way_pixels > 12000] { text-size: @landcover-font-size-big; }
-      [way_pixels > 48000] { text-size: @landcover-font-size-bigger; }
-      text-fill: darken(@zoo, 40%);
-      text-face-name: @landcover-face-name;
-      text-halo-radius: 1;
-      text-halo-fill: rgba(255,255,255,0.6);
-      text-wrap-width: @landcover-wrap-width-size;
-      [way_pixels > 12000] {text-wrap-width: @landcover-wrap-width-size-big; }
-      [way_pixels > 48000] {text-wrap-width: @landcover-wrap-width-size-bigger; }
-      text-placement: interior;
-    }
-  }
-
   [feature = 'power_station'][is_building = 'no'][zoom >= 10],
   [feature = 'power_generator'][is_building = 'no'][zoom >= 10],
   [feature = 'power_sub_station'][is_building = 'no'][zoom >= 13],
diff --git a/citywalls.mss b/citywalls.mss
index 02ae59d..54202ff 100644
--- a/citywalls.mss
+++ b/citywalls.mss
@@ -11,14 +11,3 @@
     }
   }
 }
-
-.castlewalls {
-  [zoom >= 14] {
-    line-color: #999;
-    line-width: 1;
-  }
-  [zoom >= 16] {
-    line-color: #888;
-    line-width: 2;
-  }
-}
diff --git a/landcover.mss b/landcover.mss
index 627424b..4bb0f94 100644
--- a/landcover.mss
+++ b/landcover.mss
@@ -56,10 +56,9 @@
 @school: #f0f0d8; // also university, college, hospital, kindergarten
 @station: #d4aaaa;
 @orchard: #9ed88f;
- at theme_park: #734a08;
+ at tourism: #734a08;
 @quarry: #c5c3c3;
 @military: #f55;
- at zoo: #a4f3a1;
 @beach: #fff1ba;
 
 #landcover-low-zoom[zoom < 10],
@@ -223,13 +222,6 @@
     }
   }
 
-  [feature = 'tourism_zoo'][zoom >= 10] {
-    polygon-fill: @zoo;
-    polygon-pattern-file: url('symbols/zoo.png');
-    [way_pixels >= 4]  { polygon-pattern-gamma: 0.75; }
-    [way_pixels >= 64] { polygon-pattern-gamma: 0.3;  }
-  }
-
   [feature = 'leisure_common'][zoom >= 10] {
     polygon-fill: @grass;
     [way_pixels >= 4]  { polygon-gamma: 0.75; }
@@ -631,17 +623,18 @@
   }
 }
 
-#theme-park {
-  [tourism = 'theme_park'][zoom >= 13] {
+#tourism-boundary {
+  [tourism = 'zoo'][zoom >= 10],
+  [tourism = 'theme_park'][zoom >= 10] {
     a/line-width: 1;
     a/line-offset: -0.5;
-    a/line-color: @theme_park;
+    a/line-color: @tourism;
     a/line-opacity: 0.5;
     a/line-join: round;
     a/line-cap: round;
     b/line-width: 4;
     b/line-offset: -2;
-    b/line-color: @theme_park;
+    b/line-color: @tourism;
     b/line-opacity: 0.3;
     b/line-join: round;
     b/line-cap: round;
diff --git a/project.mml b/project.mml
index c5e8b82..548e800 100644
--- a/project.mml
+++ b/project.mml
@@ -100,7 +100,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way, name, way_pixels,\n    COALESCE(wetland, landuse, \"natural\") AS feature\n  FROM (SELECT\n      way, COALESCE(name, '') AS name,\n      ('landuse_' || (CASE WHEN landuse IN ('forest') THEN landuse ELSE NULL END)) AS landuse,\n      ('natural_' || (CASE WHEN \"natural\" IN ('wood', 'sand', 'scree', 'shingle', 'bare_rock') THEN \"natural\" ELSE NULL END)) AS \"natural\",\n      ('wetland_' || (CASE WHEN \"natural\" IN ('wetland', 'mud') THEN (CASE WHEN  [...]
+        "table": "(SELECT\n    way, name, way_pixels,\n    COALESCE(wetland, landuse, \"natural\") AS feature\n  FROM (SELECT\n      way, COALESCE(name, '') AS name,\n      ('landuse_' || (CASE WHEN landuse IN ('forest') THEN landuse ELSE NULL END)) AS landuse,\n      ('natural_' || (CASE WHEN \"natural\" IN ('wood', 'sand', 'scree', 'shingle', 'bare_rock') THEN \"natural\" ELSE NULL END)) AS \"natural\",\n      ('wetland_' || (CASE WHEN \"natural\" IN ('wetland', 'mud') THEN (CASE WHEN  [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -126,7 +126,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way, name, religion, way_pixels,\n    COALESCE(aeroway, amenity, wetland, landuse, leisure, military, \"natural\", power, tourism, highway, railway) AS feature\n  FROM (SELECT\n      way, COALESCE(name, '') AS name,\n      ('aeroway_' || (CASE WHEN aeroway IN ('apron', 'aerodrome') THEN aeroway ELSE NULL END)) AS aeroway,\n      ('amenity_' || (CASE WHEN amenity IN ('parking', 'bicycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', [...]
+        "table": "(SELECT\n    way, name, religion, way_pixels,\n    COALESCE(aeroway, amenity, wetland, landuse, leisure, military, \"natural\", power, tourism, highway, railway) AS feature\n  FROM (SELECT\n      way, COALESCE(name, '') AS name,\n      ('aeroway_' || (CASE WHEN aeroway IN ('apron', 'aerodrome') THEN aeroway ELSE NULL END)) AS aeroway,\n      ('amenity_' || (CASE WHEN amenity IN ('parking', 'bicycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -231,7 +231,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way, \"natural\", waterway, landuse, name, way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels\n  FROM planet_osm_polygon\n  WHERE\n    (waterway IN ('dock', 'riverbank', 'canal')\n      OR landuse IN ('reservoir', 'basin')\n      OR \"natural\" IN ('water', 'glacier'))\n    AND building IS NULL\n    AND way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) > 0.01\n  ORDER BY z_order, way_area DESC\n) AS water_areas",
+        "table": "(SELECT\n    way,\n    \"natural\",\n    waterway,\n    landuse,\n    name,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels\n  FROM planet_osm_polygon\n  WHERE\n    (waterway IN ('dock', 'riverbank', 'canal')\n      OR landuse IN ('reservoir', 'basin')\n      OR \"natural\" IN ('water', 'glacier'))\n    AND building IS NULL\n    AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real\n  ORDER BY z_order, way_area DESC\n) AS water_areas",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -257,7 +257,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    CASE WHEN \"natural\" IN ('marsh', 'mud') THEN \"natural\" ELSE wetland END AS int_wetland\n  FROM planet_osm_polygon\n  WHERE \"natural\" IN ('marsh', 'mud', 'wetland')\n    AND building IS NULL\n  ORDER BY z_order, way_area DESC\n) AS water_areas_overlay",
+        "table": "(SELECT\n    way,\n    CASE WHEN \"natural\" IN ('marsh', 'mud') THEN \"natural\" ELSE wetland END AS int_wetland\n  FROM planet_osm_polygon\n  WHERE \"natural\" IN ('marsh', 'mud', 'wetland')\n    AND building IS NULL\n    AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real\n  ORDER BY z_order, way_area DESC\n) AS water_areas_overlay",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -465,7 +465,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    building\n  FROM planet_osm_polygon\n  WHERE building IS NOT NULL\n    AND building != 'no'\n  ORDER BY z_order, way_area DESC\n) AS buildings",
+        "table": "(SELECT\n    way,\n    building\n  FROM planet_osm_polygon\n  WHERE building IS NOT NULL\n    AND building != 'no'\n    AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real\n  ORDER BY z_order, way_area DESC\n) AS buildings",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -491,7 +491,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    building,\n    amenity,\n    aeroway\n  FROM planet_osm_polygon\n  WHERE building IS NOT NULL\n    AND building != 'no'\n    AND (aeroway = 'terminal' OR amenity = 'place_of_worship')\n  ORDER BY z_order, way_area DESC)\nAS buildings_major",
+        "table": "(SELECT\n    way,\n    building,\n    amenity,\n    aeroway\n  FROM planet_osm_polygon\n  WHERE building IS NOT NULL\n    AND building != 'no'\n    AND (aeroway = 'terminal' OR amenity = 'place_of_worship')\n    AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real\n  ORDER BY z_order, way_area DESC)\nAS buildings_major",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -540,60 +540,11 @@
       "srs-name": "900913",
       "geometry": "linestring",
       "class": "",
-      "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
-      "Datasource": {
-        "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way\n  FROM planet_osm_line\n  WHERE historic = 'citywalls')\nAS citywalls",
-        "geometry_field": "way",
-        "type": "postgis",
-        "key_field": "",
-        "dbname": "gis"
-      },
-      "extent": [
-        -180,
-        -85.05112877980659,
-        180,
-        85.05112877980659
-      ],
       "id": "citywalls",
-      "advanced": {}
-    },
-    {
-      "name": "castlewalls",
-      "srs-name": "900913",
-      "geometry": "linestring",
-      "class": "castlewalls",
-      "id": "castlewalls",
-      "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
-      "Datasource": {
-        "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way\n  FROM planet_osm_line\n  WHERE historic = 'castle_walls'\n) AS castlewalls",
-        "geometry_field": "way",
-        "type": "postgis",
-        "key_field": "",
-        "dbname": "gis"
-      },
-      "extent": [
-        -180,
-        -85.05112877980659,
-        180,
-        85.05112877980659
-      ],
-      "properties": {
-        "minzoom": 14
-      },
-      "advanced": {}
-    },
-    {
-      "name": "castlewalls-poly",
-      "srs-name": "900913",
-      "geometry": "polygon",
-      "class": "castlewalls",
-      "id": "castlewalls-poly",
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way\n  FROM planet_osm_polygon\n  WHERE historic = 'castle_walls'\n) AS castlewalls_poly",
+        "table": "(SELECT\n    way\n  FROM planet_osm_line\n  WHERE historic = 'citywalls')\nAS citywalls",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1010,7 +961,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way FROM planet_osm_line WHERE highway = 'bus_guideway' AND (tunnel IS NULL OR tunnel != 'yes')) AS guideways",
+        "table": "(SELECT\n    way\n  FROM planet_osm_line\n  WHERE highway = 'bus_guideway' AND (tunnel IS NULL OR tunnel != 'yes')\n) AS guideways",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1115,7 +1066,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way FROM planet_osm_line WHERE \"power\" = 'minor_line') AS power_minorline",
+        "table": "(SELECT\n    way\n  FROM planet_osm_line\n  WHERE power = 'minor_line'\n) AS power_minorline",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1141,7 +1092,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way FROM planet_osm_line WHERE \"power\" = 'line') AS power_line",
+        "table": "(SELECT\n    way\n  FROM planet_osm_line\n  WHERE power = 'line'\n) AS power_line",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1167,7 +1118,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    name,\n    boundary,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels\n  FROM planet_osm_polygon\n  WHERE (boundary = 'national_park' OR leisure = 'nature_reserve')\n    AND building IS NULL\n) AS national_park_boundaries",
+        "table": "(SELECT\n    way,\n    name,\n    boundary,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels\n  FROM planet_osm_polygon\n  WHERE (boundary = 'national_park' OR leisure = 'nature_reserve')\n    AND building IS NULL\n    AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real\n) AS national_park_boundaries",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1185,15 +1136,15 @@
       "advanced": {}
     },
     {
-      "name": "theme-park",
+      "name": "tourism-boundary",
       "srs-name": "900913",
       "geometry": "polygon",
       "class": "",
-      "id": "theme-park",
+      "id": "tourism-boundary",
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way, name, tourism FROM planet_osm_polygon WHERE tourism = 'theme_park') AS theme_park",
+        "table": "(SELECT\n    way,\n    name,\n    tourism\n  FROM planet_osm_polygon\n  WHERE tourism = 'theme_park'\n    OR tourism = 'zoo'\n) AS tourism_boundary",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1206,7 +1157,7 @@
         85.05112877980659
       ],
       "properties": {
-        "minzoom": 13
+        "minzoom": 10
       },
       "advanced": {}
     },
@@ -1219,7 +1170,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    name,\n    ref,\n    admin_level\n  FROM planet_osm_polygon\n  WHERE boundary = 'administrative'\n    AND admin_level IN ('2', '4')\n) AS placenames_large",
+        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    name,\n    ref,\n    admin_level\n  FROM planet_osm_polygon\n  WHERE boundary = 'administrative'\n    AND admin_level IN ('2', '4')\n    AND name IS NOT NULL\n  ORDER BY admin_level ASC, way_area DESC\n) AS placenames_large",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1271,7 +1222,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    place,\n    name,\n    ref\n  FROM planet_osm_point\n  WHERE place IN ('city', 'town')\n    AND capital IN ('yes', '4')\n) AS placenames_capital",
+        "table": "(SELECT\n    way,\n    place,\n    name,\n    ref\n  FROM planet_osm_point\n  WHERE place IN ('city', 'town')\n    AND capital IN ('yes', '4')\n    AND name IS NOT NULL\n) AS placenames_capital",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1298,7 +1249,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    place,\n    name\n  FROM planet_osm_point\n  WHERE place IN ('city', 'town')\n    AND (capital IS NULL OR capital NOT IN ('yes', '4'))\n) AS placenames_medium",
+        "table": "(SELECT\n    way,\n    place,\n    name\n  FROM planet_osm_point\n  WHERE place IN ('city', 'town')\n    AND (capital IS NULL OR capital NOT IN ('yes', '4'))\n    AND name IS NOT NULL\n) AS placenames_medium",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1324,7 +1275,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way, place, name\n      FROM planet_osm_point\n      WHERE place IN ('suburb', 'village', 'hamlet', 'neighbourhood', 'locality', 'isolated_dwelling', 'farm')\n      ) AS placenames_small",
+        "table": "(SELECT\n    way,\n    place,\n    name\n  FROM planet_osm_point\n  WHERE place IN ('suburb', 'village', 'hamlet', 'neighbourhood', 'locality', 'isolated_dwelling', 'farm')\n    AND name IS NOT NULL\n) AS placenames_small",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1428,7 +1379,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sha [...]
+        "table": "(SELECT\n    way,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sha [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1454,7 +1405,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sha [...]
+        "table": "(SELECT\n    way,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sha [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1480,7 +1431,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way FROM planet_osm_point WHERE power = 'tower') AS power_towers",
+        "table": "(SELECT\n    way\n  FROM planet_osm_point\n  WHERE power = 'tower'\n) AS power_towers",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1506,7 +1457,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way FROM planet_osm_point WHERE power = 'pole') AS power_poles",
+        "table": "(SELECT\n    way\n  FROM planet_osm_point\n  WHERE power = 'pole'\n) AS power_poles",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1559,7 +1510,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "     (SELECT way, highway, junction, ref, name\n      FROM planet_osm_point\n      WHERE highway = 'motorway_junction' OR highway = 'traffic_signals' OR junction = 'yes'\n     ) AS junctions",
+        "table": "(SELECT\n    way,\n    highway,\n    junction,\n    ref,\n    name\n  FROM planet_osm_point\n  WHERE highway = 'motorway_junction' OR highway = 'traffic_signals' OR junction = 'yes'\n) AS junctions",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1611,7 +1562,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "      (SELECT way, way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels, highway, name\n       FROM planet_osm_polygon\n       WHERE highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', 'track', 'path', 'platform') OR railway IN ('platform') AND name IS NOT NULL\n      ) AS roads_area_text_name",
+        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    highway,\n    name\n  FROM planet_osm_polygon\n  WHERE highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', 'track', 'path', 'platform')\n    OR railway IN ('platform')\n    AND name IS NOT NULL\n) AS roads_area_text_name",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1663,7 +1614,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "      (SELECT way, highway, name\n       FROM planet_osm_line\n       WHERE highway IN ('bridleway', 'footway', 'cycleway', 'path', 'track', 'steps')\n         AND name IS NOT NULL\n      ) AS paths_text_name",
+        "table": "(SELECT\n    way,\n    highway,\n    name\n  FROM planet_osm_line\n  WHERE highway IN ('bridleway', 'footway', 'cycleway', 'path', 'track', 'steps')\n    AND name IS NOT NULL\n) AS paths_text_name",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1689,7 +1640,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    COALESCE(\n      'landuse_' || CASE WHEN landuse IN ('forest') THEN landuse ELSE NULL END,\n      'natural_' || CASE WHEN \"natural\" IN ('wood', 'glacier', 'sand', 'scree', 'shingle', 'bare_rock') THEN \"natural\" ELSE NULL END,\n      'place_' || CASE WHEN place IN ('island') THEN place ELSE NULL END,\n      'boundary_' || CASE WHEN boundary IN ('national_park') THEN [...]
+        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    COALESCE(\n      'landuse_' || CASE WHEN landuse IN ('forest') THEN landuse ELSE NULL END,\n      'natural_' || CASE WHEN \"natural\" IN ('wood', 'glacier', 'sand', 'scree', 'shingle', 'bare_rock') THEN \"natural\" ELSE NULL END,\n      'place_' || CASE WHEN place IN ('island') THEN place ELSE NULL END,\n      'boundary_' || CASE WHEN boundary IN ('national_park') THEN [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1716,7 +1667,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('gate', 'apron', 'helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' ||  [...]
+        "table": "(SELECT\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,\n    COALESCE(\n      'aeroway_' || CASE WHEN aeroway IN ('gate', 'apron', 'helipad', 'aerodrome') THEN aeroway ELSE NULL END,\n      'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,\n      'amenity_' ||  [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1738,10 +1689,11 @@
       "srs-name": "900913",
       "geometry": "linestring",
       "class": "text",
+      "id": "text-line",
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT way, NULL as way_pixels, COALESCE('man_made_' || man_made, 'waterway_' || waterway, 'natural_' || \"natural\") AS feature, access, NULL as ele, name, operator, ref, NULL AS way_area,\n CASE WHEN building = 'no' OR building IS NULL THEN 'no' ELSE 'yes' END AS is_building\n FROM planet_osm_line\n WHERE man_made IN ('pier', 'breakwater', 'groyne', 'embankment')\n    OR waterway IN ('dam', 'weir')\n    OR \"natural\" IN ('cliff')\n) AS text_line",
+        "table": "(SELECT\n  way,\n    NULL as way_pixels,\n    COALESCE('man_made_' || man_made, 'waterway_' || waterway, 'natural_' || \"natural\") AS feature,\n    access,\n    name,\n    operator,\n    ref,\n    NULL AS way_area,\n    CASE WHEN building = 'no' OR building IS NULL THEN 'no' ELSE 'yes' END AS is_building\n  FROM planet_osm_line\n  WHERE (man_made IN ('pier', 'breakwater', 'groyne', 'embankment')\n      OR waterway IN ('dam', 'weir')\n      OR \"natural\" IN ('cliff'))\ [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1753,7 +1705,9 @@
         180,
         85.05112877980659
       ],
-      "id": "text-line",
+      "properties": {
+        "minzoom": 10
+      },
       "advanced": {}
     },
     {
@@ -1765,7 +1719,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    way_pixels,\n    feature,\n    access,\n    CONCAT(\n        name,\n        CASE WHEN name IS NOT NULL AND elevation IS NOT NULL THEN E'\\n' ELSE NULL END,\n        CASE WHEN elevation IS NOT NULL THEN CONCAT(REPLACE(ROUND(elevation)::TEXT, '-', U&'\\2212'), U&'\\00A0', 'm') ELSE NULL END\n    ) AS name,\n    CASE\n      WHEN \"natural\" IN ('peak', 'volcano', 'saddle') THEN elevation\n      ELSE NULL\n    END AS score,\n    operator,\n    ref,\n  [...]
+        "table": "(SELECT\n    way,\n    way_pixels,\n    feature,\n    access,\n    CONCAT(\n        name,\n        CASE WHEN name IS NOT NULL AND elevation IS NOT NULL THEN E'\\n' ELSE NULL END,\n        CASE WHEN elevation IS NOT NULL THEN CONCAT(REPLACE(ROUND(elevation)::TEXT, '-', U&'\\2212'), U&'\\00A0', 'm') ELSE NULL END\n    ) AS name,\n    CASE\n      WHEN \"natural\" IN ('peak', 'volcano', 'saddle') THEN elevation\n      ELSE NULL\n    END AS score,\n    operator,\n    ref,\n  [...]
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1791,7 +1745,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    name,\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels\n  FROM planet_osm_polygon\n  WHERE building IS NOT NULL\n    AND building NOT IN ('no')\n  ORDER BY way_area DESC\n) AS building_text",
+        "table": "(SELECT\n    name,\n    way,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels\n  FROM planet_osm_polygon\n  WHERE building IS NOT NULL\n    AND building NOT IN ('no')\n    AND name IS NOT NULL\n  ORDER BY way_area DESC\n) AS building_text",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1895,7 +1849,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    waterway,\n    lock,\n    name,\n    intermittent,\n    CASE WHEN tunnel IN ('yes', 'culvert') THEN 'yes' ELSE 'no' END AS int_tunnel\n  FROM planet_osm_line\n  WHERE waterway IN ('river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi')\n    AND (tunnel IS NULL or tunnel != 'culvert')\n  ORDER BY z_order\n) AS water_lines_text",
+        "table": "(SELECT\n    way,\n    waterway,\n    lock,\n    name,\n    intermittent,\n    CASE WHEN tunnel IN ('yes', 'culvert') THEN 'yes' ELSE 'no' END AS int_tunnel\n  FROM planet_osm_line\n  WHERE waterway IN ('river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi')\n    AND (tunnel IS NULL or tunnel != 'culvert')\n    AND name IS NOT NULL\n  ORDER BY z_order\n) AS water_lines_text",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1921,7 +1875,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n  way, name\n  FROM planet_osm_line\n  WHERE route = 'ferry'\n) AS ferry_routes_text",
+        "table": "(SELECT\n    way,\n    name\n  FROM planet_osm_line\n  WHERE route = 'ferry'\n    AND name IS NOT NULL\n) AS ferry_routes_text",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1947,7 +1901,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    name,\n    admin_level\n  FROM planet_osm_polygon\n  WHERE boundary = 'administrative'\n    AND admin_level IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10')\n) AS admin_text",
+        "table": "(SELECT\n    way,\n    name,\n    admin_level\n  FROM planet_osm_polygon\n  WHERE boundary = 'administrative'\n    AND admin_level IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10')\n    AND name IS NOT NULL\n  ORDER BY admin_level::integer ASC, way_area DESC\n) AS admin_text",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
@@ -1973,7 +1927,7 @@
       "srs": "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0.0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over",
       "Datasource": {
         "extent": "-20037508,-20037508,20037508,20037508",
-        "table": "(SELECT\n    way,\n    name,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels\n  FROM planet_osm_polygon\n  WHERE boundary = 'national_park' OR leisure = 'nature_reserve'\n) AS nature_reserve_text",
+        "table": "(SELECT\n    way,\n    name,\n    way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels\n  FROM planet_osm_polygon\n  WHERE (boundary = 'national_park' OR leisure = 'nature_reserve')\n    AND name IS NOT NULL\n) AS nature_reserve_text",
         "geometry_field": "way",
         "type": "postgis",
         "key_field": "",
diff --git a/project.yaml b/project.yaml
index 88ecd2a..99a969b 100644
--- a/project.yaml
+++ b/project.yaml
@@ -121,7 +121,7 @@ Layer:
             FROM planet_osm_polygon
             WHERE (landuse IN ('forest')
               OR "natural" IN ('wood', 'wetland', 'mud', 'sand', 'scree', 'shingle', 'bare_rock'))
-              AND way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) > 0.01
+              AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real
               AND building IS NULL
             ORDER BY z_order, way_area DESC
           ) AS features
@@ -143,14 +143,14 @@ Layer:
           FROM (SELECT
               way, COALESCE(name, '') AS name,
               ('aeroway_' || (CASE WHEN aeroway IN ('apron', 'aerodrome') THEN aeroway ELSE NULL END)) AS aeroway,
-              ('amenity_' || (CASE WHEN amenity IN ('parking', 'bicycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 'grave_yard', 'prison', 'place_of_worship') THEN amenity ELSE NULL END)) AS amenity,
+              ('amenity_' || (CASE WHEN amenity IN ('parking', 'bicycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 'grave_yard', 'prison', 'place_of_worship', 'clinic') THEN amenity ELSE NULL END)) AS amenity,
               ('landuse_' || (CASE WHEN landuse IN ('quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'recreation_ground', 'conservation', 'village_green', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction') THEN landuse ELSE NULL END)) AS landuse,
               ('leisure_' || (CASE WHEN leisure IN ('swimming_pool', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'golf_course', 'miniature_golf', 'picnic_table', 'sports_centre', 'stadium', 'pitch', 'track') THEN leisure ELSE NULL END)) AS leisure,
               ('military_' || (CASE WHEN military IN ('danger_area') THEN military ELSE NULL END)) AS military,
               ('natural_' || (CASE WHEN "natural" IN ('beach', 'heath', 'grassland', 'wood', 'sand', 'scree', 'shingle', 'bare_rock', 'scrub') THEN "natural" ELSE NULL END)) AS "natural",
               ('wetland_' || (CASE WHEN "natural" IN ('wetland', 'marsh', 'mud') THEN (CASE WHEN "natural" IN ('marsh', 'mud') THEN "natural" ELSE wetland END) ELSE NULL END)) AS wetland,
               ('power_' || (CASE WHEN power IN ('station', 'sub_station', 'substation', 'generator') THEN power ELSE NULL END)) AS power,
-              ('tourism_' || (CASE WHEN tourism IN ('attraction', 'camp_site', 'caravan_site', 'picnic_site', 'zoo') THEN tourism ELSE NULL END)) AS tourism,
+              ('tourism_' || (CASE WHEN tourism IN ('attraction', 'camp_site', 'caravan_site', 'picnic_site') THEN tourism ELSE NULL END)) AS tourism,
               ('highway_' || (CASE WHEN highway IN ('services', 'rest_area') THEN highway ELSE NULL END)) AS highway,
               ('railway_' || (CASE WHEN railway = 'station' THEN railway ELSE NULL END)) AS railway,
               CASE WHEN religion IN ('christian', 'jewish') THEN religion ELSE 'INT-generic'::text END AS religion,
@@ -159,14 +159,14 @@ Layer:
             WHERE (landuse IS NOT NULL
               OR leisure IS NOT NULL
               OR aeroway IN ('apron', 'aerodrome')
-              OR amenity IN ('parking', 'bicycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 'grave_yard', 'place_of_worship', 'prison')
+              OR amenity IN ('parking', 'bicycle_parking', 'university', 'college', 'school', 'hospital', 'kindergarten', 'grave_yard', 'place_of_worship', 'prison', 'clinic')
               OR military IN ('danger_area')
               OR "natural" IN ('beach', 'heath', 'mud', 'marsh', 'wetland', 'grassland', 'wood', 'sand', 'scree', 'shingle', 'bare_rock', 'scrub')
               OR power IN ('station', 'sub_station', 'substation', 'generator')
-              OR tourism IN ('attraction', 'camp_site', 'caravan_site', 'picnic_site', 'zoo')
+              OR tourism IN ('attraction', 'camp_site', 'caravan_site', 'picnic_site')
               OR highway IN ('services', 'rest_area')
               OR railway = 'station')
-              AND way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) > 0.01
+              AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real
             ORDER BY z_order, way_area DESC
           ) AS landcover
         ) AS features
@@ -231,14 +231,19 @@ Layer:
       <<: *osm2pgsql
       table: |-
         (SELECT
-            way, "natural", waterway, landuse, name, way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels
+            way,
+            "natural",
+            waterway,
+            landuse,
+            name,
+            way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels
           FROM planet_osm_polygon
           WHERE
             (waterway IN ('dock', 'riverbank', 'canal')
               OR landuse IN ('reservoir', 'basin')
               OR "natural" IN ('water', 'glacier'))
             AND building IS NULL
-            AND way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) > 0.01
+            AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real
           ORDER BY z_order, way_area DESC
         ) AS water_areas
     properties:
@@ -258,6 +263,7 @@ Layer:
           FROM planet_osm_polygon
           WHERE "natural" IN ('marsh', 'mud', 'wetland')
             AND building IS NULL
+            AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real
           ORDER BY z_order, way_area DESC
         ) AS water_areas_overlay
     properties:
@@ -391,6 +397,7 @@ Layer:
           FROM planet_osm_polygon
           WHERE building IS NOT NULL
             AND building != 'no'
+            AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real
           ORDER BY z_order, way_area DESC
         ) AS buildings
     properties:
@@ -413,6 +420,7 @@ Layer:
           WHERE building IS NOT NULL
             AND building != 'no'
             AND (aeroway = 'terminal' OR amenity = 'place_of_worship')
+            AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real
           ORDER BY z_order, way_area DESC)
         AS buildings_major
     properties:
@@ -559,38 +567,8 @@ Layer:
           WHERE historic = 'citywalls')
         AS citywalls
     advanced: {}
-  - id: "castlewalls"
-    name: "castlewalls"
-    class: "castlewalls"
-    geometry: "linestring"
-    <<: *extents
-    Datasource:
-      <<: *osm2pgsql
-      table: |-
-        (SELECT
-            way
-          FROM planet_osm_line
-          WHERE historic = 'castle_walls'
-        ) AS castlewalls
     properties:
       minzoom: 14
-    advanced: {}
-  - id: "castlewalls-poly"
-    name: "castlewalls-poly"
-    class: "castlewalls"
-    geometry: "polygon"
-    <<: *extents
-    Datasource:
-      <<: *osm2pgsql
-      table: |-
-        (SELECT
-            way
-          FROM planet_osm_polygon
-          WHERE historic = 'castle_walls'
-        ) AS castlewalls_poly
-    properties:
-      minzoom: 14
-    advanced: {}
   - id: "landuse-overlay"
     name: "landuse-overlay"
     class: ""
@@ -1228,8 +1206,12 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-        (SELECT way FROM planet_osm_line WHERE highway = 'bus_guideway' AND (tunnel IS NULL OR tunnel != 'yes')) AS guideways
+      table: |-
+        (SELECT
+            way
+          FROM planet_osm_line
+          WHERE highway = 'bus_guideway' AND (tunnel IS NULL OR tunnel != 'yes')
+        ) AS guideways
     properties:
       minzoom: 13
     advanced: {}
@@ -1298,8 +1280,12 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-        (SELECT way FROM planet_osm_line WHERE "power" = 'minor_line') AS power_minorline
+      table: |-
+        (SELECT
+            way
+          FROM planet_osm_line
+          WHERE power = 'minor_line'
+        ) AS power_minorline
     properties:
       minzoom: 16
     advanced: {}
@@ -1310,8 +1296,12 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-        (SELECT way FROM planet_osm_line WHERE "power" = 'line') AS power_line
+      table: |-
+        (SELECT
+            way
+          FROM planet_osm_line
+          WHERE power = 'line'
+        ) AS power_line
     properties:
       minzoom: 14
     advanced: {}
@@ -1331,21 +1321,29 @@ Layer:
           FROM planet_osm_polygon
           WHERE (boundary = 'national_park' OR leisure = 'nature_reserve')
             AND building IS NULL
+            AND way_area > 0.01*!pixel_width!::real*!pixel_height!::real
         ) AS national_park_boundaries
     properties:
       minzoom: 7
     advanced: {}
-  - id: "theme-park"
-    name: "theme-park"
+  - id: "tourism-boundary"
+    name: "tourism-boundary"
     class: ""
     geometry: "polygon"
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-        (SELECT way, name, tourism FROM planet_osm_polygon WHERE tourism = 'theme_park') AS theme_park
+      table: |-
+        (SELECT
+            way,
+            name,
+            tourism
+          FROM planet_osm_polygon
+          WHERE tourism = 'theme_park'
+            OR tourism = 'zoo'
+        ) AS tourism_boundary
     properties:
-      minzoom: 13
+      minzoom: 10
     advanced: {}
   - id: "placenames-large"
     name: "placenames-large"
@@ -1364,6 +1362,8 @@ Layer:
           FROM planet_osm_polygon
           WHERE boundary = 'administrative'
             AND admin_level IN ('2', '4')
+            AND name IS NOT NULL
+          ORDER BY admin_level ASC, way_area DESC
         ) AS placenames_large
     properties:
       minzoom: 2
@@ -1398,6 +1398,7 @@ Layer:
           FROM planet_osm_point
           WHERE place IN ('city', 'town')
             AND capital IN ('yes', '4')
+            AND name IS NOT NULL
         ) AS placenames_capital
     properties:
       minzoom: 5
@@ -1418,6 +1419,7 @@ Layer:
           FROM planet_osm_point
           WHERE place IN ('city', 'town')
             AND (capital IS NULL OR capital NOT IN ('yes', '4'))
+            AND name IS NOT NULL
         ) AS placenames_medium
     properties:
       minzoom: 6
@@ -1429,11 +1431,15 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-        (SELECT way, place, name
-              FROM planet_osm_point
-              WHERE place IN ('suburb', 'village', 'hamlet', 'neighbourhood', 'locality', 'isolated_dwelling', 'farm')
-              ) AS placenames_small
+      table: |-
+        (SELECT
+            way,
+            place,
+            name
+          FROM planet_osm_point
+          WHERE place IN ('suburb', 'village', 'hamlet', 'neighbourhood', 'locality', 'isolated_dwelling', 'farm')
+            AND name IS NOT NULL
+        ) AS placenames_small
     properties:
       minzoom: 12
     advanced: {}
@@ -1513,8 +1519,8 @@ Layer:
             COALESCE(
               'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,
               'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,
-              'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'fire_station', 'fuel', 'hospital', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'theatre', 'toile [...]
-              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'books', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'shoes', 'alcohol', 'gift', 'furniture', 'mobile_phone', 'optician', 'jewelry', 'jewellery', 'electronics') THEN shop WHEN shop IN ('accessories', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bathroom_furnishing', 'be [...]
+              'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'clinic', 'fire_station', 'fuel', 'hospital', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'taxi', [...]
+              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 'hifi', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 'tra [...]
               'leisure_' || CASE WHEN leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table') THEN leisure ELSE NULL END,
               'man_made_' || CASE WHEN man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill') THEN man_made ELSE NULL END,
               'natural_' || CASE WHEN "natural" IN ('spring') THEN "natural" ELSE NULL END,
@@ -1533,7 +1539,7 @@ Layer:
           -- The upcoming where clause is needed for performance only, as the CASE statements would end up doing the equivalent filtering
           WHERE aeroway IN ('helipad', 'aerodrome')
             OR tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'viewpoint', 'picnic_site')
-            OR amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'fire_station', 'fuel', 'hospital', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'theatre', 'toilets', 'drinking_water',  [...]
+            OR amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'clinic', 'fire_station', 'fuel', 'hospital', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'taxi', 'theatre', 'toilets',  [...]
             OR shop IS NOT NULL -- skip checking a huge list and use a null check
             OR leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table')
             OR man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill')
@@ -1559,8 +1565,8 @@ Layer:
             COALESCE(
               'aeroway_' || CASE WHEN aeroway IN ('helipad', 'aerodrome') THEN aeroway ELSE NULL END,
               'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'picnic_site') THEN tourism ELSE NULL END,
-              'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'fire_station', 'fuel', 'hospital', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'theatre', 'toile [...]
-              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'books', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'shoes', 'alcohol', 'gift', 'furniture', 'mobile_phone', 'optician', 'jewelry', 'jewellery', 'electronics') THEN shop WHEN shop IN ('accessories', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bathroom_furnishing', 'be [...]
+              'amenity_' || CASE WHEN amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'clinic', 'fire_station', 'fuel', 'hospital', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'taxi', [...]
+              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 'hifi', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 'tra [...]
               'leisure_' || CASE WHEN leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table', 'slipway') THEN leisure ELSE NULL END,
               'man_made_' || CASE WHEN man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill') THEN man_made ELSE NULL END,
               'natural_' || CASE WHEN "natural" IN ('peak', 'volcano', 'saddle', 'spring', 'cave_entrance') THEN "natural" ELSE NULL END,
@@ -1587,7 +1593,7 @@ Layer:
           -- The upcoming where clause is needed for performance only, as the CASE statements would end up doing the equivalent filtering
           WHERE aeroway IN ('helipad', 'aerodrome')
             OR tourism IN ('alpine_hut', 'camp_site', 'caravan_site', 'chalet', 'guest_house', 'hostel', 'hotel', 'motel', 'information', 'museum', 'viewpoint', 'picnic_site')
-            OR amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'fire_station', 'fuel', 'hospital', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'theatre', 'toilets', 'drinking_water',  [...]
+            OR amenity IN ('shelter', 'atm', 'bank', 'bar', 'bicycle_rental', 'bus_station', 'cafe', 'car_rental', 'car_sharing', 'cinema', 'clinic', 'fire_station', 'fuel', 'hospital', 'embassy', 'library', 'courthouse', 'townhall', 'parking', 'bicycle_parking', 'pharmacy', 'doctors', 'dentist', 'place_of_worship', 'police', 'post_box', 'post_office', 'pub', 'biergarten', 'recycling', 'restaurant', 'food_court', 'fast_food', 'telephone', 'emergency_phone', 'taxi', 'theatre', 'toilets',  [...]
             OR shop IS NOT NULL -- skip checking a huge list and use a null check
             OR leisure IN ('water_park', 'playground', 'miniature_golf', 'golf_course', 'picnic_table', 'slipway')
             OR man_made IN ('mast', 'water_tower', 'lighthouse', 'windmill')
@@ -1607,8 +1613,12 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-        (SELECT way FROM planet_osm_point WHERE power = 'tower') AS power_towers
+      table: |-
+        (SELECT
+            way
+          FROM planet_osm_point
+          WHERE power = 'tower'
+        ) AS power_towers
     properties:
       minzoom: 14
     advanced: {}
@@ -1619,8 +1629,12 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-        (SELECT way FROM planet_osm_point WHERE power = 'pole') AS power_poles
+      table: |-
+        (SELECT
+            way
+          FROM planet_osm_point
+          WHERE power = 'pole'
+        ) AS power_poles
     properties:
       minzoom: 16
     advanced: {}
@@ -1631,7 +1645,7 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
+      table: |-
         (SELECT way, highway, height, width, refs FROM
           (SELECT
               way, highway,
@@ -1659,11 +1673,16 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-             (SELECT way, highway, junction, ref, name
-              FROM planet_osm_point
-              WHERE highway = 'motorway_junction' OR highway = 'traffic_signals' OR junction = 'yes'
-             ) AS junctions
+      table: |-
+        (SELECT
+            way,
+            highway,
+            junction,
+            ref,
+            name
+          FROM planet_osm_point
+          WHERE highway = 'motorway_junction' OR highway = 'traffic_signals' OR junction = 'yes'
+        ) AS junctions
     properties:
       minzoom: 11
     advanced: {}
@@ -1674,7 +1693,7 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
+      table: |-
         (SELECT way, highway, height, width, refs FROM
           (SELECT
               way, highway,
@@ -1704,11 +1723,17 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-              (SELECT way, way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels, highway, name
-               FROM planet_osm_polygon
-               WHERE highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', 'track', 'path', 'platform') OR railway IN ('platform') AND name IS NOT NULL
-              ) AS roads_area_text_name
+      table: |-
+        (SELECT
+            way,
+            way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels,
+            highway,
+            name
+          FROM planet_osm_polygon
+          WHERE highway IN ('residential', 'unclassified', 'pedestrian', 'service', 'footway', 'cycleway', 'living_street', 'track', 'path', 'platform')
+            OR railway IN ('platform')
+            AND name IS NOT NULL
+        ) AS roads_area_text_name
     properties:
       minzoom: 15
     advanced: {}
@@ -1739,12 +1764,15 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
-              (SELECT way, highway, name
-               FROM planet_osm_line
-               WHERE highway IN ('bridleway', 'footway', 'cycleway', 'path', 'track', 'steps')
-                 AND name IS NOT NULL
-              ) AS paths_text_name
+      table: |-
+        (SELECT
+            way,
+            highway,
+            name
+          FROM planet_osm_line
+          WHERE highway IN ('bridleway', 'footway', 'cycleway', 'path', 'track', 'steps')
+            AND name IS NOT NULL
+        ) AS paths_text_name
     properties:
       minzoom: 15
     advanced: {}
@@ -1775,6 +1803,7 @@ Layer:
               OR boundary IN ('national_park')
               OR leisure IN ('nature_reserve'))
             AND building IS NULL
+            AND name IS NOT NULL
           ORDER BY way_area DESC
         ) AS text_poly_low_zoom
     properties:
@@ -1797,8 +1826,8 @@ Layer:
             COALESCE(
               'aeroway_' || CASE WHEN aeroway IN ('gate', 'apron', 'helipad', 'aerodrome') THEN aeroway ELSE NULL END,
               'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,
-              'amenity_' || CASE WHEN amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'parking', 'bicycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental', 'car_sharing', 'po [...]
-              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'books', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'shoes', 'alcohol', 'gift', 'furniture', 'mobile_phone', 'optician', 'jewelry', 'jewellery', 'electronics') THEN shop WHEN shop IN ('accessories', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bathroom_furnishing', 'be [...]
+              'amenity_' || CASE WHEN amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'parking', 'bicycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental', 'car_sha [...]
+              'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 'hifi', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys', 'tra [...]
               'leisure_' || CASE WHEN leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'picnic_table') THEN leisure ELSE NULL END,
               'landuse_' || CASE WHEN landuse IN ('reservoir', 'basin', 'recreation_ground', 'conservation', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military') THEN landuse ELSE NULL END,
               'man_made_' || CASE WHEN man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'pier', 'breakwater', 'groyne') THEN man_made ELSE NULL END,
@@ -1820,22 +1849,23 @@ Layer:
             CASE WHEN building = 'no' OR building IS NULL THEN 'no' ELSE 'yes' END AS is_building
           FROM planet_osm_polygon
           -- The upcoming where clause is needed for performance only, as the CASE statements would end up doing the equivalent filtering
-          WHERE aeroway IN ('gate', 'apron', 'helipad', 'aerodrome')
-            OR tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'attraction', 'zoo', 'information', 'picnic_site')
-            OR amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'parking', 'bicycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental', 'car_sharing', 'post_box', 'post_office', [...]
-            OR shop IS NOT NULL -- skip checking a huge list and use a null check
-            OR leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'picnic_table')
-            OR landuse IN ('reservoir', 'basin', 'recreation_ground', 'conservation', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military')
-            OR man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'pier', 'breakwater', 'groyne')
-            OR "natural" IN ('wood', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier')
-            OR place IN ('island', 'islet')
-            OR military IN ('danger_area')
-            OR historic IN ('memorial', 'monument', 'archaeological_site')
-            OR highway IN ('services', 'rest_area', 'bus_stop', 'ford')
-            OR power IN ('station', 'generator', 'sub_station', 'substation')
-            OR boundary IN ('national_park')
-            OR waterway = 'dam'
-          ORDER BY way_area desc
+          WHERE (aeroway IN ('gate', 'apron', 'helipad', 'aerodrome')
+              OR tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'attraction', 'zoo', 'information', 'picnic_site')
+              OR amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'parking', 'bicycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental', 'car_sharing', 'post_box', 'p [...]
+              OR shop IS NOT NULL -- skip checking a huge list and use a null check
+              OR leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'picnic_table')
+              OR landuse IN ('reservoir', 'basin', 'recreation_ground', 'conservation', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military')
+              OR man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower', 'pier', 'breakwater', 'groyne')
+              OR "natural" IN ('wood', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier')
+              OR place IN ('island', 'islet')
+              OR military IN ('danger_area')
+              OR historic IN ('memorial', 'monument', 'archaeological_site')
+              OR highway IN ('services', 'rest_area', 'bus_stop', 'ford')
+              OR power IN ('station', 'generator', 'sub_station', 'substation')
+              OR boundary IN ('national_park')
+              OR waterway = 'dam')
+            AND name IS NOT NULL
+          ORDER BY way_area DESC
         ) AS text_poly
     properties:
       minzoom: 10
@@ -1848,14 +1878,25 @@ Layer:
     Datasource:
       <<: *osm2pgsql
       table: |-
-        (SELECT way, NULL as way_pixels, COALESCE('man_made_' || man_made, 'waterway_' || waterway, 'natural_' || "natural") AS feature, access, NULL as ele, name, operator, ref, NULL AS way_area,
-         CASE WHEN building = 'no' OR building IS NULL THEN 'no' ELSE 'yes' END AS is_building
-         FROM planet_osm_line
-         WHERE man_made IN ('pier', 'breakwater', 'groyne', 'embankment')
-            OR waterway IN ('dam', 'weir')
-            OR "natural" IN ('cliff')
+        (SELECT
+          way,
+            NULL as way_pixels,
+            COALESCE('man_made_' || man_made, 'waterway_' || waterway, 'natural_' || "natural") AS feature,
+            access,
+            name,
+            operator,
+            ref,
+            NULL AS way_area,
+            CASE WHEN building = 'no' OR building IS NULL THEN 'no' ELSE 'yes' END AS is_building
+          FROM planet_osm_line
+          WHERE (man_made IN ('pier', 'breakwater', 'groyne', 'embankment')
+              OR waterway IN ('dam', 'weir')
+              OR "natural" IN ('cliff'))
+            AND name IS NOT NULL
         ) AS text_line
     advanced: {}
+    properties:
+      minzoom: 10
   - id: "text-point"
     name: "text-point"
     class: "text"
@@ -1891,8 +1932,8 @@ Layer:
                 COALESCE(
                   'aeroway_' || CASE WHEN aeroway IN ('gate', 'apron', 'helipad', 'aerodrome') THEN aeroway ELSE NULL END,
                   'tourism_' || CASE WHEN tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'zoo', 'information', 'picnic_site') THEN tourism ELSE NULL END,
-                  'amenity_' || CASE WHEN amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'parking', 'bicycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental', 'car_sharing', [...]
-                  'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'books', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'shoes', 'alcohol', 'gift', 'furniture', 'mobile_phone', 'optician', 'jewelry', 'jewellery', 'electronics') THEN shop WHEN shop IN ('accessories', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bathroom_furnishing', [...]
+                  'amenity_' || CASE WHEN amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'parking', 'bicycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental', 'car [...]
+                  'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'florist', 'garden_centre', 'hairdresser', 'hifi', 'car', 'car_repair', 'bicycle', 'mall', 'pet', 'photo', 'photo_studio', 'photography', 'shoes', 'alcohol', 'gift', 'furniture', 'kiosk', 'mobile_phone', 'newsagent', 'optician', 'jewelry', 'jewellery', 'electronics', 'chemist', 'toys',  [...]
                   'leisure_' || CASE WHEN leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'slipway', 'picnic_table') THEN leisure ELSE NULL END,
                   'landuse_' || CASE WHEN landuse IN ('reservoir', 'basin', 'recreation_ground', 'conservation', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military') THEN landuse ELSE NULL END,
                   'man_made_' || CASE WHEN man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower') THEN man_made ELSE NULL END,
@@ -1923,21 +1964,22 @@ Layer:
                 CASE WHEN building = 'no' OR building IS NULL THEN 'no' ELSE 'yes' END AS is_building
               FROM planet_osm_point
               -- The upcoming where clause is needed for performance only, as the CASE statements would end up doing the equivalent filtering
-              WHERE aeroway IN ('gate', 'apron', 'helipad', 'aerodrome')
-                OR tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'attraction', 'zoo', 'information', 'viewpoint', 'picnic_site')
-                OR amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'parking', 'bicycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental', 'car_sharing', 'post_box', 'post_offi [...]
-                OR shop IS NOT NULL -- skip checking a huge list and use a null check
-                OR leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'slipway', 'picnic_table')
-                OR landuse IN ('reservoir', 'basin', 'recreation_ground', 'conservation', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military')
-                OR man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower')
-                OR "natural" IN ('wood', 'peak', 'volcano', 'saddle', 'cave_entrance', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier', 'tree')
-                OR place IN ('island', 'islet')
-                OR military IN ('danger_area')
-                OR historic IN ('memorial', 'monument', 'archaeological_site')
-                OR highway IN ('bus_stop', 'services', 'rest_area', 'bus_stop', 'ford')
-                OR power IN ('station', 'generator', 'sub_station', 'substation')
-                OR boundary IN ('national_park')
-                OR waterway IN ('dam', 'weir')
+              WHERE (aeroway IN ('gate', 'apron', 'helipad', 'aerodrome')
+                  OR tourism IN ('alpine_hut', 'hotel', 'motel', 'hostel', 'chalet', 'guest_house', 'camp_site', 'caravan_site', 'theme_park', 'museum', 'attraction', 'zoo', 'information', 'viewpoint', 'picnic_site')
+                  OR amenity IN ('pub', 'restaurant', 'food_court', 'cafe', 'fast_food', 'biergarten', 'bar', 'library', 'theatre', 'courthouse', 'townhall', 'cinema', 'clinic', 'parking', 'bicycle_parking', 'police', 'fire_station', 'place_of_worship', 'grave_yard', 'shelter', 'bank', 'embassy', 'fuel', 'bus_station', 'prison', 'university', 'school', 'college', 'kindergarten', 'hospital', 'pharmacy', 'doctors', 'dentist', 'atm', 'bicycle_rental', 'car_rental', 'car_sharing', 'post_box' [...]
+                  OR shop IS NOT NULL -- skip checking a huge list and use a null check
+                  OR leisure IN ('swimming_pool', 'water_park', 'miniature_golf', 'golf_course', 'sports_centre', 'stadium', 'track', 'pitch', 'playground', 'park', 'recreation_ground', 'common', 'garden', 'nature_reserve', 'marina', 'slipway', 'picnic_table')
+                  OR landuse IN ('reservoir', 'basin', 'recreation_ground', 'conservation', 'village_green', 'quarry', 'vineyard', 'orchard', 'cemetery', 'residential', 'garages', 'meadow', 'grass', 'allotments', 'forest', 'farmyard', 'farm', 'farmland', 'greenhouse_horticulture', 'retail', 'industrial', 'railway', 'commercial', 'brownfield', 'landfill', 'construction', 'military')
+                  OR man_made IN ('lighthouse', 'windmill', 'mast', 'water_tower')
+                  OR "natural" IN ('wood', 'peak', 'volcano', 'saddle', 'cave_entrance', 'water', 'mud', 'wetland', 'marsh', 'bay', 'spring', 'scree', 'shingle', 'bare_rock', 'sand', 'heath', 'grassland', 'scrub', 'beach', 'glacier', 'tree')
+                  OR place IN ('island', 'islet')
+                  OR military IN ('danger_area')
+                  OR historic IN ('memorial', 'monument', 'archaeological_site')
+                  OR highway IN ('bus_stop', 'services', 'rest_area', 'bus_stop', 'ford')
+                  OR power IN ('station', 'generator', 'sub_station', 'substation')
+                  OR boundary IN ('national_park')
+                  OR waterway IN ('dam', 'weir'))
+                AND name IS NOT NULL
               ) AS p
           ORDER BY score DESC NULLS LAST
           ) AS text
@@ -1959,6 +2001,7 @@ Layer:
           FROM planet_osm_polygon
           WHERE building IS NOT NULL
             AND building NOT IN ('no')
+            AND name IS NOT NULL
           ORDER BY way_area DESC
         ) AS building_text
     properties:
@@ -2051,6 +2094,7 @@ Layer:
           FROM planet_osm_line
           WHERE waterway IN ('river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi')
             AND (tunnel IS NULL or tunnel != 'culvert')
+            AND name IS NOT NULL
           ORDER BY z_order
         ) AS water_lines_text
     properties:
@@ -2063,11 +2107,13 @@ Layer:
     <<: *extents
     Datasource:
       <<: *osm2pgsql
-      table: |2-
+      table: |-
         (SELECT
-          way, name
+            way,
+            name
           FROM planet_osm_line
           WHERE route = 'ferry'
+            AND name IS NOT NULL
         ) AS ferry_routes_text
     properties:
       minzoom: 13
@@ -2087,6 +2133,8 @@ Layer:
           FROM planet_osm_polygon
           WHERE boundary = 'administrative'
             AND admin_level IN ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10')
+            AND name IS NOT NULL
+          ORDER BY admin_level::integer ASC, way_area DESC
         ) AS admin_text
     properties:
       minzoom: 16
@@ -2104,7 +2152,8 @@ Layer:
             name,
             way_area/NULLIF(!pixel_width!::real*!pixel_height!::real,0) AS way_pixels
           FROM planet_osm_polygon
-          WHERE boundary = 'national_park' OR leisure = 'nature_reserve'
+          WHERE (boundary = 'national_park' OR leisure = 'nature_reserve')
+            AND name IS NOT NULL
         ) AS nature_reserve_text
     properties:
       minzoom: 13
diff --git a/roads.mss b/roads.mss
index 304722d..bc28d04 100644
--- a/roads.mss
+++ b/roads.mss
@@ -1471,7 +1471,7 @@ residential is rendered from z10 and is not included in osm_planet_roads. */
       }
     }
 
-    [feature = 'railway_rail'][zoom >= 6],
+    [feature = 'railway_rail'][zoom >= 7],
     [feature = 'railway_INT-spur-siding-yard'][zoom >= 11] {
       [zoom < 13] {
         line-color: #aaa;
diff --git a/symbols/beauty-14.svg b/symbols/beauty-14.svg
new file mode 100644
index 0000000..3748dac
--- /dev/null
+++ b/symbols/beauty-14.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     width="14"
+     height="14"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="M 5,0 C 4,0 3,0.46875 2,1.46875 c -1,1 -2,2 -2,3 0.66666667,0 1.3333333,0.375 2,0.375 1.5237901,0 1.9342025,-1.3092025 3,-2.375 C 5.5389586,2.1175528 5.9898446,1.7619014 7.46875,1.9375 9.0284017,2.2709486 12,3.4600154 14,4.875 12.391103,3.2253627 10.510265,1.4108539 8,0.46875 7,-0.0261194 6,0 5,0 z m 7.34375,5.15625 -4.03125,1.75 C 4.9738455,7.4535704 1.1352801,6.1709309 1.25,6.3125 1.294552,6.367479 1.331618,6.4143303 1.375,6.46875 L 1.375,6.5 0,10 2.59375,8 3,12 4.96875,8.8125  [...]
+     id="path3003"
+     style="fill:#000000;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/beverages-14.svg b/symbols/beverages-14.svg
new file mode 100644
index 0000000..bf95e77
--- /dev/null
+++ b/symbols/beverages-14.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg2"
+   viewBox="0 0 14 14"
+   height="100%"
+   width="100%"
+   version="1.1">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <rect
+     style="fill:none;stroke:none;visibility:hidden"
+     id="canvas"
+     y="0"
+     x="0"
+     height="14"
+     width="14" />
+  <g
+     id="g3809">
+    <g
+       id="g3817">
+      <g
+         id="g3813">
+        <path
+           d="m 7,6 1,7 c 0,0 0,1 1,1 l 2,0 c 1,0 1,-1 1,-1 L 13,6 Z M 14,1 11,1 10,5 11,5 11.75761,2 14,2 Z M 3,0 C 2,0 2,0.4670568 2,1 L 2,3 C 2,4 0,4 0,6 l 0,7 c 0,0.566252 0.467057,1 1,1 l 4,0 c 0.599561,0 1,-0.400439 1,-1 L 6,6 C 6,4 4,4 4,3 L 4,1 C 4,0.4337479 4,0 3,0 Z"
+           style="fill:#000000;fill-opacity:1;stroke:none"
+           id="beverages" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/symbols/cable_car.png b/symbols/cable_car.png
deleted file mode 100644
index b160f0c..0000000
Binary files a/symbols/cable_car.png and /dev/null differ
diff --git a/symbols/car_parts-14.svg b/symbols/car_parts-14.svg
new file mode 100644
index 0000000..8700140
--- /dev/null
+++ b/symbols/car_parts-14.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     width="14"
+     height="14"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="m 9,3 0,-2 3,0 0,2 z M 2,3 2,1 5,1 5,3 z M 0,3 0,13 14,13 14,3 z M 3.4455611,5 5,5 l 0,2 2,0 0,1.5778894 -2,0 L 5,10.60134 3.4370847,10.634261 3.4615242,8.5300029 1.3911725,8.5459664 1.4221106,7 3.4295976,7 z M 9,7 13,7 13,8.6108059 9,8.5948424 z"
+     id="path2991"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+</svg>
diff --git a/symbols/chair_lift.png b/symbols/chair_lift.png
deleted file mode 100644
index ba0f474..0000000
Binary files a/symbols/chair_lift.png and /dev/null differ
diff --git a/symbols/chemist-14.svg b/symbols/chemist-14.svg
new file mode 100644
index 0000000..ecec082
--- /dev/null
+++ b/symbols/chemist-14.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     width="14"
+     height="14"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="m 13.515914,13 c 0,-12 0.02345,-10.0477231 0.02345,-12 0,-1 -0.0469,-1 -1.539364,-1 l 0,13.038526 C 12.048052,14.003111 12.000001,14 12.718594,14 c 0.765494,0 0.79732,0 0.79732,-1 z M 2.5075377,11.624791 c 1.9893914,0.633166 3.1278615,0.633166 5.0938024,-0.07035 L 7,4 C 5,4.281407 5,4.3048576 3,4 z M 4.319933,0 5.718593,0 6.2730319,3 c -1,0.3048576 -1.5544389,0.3048576 -2.5544389,0 z m -2.2964824,14 0.2345058,-1 5.4991626,0 0.2579562,1 z m 7.4606365,-14 1.9597989,0 0,0.6097152 -1 [...]
+     id="path2988"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+</svg>
diff --git a/symbols/confectionery-14.svg b/symbols/confectionery-14.svg
new file mode 100644
index 0000000..f3faa9f
--- /dev/null
+++ b/symbols/confectionery-14.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     d="M 0.40106652,7 C 0.38814368,6 2,4 4,4 5,4.0319271 6,5.5872292 7,5.5393387 8,5.6564044 9,3.9946789 10,4 12,4 13.571453,6 13.574494,7 13.265866,7 12.839985,7 12.531357,7 12,6 11,5.4873703 10,5.4455611 9,5.5519845 8,7.0053211 7,7 6,7.0266058 5,5.6085387 4,5.5393635 3,5.5119975 2,6 1.5793983,7 1.2335222,7 0.7469426,7 0.40106652,7 z M 9,2 C 9,3.1045695 8.1045695,4 7,4 5.8954305,4 5,3.1045695 5,2 5,0.8954305 5.8954305,0 7,0 7.9169484,0 8.7164405,0.62354577 8.939772,1.5128812 M 3,13 1,8 [...]
+     id="path2986"
+     style="fill:#000000;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/garden_centre-14.svg b/symbols/garden_centre-14.svg
new file mode 100644
index 0000000..3cae5d8
--- /dev/null
+++ b/symbols/garden_centre-14.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     width="14"
+     height="14"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="M 10,1 C 8.001165,0.9317471 5.5133754,2.3911196 6,6 L 6.7504188,9 3.5393635,7 3.494936,5 2.6951424,4 C 2,4 0,6.3539922 0,7.2495812 L 1.3059259,8 3,7.7035176 8,14 c 1.5857062,0 2.836405,0 4.422111,0 L 14,6 C 14,1 10.686767,1.0234505 10,1 z m 0,1.39866 C 12,2.417906 13,4 12.530988,6 L 7.5159129,6 C 7,4 7.4606365,2.39866 10,2.39866 z"
+     id="garden_centre"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+</svg>
diff --git a/symbols/greengrocer-14.svg b/symbols/greengrocer-14.svg
new file mode 100644
index 0000000..fae3056
--- /dev/null
+++ b/symbols/greengrocer-14.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <rect
+     width="14"
+     height="14"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="M 7.6811441,0.3845339 C 7.1074871,0.9581909 6.6438573,1.7807134 6.5,2.5 6.4213803,2.8930985 6.38606,3.8255659 6.375,4.281125 6.5830531,4.4032096 6.7911853,4.499514 7,4.656125 7.2211442,4.4902669 7.4360105,4.3770848 7.65625,4.249875 7.6737853,3.8551732 7.6944029,3.0279856 7.75,2.75 7.8561427,2.2192866 8.1298011,1.6858769 8.5561441,1.2595339 z M 0.5,1 C 1.0359156,3 3.3537505,4 5.5,3 4.5967177,1 3,0.36207008 0.5,1 z M 2,5.25 C 1.3855932,5.8940678 1,7 1,8 c 0,2 2,5.5 4,5.5 0.5635593, [...]
+     id="greengrocer"
+     style="fill:#000000;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/hifi-14.svg b/symbols/hifi-14.svg
new file mode 100644
index 0000000..21c9ce8
--- /dev/null
+++ b/symbols/hifi-14.svg
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg2"
+   viewBox="0 0 14 14"
+   height="100%"
+   width="100%"
+   version="1.1">
+  <defs
+     id="defs8" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     style="fill:none;stroke:none;visibility:hidden"
+     id="canvas"
+     y="0"
+     x="0"
+     height="14"
+     width="14" />
+  <path
+     d="m 8.5118375,9.5349493 a 1.5,1.5 0 0 1 -1.5,1.4999997 1.5,1.5 0 0 1 -1.5,-1.4999997 1.5,1.5 0 0 1 1.5,-1.5 1.5,1.5 0 0 1 1.5,1.5 z M 2,0 2,14 12,14 12,0 2,0 Z m 5.0703125,0.96875 c 1.1045695,0 2,0.8954305 2,2 0,1.1045695 -0.8954305,2 -2,2 -1.1045695,0 -2,-0.8954305 -2,-2 0,-1.1045695 0.8954305,-2 2,-2 z m -0.060547,5.0195312 a 3.5,3.5 0 0 1 3.5000004,3.5 3.5,3.5 0 0 1 -3.5000004,3.4999998 3.5,3.5 0 0 1 -3.5,-3.4999998 3.5,3.5 0 0 1 3.5,-3.5 z"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-opacity:1"
+     id="path3337" />
+</svg>
diff --git a/symbols/hostel.16.svg b/symbols/hostel.16.svg
new file mode 100644
index 0000000..91b70e6
--- /dev/null
+++ b/symbols/hostel.16.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 16 16"
+   id="svg2">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <rect
+     width="16"
+     height="16"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="M 1.625,1 C 1.25,1 1,1.25 1,1.75 L 1,15 l 1.25,0 0,-2 11.5,0 0,2 1.25,0 C 15.02275,15 15,1.75 15,1.75 15,1.25 14.75,1 14.375,1 14,1 13.75,1.25 13.75,1.75 l 0,4.25 -11.5,0 0,-4.25 C 2.25,1.25 2,1 1.625,1 z M 4.5,2 C 3.671573,2 3,2.671573 3,3.5 3,4.328427 3.671573,5 4.5,5 5.328427,5 6,4.328427 6,3.5 6,2.671573 5.328427,2 4.5,2 z m 2,1 0,2 6.5,0 C 13,4 11.963825,3 11,3 z m -4.25,4 11.5,0 0,5 -11.5,0 c 0.02355,0 0,-5 0,-5 z M 4.5,8 C 3.671573,8 3,8.671573 3,9.5 3,10.328427 3.671573,1 [...]
+     id="hostel"
+     style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/hostel.p.20.png b/symbols/hostel.p.20.png
deleted file mode 100644
index 93dcd2f..0000000
Binary files a/symbols/hostel.p.20.png and /dev/null differ
diff --git a/symbols/hotel.16.svg b/symbols/hotel.16.svg
new file mode 100644
index 0000000..ee2361a
--- /dev/null
+++ b/symbols/hotel.16.svg
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 16 16"
+   id="svg2">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <rect
+     width="16"
+     height="16"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="M 1.625,4 C 1.25,4 1,4.25 1,4.75 l 0,7.25 1.25,0 0,-1.75 c 0,0 10.380697,0.01892 11.5,0 L 13.75,12 15,12 15,9.625 15,5.75 C 15,5.4202582 14.86199,5 14.375,5 13.88801,5 13.75,5.4202582 13.75,5.75 l 0,3.25 -11.5,0 0,-4.25 C 2.25,4.25 2,4 1.625,4 z M 4.5,5 C 3.671573,5 3,5.671573 3,6.5 3,7.328427 3.671573,8 4.5,8 5.328427,8 6,7.328427 6,6.5 6,5.671573 5.328427,5 4.5,5 z m 2,1 0,2 6.5,0 C 13,7 11.963825,6 11,6 z"
+     id="hotel"
+     style="fill:#1a1a1a;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/hotel2.p.20.png b/symbols/hotel2.p.20.png
deleted file mode 100644
index a441134..0000000
Binary files a/symbols/hotel2.p.20.png and /dev/null differ
diff --git a/symbols/laundry-14.svg b/symbols/laundry-14.svg
new file mode 100644
index 0000000..bc7d3ef
--- /dev/null
+++ b/symbols/laundry-14.svg
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <rect
+     width="14"
+     height="14"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="m 8.3484087,7.8911223 a 1.477387,1.442211 0 0 1 -3.19e-5,0.00947"
+     id="path3855"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+  <path
+     d="M 20,6.5 C 20,7.8807119 18.880712,9 17.5,9 16.119509,9 15.000312,7.8810564 15,6.5005654 M 11.5,-2 l 0,14 12,0 0,-14 -12,0 z m 2,1 5,0 0,2 -5,0 0,-2 z m 7,0 2,0 0,2 -2,0 0,-2 z m -3,4 c 1.60466,0 3.01542,1.0999131 3.40625,2.65625 L 21,6.5 C 21,8.432997 19.432997,10 17.5,10 15.567003,10 14,8.432997 14,6.5 14,4.5670034 15.567003,3 17.5,3 z"
+     transform="translate(-10.5,2)"
+     id="path3051"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+</svg>
diff --git a/symbols/newsagent-14.svg b/symbols/newsagent-14.svg
new file mode 100644
index 0000000..adb8884
--- /dev/null
+++ b/symbols/newsagent-14.svg
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <rect
+     width="14"
+     height="14"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <g
+     id="g3809">
+    <g
+       id="g3817">
+      <path
+         d="m 7,11 4,0 0,0.536839 -4,0.02177 z m 0,-1 4,0 0,0.536839 -4,0.02177 z M 7,6 11,6 11,9 7,9 z M 2,6 6,6.023451 6,6.5602898 2,6.5586098 z m 0,5 4,0 0,0.536839 -4,0.02177 z m 0,-1 4,0 0,0.536839 -4,0.02177 z M 2,9 6,9.023451 6,9.5602901 2,9.5586101 z M 2,8 6,8.023451 6,8.5602898 2,8.5586098 z M 2,7 6,7 6,7.5368388 2,7.5586062 z M 2,2 2,4.510373 11,4.5572742 11,2 z M 0,0 c 0,1.5606474 0,8.9375328 0,11 0,2 0,0 0,3 l 10,0 3,0 0,-14 z m 1,1 11,0 0,12 -9,0 c -1.4082984,0 0,0 -2,0 z"
+         id="path3795-5-5"
+         style="fill:#000000;fill-opacity:1;stroke:none" />
+    </g>
+  </g>
+</svg>
diff --git a/symbols/perfumery-14.svg b/symbols/perfumery-14.svg
new file mode 100644
index 0000000..65ed073
--- /dev/null
+++ b/symbols/perfumery-14.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg2"
+   viewBox="0 0 14 14"
+   height="100%"
+   width="100%"
+   version="1.1">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     id="perfumery"
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     d="M 14,2.5 C 14,3.6605381 12.880712,4.6013401 11.5,4.6013401 10.119288,4.6013401 9,3.6605381 9,2.5 9,1.3394619 10.119288,0.39865994 11.5,0.39865994 12.880712,0.39865994 14,1.3394619 14,2.5 Z M 8,2 10,2 10,3 8,3 Z M 3,-5.0000001e-8 l 1,0 L 4,1 3,1 Z M 1,0 2,0 2,1 1,1 Z M 1,4 2,4 2,5 1,5 Z M 3,4 4,4 4,5 3,5 Z M 4,2 5,2 5,3 4,3 Z M 2,2 3,2 3,3 2,3 Z M 0,2 1,2 1,3 0,3 Z M 6,5.4221106 8,5.39866 8,2 C 8,1 8,1 7,1 6.0336003,1.0168001 6,1 6,2 Z M 5,6 C 3,6 1.46875,9 1.46875,11 1.46875,12 4 [...]
+</svg>
diff --git a/symbols/photo-14.svg b/symbols/photo-14.svg
new file mode 100644
index 0000000..3502120
--- /dev/null
+++ b/symbols/photo-14.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   id="svg2"
+   viewBox="0 0 14 14"
+   height="100%"
+   width="100%"
+   version="1.1">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     d="M 1.8994152,3.9828765 C 0,4 0,4.1964912 8.78837e-4,5.9898537 L 0.015625,12.03284 C 0,14 0,14 1.9308491,14.034854 L 12.052666,13.998501 C 14,14 14,14 14.050419,11.981131 l -0.0013,-5.9842195 C 14,4 14,4 12.052028,3.9919077 Z M 8,5.015625 c 2.209139,1e-7 4,1.790861 4,4 0,2.209139 -1.790861,4 -4,4 -2.209139,0 -4,-1.790861 -4,-4 0,-2.209139 1.790861,-4 4,-4 z m -6.0163743,-3.0343384 1.0327485,-1e-7 C 4,2 4,3 4.0315789,3.4888892 L 1.0502924,3.5216379 C 1,3 1,2 1.9836257,1.9812866 Z m  [...]
+     style="fill:#000000;fill-opacity:1;stroke:none"
+     id="photo" />
+</svg>
diff --git a/symbols/stationery-14.svg b/symbols/stationery-14.svg
new file mode 100644
index 0000000..efa26b5
--- /dev/null
+++ b/symbols/stationery-14.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     d="M 5,10 C 5,9.2808818 5,4.6666667 5,2 5,1 5,1 6,1 l 1,0 c 1,0 1,0 1,1 l -0.010634,7.0084269 -1,0 L 7,3 6,3 C 6,4.6666667 5.9893664,7.3417602 5.9893664,9.0084269 5.9893664,10.008427 5.9893679,9.991392 7,10 l 0.9893664,0.0084 c 1,0 1,0 1,-1.0000001 L 9,2 C 9.0030345,2.3020714e-6 9,0 7,0 6,0 7,0 6,0 4,0 4,0 4,2 4,5 4,7 4,10 4,11 4,11 6.654504,13.668971 6.8617369,13.968351 7,14 7.5370581,14 8,14 8.195636,14.016316 8.5031967,13.68551 11,11 11,11 11,10 11,6.6666667 11,5.3333333 11,2 l - [...]
+     id="stationery"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+</svg>
diff --git a/symbols/taxi.16.svg b/symbols/taxi.16.svg
new file mode 100644
index 0000000..9235b73
--- /dev/null
+++ b/symbols/taxi.16.svg
@@ -0,0 +1,14 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%" viewBox="0 0 16 16" id="svg2">
+  <metadata id="metadata8">
+    <rdf:RDF>
+      <cc:Work rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title/>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs id="defs6"/>
+  <rect width="16" height="16" x="0" y="0" id="canvas" style="fill:none;stroke:none;visibility:hidden"/>
+  <path d="M 5.96875,0 C 5.429431,0 5,0.4876472 5,1 L 4.96875,2 3,2 1.75,6 C 0.989697,6 0,6.4966359 0,8 l 0,4 2,0 0,1 c 0,0 0,1 1,1 1,0 1,-1 1,-1 L 4,12 10,11.96875 10,13 c 0,0 0,1 1,1 1,0 1,-1 1,-1 l 0,-1 2,0 0,-4 C 14,6.4726661 13,6 12,6 L 11,2 9,2 9,1 C 9,0.4337153 8.566285,0 8,0 L 5.96875,0 z M 6,1 8,1 8,2 6,2 6,1 z M 4,3.5 10,3.5 10.59375,6 3.3125,6 4,3.5 z M 3,8 C 3.552285,8 4,8.447715 4,9 4,9.552285 3.552285,10 3,10 2.447715,10 2,9.552285 2,9 2,8.447715 2.447715,8 3,8 z m 8,0 c 0. [...]
+</svg>
diff --git a/symbols/tower_water.p.20.png b/symbols/tower_water.p.20.png
deleted file mode 100644
index 5ca7801..0000000
Binary files a/symbols/tower_water.p.20.png and /dev/null differ
diff --git a/symbols/toys-14.svg b/symbols/toys-14.svg
new file mode 100644
index 0000000..3f8e986
--- /dev/null
+++ b/symbols/toys-14.svg
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="14"
+   height="14"
+   viewBox="0 0 14 14"
+   id="svg2"
+   xml:space="preserve"><metadata
+     id="metadata19"><rdf:RDF><cc:Work
+         rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
+     id="defs4" /><g
+     transform="matrix(48.14969,0,0,48.14969,-536.27327,-599.30675)"
+     id="layer3"
+     style="display:none"><rect
+       width="10"
+       height="10"
+       x="1"
+       y="1"
+       id="rect4134"
+       style="fill:none;stroke:none" /><rect
+       width="8"
+       height="8"
+       x="2"
+       y="2"
+       id="rect4136"
+       style="fill:none;stroke:none" /></g><path
+     d="M 3,0 3,2 C 2.303,2.367 0.5205,3.74 0.3125,4 0.1125,4.249 0.0935,6.054 0.4375,6 1.0385,5.908 3.07175,4.264 3.59375,4.625 4.11475,4.985 3.965,6.677 4,8 3.2885823,8.9155412 3.0486761,9.914732 2.375,10.65625 2.043673,10.355285 1.6921391,10.067139 1.3125,9.6875 1.2346732,9.5966801 0.85929648,9.3748654 0.50753769,9.6954041 0.28592558,10 0.25660799,10.372075 0.5233459,10.617358 c 2.0149553,2.014955 3.9296858,3.077784 6.7580611,3.077784 2.729723,0 4.081027,-1.080817 6.101445,-3.101235 0 [...]
+     id="path2529"
+     style="fill:#000000;stroke:none" /></svg>
\ No newline at end of file
diff --git a/symbols/travel_agency-14.svg b/symbols/travel_agency-14.svg
new file mode 100644
index 0000000..fb3e5e8
--- /dev/null
+++ b/symbols/travel_agency-14.svg
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 14 14"
+   id="svg2">
+  <defs
+     id="defs3053" />
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <path
+     d="M 0,9 C 0,8 0,8 1,8 c 2.3333333,0 4.6666667,0 7,0 1,0 1,0 1,1 0,1.333333 0,2.666667 0,4 0,1 0,1 -1,1 C 5.6666667,14 3.3333333,14 1,14 0,14 0,14 0,13 0,11.666667 0,10.333333 0,9 z M 13,4.03125 13,7 l 1,0 0,-2.96875 -1,0 z M 11.21875,3.6875 9.59375,6.15625 10.40625,6.6875 12.0625,4.25 11.21875,3.6875 z M 9.9375,2.03125 7.125,3.1875 7.5,4.09375 10.3125,2.96875 9.9375,2.03125 z M 7,-0.03125 l 0,1 L 10.09375,1 l 0,-1 L 7,-0.03125 z M 3,8 3,6.2964824 l 3,0 L 6,8 7,8 7,6 C 7,5 7,5 6,5 5 [...]
+     id="path2996"
+     style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+</svg>
diff --git a/symbols/view_point.p.16.png b/symbols/view_point.p.16.png
deleted file mode 100644
index b18660c..0000000
Binary files a/symbols/view_point.p.16.png and /dev/null differ
diff --git a/symbols/viewpoint.16.svg b/symbols/viewpoint.16.svg
new file mode 100644
index 0000000..3a184eb
--- /dev/null
+++ b/symbols/viewpoint.16.svg
@@ -0,0 +1,14 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%" viewBox="0 0 16 16" id="svg2">
+  <metadata id="metadata8">
+    <rdf:RDF>
+      <cc:Work rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title/>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs id="defs6"/>
+  <rect width="16" height="16" x="0" y="0" id="canvas" style="fill:none;stroke:none;visibility:hidden"/>
+  <path d="m 9.65625,0.59375 c -0.3024732,0.0462641 -0.5739493,0.24857188 -0.75,0.5 C 8.4915325,1.6542533 8.3846231,2.3479287 8.1875,3 7.9662603,3.8420605 7.7522058,4.7006473 7.625,5.5625 7.6044,5.8106582 7.7926492,5.8644805 8.03125,5.625 8.8564261,4.8565483 9.6689927,4.0447405 10.46875,3.25 10.66307,3.0435127 10.857947,2.8397801 11,2.59375 c 0.22114,-0.3696454 0.325018,-0.8581921 0.09375,-1.25 -0.238762,-0.3960416 -0.675926,-0.6652283 -1.125,-0.75 -0.1037376,-0.0197567 -0.2116756,-0.015 [...]
+</svg>
diff --git a/symbols/water_park.16.svg b/symbols/water_park.16.svg
new file mode 100644
index 0000000..5eb818a
--- /dev/null
+++ b/symbols/water_park.16.svg
@@ -0,0 +1,14 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%" viewBox="0 0 16 16" id="svg2">
+  <metadata id="metadata8">
+    <rdf:RDF>
+      <cc:Work rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title/>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs id="defs6"/>
+  <rect width="16" height="16" x="0" y="0" id="canvas" style="fill:none;stroke:none;visibility:hidden"/>
+  <path d="M 8.28125,1.90625 C 8.1873095,1.9137211 8.0966058,1.9442246 8,2 L 4.96875,3.625 C 4.58422,3.807 4.4339,4.37715 4.6875,4.71875 L 5.5,6 2,8 2.03125,8.625 C 2.03125,8.625 2.4991574,8.25 3,8.25 3.4737861,8.25 4.4232286,9 5,9 5.5033641,9 6.4961991,8.25 7,8.25 7.5243377,8.25 8.4756623,9 9,9 L 9.34375,9 6.5,4.5 8.59375,3.40625 C 9.041742,3.1476017 9.186529,2.6980781 9,2.375 8.8279386,2.0769809 8.5630716,1.8838367 8.28125,1.90625 z M 10,4.5 C 9.17157,4.5 8.5,5.1716 8.5,6 8.5,6.8284 9. [...]
+</svg>
diff --git a/symbols/water_park.p.20.png b/symbols/water_park.p.20.png
deleted file mode 100644
index c38defa..0000000
Binary files a/symbols/water_park.p.20.png and /dev/null differ
diff --git a/symbols/water_tower.16.svg b/symbols/water_tower.16.svg
new file mode 100644
index 0000000..f6cf283
--- /dev/null
+++ b/symbols/water_tower.16.svg
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   version="1.1"
+   width="100%"
+   height="100%"
+   viewBox="0 0 16 16"
+   id="svg2">
+  <metadata
+     id="metadata8">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs
+     id="defs6" />
+  <rect
+     width="16"
+     height="16"
+     x="0"
+     y="0"
+     id="canvas"
+     style="fill:none;stroke:none;visibility:hidden" />
+  <path
+     d="M 2,0 2,3.5 C 2,4.9469172 2.7905512,5.9802716 3.90625,6.625 L 3,14 4.5,14 4.6875,12.53125 7,11 9.3125,12.5625 9.5,14 11,14 10.09375,6.65625 C 11.21821,6.0132746 12,4.9628112 12,3.5 l 0,-3.5 -1.5,0 0,1.5 -0.5,0 C 8.8728814,2 8,2 7,1.5 6,1 5.0381356,1 4,1.5 l -0.5,0 0,-1.5 z m 3.34375,7.1875 c 1.069224,0.2671613 2.2426846,0.2935662 3.3125,0.03125 L 8.84375,8.78125 7,10 5.15625,8.78125 z m -0.3125,2.5 L 6.25,10.5 4.8125,11.46875 z m 3.9375,0 L 9.1875,11.46875 7.75,10.5 z"
+     transform="translate(1,1)"
+     id="water-tower"
+     style="fill:#000000;fill-opacity:1;stroke:none" />
+</svg>
diff --git a/symbols/windmill.16.svg b/symbols/windmill.16.svg
new file mode 100644
index 0000000..764607c
--- /dev/null
+++ b/symbols/windmill.16.svg
@@ -0,0 +1,14 @@
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="100%" height="100%" viewBox="0 0 16 16" id="svg2">
+  <metadata id="metadata8">
+    <rdf:RDF>
+      <cc:Work rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+        <dc:title/>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <defs id="defs6"/>
+  <rect width="16" height="16" x="0" y="0" id="canvas" style="fill:none;stroke:none;visibility:hidden"/>
+  <path d="M 2.71875,0 1,1.71875 5.96875,6 1,10.28125 2.71875,12 7,7.03125 11.28125,12 13,10.28125 8.03125,6 13,1.71875 11.28125,0 7,4.96875 2.71875,0 z M 7,2 C 6.5846058,2 6.2371923,2.0902004 5.9375,2.21875 L 7,3.4375 8.0625,2.21875 C 7.7644902,2.0832701 7.4104059,2 7,2 z M 7,5.5 C 7.2761424,5.5 7.5,5.7238576 7.5,6 7.5,6.2761424 7.2761424,6.5 7,6.5 6.7238576,6.5 6.5,6.2761424 6.5,6 6.5,5.7238576 6.7238576,5.5 7,5.5 z M 4.1875,5.78125 4.15625,6.25 4.4375,6 4.1875,5.78125 z m 5.625,0 L 9. [...]
+</svg>
diff --git a/symbols/windmill.png b/symbols/windmill.png
deleted file mode 100644
index 9ec568c..0000000
Binary files a/symbols/windmill.png and /dev/null differ
diff --git a/symbols/zoo.png b/symbols/zoo.png
deleted file mode 100644
index 0697e69..0000000
Binary files a/symbols/zoo.png and /dev/null differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/openstreetmap-carto.git



More information about the Pkg-grass-devel mailing list