diff --git a/amenity-points.mss b/amenity-points.mss index 1cbfbfd247..6fda21efc3 100644 --- a/amenity-points.mss +++ b/amenity-points.mss @@ -5,6 +5,7 @@ @transportation-icon: #0092da; @transportation-text: #0066ff; +/* Note that .points is also used in water-features.mss */ .points { [feature = 'tourism_alpine_hut'][zoom >= 13] { point-file: url('symbols/alpinehut.p.16.png'); @@ -146,14 +147,6 @@ point-placement: interior; } - [feature = 'waterway_lock'], - [feature = 'lock_yes'] { - [zoom >= 15] { - point-file: url('symbols/lock_gate.png'); - point-placement: interior; - } - } - [feature = 'man_made_mast'][zoom >= 17] { point-file: url('symbols/communications.p.20.png'); point-placement: interior; @@ -977,17 +970,6 @@ text-placement: interior; } - [feature = 'waterway_lock'][zoom >= 15] { - text-name: "[name]"; - text-size: 9; - text-dy: 10; - text-fill: #0066ff; - text-face-name: @book-fonts; - text-halo-radius: 1; - text-wrap-width: 70; - text-placement: interior; - } - [feature = 'leisure_marina'][zoom >= 15] { text-name: "[name]"; text-size: 8; diff --git a/project.mml b/project.mml index ca63f393e0..a865787a3e 100644 --- a/project.mml +++ b/project.mml @@ -223,7 +223,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, waterway, lock, name,\n CASE WHEN tunnel IN ('yes', 'culvert') THEN 'yes' ELSE 'no' END AS int_tunnel, \n 'no' AS bridge\n FROM planet_osm_line\n WHERE waterway IN ('weir', 'river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi')\n AND (bridge IS NULL OR bridge NOT IN ('yes', 'aqueduct'))\n ORDER BY z_order\n) AS water_lines", + "table": "(SELECT \n way, waterway, lock, name,\n CASE WHEN tunnel IN ('yes', 'culvert') THEN 'yes' ELSE 'no' END AS int_tunnel, \n 'no' AS bridge\n FROM planet_osm_line\n WHERE waterway IN ('river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi')\n AND (bridge IS NULL OR bridge NOT IN ('yes', 'aqueduct'))\n ORDER BY z_order\n) AS water_lines", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -239,14 +239,14 @@ "advanced": {} }, { - "name": "dam", + "name": "water-barriers-line", "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 way, name \n FROM planet_osm_line \n WHERE waterway = 'dam'\n) AS dam", + "table": "(SELECT way, waterway, name \n FROM planet_osm_line \n WHERE waterway IN ('dam', 'weir', 'lock_gate')\n) AS water_barriers_line", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -258,7 +258,30 @@ 180, 85.05112877980659 ], - "id": "dam", + "id": "water-barriers-line", + "advanced": {} + }, + { + "name": "water-barriers-poly", + "srs-name": "900913", + "geometry": "polygon", + "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 way, waterway, name \n FROM planet_osm_polygon \n WHERE waterway IN ('dam', 'weir', 'lock_gate')\n) AS water_barriers_poly", + "geometry_field": "way", + "type": "postgis", + "key_field": "", + "dbname": "gis" + }, + "extent": [ + -180, + -85.05112877980659, + 180, + 85.05112877980659 + ], + "id": "water-barriers-poly", "advanced": {} }, { @@ -285,14 +308,14 @@ "advanced": {} }, { - "name": "piers-area", + "name": "piers-poly", "srs-name": "900913", "geometry": "polygon", "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, man_made \n FROM planet_osm_polygon \n WHERE man_made IN ('pier', 'breakwater', 'groyne')\n) AS piers_area", + "table": "(SELECT \n way, man_made \n FROM planet_osm_polygon \n WHERE man_made IN ('pier', 'breakwater', 'groyne')\n) AS piers_poly", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -304,18 +327,18 @@ 180, 85.05112877980659 ], - "id": "piers-area", + "id": "piers-poly", "advanced": {} }, { - "name": "piers", + "name": "piers-line", "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, man_made \n FROM planet_osm_line \n WHERE man_made IN ('pier', 'breakwater', 'groyne')\n) AS piers", + "table": "(SELECT \n way, man_made \n FROM planet_osm_line \n WHERE man_made IN ('pier', 'breakwater', 'groyne')\n) AS piers_line", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -327,18 +350,18 @@ 180, 85.05112877980659 ], - "id": "piers", + "id": "piers-line", "advanced": {} }, { - "name": "locks", + "name": "water-barriers-point", "srs-name": "900913", "geometry": "point", "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, waterway \n FROM planet_osm_point \n WHERE waterway = 'lock_gate'\n) AS locks", + "table": "(SELECT \n way, waterway \n FROM planet_osm_point \n WHERE waterway IN ('dam', 'weir', 'lock_gate')\n) AS water_barriers_points", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -350,7 +373,7 @@ 180, 85.05112877980659 ], - "id": "locks", + "id": "water-barriers-point", "advanced": {} }, { @@ -1239,7 +1262,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, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || \"natural\", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'waterway_' || waterway, 'historic_' || historic, 'lock_' || lock, 'highway_' || highway) AS feature, access, religion\n FROM planet_osm_polygon\n WHERE amenity IS NOT NULL\n OR shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes')\n OR tourism IN ('alpine_hut', 'camp_site', 'picnic_site', 'caravan_site', 'guest_house', 'hostel', 'hotel', 'motel', 'museum', 'viewpoint', 'bed_and_breakfast', 'information', 'chalet')\n OR highway IN ('bus_stop', 'traffic_signals')\n OR man_made IN ('mast', 'water_tower')\n OR historic IN ('memorial', 'archaeological_site')\n OR leisure IN ('playground', 'picnic_table')\n ORDER BY way_area desc ) AS amenity_points_poly", + "table": "(SELECT way, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || \"natural\", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'historic_' || historic, 'highway_' || highway) AS feature, access, religion\n FROM planet_osm_polygon\n WHERE amenity IS NOT NULL\n OR shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes')\n OR tourism IN ('alpine_hut', 'camp_site', 'picnic_site', 'caravan_site', 'guest_house', 'hostel', 'hotel', 'motel', 'museum', 'viewpoint', 'bed_and_breakfast', 'information', 'chalet')\n OR highway IN ('bus_stop', 'traffic_signals')\n OR man_made IN ('mast', 'water_tower')\n OR historic IN ('memorial', 'archaeological_site')\n OR leisure IN ('playground', 'picnic_table')\n ORDER BY way_area desc ) AS amenity_points_poly", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -1262,7 +1285,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, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || \"natural\", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'waterway_' || waterway, 'historic_' || historic, 'lock_' || lock, 'highway_' || highway) AS feature, access, religion\n FROM planet_osm_point\n WHERE shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes')\n OR amenity IS NOT NULL\n OR tourism IN ('alpine_hut', 'picnic_site', 'camp_site', 'caravan_site', 'guest_house', 'hostel', 'hotel', 'motel', 'museum', 'viewpoint', 'bed_and_breakfast', 'information', 'chalet')\n OR highway IN ('bus_stop', 'traffic_signals', 'ford')\n OR man_made IN ('mast', 'water_tower')\n OR historic IN ('memorial', 'archaeological_site')\n OR waterway = 'lock'\n OR lock = 'yes'\n OR leisure IN ('playground', 'slipway', 'picnic_table')\n ) AS amenity_points", + "table": "(SELECT way, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || \"natural\", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'historic_' || historic, 'highway_' || highway) AS feature, access, religion\n FROM planet_osm_point\n WHERE shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes')\n OR amenity IS NOT NULL\n OR tourism IN ('alpine_hut', 'picnic_site', 'camp_site', 'caravan_site', 'guest_house', 'hostel', 'hotel', 'motel', 'museum', 'viewpoint', 'bed_and_breakfast', 'information', 'chalet')\n OR highway IN ('bus_stop', 'traffic_signals', 'ford')\n OR man_made IN ('mast', 'water_tower')\n OR historic IN ('memorial', 'archaeological_site')\n OR leisure IN ('playground', 'slipway', 'picnic_table')\n ) AS amenity_points", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -1469,7 +1492,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, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || \"natural\", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'waterway_' || waterway, 'historic_' || historic, 'highway_' || highway) AS feature, access, NULL AS ele, name, ref, way_area\n FROM planet_osm_polygon\n WHERE amenity IS NOT NULL\n OR shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes')\n OR leisure IS NOT NULL\n OR landuse IS NOT NULL\n OR tourism IS NOT NULL\n OR \"natural\" IS NOT NULL\n OR man_made IN ('lighthouse', 'windmill')\n OR place = 'island'\n OR military = 'danger_area'\n OR historic IN ('memorial', 'archaeological_site')\n ORDER BY way_area desc ) AS text_poly", + "table": "(SELECT way, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || \"natural\", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'waterway_' || waterway, 'historic_' || historic, 'highway_' || highway) AS feature, access, NULL AS ele, name, ref, way_area\n FROM planet_osm_polygon\n WHERE amenity IS NOT NULL\n OR shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes')\n OR leisure IS NOT NULL\n OR landuse IS NOT NULL\n OR tourism IS NOT NULL\n OR \"natural\" IS NOT NULL\n OR man_made IN ('lighthouse', 'windmill', 'pier', 'breakwater', 'groyne')\n OR place = 'island'\n OR military = 'danger_area'\n OR historic IN ('memorial', 'archaeological_site')\n OR waterway = 'dam'\n ORDER BY way_area desc ) AS text_poly", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -1485,14 +1508,37 @@ "advanced": {} }, { - "name": "text", + "name": "text-line", + "srs-name": "900913", + "geometry": "linestring", + "class": "text", + "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, COALESCE('man_made_' || man_made, 'waterway_' || waterway) AS feature, access, NULL as ele, name, ref, NULL AS way_area\n FROM planet_osm_line\n WHERE man_made IN ('pier', 'breakwater', 'groyne')\n OR waterway IN ('dam', 'weir', 'lock_gate')\n) AS text_line", + "geometry_field": "way", + "type": "postgis", + "key_field": "", + "dbname": "gis" + }, + "extent": [ + -180, + -85.05112877980659, + 180, + 85.05112877980659 + ], + "id": "text-line", + "advanced": {} + }, + { + "name": "text-point", "srs-name": "900913", "geometry": "point", "class": "text", "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, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || \"natural\", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'waterway_' || waterway, 'historic_' || historic, 'highway_' || highway) AS feature, access, ele, name, ref, NULL AS way_area\n FROM planet_osm_point\n WHERE amenity IS NOT NULL\n OR shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes')\n OR leisure IS NOT NULL\n OR landuse IS NOT NULL\n OR tourism IS NOT NULL\n OR \"natural\" IS NOT NULL\n OR man_made IN ('lighthouse', 'windmill')\n OR place = 'island'\n OR military = 'danger_area'\n OR aeroway = 'gate'\n OR waterway = 'lock'\n OR historic IN ('memorial', 'archaeological_site')\n ) AS text", + "table": " (SELECT way, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || \"natural\", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'waterway_' || waterway, 'historic_' || historic, 'highway_' || highway) AS feature, access, ele, name, ref, NULL AS way_area\n FROM planet_osm_point\n WHERE amenity IS NOT NULL\n OR shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes')\n OR leisure IS NOT NULL\n OR landuse IS NOT NULL\n OR tourism IS NOT NULL\n OR \"natural\" IS NOT NULL\n OR man_made IN ('lighthouse', 'windmill')\n OR place = 'island'\n OR military = 'danger_area'\n OR aeroway = 'gate'\n OR historic IN ('memorial', 'archaeological_site')\n OR waterway IN ('dam', 'weir', 'lock_gate')\n ) AS text_point", "geometry_field": "way", "type": "postgis", "key_field": "", @@ -1504,7 +1550,7 @@ 180, 85.05112877980659 ], - "id": "text", + "id": "text-point", "advanced": {} }, { @@ -1607,7 +1653,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, waterway, lock, name, CASE WHEN tunnel IN ('yes', 'culvert') THEN 'yes' ELSE 'no' END AS int_tunnel\n FROM planet_osm_line\n WHERE waterway IN ('weir', 'river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi')\n ORDER BY z_order\n ) AS water_lines_text", + "table": " (SELECT way, waterway, lock, name, 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 ORDER BY z_order\n ) AS water_lines_text", "geometry_field": "way", "type": "postgis", "key_field": "", diff --git a/project.yaml b/project.yaml index e221d82ed6..75b28ad908 100644 --- a/project.yaml +++ b/project.yaml @@ -219,23 +219,36 @@ Layer: CASE WHEN tunnel IN ('yes', 'culvert') THEN 'yes' ELSE 'no' END AS int_tunnel, 'no' AS bridge FROM planet_osm_line - WHERE waterway IN ('weir', 'river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi') + WHERE waterway IN ('river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi') AND (bridge IS NULL OR bridge NOT IN ('yes', 'aqueduct')) ORDER BY z_order ) AS water_lines advanced: {} - - id: "dam" - name: "dam" + - id: "water-barriers-line" + name: "water-barriers-line" class: "" geometry: "linestring" <<: *extents Datasource: <<: *osm2pgsql table: |- - (SELECT way, name + (SELECT way, waterway, name FROM planet_osm_line - WHERE waterway = 'dam' - ) AS dam + WHERE waterway IN ('dam', 'weir', 'lock_gate') + ) AS water_barriers_line + advanced: {} + - id: "water-barriers-poly" + name: "water-barriers-poly" + class: "" + geometry: "polygon" + <<: *extents + Datasource: + <<: *osm2pgsql + table: |- + (SELECT way, waterway, name + FROM planet_osm_polygon + WHERE waterway IN ('dam', 'weir', 'lock_gate') + ) AS water_barriers_poly advanced: {} - id: "marinas-area" name: "marinas-area" @@ -251,8 +264,8 @@ Layer: WHERE leisure = 'marina' ) AS marinas_area advanced: {} - - id: "piers-area" - name: "piers-area" + - id: "piers-poly" + name: "piers-poly" class: "" geometry: "polygon" <<: *extents @@ -263,10 +276,10 @@ Layer: way, man_made FROM planet_osm_polygon WHERE man_made IN ('pier', 'breakwater', 'groyne') - ) AS piers_area + ) AS piers_poly advanced: {} - - id: "piers" - name: "piers" + - id: "piers-line" + name: "piers-line" class: "" geometry: "linestring" <<: *extents @@ -277,10 +290,10 @@ Layer: way, man_made FROM planet_osm_line WHERE man_made IN ('pier', 'breakwater', 'groyne') - ) AS piers + ) AS piers_line advanced: {} - - id: "locks" - name: "locks" + - id: "water-barriers-point" + name: "water-barriers-point" class: "" geometry: "point" <<: *extents @@ -290,8 +303,8 @@ Layer: (SELECT way, waterway FROM planet_osm_point - WHERE waterway = 'lock_gate' - ) AS locks + WHERE waterway IN ('dam', 'weir', 'lock_gate') + ) AS water_barriers_points advanced: {} - id: "buildings-lz" name: "buildings-lz" @@ -1214,7 +1227,7 @@ Layer: Datasource: <<: *osm2pgsql table: |2- - (SELECT way, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || "natural", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'waterway_' || waterway, 'historic_' || historic, 'lock_' || lock, 'highway_' || highway) AS feature, access, religion + (SELECT way, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || "natural", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'historic_' || historic, 'highway_' || highway) AS feature, access, religion FROM planet_osm_polygon WHERE amenity IS NOT NULL OR shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes') @@ -1233,7 +1246,7 @@ Layer: Datasource: <<: *osm2pgsql table: |2- - (SELECT way, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || "natural", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'waterway_' || waterway, 'historic_' || historic, 'lock_' || lock, 'highway_' || highway) AS feature, access, religion + (SELECT way, COALESCE('aeroway_' || aeroway, 'shop_' || CASE WHEN shop IN ('supermarket', 'bakery', 'butcher', 'clothes', 'fashion', 'convenience', 'department_store', 'doityourself', 'florist', 'hairdresser', 'car', 'car_repair', 'bicycle') THEN shop WHEN NOT shop IS NULL THEN 'other' ELSE NULL END, 'amenity_' || amenity, 'leisure_' || leisure, 'landuse_' || landuse, 'man_made_' || man_made, 'natural_' || "natural", 'place_' || place, 'tourism_' || tourism, 'military_' || military, 'historic_' || historic, 'highway_' || highway) AS feature, access, religion FROM planet_osm_point WHERE shop IN ('accessories', 'alcohol', 'antique', 'antiques', 'appliance', 'art', 'baby_goods', 'bag', 'bags', 'bakery', 'bathroom_furnishing', 'beauty', 'bed', 'betting', 'beverages', 'bicycle', 'boat', 'bookmaker', 'books', 'boutique', 'builder', 'building_materials', 'butcher', 'camera', 'car', 'car_parts', 'car_repair', 'car_service', 'carpet', 'charity', 'cheese', 'chemist', 'chocolate', 'clothes', 'coffee', 'communication', 'computer', 'confectionery', 'convenience', 'copyshop', 'cosmetics', 'craft', 'curtain', 'dairy', 'deli', 'delicatessen', 'department_store', 'discount', 'dive', 'doityourself', 'dry_cleaning', 'e-cigarette', 'electrical', 'electronics', 'energy', 'erotic', 'estate_agent', 'fabric', 'farm', 'fashion', 'fish', 'fishing', 'fishmonger', 'flooring', 'florist', 'food', 'frame', 'frozen_food', 'funeral_directors', 'furnace', 'furniture', 'gallery', 'gambling', 'games', 'garden_centre', 'gas', 'general', 'gift', 'glaziery', 'greengrocer', 'grocery', 'hairdresser', 'hardware', 'health', 'health_food', 'hearing_aids', 'herbalist', 'hifi', 'hobby', 'household', 'houseware', 'hunting', 'ice_cream', 'insurance', 'interior_decoration', 'jewellery', 'jewelry', 'kiosk', 'kitchen', 'laundry', 'leather', 'lighting', 'locksmith', 'lottery', 'mall', 'market', 'massage', 'medical', 'medical_supply', 'mobile_phone', 'money_lender', 'motorcycle', 'motorcycle_repair', 'music', 'musical_instrument', 'newsagent', 'office_supplies', 'optician', 'organic', 'outdoor', 'paint', 'pastry', 'pawnbroker', 'perfumery', 'pet', 'pets', 'pharmacy', 'phone', 'photo', 'photo_studio', 'photography', 'pottery', 'printing', 'radiotechnics', 'real_estate', 'religion', 'rental', 'salon', 'scuba_diving', 'seafood', 'second_hand', 'sewing', 'shoe_repair', 'shoes', 'shopping_centre', 'solarium', 'souvenir', 'sports', 'stationery', 'supermarket', 'tailor', 'tanning', 'tattoo', 'tea', 'ticket', 'tiles', 'tobacco', 'toys', 'trade', 'travel_agency', 'tyres', 'vacuum_cleaner', 'variety_store', 'video', 'video_games', 'watches', 'wholesale', 'wine', 'winery', 'yes') OR amenity IS NOT NULL @@ -1241,8 +1254,6 @@ Layer: OR highway IN ('bus_stop', 'traffic_signals', 'ford') OR man_made IN ('mast', 'water_tower') OR historic IN ('memorial', 'archaeological_site') - OR waterway = 'lock' - OR lock = 'yes' OR leisure IN ('playground', 'slipway', 'picnic_table') ) AS amenity_points advanced: {} @@ -1386,14 +1397,29 @@ Layer: OR landuse IS NOT NULL OR tourism IS NOT NULL OR "natural" IS NOT NULL - OR man_made IN ('lighthouse', 'windmill') + OR man_made IN ('lighthouse', 'windmill', 'pier', 'breakwater', 'groyne') OR place = 'island' OR military = 'danger_area' OR historic IN ('memorial', 'archaeological_site') + OR waterway = 'dam' ORDER BY way_area desc ) AS text_poly advanced: {} - - id: "text" - name: "text" + - id: "text-line" + name: "text-line" + class: "text" + geometry: "linestring" + <<: *extents + Datasource: + <<: *osm2pgsql + table: |- + (SELECT way, COALESCE('man_made_' || man_made, 'waterway_' || waterway) AS feature, access, NULL as ele, name, ref, NULL AS way_area + FROM planet_osm_line + WHERE man_made IN ('pier', 'breakwater', 'groyne') + OR waterway IN ('dam', 'weir', 'lock_gate') + ) AS text_line + advanced: {} + - id: "text-point" + name: "text-point" class: "text" geometry: "point" <<: *extents @@ -1412,9 +1438,9 @@ Layer: OR place = 'island' OR military = 'danger_area' OR aeroway = 'gate' - OR waterway = 'lock' OR historic IN ('memorial', 'archaeological_site') - ) AS text + OR waterway IN ('dam', 'weir', 'lock_gate') + ) AS text_point advanced: {} - id: "building-text" name: "building-text" @@ -1476,7 +1502,7 @@ Layer: table: |2- (SELECT way, waterway, lock, name, CASE WHEN tunnel IN ('yes', 'culvert') THEN 'yes' ELSE 'no' END AS int_tunnel FROM planet_osm_line - WHERE waterway IN ('weir', 'river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi') + WHERE waterway IN ('river', 'canal', 'derelict_canal', 'stream', 'drain', 'ditch', 'wadi') ORDER BY z_order ) AS water_lines_text advanced: {} diff --git a/symbols/lock_gate.png b/symbols/lock_gate.png deleted file mode 100644 index 4fb277e86f..0000000000 Binary files a/symbols/lock_gate.png and /dev/null differ diff --git a/water-features.mss b/water-features.mss index 0672373c9e..cabf9bfdac 100644 --- a/water-features.mss +++ b/water-features.mss @@ -1,16 +1,93 @@ -#dam { - [zoom >= 13] { - line-width: 2; - line-color: #444; - line-join: round; - line-cap: round; +@breakwater-color: #aaa; /* Also for groyne */ +@dam: #adadad; +@dam-line: #444444; +@weir-line: #aaa; +@lock-gate: #aaa; +@lock-gate-line: #aaa; + +#water-barriers-point, #water-barriers-line, #water-barriers-poly { + [waterway = 'dam'] { + #water-barriers-poly[zoom >= 13] { + line-width: 2; + line-color: @dam-line; + line-join: round; + line-cap: round; + polygon-fill: @dam; + } + #water-barriers-line[zoom >= 13] { + line-width: 2; + line-color: @dam-line; + line-join: round; + line-cap: round; + } + #water-barriers-point[zoom >= 17] { + marker-fill: @dam; + marker-line-color: @dam-line; + marker-line-width: 1; + marker-width: 8; + marker-height: 8; + marker-allow-overlap: true; + marker-ignore-placement: true; + } } - [zoom >= 15] { - text-name: "[name]"; - text-halo-radius: 1; - text-fill: #222; - text-size: 8; - text-face-name: @book-fonts; + + [waterway = 'weir'] { + #water-barriers-line[zoom >= 13] { + line-color: @weir-line; + line-width: 2; + line-dasharray: 2,2; + } + #water-barriers-point[zoom >= 17] { + marker-fill: @water-color; + marker-line-color: @weir-line; + marker-line-width: 1; + marker-width: 8; + marker-height: 8; + marker-allow-overlap: true; + marker-ignore-placement: true; + } + } + + [waterway = 'lock_gate'] { + #water-barriers-line[zoom >= 13] { + line-color: @lock-gate-line; + line-width: 2; + } + #water-barriers-point[zoom >= 17] { + marker-fill: @lock-gate; + marker-line-width: 0; + marker-width: 8; + marker-height: 8; + marker-allow-overlap: true; + marker-ignore-placement: true; + } + } +} + +#piers-poly, #piers-line { + [man_made = 'pier'][zoom >= 12] { + #piers-poly { + polygon-fill: @land-color; + } + #piers-line { + line-width: 1.5; + line-color: @land-color; + [zoom >= 13] { line-width: 3; } + [zoom >= 16] { line-width: 7; } + } + } + + [man_made = 'breakwater'][zoom >= 12], + [man_made = 'groyne'][zoom >= 12] { + #piers-poly { + polygon-fill: @breakwater-color; + } + #piers-line { + line-width: 1; + line-color: @breakwater-color; + [zoom >= 13] { line-width: 2; } + [zoom >= 16] { line-width: 4; } + } } } @@ -37,36 +114,50 @@ } } -#piers-area { - [zoom >= 12] { - polygon-fill: @land-color; - } -} - -#piers { - [man_made = 'breakwater'], - [man_made = 'groyne'] { - [zoom >= 12] { - line-width: 1; - line-color: #aaa; - } - [zoom >= 13] { - line-width: 2; - } - [zoom >= 16] { - line-width: 4; +.text { + [feature = 'waterway_dam'], + [feature = 'waterway_weir'], + [feature = 'waterway_lock_gate'] { + #text-poly[zoom >= 15], + #text-line[zoom >= 15], + #text-point[zoom >= 17] { + text-name: "[name]"; + text-halo-radius: 1; + text-fill: #222; + text-size: 10; + text-face-name: @book-fonts; + #text-poly { + text-placement: interior; + } + #text-line { + text-placement: line; + text-dy: 8; + text-spacing: 400; + } + #text-point { + text-placement: point; + text-dy: 8; + } } } - [man_made = 'pier'][zoom >= 12] { - line-width: 1.5; - line-color: @land-color; - [zoom >= 13] { line-width: 3; } - [zoom >= 16] { line-width: 7; } - } -} -#locks { - [waterway = 'lock_gate'][zoom >= 17] { - point-file: url('symbols/lock_gate.png'); + [feature = 'man_made_breakwater'][zoom >= 15], + [feature = 'man_made_groyne'][zoom >= 15], + [feature = 'man_made_pier'][zoom >= 15] { + #text-poly, + #text-line { + text-name: "[name]"; + text-halo-radius: 1; + text-fill: #222; + text-size: 10; + text-face-name: @book-fonts; + #text-poly { + text-placement: interior; + } + #text-line { + text-placement: line; + text-spacing: 400; + } + } } } diff --git a/water.mss b/water.mss index f29fa651a5..f8e305b009 100644 --- a/water.mss +++ b/water.mss @@ -105,13 +105,6 @@ } .water-lines { - [waterway = 'weir'][zoom >= 15] { - line-color: #aaa; - line-width: 2; - line-join: round; - line-cap: round; - } - [waterway = 'wadi'][zoom >= 13] { line-color: @water-color; line-width: 1; @@ -206,74 +199,82 @@ } #water-lines-text { - [waterway = 'river'][zoom >= 13] { - text-name: "[name]"; - text-face-name: @oblique-fonts; - text-placement: line; - text-fill: @water-text; - text-spacing: 400; - text-size: 10; - text-halo-radius: 1; - [zoom >= 14] { text-size: 12; } - [int_tunnel = 'yes'] { text-min-distance: 200; } - } - - [waterway = 'canal'][zoom >= 13][zoom < 14] { + [lock = 'yes'][zoom >= 17] { text-name: "[name]"; text-face-name: @oblique-fonts; text-halo-radius: 1; text-size: 10; - text-placement: line; text-fill: @water-text; + text-placement: point; + text-wrap-width: 20; } - [waterway = 'stream'][zoom >= 15] { - text-name: "[name]"; - text-size: 10; - text-face-name: @oblique-fonts; - text-fill: @water-text; - text-halo-radius: 1; - text-spacing: 600; - text-placement: line; - text-dy: 8; - } + [lock != 'yes'] { + [waterway = 'river'][zoom >= 13] { + text-name: "[name]"; + text-face-name: @oblique-fonts; + text-placement: line; + text-fill: @water-text; + text-spacing: 400; + text-size: 10; + text-halo-radius: 1; + [zoom >= 14] { text-size: 12; } + [int_tunnel = 'yes'] { text-min-distance: 200; } + } - [waterway = 'drain'], - [waterway = 'ditch'] { - [zoom >= 15] { + [waterway = 'canal'][zoom >= 13][zoom < 14] { text-name: "[name]"; text-face-name: @oblique-fonts; + text-halo-radius: 1; text-size: 10; + text-placement: line; text-fill: @water-text; + } + + [waterway = 'stream'][zoom >= 15] { + text-name: "[name]"; + text-size: 10; + text-face-name: @oblique-fonts; + text-fill: @water-text; + text-halo-radius: 1; text-spacing: 600; text-placement: line; - text-halo-radius: 1; + text-dy: 8; } - } - [waterway = 'canal'][zoom >= 14] { - text-name: "[name]"; - text-size: 10; - text-fill: @water-text; - text-placement: line; - text-face-name: @oblique-fonts; - text-halo-radius: 1; - [lock = 'yes'][zoom >= 17] { - text-placement: point; - text-wrap-width: 20; + [waterway = 'drain'], + [waterway = 'ditch'] { + [zoom >= 15] { + text-name: "[name]"; + text-face-name: @oblique-fonts; + text-size: 10; + text-fill: @water-text; + text-spacing: 600; + text-placement: line; + text-halo-radius: 1; + } } - } - [waterway = 'derelict_canal'][zoom >= 13] { - text-name: "[name]"; - text-size: 10; - text-fill: #80d1ae; - text-face-name: @oblique-fonts; - text-placement: line; - text-spacing: 600; - text-halo-radius: 1; - [zoom >= 14] { - text-size: 12; + [waterway = 'canal'][zoom >= 14] { + text-name: "[name]"; + text-size: 10; + text-fill: @water-text; + text-placement: line; + text-face-name: @oblique-fonts; + text-halo-radius: 1; + } + + [waterway = 'derelict_canal'][zoom >= 13] { + text-name: "[name]"; + text-size: 10; + text-fill: #80d1ae; + text-face-name: @oblique-fonts; + text-placement: line; + text-spacing: 600; + text-halo-radius: 1; + [zoom >= 14] { + text-size: 12; + } } } }