Index: resources/data/defaultpresets.xml
===================================================================
--- resources/data/defaultpresets.xml   (révision 19570)
+++ resources/data/defaultpresets.xml   (copie de travail)
@@ -469,7 +469,7 @@
     <chunk id="power_source_values">
     </chunk>
     <chunk id="utilities">
-        <combo key="utility" text="Utility" values="chemical,gas,heating,hydrant,oil,power,sewerage,street_lighting,telecom,television,waste,water" values_searchable="true"/>
+        <combo key="utility" text="Utility" values="chemical,gas,heating,oil,power,sewerage,street_lighting,telecom,television,waste,water" values_searchable="true"/>
     </chunk>
     <chunk id="pole">
         <text key="height" text="Height (meters)" length="7" />
@@ -5017,6 +5017,21 @@
                 <text key="name" text="Name" />
                 </optional>
         </item> <!-- Fire Hydrant -->
+        <item name="Hydrant marker" icon="presets/misc/pipeline_marker.svg" type="node" preset_name_label="true">
+            <link wiki="Key:marker" />
+            <space />
+            <combo key="marker" text="Type" values="aerial,ground,pedestal,plate,post,stone" values_context="marker" match="key!" />
+            <key key="indication:emergency" value="fire_hydrant" match="keyvalue!" />
+            <optional>
+                <reference ref="ref_operator" />
+                <combo key="material" text="Material" values="concrete,metal,plastic,steel,stone,wood" />
+                <reference ref="color" />
+                <combo key="location" text="Location" values="overground,overhead,surface,underground,underwater" values_context="pipeline" />
+                <space />
+                <label text="Indicates:" />
+                <text key="indication:diameter" text="Diameter" />
+            </optional>
+        </item> <!-- Hydrant marker -->
         <item name="Water Tank" icon="presets/emergency/water_tank.svg" type="node,closedway" preset_name_label="true">
             <link wiki="Tag:emergency=water_tank" />
             <space />
@@ -6099,6 +6114,18 @@
             </optional>
             <preset_link preset_name="Address" />
         </item> <!-- Residential Building -->
+        <item name="Service Building" icon="presets/landmark/building.svg" type="closedway,multipolygon" preset_name_label="true">
+            <link wiki="Key:building" />
+            <key key="building" value="service" match="keyvalue!" />
+            <optional>
+                <reference ref="name_operator" />
+                <reference ref="utilities" />
+                <combo key="building:levels" text="Levels above ground" values="1,2,3,4,5,6,7,8,9,10,11" text_context="building" />
+                <combo key="building:levels:underground" text="Levels below ground" values="1,2,3,4,5,6,7,8,9,10,11" text_context="building" />
+                <text key="height" text="Height (meters)" length="7" />
+            </optional>
+            <preset_link preset_name="Address" />
+        </item> <!-- Service Building -->
         <item name="Building part" icon="presets/landmark/building.svg" type="closedway,multipolygon" preset_name_label="true">
             <link wiki="Key:building:part" />
             <space />
@@ -6370,7 +6397,7 @@
             <space />
             <key key="man_made" value="utility_pole" />
             <reference ref="pole" />
-            <reference ref="utilities" />
+            <combo key="utility" text="Utility" values="power,street_lighting,telecom,television" values_searchable="true"/>
             <optional>
                 <reference ref="line_properties"/>
             </optional>
@@ -6388,7 +6415,8 @@
             <link wiki="Tag:man_made=street_cabinet" />
             <key key="man_made" value="street_cabinet" />
             <optional>
-                <combo key="street_cabinet" text="Type" values="cable_tv,gas,postal_service,power,street_lighting,telecom,traffic_control,traffic_monitoring,transport_management,waste,water,water_management" />
+                <reference ref="utilities" />
+                <combo key="street_cabinet" text="Special function" values="postal_service,traffic_control,traffic_monitoring,transport_management,waste" />
                 <reference ref="ref_operator" />
                 <text key="manufacturer" text="Manufacturer" />
                 <reference ref="color" />
@@ -6636,7 +6664,8 @@
         <item name="Marker" icon="presets/misc/pipeline_marker.svg" type="node" preset_name_label="true">
             <link wiki="Key:marker" />
             <space />
