diff --git a/amenity-points.mss b/amenity-points.mss
index 822d1d813b..ffb8cdc9e7 100644
--- a/amenity-points.mss
+++ b/amenity-points.mss
@@ -690,6 +690,30 @@
marker-clip: false;
}
+ [feature = 'historic_castle'][castle_type != 'stately'][zoom >= 15],
+ [feature = 'historic_castle'][castle_type = 'stately'][zoom >= 16],
+ [feature = 'historic_manor'][zoom >= 15] {
+ marker-file: url('symbols/castle.svg');
+ marker-fill: @memorials;
+ marker-placement: interior;
+ marker-clip: false;
+ [castle_type = 'palace'],
+ [castle_type = 'stately'] {
+ marker-file: url('symbols/palace.svg');
+ }
+ [castle_type = 'manor'],
+ [feature = 'historic_manor'] {
+ marker-file: url('symbols/manor.svg');
+ }
+ [castle_type = 'fortress'],
+ [castle_type = 'defensive'],
+ [castle_type = 'castrum'],
+ [castle_type = 'shiro'],
+ [castle_type = 'kremlin'] {
+ marker-file: url('symbols/fortress.svg');
+ }
+ }
+
[feature = 'historic_archaeological_site'][zoom >= 16] {
marker-file: url('symbols/archaeological_site.svg');
marker-fill: @culture;
@@ -1557,7 +1581,9 @@
[feature = 'historic_memorial_plaque'][zoom >= 19],
[feature = 'man_made_obelisk'][zoom >= 16],
[feature = 'historic_monument'][zoom >= 16],
- [feature = 'historic_fort'][zoom >= 16] {
+ [feature = 'historic_fort'][zoom >= 16],
+ [feature = 'historic_castle'][zoom >= 16],
+ [feature = 'historic_manor'][zoom >= 16] {
text-name: "[name]";
text-size: @standard-font-size;
text-wrap-width: @standard-wrap-width;
diff --git a/project.mml b/project.mml
index e33ca0e2fc..3e42bd6b63 100644
--- a/project.mml
+++ b/project.mml
@@ -1448,7 +1448,7 @@ Layer:
'fitness_centre', 'fitness_station', 'firepit', 'sauna', 'beach_resort') THEN leisure ELSE NULL END,
'man_made_' || CASE WHEN man_made IN ('mast', 'tower', 'water_tower', 'lighthouse', 'windmill', 'obelisk') THEN man_made ELSE NULL END,
'natural_' || CASE WHEN "natural" IN ('spring') THEN "natural" ELSE NULL END,
- 'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort')
+ 'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort', 'castle', 'manor')
THEN concat_ws('_', historic, CASE WHEN tags->'memorial' IN ('plaque') THEN tags->'memorial' ELSE NULL END)
ELSE NULL END,
'military_'|| CASE WHEN military IN ('bunker') THEN military ELSE NULL END,
@@ -1474,6 +1474,7 @@ Layer:
tags->'recycling_type' as recycling_type,
tags->'tower:construction' as "tower:construction",
tags->'tower:type' as "tower:type",
+ tags->'castle_type' as castle_type,
CASE WHEN shop IN ('supermarket', 'bag', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer',
'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'fishmonger', 'florist',
'garden_centre', 'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet',
@@ -1496,7 +1497,7 @@ Layer:
'fitness_station', 'firepit', 'sauna', 'beach_resort')
OR man_made IN ('mast', 'tower', 'water_tower', 'lighthouse', 'windmill', 'obelisk')
OR "natural" IN ('spring')
- OR historic IN ('memorial', 'monument', 'archaeological_site', 'fort')
+ OR historic IN ('memorial', 'monument', 'archaeological_site', 'fort', 'castle', 'manor')
OR tags->'memorial' IN ('plaque')
OR military IN ('bunker')
OR highway IN ('bus_stop', 'elevator', 'traffic_signals')
@@ -1552,7 +1553,7 @@ Layer:
'dog_park', 'fitness_centre', 'fitness_station', 'firepit', 'sauna', 'beach_resort') THEN leisure ELSE NULL END,
'man_made_' || CASE WHEN man_made IN ('mast', 'tower', 'water_tower', 'lighthouse', 'windmill', 'obelisk') THEN man_made ELSE NULL END,
'natural_' || CASE WHEN "natural" IN ('peak', 'volcano', 'saddle', 'spring', 'cave_entrance') THEN "natural" ELSE NULL END,
- 'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort')
+ 'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort', 'castle', 'manor')
THEN concat_ws('_', historic, CASE WHEN tags->'memorial' IN ('plaque') THEN tags->'memorial' ELSE NULL END)
ELSE NULL END,
'military_'|| CASE WHEN military IN ('bunker') THEN military ELSE NULL END,
@@ -1590,6 +1591,7 @@ Layer:
tags->'recycling_type' as recycling_type,
tags->'tower:construction' as "tower:construction",
tags->'tower:type' as "tower:type",
+ tags->'castle_type' as castle_type,
CASE WHEN shop IN ('supermarket', 'bag', 'bakery', 'beauty', 'books', 'butcher', 'clothes', 'computer',
'confectionery', 'fashion', 'convenience', 'department_store', 'doityourself', 'hardware', 'fishmonger', 'florist',
'garden_centre', 'hairdresser', 'hifi', 'ice_cream', 'car', 'car_repair', 'bicycle', 'mall', 'pet',
@@ -1613,7 +1615,7 @@ Layer:
OR barrier IN ('toll_booth')
OR man_made IN ('mast', 'tower', 'water_tower', 'lighthouse', 'windmill', 'cross', 'obelisk')
OR "natural" IN ('peak', 'volcano', 'saddle', 'spring', 'cave_entrance')
- OR historic IN ('memorial', 'monument', 'archaeological_site', 'wayside_cross', 'fort', 'wayside_shrine')
+ OR historic IN ('memorial', 'monument', 'archaeological_site', 'wayside_cross', 'fort', 'wayside_shrine', 'castle', 'manor')
OR tags->'memorial' IN ('plaque')
OR military IN ('bunker')
OR tags @> 'emergency=>phone'
@@ -2007,7 +2009,7 @@ Layer:
'grassland', 'scrub', 'beach', 'shoal', 'reef', 'glacier') THEN "natural" ELSE NULL END,
'place_' || CASE WHEN place IN ('island', 'islet') THEN place ELSE NULL END,
'military_' || CASE WHEN military IN ('danger_area', 'bunker') THEN military ELSE NULL END,
- 'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort')
+ 'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort', 'castle', 'manor')
THEN concat_ws('_', historic, CASE WHEN tags->'memorial' IN ('plaque') THEN tags->'memorial' ELSE NULL END)
ELSE NULL END,
'highway_' || CASE WHEN highway IN ('services', 'rest_area', 'bus_stop', 'elevator') THEN highway ELSE NULL END,
@@ -2029,6 +2031,7 @@ Layer:
tags->'icao' as icao,
tags->'iata' as iata,
tags->'recycling_type' as recycling_type,
+ tags->'castle_type' as castle_type,
ref,
way_area,
CASE WHEN building = 'no' OR building IS NULL THEN 'no' ELSE 'yes' END AS is_building
@@ -2046,7 +2049,7 @@ Layer:
OR "natural" IS NOT NULL
OR place IN ('island', 'islet')
OR military IN ('danger_area', 'bunker')
- OR historic IN ('memorial', 'monument', 'archaeological_site', 'fort')
+ OR historic IN ('memorial', 'monument', 'archaeological_site', 'fort', 'castle', 'manor')
OR tags->'memorial' IN ('plaque')
OR highway IN ('services', 'rest_area', 'bus_stop', 'elevator')
OR power IN ('plant', 'station', 'generator', 'sub_station', 'substation')
@@ -2110,6 +2113,7 @@ Layer:
icao,
iata,
recycling_type,
+ castle_type,
ref,
way_area,
is_building
@@ -2154,7 +2158,7 @@ Layer:
'place_' || CASE WHEN place IN ('island', 'islet') THEN place ELSE NULL END,
'barrier_' || CASE WHEN barrier IN ('toll_booth') THEN barrier ELSE NULL END,
'military_' || CASE WHEN military IN ('danger_area', 'bunker') THEN military ELSE NULL END,
- 'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort')
+ 'historic_' || CASE WHEN historic IN ('memorial', 'monument', 'archaeological_site', 'fort', 'castle', 'manor')
THEN concat_ws('_', historic, CASE WHEN tags->'memorial' IN ('plaque') THEN tags->'memorial' ELSE NULL END)
ELSE NULL END,
'highway_' || CASE WHEN highway IN ('services', 'rest_area', 'bus_stop', 'elevator') THEN highway ELSE NULL END,
@@ -2179,6 +2183,7 @@ Layer:
tags->'icao' as icao,
tags->'iata' as iata,
tags->'recycling_type' as recycling_type,
+ tags->'castle_type' as castle_type,
ref,
NULL AS way_area,
CASE WHEN building = 'no' OR building IS NULL THEN 'no' ELSE 'yes' END AS is_building
@@ -2199,7 +2204,7 @@ Layer:
OR place IN ('island', 'islet')
OR barrier IN ('toll_booth')
OR military IN ('danger_area', 'bunker')
- OR historic IN ('memorial', 'monument', 'archaeological_site', 'wayside_cross', 'fort', 'wayside_shrine')
+ OR historic IN ('memorial', 'monument', 'archaeological_site', 'wayside_cross', 'fort', 'wayside_shrine', 'castle', 'manor')
OR tags->'memorial' IN ('plaque')
OR highway IN ('bus_stop', 'services', 'rest_area', 'elevator')
OR power IN ('plant', 'station', 'generator', 'sub_station', 'substation')
diff --git a/symbols/castle.svg b/symbols/castle.svg
new file mode 100644
index 0000000000..9f7b6b982a
--- /dev/null
+++ b/symbols/castle.svg
@@ -0,0 +1,38 @@
+
+
diff --git a/symbols/fortress.svg b/symbols/fortress.svg
new file mode 100644
index 0000000000..773534f226
--- /dev/null
+++ b/symbols/fortress.svg
@@ -0,0 +1,38 @@
+
+
diff --git a/symbols/manor.svg b/symbols/manor.svg
new file mode 100644
index 0000000000..fba7c76585
--- /dev/null
+++ b/symbols/manor.svg
@@ -0,0 +1,29 @@
+
+
diff --git a/symbols/palace.svg b/symbols/palace.svg
new file mode 100644
index 0000000000..48539c85ab
--- /dev/null
+++ b/symbols/palace.svg
@@ -0,0 +1,38 @@
+
+