diff --git a/android/sdk/src/main/res/values-de/types_strings.xml b/android/sdk/src/main/res/values-de/types_strings.xml
index 275c7a69e..f6d083837 100644
--- a/android/sdk/src/main/res/values-de/types_strings.xml
+++ b/android/sdk/src/main/res/values-de/types_strings.xml
@@ -345,6 +345,39 @@
Notruftelefon
Rettungsschwimmer
+ Kardinalbake
+ Kardinalbake
+ Kardinalbake
+ Kardinalbake
+ Einzelgefahrenbake
+ Lateralbake
+ Lateralbake
+ Mittefahrwasserbarke
+ Spezialbake
+ Kardinalboje
+ Kardinalboje
+ Kardinalboje
+ Kardinalboje
+ Einzelgefahrenboje
+ Lateralboje
+ Lateralboje
+ Mittefahrwasserboje
+ Spezialboje
+ Kugelförmige Kardinalboje
+ Kugelförmige Kardinalboje
+ Kugelförmige Kardinalboje
+ Kugelförmige Kardinalboje
+ Kugelförmige Einzelgefahrenboje
+ Kugelförmige Lateralboje
+ Kugelförmige Lateralboje
+ Kugelförmige Mittefahrwasserboje
+ Kugelförmige Spezialboje
+ Backbord
+ Steuerbord
+ Ost
+ Nord
+ Süd
+ West
Bergrettungsstation
diff --git a/android/sdk/src/main/res/values/types_strings.xml b/android/sdk/src/main/res/values/types_strings.xml
index cdea93b89..a3fc4f75e 100644
--- a/android/sdk/src/main/res/values/types_strings.xml
+++ b/android/sdk/src/main/res/values/types_strings.xml
@@ -382,6 +382,39 @@
Emergency Phone
Lifeguard
+ Cardinal Beacon
+ Cardinal Beacon
+ Cardinal Beacon
+ Cardinal Beacon
+ Isolated Danger Beacon
+ Lateral Beacon
+ Lateral Beacon
+ Safe Water Beacon
+ Special Purpose Beacon
+ Cardinal Buoy
+ Cardinal Buoy
+ Cardinal Buoy
+ Cardinal Buoy
+ Isolated Danger Buoy
+ Lateral Buoy
+ Lateral Buoy
+ Safe Water Buoy
+ Special Purpose Buoy
+ Spherical Cardinal Buoy
+ Spherical Cardinal Buoy
+ Spherical Cardinal Buoy
+ Spherical Cardinal Buoy
+ Spherical Isolated Danger Buoy
+ Spherical Lateral Buoy
+ Spherical Lateral Buoy
+ Spherical Safe Water Buoy
+ Spherical Special Purpose Buoy
+ Port
+ Starboard
+ East
+ North
+ South
+ West
Mountain Rescue Station
diff --git a/data/mapcss-mapping.csv b/data/mapcss-mapping.csv
index e67bea10c..d081caf46 100644
--- a/data/mapcss-mapping.csv
+++ b/data/mapcss-mapping.csv
@@ -700,26 +700,26 @@ aerialway|rope_tow;575;
natural|pond;576;natural|water|pond
railway|station|funicular;[railway=station][station=funicular],[railway=halt][station=funicular];;name;int_name;577;
highway|secondary_link|tunnel;[highway=secondary_link][tunnel?];;name;int_name;578;
-deprecated|deprecated;579;x
-deprecated|deprecated;580;x
-deprecated|deprecated;581;x
-deprecated|deprecated;582;x
-deprecated|deprecated;583;x
-deprecated|deprecated;584;x
-deprecated|deprecated;585;x
-deprecated|deprecated;586;x
+buoy|lateral|port;[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port];;;;579;
+buoy|lateral|starboard;[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard];;;;580;
+buoy|isolated_danger;[seamark:type=buoy_isolated_danger];;;;581;
+buoy|cardinal|east;[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east];;;;582;
+buoy|cardinal|west;[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west];;;;583;
+buoy|cardinal|south;[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south];;;;584;
+buoy|cardinal|north;[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north];;;;585;
+buoy|special_purpose;[seamark:type=buoy_special_purpose];;;;586;
aerialway|mixed_lift;587;
-deprecated|deprecated;588;x
-deprecated|deprecated;589;x
-deprecated|deprecated;590;x
+buoy|safe_water;[seamark:type=buoy_safe_water];;;;588;
+beacon|lateral|port;[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=tower],[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=lattice],[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=pile],[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=buoyant];;;;589;
+beacon|lateral|starboard;[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=tower],[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=lattice],[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=pile],[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=buoyant];;;;590;
highway|track|grade3|permissive;[highway=track][tracktype=grade3][access=permissive];x;name;int_name;591;highway|track
-deprecated|deprecated;592;x
-deprecated|deprecated;593;x
-deprecated|deprecated;594;x
-deprecated|deprecated;595;x
-deprecated|deprecated;596;x
-deprecated:boundary|administrative|region:04.2024;[boundary=administrative][border_type=region];x;name;int_name;597;
-deprecated|deprecated;598;x
+beacon|isolated_danger;[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=tower],[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=lattice],[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=pile],[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=buoyant];;;;592;
+beacon|cardinal|east;[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=tower],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=lattice],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=pile],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=buoyant];;;;593;
+beacon|cardinal|west;[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=tower],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=lattice],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=pile],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=buoyant];;;;594;
+beacon|cardinal|south;[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=tower],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=lattice],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=pile],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=buoyant];;;;595;
+beacon|cardinal|north;[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=tower],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=lattice],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=pile],[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=buoyant];;;;596;
+beacon|special_purpose;[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=tower],[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=lattice],[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=pile],[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=buoyant];;;;597;
+beacon|safe_water;[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=tower],[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=lattice],[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=pile],[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=buoyant];;;;598;
deprecated|deprecated;599;x
deprecated|deprecated;600;x
place|continent;601;
@@ -738,23 +738,23 @@ piste:type|downhill|expert|area;[piste:type=downhill][piste:difficulty=expert][a
piste:type|downhill|area;[piste:type=downhill][area?];;;;614;
piste:type|sled|area;[piste:type=sled][area?];;;;615;
piste:type|snow_park;616;
-deprecated|deprecated;617;x
-deprecated|deprecated;618;x
+spherical_buoy|lateral|port;[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port][seamark:buoy_lateral:shape=spherical];;;;617;
+spherical_buoy|lateral|starboard;[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard][seamark:buoy_lateral:shape=spherical];;;;618;
aerialway|j-bar;619;
-deprecated|deprecated;620;x
-deprecated|deprecated;621;x
-deprecated|deprecated;622;x
-deprecated|deprecated;623;x
-deprecated|deprecated;624;x
-deprecated|deprecated;625;x
-deprecated:railway|siding|bridge:06.2023;626;x
-deprecated:highway|footway|difficult_alpine_hiking:04.2024;[highway=footway][sac_scale=difficult_alpine_hiking];x;name;int_name;627;highway|path|expert
-deprecated|deprecated;628;x
-deprecated|deprecated;629;x
-deprecated|deprecated;630;x
+spherical_buoy|isolated_danger;[seamark:type=buoy_isolated_danger][seamark:buoy_isolated_danger:shape=spherical];;;;620;
+spherical_buoy|cardinal|east;[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east][seamark:buoy_cardinal:shape=spherical];;;;621;
+spherical_buoy|cardinal|west;[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west][seamark:buoy_cardinal:shape=spherical];;;;622;
+spherical_buoy|cardinal|south;[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south][seamark:buoy_cardinal:shape=spherical];;;;623;
+spherical_buoy|cardinal|north;[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north][seamark:buoy_cardinal:shape=spherical];;;;624;
+spherical_buoy|special_purpose;[seamark:type=buoy_special_purpose][seamark:buoy_special_purpose:shape=spherical];;;;625;
+spherical_buoy|safe_water;[seamark:type=buoy_safe_water][seamark:buoy_safe_water:shape=spherical];;;;626;
+cardinal|east;[seamark:buoy_cardinal:category=east],[seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=tower],[seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=lattice],[seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=pile],[seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=buoyant];;;;627;
+cardinal|west;[seamark:buoy_cardinal:category=west],[seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=tower],[seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=lattice],[seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=pile],[seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=buoyant];;;;628;
+cardinal|south;[seamark:buoy_cardinal:category=south],[seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=tower],[seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=lattice],[seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=pile],[seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=buoyant];;;;629;
+cardinal|north;[seamark:buoy_cardinal:category=north],[seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=tower],[seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=lattice],[seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=pile],[seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=buoyant];;;;630;
highway|track|grade5|permissive;[highway=track][tracktype=grade5][access=permissive];x;name;int_name;631;highway|track
-deprecated|deprecated;632;x
-deprecated|deprecated;633;x
+lateral|port;[seamark:buoy_lateral:category=port],[seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=tower],[seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=lattice],[seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=pile],[seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=buoyant];;;;632;
+lateral|starboard;[seamark:buoy_lateral:category=starboard],[seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=tower],[seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=lattice],[seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=pile],[seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=buoyant];;;;633;
highway|tertiary_link|tunnel;[highway=tertiary_link][tunnel?];;name;int_name;634;
deprecated|deprecated;635;x
deprecated|deprecated;636;x
diff --git a/data/styles/default/dark/symbols/beacon-cardinal-east-m.svg b/data/styles/default/dark/symbols/beacon-cardinal-east-m.svg
new file mode 100644
index 000000000..f04c855eb
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-cardinal-east-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-cardinal-east-s.svg b/data/styles/default/dark/symbols/beacon-cardinal-east-s.svg
new file mode 100644
index 000000000..e6f9def79
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-cardinal-east-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-cardinal-north-m.svg b/data/styles/default/dark/symbols/beacon-cardinal-north-m.svg
new file mode 100644
index 000000000..d94eb571e
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-cardinal-north-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-cardinal-north-s.svg b/data/styles/default/dark/symbols/beacon-cardinal-north-s.svg
new file mode 100644
index 000000000..45324d08a
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-cardinal-north-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-cardinal-south-m.svg b/data/styles/default/dark/symbols/beacon-cardinal-south-m.svg
new file mode 100644
index 000000000..fe0a7c44b
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-cardinal-south-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-cardinal-south-s.svg b/data/styles/default/dark/symbols/beacon-cardinal-south-s.svg
new file mode 100644
index 000000000..750d0d197
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-cardinal-south-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-cardinal-west-m.svg b/data/styles/default/dark/symbols/beacon-cardinal-west-m.svg
new file mode 100644
index 000000000..531d4bcd6
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-cardinal-west-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-cardinal-west-s.svg b/data/styles/default/dark/symbols/beacon-cardinal-west-s.svg
new file mode 100644
index 000000000..122855b6f
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-cardinal-west-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-isolated_danger-m.svg b/data/styles/default/dark/symbols/beacon-isolated_danger-m.svg
new file mode 100644
index 000000000..5ccab05b5
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-isolated_danger-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-isolated_danger-s.svg b/data/styles/default/dark/symbols/beacon-isolated_danger-s.svg
new file mode 100644
index 000000000..be74cea68
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-isolated_danger-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-lateral-port-m.svg b/data/styles/default/dark/symbols/beacon-lateral-port-m.svg
new file mode 100644
index 000000000..9eb1f9036
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-lateral-port-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-lateral-port-s.svg b/data/styles/default/dark/symbols/beacon-lateral-port-s.svg
new file mode 100644
index 000000000..4d1aac329
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-lateral-port-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-lateral-starboard-s.svg b/data/styles/default/dark/symbols/beacon-lateral-starboard-s.svg
new file mode 100644
index 000000000..8f1e34501
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-lateral-starboard-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-lateral-starboard.svg b/data/styles/default/dark/symbols/beacon-lateral-starboard.svg
new file mode 100644
index 000000000..cd67f765d
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-lateral-starboard.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-safe_water-m.svg b/data/styles/default/dark/symbols/beacon-safe_water-m.svg
new file mode 100644
index 000000000..df1a637e2
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-safe_water-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-safe_water-s.svg b/data/styles/default/dark/symbols/beacon-safe_water-s.svg
new file mode 100644
index 000000000..fb1f2677a
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-safe_water-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-special_purpose-m.svg b/data/styles/default/dark/symbols/beacon-special_purpose-m.svg
new file mode 100644
index 000000000..b4af71f9d
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-special_purpose-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/beacon-special_purpose-s.svg b/data/styles/default/dark/symbols/beacon-special_purpose-s.svg
new file mode 100644
index 000000000..f064e5c3e
--- /dev/null
+++ b/data/styles/default/dark/symbols/beacon-special_purpose-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-cardinal-east-m.svg b/data/styles/default/dark/symbols/buoy-cardinal-east-m.svg
new file mode 100644
index 000000000..28eb91cfe
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-cardinal-east-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-cardinal-east-s.svg b/data/styles/default/dark/symbols/buoy-cardinal-east-s.svg
new file mode 100644
index 000000000..508346df9
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-cardinal-east-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-cardinal-north-m.svg b/data/styles/default/dark/symbols/buoy-cardinal-north-m.svg
new file mode 100644
index 000000000..450da88a8
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-cardinal-north-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-cardinal-north-s.svg b/data/styles/default/dark/symbols/buoy-cardinal-north-s.svg
new file mode 100644
index 000000000..0efdbc693
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-cardinal-north-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-cardinal-south-m.svg b/data/styles/default/dark/symbols/buoy-cardinal-south-m.svg
new file mode 100644
index 000000000..f3cc4cf4d
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-cardinal-south-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-cardinal-south-s.svg b/data/styles/default/dark/symbols/buoy-cardinal-south-s.svg
new file mode 100644
index 000000000..9c19fe365
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-cardinal-south-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-cardinal-west-m.svg b/data/styles/default/dark/symbols/buoy-cardinal-west-m.svg
new file mode 100644
index 000000000..e532a8c38
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-cardinal-west-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-cardinal-west-s.svg b/data/styles/default/dark/symbols/buoy-cardinal-west-s.svg
new file mode 100644
index 000000000..a75b66e54
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-cardinal-west-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-isolated_danger-m.svg b/data/styles/default/dark/symbols/buoy-isolated_danger-m.svg
new file mode 100644
index 000000000..4aacdb43b
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-isolated_danger-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-isolated_danger-s.svg b/data/styles/default/dark/symbols/buoy-isolated_danger-s.svg
new file mode 100644
index 000000000..d58670742
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-isolated_danger-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-lateral-port-m.svg b/data/styles/default/dark/symbols/buoy-lateral-port-m.svg
new file mode 100644
index 000000000..7ff7f4690
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-lateral-port-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-lateral-port-s.svg b/data/styles/default/dark/symbols/buoy-lateral-port-s.svg
new file mode 100644
index 000000000..ad3c67452
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-lateral-port-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-lateral-starboard-m.svg b/data/styles/default/dark/symbols/buoy-lateral-starboard-m.svg
new file mode 100644
index 000000000..06de49129
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-lateral-starboard-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-lateral-starboard-s.svg b/data/styles/default/dark/symbols/buoy-lateral-starboard-s.svg
new file mode 100644
index 000000000..a1a736c24
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-lateral-starboard-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-safe_water-m.svg b/data/styles/default/dark/symbols/buoy-safe_water-m.svg
new file mode 100644
index 000000000..9e2be60d8
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-safe_water-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-safe_water-s.svg b/data/styles/default/dark/symbols/buoy-safe_water-s.svg
new file mode 100644
index 000000000..62168714e
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-safe_water-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-special_purpose-m.svg b/data/styles/default/dark/symbols/buoy-special_purpose-m.svg
new file mode 100644
index 000000000..82d2064f6
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-special_purpose-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-special_purpose-s.svg b/data/styles/default/dark/symbols/buoy-special_purpose-s.svg
new file mode 100644
index 000000000..caf5fa1fe
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-special_purpose-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-cardinal-east-m.svg b/data/styles/default/dark/symbols/buoy-spherical-cardinal-east-m.svg
new file mode 100644
index 000000000..a2b4e4da8
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-cardinal-east-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-cardinal-east-s.svg b/data/styles/default/dark/symbols/buoy-spherical-cardinal-east-s.svg
new file mode 100644
index 000000000..16344080a
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-cardinal-east-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-cardinal-north-m.svg b/data/styles/default/dark/symbols/buoy-spherical-cardinal-north-m.svg
new file mode 100644
index 000000000..a401dc8f4
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-cardinal-north-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-cardinal-north-s.svg b/data/styles/default/dark/symbols/buoy-spherical-cardinal-north-s.svg
new file mode 100644
index 000000000..1d7a4b2e6
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-cardinal-north-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-cardinal-south-m.svg b/data/styles/default/dark/symbols/buoy-spherical-cardinal-south-m.svg
new file mode 100644
index 000000000..160370fef
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-cardinal-south-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-cardinal-south-s.svg b/data/styles/default/dark/symbols/buoy-spherical-cardinal-south-s.svg
new file mode 100644
index 000000000..d5a009212
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-cardinal-south-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-cardinal-west-m.svg b/data/styles/default/dark/symbols/buoy-spherical-cardinal-west-m.svg
new file mode 100644
index 000000000..c23575742
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-cardinal-west-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-cardinal-west-s.svg b/data/styles/default/dark/symbols/buoy-spherical-cardinal-west-s.svg
new file mode 100644
index 000000000..bf7bf4ca0
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-cardinal-west-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-isolated_danger-m.svg b/data/styles/default/dark/symbols/buoy-spherical-isolated_danger-m.svg
new file mode 100644
index 000000000..fc9368080
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-isolated_danger-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-isolated_danger-s.svg b/data/styles/default/dark/symbols/buoy-spherical-isolated_danger-s.svg
new file mode 100644
index 000000000..ec9c5c38b
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-isolated_danger-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-lateral-port-m.svg b/data/styles/default/dark/symbols/buoy-spherical-lateral-port-m.svg
new file mode 100644
index 000000000..5dc9dd3c8
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-lateral-port-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-lateral-port-s.svg b/data/styles/default/dark/symbols/buoy-spherical-lateral-port-s.svg
new file mode 100644
index 000000000..7a057a325
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-lateral-port-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-lateral-starboard-m.svg b/data/styles/default/dark/symbols/buoy-spherical-lateral-starboard-m.svg
new file mode 100644
index 000000000..f415b7a80
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-lateral-starboard-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-lateral-starboard-s.svg b/data/styles/default/dark/symbols/buoy-spherical-lateral-starboard-s.svg
new file mode 100644
index 000000000..5772e70e9
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-lateral-starboard-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-safe_water-m.svg b/data/styles/default/dark/symbols/buoy-spherical-safe_water-m.svg
new file mode 100644
index 000000000..744122c13
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-safe_water-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-safe_water-s.svg b/data/styles/default/dark/symbols/buoy-spherical-safe_water-s.svg
new file mode 100644
index 000000000..bda4f988d
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-safe_water-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-special_purpose-m.svg b/data/styles/default/dark/symbols/buoy-spherical-special_purpose-m.svg
new file mode 100644
index 000000000..41c6d1ea9
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-special_purpose-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/dark/symbols/buoy-spherical-special_purpose-s.svg b/data/styles/default/dark/symbols/buoy-spherical-special_purpose-s.svg
new file mode 100644
index 000000000..27752537f
--- /dev/null
+++ b/data/styles/default/dark/symbols/buoy-spherical-special_purpose-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/include/Icons.mapcss b/data/styles/default/include/Icons.mapcss
index 5166a97f2..836d56f7b 100644
--- a/data/styles/default/include/Icons.mapcss
+++ b/data/styles/default/include/Icons.mapcss
@@ -5,7 +5,7 @@
3.2 Road Icons
3.3 Tram Station
3.4 Bus Station
- 3.5 Ferry terminal
+ 3.5 Ferry terminal & seamarks
3.6 Airport
3.7 Aerialway
4.TOURISM
@@ -333,7 +333,7 @@ node|z17-[highway=bus_stop],
node|z18-19[highway=bus_stop]::int_name,
{icon-image: bus-m.svg;text-offset: 1;font-size: 9;}
-/* 3.5 Ferry terminal */
+/* 3.5 Ferry terminal & seamarks */
node|z11-12[amenity=ferry_terminal]
{icon-image: ship-s.svg;icon-min-distance: 12;}
@@ -346,6 +346,167 @@ node|z16[amenity=ferry_terminal]
node|z17-[amenity=ferry_terminal]
{icon-image: ship-m.svg;text-offset: 1;font-size: 12;}
+node|z16[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port],
+{icon-image: buoy-lateral-port-s.svg;}
+node|z16[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard],
+{icon-image: buoy-lateral-starboard-s.svg;}
+node|z16[seamark:type=buoy_isolated_danger],
+{icon-image: buoy-isolated_danger-s.svg;}
+node|z16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east],
+{icon-image: buoy-cardinal-east-s.svg;}
+node|z16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west],
+{icon-image: buoy-cardinal-west-s.svg;}
+node|z16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south],
+{icon-image: buoy-cardinal-south-s.svg;}
+node|z16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north],
+{icon-image: buoy-cardinal-north-s.svg;}
+node|z16[seamark:type=buoy_special_purpose],
+{icon-image: buoy-special_purpose-s.svg;}
+node|z16[seamark:type=buoy_safe_water],
+{icon-image: buoy-safe_water-s.svg;}
+
+node|z17-[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port],
+{icon-image: buoy-lateral-port-m.svg;}
+node|z17-[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard],
+{icon-image: buoy-lateral-starboard-m.svg;}
+node|z17-[seamark:type=buoy_isolated_danger],
+{icon-image: buoy-isolated_danger-m.svg;}
+node|z17-[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east],
+{icon-image: buoy-cardinal-east-m.svg;}
+node|z17-[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west],
+{icon-image: buoy-cardinal-west-m.svg;}
+node|z17-[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south],
+{icon-image: buoy-cardinal-south-m.svg;}
+node|z17-[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north],
+{icon-image: buoy-cardinal-north-m.svg;}
+node|z17-[seamark:type=buoy_special_purpose],
+{icon-image: buoy-special_purpose-m.svg;}
+node|z17-[seamark:type=buoy_safe_water],
+{icon-image: buoy-safe_water-m.svg;}
+
+node|z16[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port][seamark:buoy_lateral:shape=spherical],
+node|z16[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard][seamark:buoy_lateral:shape=spherical],
+node|z16[seamark:type=buoy_isolated_danger][seamark:buoy_isolated_danger:shape=spherical],
+node|z16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east][seamark:buoy_cardinal:shape=spherical],
+node|z16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west][seamark:buoy_cardinal:shape=spherical],
+node|z16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south][seamark:buoy_cardinal:shape=spherical],
+node|z16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north][seamark:buoy_cardinal:shape=spherical],
+node|z16[seamark:type=buoy_special_purpose][seamark:buoy_special_purpose:shape=spherical],
+node|z16[seamark:type=buoy_safe_water][seamark:buoy_safe_water:shape=spherical],
+{icon-image: none;}
+
+node|z17-[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port][seamark:buoy_lateral:shape=spherical],
+{icon-image: buoy-spherical-lateral-port-m.svg;}
+node|z17-[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard][seamark:buoy_lateral:shape=spherical],
+{icon-image: buoy-spherical-lateral-starboard-m.svg;}
+node|z17-[seamark:type=buoy_isolated_danger][seamark:buoy_isolated_danger:shape=spherical],
+{icon-image: buoy-spherical-isolated_danger-m.svg;}
+node|z17-[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east][seamark:buoy_cardinal:shape=spherical],
+{icon-image: buoy-spherical-cardinal-east-m.svg;}
+node|z17-[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west][seamark:buoy_cardinal:shape=spherical],
+{icon-image: buoy-spherical-cardinal-west-m.svg;}
+node|z17-[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south[seamark:buoy_cardinal:shape=spherical],
+{icon-image: buoy-spherical-cardinal-south-m.svg;}
+node|z17-[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north][seamark:buoy_cardinal:shape=spherical],
+{icon-image: buoy-spherical-cardinal-north-m.svg;}
+node|z17-[seamark:type=buoy_special_purpose][seamark:buoy_special_purpose:shape=spherical],
+{icon-image: buoy-spherical-special_purpose-m.svg;}
+node|z17-[seamark:type=buoy_safe_water][seamark:buoy_safe_water:shape=spherical],
+{icon-image: buoy-spherical-safe_water-m.svg;}
+
+node|z16[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=tower],
+node|z16[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=lattice],
+node|z16[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=pile],
+node|z16[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=buoyant],
+{icon-image: beacon-lateral-port-s.svg;}
+node|z16[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=tower],
+node|z16[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=lattice],
+node|z16[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=pile],
+node|z16[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=buoyant],
+{icon-image: beacon-lateral-starboard-s.svg;}
+node|z16[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=tower],
+node|z16[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=lattice],
+node|z16[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=pile],
+node|z16[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=buoyant],
+{icon-image: beacon-isolated_danger-s.svg;}
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=tower],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=lattice],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=pile],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-east-s.svg;}
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=tower],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=lattice],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=pile],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-west-s.svg;}
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=tower],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=lattice],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=pile],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-south-s.svg;}
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=tower],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=lattice],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=pile],
+node|z16[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-north-s.svg;}
+node|z16[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=tower],
+node|z16[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=lattice],
+node|z16[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=pile],
+node|z16[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=buoyant],
+{icon-image: beacon-special_purpose-s.svg;}
+node|z16[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=tower],
+node|z16[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=lattice],
+node|z16[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=pile],
+node|z16[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=buoyant],
+{icon-image: beacon-safe_water-s.svg;}
+
+node|z17-[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=tower],
+node|z17-[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=lattice],
+node|z17-[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=pile],
+node|z17-[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=buoyant],
+{icon-image: beacon-lateral-port-m.svg;}
+node|z17-[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=tower],
+node|z17-[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=lattice],
+node|z17-[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=pile],
+node|z17-[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=buoyant],
+{icon-image: beacon-lateral-starboard-m.svg;}
+node|z17-[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=tower],
+node|z17-[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=lattice],
+node|z17-[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=pile],
+node|z17-[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=buoyant],
+{icon-image: beacon-isolated_danger-m.svg;}
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=tower],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=lattice],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=pile],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-east-m.svg;}
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=tower],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=lattice],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=pile],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-west-m.svg;}
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=tower],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=lattice],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=pile],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-south-m.svg;}
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=tower],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=lattice],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=pile],
+node|z17-[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-north-m.svg;}
+node|z17-[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=tower],
+node|z17-[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=lattice],
+node|z17-[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=pile],
+node|z17-[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=buoyant],
+{icon-image: beacon-special_purpose-m.svg;}
+node|z17-[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=tower],
+node|z17-[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=lattice],
+node|z17-[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=pile],
+node|z17-[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=buoyant],
+{icon-image: beacon-safe_water-m.svg;}
+
+
/* 3.6 Airport */
node|z7-9[aeroway=aerodrome][aerodrome=international],
diff --git a/data/styles/default/include/priorities_4_overlays.prio.txt b/data/styles/default/include/priorities_4_overlays.prio.txt
index 7d178e4ea..4a821a236 100644
--- a/data/styles/default/include/priorities_4_overlays.prio.txt
+++ b/data/styles/default/include/priorities_4_overlays.prio.txt
@@ -1302,6 +1302,35 @@ barrier-entrance # icon z16- (also has captio
entrance-main # icon z16- (also has caption(optional) z18-)
=== 220
+spherical_buoy-cardinal-east # icon z17-
+spherical_buoy-cardinal-north # icon z17-
+spherical_buoy-cardinal-south # icon z17-
+spherical_buoy-cardinal-west # icon z17-
+spherical_buoy-isolated_danger # icon z17-
+spherical_buoy-lateral-port # icon z17-
+spherical_buoy-lateral-starboard # icon z17-
+spherical_buoy-safe_water # icon z17-
+spherical_buoy-special_purpose # icon z17-
+=== 216
+
+beacon-cardinal-east # icon z16-
+beacon-cardinal-north # icon z16-
+beacon-cardinal-south # icon z16-
+beacon-cardinal-west # icon z16-
+beacon-isolated_danger # icon z16-
+beacon-lateral-port # icon z16-
+beacon-lateral-starboard # icon z16-
+beacon-safe_water # icon z16-
+beacon-special_purpose # icon z16-
+buoy-cardinal-east # icon z16-
+buoy-cardinal-north # icon z16-
+buoy-cardinal-south # icon z16-
+buoy-cardinal-west # icon z16-
+buoy-isolated_danger # icon z16-
+buoy-lateral-port # icon z16-
+buoy-lateral-starboard # icon z16-
+buoy-safe_water # icon z16-
+buoy-special_purpose # icon z16-
highway-traffic_signals # icon z19-
=== 215
diff --git a/data/styles/default/light/symbols/beacon-cardinal-east-m.svg b/data/styles/default/light/symbols/beacon-cardinal-east-m.svg
new file mode 100644
index 000000000..391be5427
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-cardinal-east-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-cardinal-east-s.svg b/data/styles/default/light/symbols/beacon-cardinal-east-s.svg
new file mode 100644
index 000000000..18990b053
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-cardinal-east-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-cardinal-north-m.svg b/data/styles/default/light/symbols/beacon-cardinal-north-m.svg
new file mode 100644
index 000000000..d12dc9d59
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-cardinal-north-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-cardinal-north-s.svg b/data/styles/default/light/symbols/beacon-cardinal-north-s.svg
new file mode 100644
index 000000000..a380d8442
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-cardinal-north-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-cardinal-south-m.svg b/data/styles/default/light/symbols/beacon-cardinal-south-m.svg
new file mode 100644
index 000000000..6c3e5fcbc
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-cardinal-south-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-cardinal-south-s.svg b/data/styles/default/light/symbols/beacon-cardinal-south-s.svg
new file mode 100644
index 000000000..9eb6bef0b
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-cardinal-south-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-cardinal-west-m.svg b/data/styles/default/light/symbols/beacon-cardinal-west-m.svg
new file mode 100644
index 000000000..3af98e0c0
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-cardinal-west-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-cardinal-west-s.svg b/data/styles/default/light/symbols/beacon-cardinal-west-s.svg
new file mode 100644
index 000000000..7e1637a12
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-cardinal-west-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-isolated_danger-m.svg b/data/styles/default/light/symbols/beacon-isolated_danger-m.svg
new file mode 100644
index 000000000..ae4e747a9
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-isolated_danger-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-isolated_danger-s.svg b/data/styles/default/light/symbols/beacon-isolated_danger-s.svg
new file mode 100644
index 000000000..17594c831
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-isolated_danger-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-lateral-port-m.svg b/data/styles/default/light/symbols/beacon-lateral-port-m.svg
new file mode 100644
index 000000000..482ddfdea
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-lateral-port-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-lateral-port-s.svg b/data/styles/default/light/symbols/beacon-lateral-port-s.svg
new file mode 100644
index 000000000..c0efacd6e
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-lateral-port-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-lateral-starboard-m.svg b/data/styles/default/light/symbols/beacon-lateral-starboard-m.svg
new file mode 100644
index 000000000..e21878379
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-lateral-starboard-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-lateral-starboard-s.svg b/data/styles/default/light/symbols/beacon-lateral-starboard-s.svg
new file mode 100644
index 000000000..d58a8739a
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-lateral-starboard-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-safe_water-m.svg b/data/styles/default/light/symbols/beacon-safe_water-m.svg
new file mode 100644
index 000000000..935243f5c
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-safe_water-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-safe_water-s.svg b/data/styles/default/light/symbols/beacon-safe_water-s.svg
new file mode 100644
index 000000000..329365691
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-safe_water-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-special_purpose-m.svg b/data/styles/default/light/symbols/beacon-special_purpose-m.svg
new file mode 100644
index 000000000..52b2371b0
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-special_purpose-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/beacon-special_purpose-s.svg b/data/styles/default/light/symbols/beacon-special_purpose-s.svg
new file mode 100644
index 000000000..254bac173
--- /dev/null
+++ b/data/styles/default/light/symbols/beacon-special_purpose-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-cardinal-east-m.svg b/data/styles/default/light/symbols/buoy-cardinal-east-m.svg
new file mode 100644
index 000000000..90c7f36e2
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-cardinal-east-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-cardinal-east-s.svg b/data/styles/default/light/symbols/buoy-cardinal-east-s.svg
new file mode 100644
index 000000000..aed209ca2
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-cardinal-east-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-cardinal-north-m.svg b/data/styles/default/light/symbols/buoy-cardinal-north-m.svg
new file mode 100644
index 000000000..d0762984c
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-cardinal-north-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-cardinal-north-s.svg b/data/styles/default/light/symbols/buoy-cardinal-north-s.svg
new file mode 100644
index 000000000..a348fec82
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-cardinal-north-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-cardinal-south-m.svg b/data/styles/default/light/symbols/buoy-cardinal-south-m.svg
new file mode 100644
index 000000000..ccdcd7a40
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-cardinal-south-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-cardinal-south-s.svg b/data/styles/default/light/symbols/buoy-cardinal-south-s.svg
new file mode 100644
index 000000000..9b137c3d6
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-cardinal-south-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-cardinal-west-m.svg b/data/styles/default/light/symbols/buoy-cardinal-west-m.svg
new file mode 100644
index 000000000..bdec72153
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-cardinal-west-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-cardinal-west-s.svg b/data/styles/default/light/symbols/buoy-cardinal-west-s.svg
new file mode 100644
index 000000000..60dfa8723
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-cardinal-west-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-isolated_danger-m.svg b/data/styles/default/light/symbols/buoy-isolated_danger-m.svg
new file mode 100644
index 000000000..2d1281728
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-isolated_danger-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-isolated_danger-s.svg b/data/styles/default/light/symbols/buoy-isolated_danger-s.svg
new file mode 100644
index 000000000..1adda3919
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-isolated_danger-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-lateral-port-m.svg b/data/styles/default/light/symbols/buoy-lateral-port-m.svg
new file mode 100644
index 000000000..170624bc6
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-lateral-port-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-lateral-port-s.svg b/data/styles/default/light/symbols/buoy-lateral-port-s.svg
new file mode 100644
index 000000000..5bdfc7037
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-lateral-port-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-lateral-starboard-m.svg b/data/styles/default/light/symbols/buoy-lateral-starboard-m.svg
new file mode 100644
index 000000000..2613ea5dc
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-lateral-starboard-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-lateral-starboard-s.svg b/data/styles/default/light/symbols/buoy-lateral-starboard-s.svg
new file mode 100644
index 000000000..eb2b5a2f5
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-lateral-starboard-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-safe_water-m.svg b/data/styles/default/light/symbols/buoy-safe_water-m.svg
new file mode 100644
index 000000000..0a661cad9
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-safe_water-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-safe_water-s.svg b/data/styles/default/light/symbols/buoy-safe_water-s.svg
new file mode 100644
index 000000000..e2b71692b
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-safe_water-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-special_purpose-m.svg b/data/styles/default/light/symbols/buoy-special_purpose-m.svg
new file mode 100644
index 000000000..15856905d
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-special_purpose-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-special_purpose-s.svg b/data/styles/default/light/symbols/buoy-special_purpose-s.svg
new file mode 100644
index 000000000..9084f9801
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-special_purpose-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-cardinal-east-m.svg b/data/styles/default/light/symbols/buoy-spherical-cardinal-east-m.svg
new file mode 100644
index 000000000..b8862e66d
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-cardinal-east-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-cardinal-east-s.svg b/data/styles/default/light/symbols/buoy-spherical-cardinal-east-s.svg
new file mode 100644
index 000000000..04daab17b
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-cardinal-east-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-cardinal-north-m.svg b/data/styles/default/light/symbols/buoy-spherical-cardinal-north-m.svg
new file mode 100644
index 000000000..cd31b8750
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-cardinal-north-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-cardinal-north-s.svg b/data/styles/default/light/symbols/buoy-spherical-cardinal-north-s.svg
new file mode 100644
index 000000000..4af52f870
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-cardinal-north-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-cardinal-south-m.svg b/data/styles/default/light/symbols/buoy-spherical-cardinal-south-m.svg
new file mode 100644
index 000000000..91902864f
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-cardinal-south-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-cardinal-south-s.svg b/data/styles/default/light/symbols/buoy-spherical-cardinal-south-s.svg
new file mode 100644
index 000000000..444f3fe65
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-cardinal-south-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-cardinal-west-m.svg b/data/styles/default/light/symbols/buoy-spherical-cardinal-west-m.svg
new file mode 100644
index 000000000..338dea289
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-cardinal-west-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-cardinal-west-s.svg b/data/styles/default/light/symbols/buoy-spherical-cardinal-west-s.svg
new file mode 100644
index 000000000..28d651e1e
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-cardinal-west-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-isolated_danger-m.svg b/data/styles/default/light/symbols/buoy-spherical-isolated_danger-m.svg
new file mode 100644
index 000000000..baac72971
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-isolated_danger-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-isolated_danger-s.svg b/data/styles/default/light/symbols/buoy-spherical-isolated_danger-s.svg
new file mode 100644
index 000000000..9e226427b
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-isolated_danger-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-lateral-port-m.svg b/data/styles/default/light/symbols/buoy-spherical-lateral-port-m.svg
new file mode 100644
index 000000000..ab1fa931a
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-lateral-port-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-lateral-port-s.svg b/data/styles/default/light/symbols/buoy-spherical-lateral-port-s.svg
new file mode 100644
index 000000000..9dd4641ca
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-lateral-port-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-lateral-starboard-m.svg b/data/styles/default/light/symbols/buoy-spherical-lateral-starboard-m.svg
new file mode 100644
index 000000000..374dcce39
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-lateral-starboard-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-lateral-starboard-s.svg b/data/styles/default/light/symbols/buoy-spherical-lateral-starboard-s.svg
new file mode 100644
index 000000000..d2ef2167c
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-lateral-starboard-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-safe_water-m.svg b/data/styles/default/light/symbols/buoy-spherical-safe_water-m.svg
new file mode 100644
index 000000000..396be7129
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-safe_water-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-safe_water-s.svg b/data/styles/default/light/symbols/buoy-spherical-safe_water-s.svg
new file mode 100644
index 000000000..94edd7066
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-safe_water-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-special_purpose-m.svg b/data/styles/default/light/symbols/buoy-spherical-special_purpose-m.svg
new file mode 100644
index 000000000..0a1ebb4a3
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-special_purpose-m.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/default/light/symbols/buoy-spherical-special_purpose-s.svg b/data/styles/default/light/symbols/buoy-spherical-special_purpose-s.svg
new file mode 100644
index 000000000..55d60b63d
--- /dev/null
+++ b/data/styles/default/light/symbols/buoy-spherical-special_purpose-s.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/data/styles/outdoors/include/Icons.mapcss b/data/styles/outdoors/include/Icons.mapcss
index 7b937f3d5..fd90ca79d 100644
--- a/data/styles/outdoors/include/Icons.mapcss
+++ b/data/styles/outdoors/include/Icons.mapcss
@@ -148,6 +148,105 @@ node|z15-[man_made=water_well][drinking_water=not],
node|z15-[amenity=water_point][drinking_water=not],
{icon-image: drinking-water-no-m.svg;}
+
+/* 3.5 Ferry terminal & seamarks */
+
+node|z13-15[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port],
+{icon-image: buoy-lateral-port-s.svg;}
+node|z13-15[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard],
+{icon-image: buoy-lateral-starboard-s.svg;}
+node|z13-15[seamark:type=buoy_isolated_danger],
+{icon-image: buoy-isolated_danger-s.svg;}
+node|z13-15[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east],
+{icon-image: buoy-cardinal-east-s.svg;}
+node|z13-15[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west],
+{icon-image: buoy-cardinal-west-s.svg;}
+node|z13-15[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south],
+{icon-image: buoy-cardinal-south-s.svg;}
+node|z13-15[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north],
+{icon-image: buoy-cardinal-north-s.svg;}
+node|z13-15[seamark:type=buoy_special_purpose],
+{icon-image: buoy-special_purpose-s.svg;}
+node|z13-15[seamark:type=buoy_safe_water],
+{icon-image: buoy-safe_water-s.svg;}
+
+node|z13-14[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port][seamark:buoy_lateral:shape=spherical],
+node|z13-14[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard][seamark:buoy_lateral:shape=spherical],
+node|z13-14[seamark:type=buoy_isolated_danger][seamark:buoy_isolated_danger:shape=spherical],
+node|z13-14[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east][seamark:buoy_cardinal:shape=spherical],
+node|z13-14[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west][seamark:buoy_cardinal:shape=spherical],
+node|z13-14[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south][seamark:buoy_cardinal:shape=spherical],
+node|z13-14[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north][seamark:buoy_cardinal:shape=spherical],
+node|z13-14[seamark:type=buoy_special_purpose][seamark:buoy_special_purpose:shape=spherical],
+node|z13-14[seamark:type=buoy_safe_water][seamark:buoy_safe_water:shape=spherical],
+{icon-image: none;}
+
+node|z15-16[seamark:type=buoy_lateral][seamark:buoy_lateral:category=port][seamark:buoy_lateral:shape=spherical],
+{icon-image: buoy-spherical-lateral-port-s.svg;}
+node|z15-16[seamark:type=buoy_lateral][seamark:buoy_lateral:category=starboard][seamark:buoy_lateral:shape=spherical],
+{icon-image: buoy-spherical-lateral-starboard-s.svg;}
+node|z15-16[seamark:type=buoy_isolated_danger][seamark:buoy_isolated_danger:shape=spherical],
+{icon-image: buoy-spherical-isolated_danger-s.svg;}
+node|z15-16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=east][seamark:buoy_cardinal:shape=spherical],
+{icon-image: buoy-spherical-cardinal-east-s.svg;}
+node|z15-16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=west][seamark:buoy_cardinal:shape=spherical],
+{icon-image: buoy-spherical-cardinal-west-s.svg;}
+node|z15-16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=south][seamark:buoy_cardinal:shape=spherical],
+{icon-image: buoy-spherical-cardinal-south-s.svg;}
+node|z15-16[seamark:type=buoy_cardinal][seamark:buoy_cardinal:category=north][seamark:buoy_cardinal:shape=spherical],
+{icon-image: buoy-spherical-cardinal-north-s.svg;}
+node|z15-16[seamark:type=buoy_special_purpose][seamark:buoy_special_purpose:shape=spherical],
+{icon-image: buoy-spherical-special_purpose-s.svg;}
+node|z15-16[seamark:type=buoy_safe_water][seamark:buoy_safe_water:shape=spherical],
+{icon-image: buoy-spherical-safe_water-s.svg;}
+
+node|z13-15[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=tower],
+node|z13-15[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=lattice],
+node|z13-15[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=pile],
+node|z13-15[seamark:type=beacon_lateral][seamark:beacon_lateral:category=port][seamark:beacon_lateral:shape=buoyant],
+{icon-image: beacon-lateral-port-s.svg;}
+node|z13-15[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=tower],
+node|z13-15[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=lattice],
+node|z13-15[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=pile],
+node|z13-15[seamark:type=beacon_lateral][seamark:beacon_lateral:category=starboard][seamark:beacon_lateral:shape=buoyant],
+{icon-image: beacon-lateral-starboard-s.svg;}
+node|z13-15[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=tower],
+node|z13-15[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=lattice],
+node|z13-15[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=pile],
+node|z13-15[seamark:type=beacon_isolated_danger][seamark:beacon_isolated_danger:shape=buoyant],
+{icon-image: beacon-isolated_danger-s.svg;}
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=tower],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=lattice],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=pile],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=east][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-east-s.svg;}
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=tower][seamark:beacon_cardinal:category=west],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=lattice],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=pile],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=west][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-west-s.svg;}
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=tower],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=lattice],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=pile],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=south][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-south-s.svg;}
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=tower],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=lattice],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=pile],
+node|z13-15[seamark:type=beacon_cardinal][seamark:beacon_cardinal:category=north][seamark:beacon_cardinal:shape=buoyant],
+{icon-image: beacon-cardinal-north-s.svg;}
+node|z13-15[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=tower],
+node|z13-15[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=lattice],
+node|z13-15[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=pile],
+node|z13-15[seamark:type=beacon_special_purpose][seamark:beacon_special_purpose:shape=buoyant],
+{icon-image: beacon-special_purpose-s.svg;}
+node|z13-15[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=tower],
+node|z13-15[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=lattice],
+node|z13-15[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=pile],
+node|z13-15[seamark:type=beacon_safe_water][seamark:beacon_safe_water:shape=buoyant],
+{icon-image: beacon-safe_water-s.svg;}
+
+
/* 4.TOURISM */
/* 4.2 Apartament */
diff --git a/data/styles/outdoors/include/priorities_4_overlays.prio.txt b/data/styles/outdoors/include/priorities_4_overlays.prio.txt
index e2ca771f8..5bd6fcd0b 100644
--- a/data/styles/outdoors/include/priorities_4_overlays.prio.txt
+++ b/data/styles/outdoors/include/priorities_4_overlays.prio.txt
@@ -1305,6 +1305,35 @@ barrier-entrance # icon z16- (also has captio
entrance-main # icon z16- (also has caption(optional) z18-)
=== 220
+spherical_buoy-cardinal-east # icon z15-
+spherical_buoy-cardinal-north # icon z15-
+spherical_buoy-cardinal-south # icon z15-
+spherical_buoy-cardinal-west # icon z15-
+spherical_buoy-isolated_danger # icon z15-
+spherical_buoy-lateral-port # icon z15-
+spherical_buoy-lateral-starboard # icon z15-
+spherical_buoy-safe_water # icon z15-
+spherical_buoy-special_purpose # icon z15-
+=== 216
+
+beacon-cardinal-east # icon z13-
+beacon-cardinal-north # icon z13-
+beacon-cardinal-south # icon z13-
+beacon-cardinal-west # icon z13-
+beacon-isolated_danger # icon z13-
+beacon-lateral-port # icon z13-
+beacon-lateral-starboard # icon z13-
+beacon-safe_water # icon z13-
+beacon-special_purpose # icon z13-
+buoy-cardinal-east # icon z13-
+buoy-cardinal-north # icon z13-
+buoy-cardinal-south # icon z13-
+buoy-cardinal-west # icon z13-
+buoy-isolated_danger # icon z13-
+buoy-lateral-port # icon z13-
+buoy-lateral-starboard # icon z13-
+buoy-safe_water # icon z13-
+buoy-special_purpose # icon z13-
highway-traffic_signals # icon z19-
=== 215
diff --git a/iphone/Maps/LocalizedStrings/de.lproj/LocalizableTypes.strings b/iphone/Maps/LocalizedStrings/de.lproj/LocalizableTypes.strings
index c58f2c49d..761ecc28b 100644
--- a/iphone/Maps/LocalizedStrings/de.lproj/LocalizableTypes.strings
+++ b/iphone/Maps/LocalizedStrings/de.lproj/LocalizableTypes.strings
@@ -368,6 +368,39 @@
/* A place where a lifeguard is on duty. */
"type.emergency.lifeguard" = "Rettungsschwimmer";
+"type.beacon.cardinal.east" = "Kardinalbake";
+"type.beacon.cardinal.north" = "Kardinalbake";
+"type.beacon.cardinal.south" = "Kardinalbake";
+"type.beacon.cardinal.west" = "Kardinalbake";
+"type.beacon.isolated_danger" = "Einzelgefahrenbake";
+"type.beacon.lateral.port" = "Lateralbake";
+"type.beacon.lateral.starboard" = "Lateralbake";
+"type.beacon.safe_water" = "Mittefahrwasserbarke";
+"type.beacon.special_purpose" = "Spezialbake";
+"type.buoy.cardinal.east" = "Kardinalboje";
+"type.buoy.cardinal.north" = "Kardinalboje";
+"type.buoy.cardinal.south" = "Kardinalboje";
+"type.buoy.cardinal.west" = "Kardinalboje";
+"type.buoy.isolated_danger" = "Einzelgefahrenboje";
+"type.buoy.lateral.port" = "Lateralboje";
+"type.buoy.lateral.starboard" = "Lateralboje";
+"type.buoy.safe_water" = "Mittefahrwasserboje";
+"type.buoy.special_purpose" = "Spezialboje";
+"type.spherical_buoy.cardinal.east" = "Kugelförmige Kardinalboje";
+"type.spherical_buoy.cardinal.north" = "Kugelförmige Kardinalboje";
+"type.spherical_buoy.cardinal.south" = "Kugelförmige Kardinalboje";
+"type.spherical_buoy.cardinal.west" = "Kugelförmige Kardinalboje";
+"type.spherical_buoy.isolated_danger" = "Kugelförmige Einzelgefahrenboje";
+"type.spherical_buoy.lateral.port" = "Kugelförmige Lateralboje";
+"type.spherical_buoy.lateral.starboard" = "Kugelförmige Lateralboje";
+"type.spherical_buoy.safe_water" = "Kugelförmige Mittefahrwasserboje";
+"type.spherical_buoy.special_purpose" = "Kugelförmige Spezialboje";
+"type.lateral.port" = "Backbord";
+"type.lateral.starboard" = "Steuerbord";
+"type.cardinal.east" = "Ost";
+"type.cardinal.north" = "Nord";
+"type.cardinal.south" = "Süd";
+"type.cardinal.west" = "West";
/* A mountain rescue base for search and rescue activities. */
"type.emergency.mountain_rescue" = "Bergrettungsstation";
diff --git a/iphone/Maps/LocalizedStrings/en-GB.lproj/LocalizableTypes.strings b/iphone/Maps/LocalizedStrings/en-GB.lproj/LocalizableTypes.strings
index 088477922..c9e902cb6 100644
--- a/iphone/Maps/LocalizedStrings/en-GB.lproj/LocalizableTypes.strings
+++ b/iphone/Maps/LocalizedStrings/en-GB.lproj/LocalizableTypes.strings
@@ -379,6 +379,39 @@
/* A place where a lifeguard is on duty. */
"type.emergency.lifeguard" = "Lifeguard";
+"type.beacon.cardinal.east" = "Cardinal Beacon";
+"type.beacon.cardinal.north" = "Cardinal Beacon";
+"type.beacon.cardinal.south" = "Cardinal Beacon";
+"type.beacon.cardinal.west" = "Cardinal Beacon";
+"type.beacon.isolated_danger" = "Isolated Danger Beacon";
+"type.beacon.lateral.port" = "Lateral Beacon";
+"type.beacon.lateral.starboard" = "Lateral Beacon";
+"type.beacon.safe_water" = "Safe Water Beacon";
+"type.beacon.special_purpose" = "Special Purpose Beacon";
+"type.buoy.cardinal.east" = "Cardinal Buoy";
+"type.buoy.cardinal.north" = "Cardinal Buoy";
+"type.buoy.cardinal.south" = "Cardinal Buoy";
+"type.buoy.cardinal.west" = "Cardinal Buoy";
+"type.buoy.isolated_danger" = "Isolated Danger Buoy";
+"type.buoy.lateral.port" = "Lateral Buoy";
+"type.buoy.lateral.starboard" = "Lateral Buoy";
+"type.buoy.safe_water" = "Safe Water Buoy";
+"type.buoy.special_purpose" = "Special Purpose Buoy";
+"type.spherical_buoy.cardinal.east" = "Spherical Cardinal Buoy";
+"type.spherical_buoy.cardinal.north" = "Spherical Cardinal Buoy";
+"type.spherical_buoy.cardinal.south" = "Spherical Cardinal Buoy";
+"type.spherical_buoy.cardinal.west" = "Spherical Cardinal Buoy";
+"type.spherical_buoy.isolated_danger" = "Spherical Isolated Danger Buoy";
+"type.spherical_buoy.lateral.port" = "Spherical Lateral Buoy";
+"type.spherical_buoy.lateral.starboard" = "Spherical Lateral Buoy";
+"type.spherical_buoy.safe_water" = "Spherical Safe Water Buoy";
+"type.spherical_buoy.special_purpose" = "Spherical Special Purpose Buoy";
+"type.lateral.port" = "Port";
+"type.lateral.starboard" = "Starboard";
+"type.cardinal.east" = "East";
+"type.cardinal.north" = "North";
+"type.cardinal.south" = "South";
+"type.cardinal.west" = "West";
/* A mountain rescue base for search and rescue activities. */
"type.emergency.mountain_rescue" = "Mountain Rescue Station";
diff --git a/iphone/Maps/LocalizedStrings/en.lproj/LocalizableTypes.strings b/iphone/Maps/LocalizedStrings/en.lproj/LocalizableTypes.strings
index 0d2d07a0a..de037a318 100644
--- a/iphone/Maps/LocalizedStrings/en.lproj/LocalizableTypes.strings
+++ b/iphone/Maps/LocalizedStrings/en.lproj/LocalizableTypes.strings
@@ -398,6 +398,39 @@
/* A place where a lifeguard is on duty. */
"type.emergency.lifeguard" = "Lifeguard";
+"type.beacon.cardinal.east" = "Cardinal Beacon";
+"type.beacon.cardinal.north" = "Cardinal Beacon";
+"type.beacon.cardinal.south" = "Cardinal Beacon";
+"type.beacon.cardinal.west" = "Cardinal Beacon";
+"type.beacon.isolated_danger" = "Isolated Danger Beacon";
+"type.beacon.lateral.port" = "Lateral Beacon";
+"type.beacon.lateral.starboard" = "Lateral Beacon";
+"type.beacon.safe_water" = "Safe Water Beacon";
+"type.beacon.special_purpose" = "Special Purpose Beacon";
+"type.buoy.cardinal.east" = "Cardinal Buoy";
+"type.buoy.cardinal.north" = "Cardinal Buoy";
+"type.buoy.cardinal.south" = "Cardinal Buoy";
+"type.buoy.cardinal.west" = "Cardinal Buoy";
+"type.buoy.isolated_danger" = "Isolated Danger Buoy";
+"type.buoy.lateral.port" = "Lateral Buoy";
+"type.buoy.lateral.starboard" = "Lateral Buoy";
+"type.buoy.safe_water" = "Safe Water Buoy";
+"type.buoy.special_purpose" = "Special Purpose Buoy";
+"type.spherical_buoy.cardinal.east" = "Spherical Cardinal Buoy";
+"type.spherical_buoy.cardinal.north" = "Spherical Cardinal Buoy";
+"type.spherical_buoy.cardinal.south" = "Spherical Cardinal Buoy";
+"type.spherical_buoy.cardinal.west" = "Spherical Cardinal Buoy";
+"type.spherical_buoy.isolated_danger" = "Spherical Isolated Danger Buoy";
+"type.spherical_buoy.lateral.port" = "Spherical Lateral Buoy";
+"type.spherical_buoy.lateral.starboard" = "Spherical Lateral Buoy";
+"type.spherical_buoy.safe_water" = "Spherical Safe Water Buoy";
+"type.spherical_buoy.special_purpose" = "Spherical Special Purpose Buoy";
+"type.lateral.port" = "Port";
+"type.lateral.starboard" = "Starboard";
+"type.cardinal.east" = "East";
+"type.cardinal.north" = "North";
+"type.cardinal.south" = "South";
+"type.cardinal.west" = "West";
/* A mountain rescue base for search and rescue activities. */
"type.emergency.mountain_rescue" = "Mountain Rescue Station";
diff --git a/libs/indexer/feature_visibility.cpp b/libs/indexer/feature_visibility.cpp
index 2ffbf61d2..fff888730 100644
--- a/libs/indexer/feature_visibility.cpp
+++ b/libs/indexer/feature_visibility.cpp
@@ -144,6 +144,8 @@ bool TypeAlwaysExists(uint32_t type, GeomType geomType = GeomType::Undefined)
cl.GetTypeByPath({"internet_access"}),
cl.GetTypeByPath({"toilets"}),
cl.GetTypeByPath({"drinking_water"}),
+ cl.GetTypeByPath({"lateral"}),
+ cl.GetTypeByPath({"cardinal"}),
};
if (base::IsExist(arrTypes, type))
return true;
diff --git a/libs/indexer/ftypes_matcher.cpp b/libs/indexer/ftypes_matcher.cpp
index 7a57a7305..df041ae4f 100644
--- a/libs/indexer/ftypes_matcher.cpp
+++ b/libs/indexer/ftypes_matcher.cpp
@@ -740,6 +740,13 @@ IsPublicTransportStopChecker::IsPublicTransportStopChecker()
m_types.push_back(c.GetTypeByPath({"railway", "tram_stop"}));
}
+IsDirectionalChecker::IsDirectionalChecker() : ftypes::BaseChecker(1 /* level */)
+{
+ Classificator const & c = classif();
+ m_types.push_back(c.GetTypeByPath({"cardinal"}));
+ m_types.push_back(c.GetTypeByPath({"lateral"}));
+}
+
IsTaxiChecker::IsTaxiChecker()
{
Classificator const & c = classif();
diff --git a/libs/indexer/ftypes_matcher.hpp b/libs/indexer/ftypes_matcher.hpp
index af22c3938..c87895857 100644
--- a/libs/indexer/ftypes_matcher.hpp
+++ b/libs/indexer/ftypes_matcher.hpp
@@ -503,6 +503,14 @@ public:
DECLARE_CHECKER_INSTANCE(IsPublicTransportStopChecker);
};
+class IsDirectionalChecker : public ftypes::BaseChecker
+{
+ IsDirectionalChecker();
+
+public:
+ DECLARE_CHECKER_INSTANCE(IsDirectionalChecker);
+};
+
class IsTaxiChecker : public BaseChecker
{
IsTaxiChecker();
diff --git a/libs/indexer/map_object.cpp b/libs/indexer/map_object.cpp
index bf669a3c5..60020d005 100644
--- a/libs/indexer/map_object.cpp
+++ b/libs/indexer/map_object.cpp
@@ -119,6 +119,7 @@ std::string MapObject::GetLocalizedAllTypes(bool withMainType) const
copy.SortBySpec();
auto const & isPoi = ftypes::IsPoiChecker::Instance();
+ auto const & isDirectional = ftypes::IsDirectionalChecker::Instance();
auto const & amenityChecker = ftypes::IsAmenityChecker::Instance();
std::ostringstream oss;
@@ -133,7 +134,7 @@ std::string MapObject::GetLocalizedAllTypes(bool withMainType) const
}
// Ignore types that are not POI
- if (!isMainType && !isPoi(type))
+ if (!isMainType && !isPoi(type) && !isDirectional(type))
continue;
// Ignore general amenity