-            <combo key="marker" text="Type" values="aerial,ground,pedestal,plate,post,stone" values_context="marker" match="key" />
+            <combo key="marker" text="Type" values="aerial,ground,pedestal,plate,post,stone" values_context="marker" match="key!" />
+            <key key="indication:man_made" value="pipeline" match="keyvalue!" />
             <reference ref="utilities" />
             <optional>
                 <reference ref="ref_operator" />
@@ -6643,8 +6672,13 @@
                 <combo key="material" text="Material" values="concrete,metal,plastic,steel,stone,wood" />
                 <reference ref="color" />
                 <combo key="location" text="Location" values="overground,overhead,surface,underground,underwater" values_context="pipeline" />
+                <space />
+                <label text="Indicates:" />
+                <combo key="indication:substance" text="Substance" values="water,hot_water,steam,sewage,gas,oil" />
+                <text key="indication:diameter" text="Diameter" />
+                <text key="indication:pressure" text="Pressure" />
             </optional>
-        </item> <!-- Marker -->
+        </item> <!-- Pipeline marker -->
         <item name="Manhole" icon="presets/misc/manhole.svg" type="node" preset_name_label="true">
             <link wiki="Key:manhole" />
             <space />
@@ -7214,7 +7248,7 @@
         <item name="Power Street Cabinet" icon="presets/power/cable_distribution_cabinet.svg" type="node,closedway" preset_name_label="true">
             <link wiki="Tag:man_made=street_cabinet" />
             <key key="man_made" value="street_cabinet" />
-            <key key="street_cabinet" value="power" />
+            <key key="utility" value="power" />
             <optional>
                 <combo key="voltage" text="Voltage in Volts (V)" values="600,400,220,110" /> <!-- Recheck values -->
                 <reference ref="ref_operator" />
@@ -7227,6 +7261,7 @@
             <link wiki="Tag:building=transformer_tower" />
             <space />
             <key key="building" value="transformer_tower" />
+            <key key="utility" value="power" />
             <text key="height" text="Height (meters)" length="7" />
             <reference ref="ref_operator" />
             <preset_link preset_name="Power Substation" />
@@ -7353,12 +7403,28 @@
                 <check key="communication" text="Used for data communications" value_on="line" disable_off="true" />
             </optional>
         </item> <!-- Power Cable -->
+        <item name="Cable marker" icon="presets/misc/pipeline_marker.svg" type="node" preset_name_label="true">
+            <link wiki="Key:marker" />
+            <space />
+            <combo key="marker" text="Type" values="aerial,ground,pedestal,plate,post,stone" values_context="marker" match="key!" />
+            <key key="indication:power" value="cable" match="keyvalue!" />
+            <key key="utility" value="power" match="keyvalue!"/>
+            <optional>
+                <reference ref="ref_operator" />
+                <combo key="material" text="Material" values="concrete,metal,plastic,steel,stone,wood" />
+                <reference ref="color" />
+                <combo key="location" text="Location" values="overground,overhead,surface,underground,underwater" values_context="pipeline" />
+                <space />
+                <label text="Indicates:" />
+                <text key="indication:voltage" text="Voltage" />
+            </optional>
+        </item> <!-- Power marker -->
     </group> <!-- Power -->
     <group name="Telecom" icon="presets/telecom/telecom.svg">
         <item name="Telecom Street Cabinet" icon="presets/telecom/telecom_cabinet.svg" type="node,closedway" preset_name_label="true">
             <link wiki="Tag:man_made=street_cabinet" />
             <key key="man_made" value="street_cabinet" />
-            <key key="street_cabinet" value="telecom" />
+            <key key="utility" value="telecom" />
             <optional>
                 <reference ref="ref_operator" />
                 <text key="manufacturer" text="Manufacturer" />
@@ -9664,7 +9730,10 @@
             <space />
             <key key="landuse" value="industrial" />
             <combo key="industrial" text="Type" values="bakery,brewery,brickyard,depot,distributor,factory,grinding_mill,heating_station,machine_shop,mine,oil,port,salt_pond,sawmill,scrap_yard,shipyard,slaughterhouse,warehouse,wellsite" values_context="industrial" />
-            <reference ref="optional_name" />
+            <optional>
+                <text key="name" text="Name" />
+                <reference ref="utilities" />
+            </optional>
         </item> <!-- Industrial -->
         <item name="Garages" icon="presets/landuse/garages.svg" type="closedway,multipolygon" preset_name_label="true">
             <link wiki="Tag:landuse=garages" />
Index: resources/data/validator/combinations.mapcss
===================================================================
--- resources/data/validator/combinations.mapcss        (révision 19570)
+++ resources/data/validator/combinations.mapcss        (copie de travail)
@@ -366,10 +367,6 @@
 /* {0.key} together with {1.key}, #18267, #17630, #17604, #21836 */
 node[transformer][voltage],
 node[marker][cover],
-node[marker][voltage],
-node[marker][pressure],
-node[marker][diameter],
-node[marker][substance],
 *[building:part][building],
 *[addr:street][addr:place][outside("CZ,DK")] {
   throwWarning: tr("{0} together with {1}", "{0.key}", "{1.key}");
@@ -1171,3 +1176,33 @@
   group: tr("missing tag");
   suggestAlternative: "{0.tag} + {1.key}=*";
 }
+
+/* #24724 */
+*[marker][voltage] {
+  throwWarning: tr("{0} with {1}", "{0.tag}", "{1.key}");
+  group: tr("suspicious tag combination");
+  suggestAlternative: "indication:voltage=*";
+  fixRemove: "voltage";
+  fixAdd: "indication:voltage={1.value}"
+}
+*[marker][diameter] {
+  throwWarning: tr("{0} with {1}", "{0.tag}", "{1.key}");
+  group: tr("suspicious tag combination");
+  suggestAlternative: "indication:diameter=*";
+  fixRemove: "diameter";
+  fixAdd: "indication:diameter={1.value}"
+}
+*[marker][pressure] {
+  throwWarning: tr("{0} with {1}", "{0.tag}", "{1.key}");
+  group: tr("suspicious tag combination");
+  suggestAlternative: "indication:pressure=*";
+  fixRemove: "pressure";
+  fixAdd: "indication:pressure={1.value}"
+}
+*[marker][substance] {
+  throwWarning: tr("{0} with {1}", "{0.tag}", "{1.key}");
+  group: tr("suspicious tag combination");
+  suggestAlternative: "indication:substance=*";
+  fixRemove: "substance";
+  fixAdd: "indication:substance={1.value}"
+}
\ No newline at end of file
Index: resources/data/validator/deprecated.mapcss
===================================================================
--- resources/data/validator/deprecated.mapcss  (révision 19570)
+++ resources/data/validator/deprecated.mapcss  (copie de travail)
@@ -924,9 +924,10 @@
 /* #11507, #12297, #15409 */
 *[power=cable_distribution_cabinet] {
   throwWarning: tr("{0} is deprecated", "{0.tag}");
-  suggestAlternative: "man_made=street_cabinet + street_cabinet=*";
+  suggestAlternative: "man_made=street_cabinet + utility=power";
   group: tr("deprecated tagging");
   fixAdd: "man_made=street_cabinet";
+  fixAdd: "utility=power";
   fixRemove: "power";
 }
 
@@ -933,9 +934,10 @@
 /* #16430 */
 *[power][location=kiosk] {
   throwWarning: tr("{0} is deprecated", "{1.tag}");
+  suggestAlternative: "man_made=street_cabinet + utility=power";
   group: tr("deprecated tagging");
   fixAdd: "man_made=street_cabinet";
-  fixAdd: "street_cabinet=power";
+  fixAdd: "utility=power";
   fixRemove: "location";
 }
 
@@ -2332,6 +2334,29 @@
   fixChangeKey: "service:bicycle:chaintool => service:bicycle:chain_tool";
 }
 
+/* #20421 */
+*[transformer=minor_distribution] {
+  throwWarning: tr("{0} is deprecated", "{1.tag}");
+  suggestAlternative: "transformer=distribution";
+  group: tr("deprecated tagging");
+  fixAdd: "transformer=distribution";
+}
+
+*[transformer=traction] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "transformer=main";
+  group: tr("deprecated tagging");
+  fixAdd: "transformer=main";
+}
+
+*[transformer=auto] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "transformer=* + windings:auto=yes";
+  group: tr("deprecated tagging");
+  fixRemove: "transformer";
+  fixAdd: "windings:auto=yes";
+}
+
 /* #20434 */
 *[building:roof:shape] {
   throwWarning: tr("{0} is deprecated", "{0.key}");
@@ -2490,6 +2515,58 @@
   assertNoMatch: "node historic=archaeological_site site_type2=fortification";
 }
 
+
+/* #22748, Many street_cabinet values are deprecated*/
+*[street_cabinet=power] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=power";
+  fixAdd: "utility=power";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=telecom] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=telecom";
+  fixAdd: "utility=telecom";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=gas] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=gas";
+  fixAdd: "utility=gas";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=street_lighting] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=street_lighting";
+  fixAdd: "utility=street_lighting";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=water] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=water";
+  fixAdd: "utility=water";
+  fixRemove: "street_cabinet";
+}
+*[street_cabinet=water_management] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=water";
+  fixAdd: "utility=water";
+  fixRemove: "street_cabinet";
+}
+*[industrial=gas] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=gas";
+  fixAdd: "utility=gas";
+  fixRemove: "industrial";
+}
+
 /* Tag was renamed, see #22957 */
 area[parking:orientation][!orientation] {
   throwWarning: tr("{0} is deprecated", "{0.tag}");
@@ -2595,4 +2672,13 @@
   suggestAlternative: "type=power + power=line_section";
 }
 
+/* #24724, utility=hydrant is replaced by indication:emergency=fire_hydrant */
+*[marker][utility=hydrant] {
+  throwWarning: tr("{0} is deprecated", "{1.tag}");
+  group: tr("deprecated tagging");
+  suggestAlternative: "utility=water + indication:emergency=fire_hydrant";
+  fixAdd: "indication:emergency=fire_hydrant";
+  fixAdd": "utility=water";
+}
+
 /* When tags are deprecated they should be added to ignoretags.cfg too. */
Index: resources/data/validator/ignoretags.cfg
===================================================================
--- resources/data/validator/ignoretags.cfg     (révision 19570)
+++ resources/data/validator/ignoretags.cfg     (copie de travail)
@@ -629,6 +629,15 @@
 K:communication=outdoor_dslam
 K:man_made=outdoor_dslam
 K:street_cabinet=outdoor_dslam
+K:street_cabinet=power
+K:street_cabinet=telecom
+K:street_cabinet=street_lighting
+K:street_cabinet=water
+K:street_cabinet=water_management
+K:street_cabinet=gas
+K:street_cabinet=cable_tv
+K:street_cabinet=sewerage
+K:industrial=gas
 K:telecom=dslam
 K:telecom=outdoor_dslam
 K:amenity=fire_hydrant
Index: resources/styles/standard/elemstyles.mapcss
===================================================================
--- resources/styles/standard/elemstyles.mapcss (révision 19570)
+++ resources/styles/standard/elemstyles.mapcss (copie de travail)
@@ -1468,10 +1468,10 @@
 area[power=converter],
 area[power=switchgear],
 area[power=generator],
-area[man_made=street_cabinet][street_cabinet=power] {
+area[man_made=street_cabinet][utility=power] {
     fill-color: power#eeeeee;
 }
-node[man_made=street_cabinet][street_cabinet=power] {
+node[man_made=street_cabinet][utility=power] {
     icon-image: "presets/power/cable_distribution_cabinet.svg";
     set icon_z17;
 }
@@ -1587,7 +1587,7 @@
 /* man_made tags */
 /*****************/
 
-area[man_made=street_cabinet][street_cabinet!=power], /* power street cabinet has own style above */
+area[man_made=street_cabinet][utility!=power], /* power street cabinet has own style above */
 area[man_made=beacon],
 area[man_made=bridge],
 area[bridge:support],
@@ -1603,7 +1603,7 @@
 area[man_made=mineshaft] {
     fill-color: manmade#d8d8d8;
 }
-node[man_made=street_cabinet][street_cabinet!=power] {
+node[man_made=street_cabinet][utility!=power] {
     icon-image: "presets/misc/street_cabinet.svg";
     set icon_z17;
 }
@@ -2025,7 +2025,7 @@
 area[telecom=exchange],
 area[telecom=connection_point],
 area[telecom=service_device],
-area[man_made=street_cabinet][street_cabinet=telecom] {
+area[man_made=street_cabinet][utility=telecom] {
     fill-color: telecom#d8d8d8; /* same as man_made */
 }
 node[telecom=exchange] {
@@ -2040,7 +2040,7 @@
     icon-image: "presets/telecom/service_device.svg";
     set icon_z17;
 }
-node[man_made=street_cabinet][street_cabinet=telecom] {
+node[man_made=street_cabinet][utility=telecom] {
     icon-image: "presets/telecom/telecom_cabinet.svg";
     set icon_z17;
 }
