Index: resources/data/defaultpresets.xml
===================================================================
--- resources/data/defaultpresets.xml   (révision 19570)
+++ resources/data/defaultpresets.xml   (copie de travail)
@@ -6619,7 +6619,7 @@
             <space />
             <key key="pipeline" value="substation" />
             <text key="name" text="Name" />
-            <combo key="substation" text="Type" values="compression,distribution,field_gathering,inspection_gauge,measurement,valve,valve_group" values_context="pipeline" values_searchable="true" />
+            <combo key="substation" text="Role of substation" values="compression,distribution,field_gathering,inspection_gauge,measurement,valve,valve_group" values_context="pipeline" values_searchable="true" />
             <reference ref="ref_operator" />
             <reference ref="substance" />
         </item> <!-- Pipeline Substation -->
@@ -7127,7 +7127,7 @@
             <space />
             <key key="power" value="substation" />
             <text key="name" text="Name" />
-            <combo key="substation" text="Type of substation" values="compensation,converter,distribution,industrial,minor_distribution,traction,transition,transmission" values_context="power" />
+            <combo key="substation" text="Role of substation" values="compensation,converter,distribution,industrial,minor_distribution,traction,transition,transmission" values_context="power" />
             <reference ref="power_loc" />
             <reference ref="voltage_frequency" />
             <reference ref="ref_operator" />
@@ -7141,7 +7141,7 @@
             <link wiki="Tag:power=transformer" />
             <space />
             <key key="power" value="transformer" />
-            <combo key="transformer" text="Type of transformer" values="auxiliary,converter,distribution,generator,main,phase_angle_regulator,yes" match="key" values_context="power" />
+            <combo key="transformer" text="Nature of transformer" values="auxiliary,converter,distribution,generator,main,phase_angle_regulator,yes" match="key" values_context="power" />
             <reference ref="power_loc" />
             <reference ref="transformer_voltage_frequency" />
             <reference ref="ref_operator" />
@@ -7298,10 +7298,25 @@
             <reference ref="power_pole" />
             <space />
             <label text="Transformer Attributes:" />
-            <key key="transformer" value="distribution" match="key!" />
+            <key key="transformer" value="distribution" match="keyvalue!" />
             <reference ref="transformer_voltage_frequency" />
             <reference ref="optional_transformer_rating_phases_devices_windings" />
         </item> <!-- Pole with Transformer -->
+        <item name="Pole with Substation" icon="presets/power/pole_transformer.svg" type="node" preset_name_label="true">
+            <link wiki="Tag:power=pole" />
+            <space />
+            <key key="power" value="pole" />
+            <label text="Pole Attributes:" />
+            <reference ref="power_pole" />
+            <space />
+            <label text="Substation Attributes:" />
+            <combo key="substation" text="Role of substation" values="industrial,minor_distribution" match="key!" />
+            <space />
+            <label text="Transformer Attributes:" />
+            <combo key="transformer" text="Nature of transformer" values="main" match="none" />
+            <reference ref="transformer_voltage_frequency" />
+            <reference ref="optional_transformer_rating_phases_devices_windings" />
+        </item> <!-- Pole with Substation -->
         <item name="Catenary mast" icon="presets/power/catenary_mast.svg" type="node" preset_name_label="true">
             <link wiki="Tag:power=catenary_mast" />
             <space />
Index: resources/data/validator/combinations.mapcss
===================================================================
--- resources/data/validator/combinations.mapcss        (révision 19570)
+++ resources/data/validator/combinations.mapcss        (copie de travail)
@@ -148,7 +148,6 @@
 
 /* {0.key} without {1.tag} or {2.tag} */
 *[bridge:movable               ][bridge!=movable][man_made!=bridge],
-*[substation                   ][power!=substation][pipeline!=substation],
 *[reservoir_type               ][landuse!=reservoir][water!=reservoir],
 way[waterway=pressurised       ][tunnel!=flooded][man_made!=pipeline] {
   throwWarning: tr("{0} without {1} or {2}", "{0.key}", "{1.tag}", "{2.tag}");
@@ -155,9 +154,10 @@
   group: tr("missing tag");
 }
 
-/* {0.key} without {1.tag}, {2.tag} or {3.tag}, #15107, #20241 */
+/* {0.key} without {1.tag}, {2.tag} or {3.tag}, #15107, #20241, #20421 */
 *[iata                         ][aeroway!=aerodrome][aeroway!=heliport][aeroway!=helipad],
-*[icao                         ][aeroway!=aerodrome][aeroway!=heliport][aeroway!=helipad] {
+*[icao                         ][aeroway!=aerodrome][aeroway!=heliport][aeroway!=helipad],
+*[substation                   ][power!=substation][power!~/pole|tower/][pipeline!=substation] {
   throwWarning: tr("{0} without {1}, {2} or {3}", "{0.key}", "{1.tag}", "{2.tag}", "{3.tag}");
   group: tr("missing tag");
 }
@@ -1056,6 +1057,14 @@
   assertNoMatch: "relation piste:type=nordic piste:grooming=classic";
 }
 
+/* #20421 */
+*[substation][transformer=distribution] {
+  throwWarning: tr("{0} together with {1}", "{1.tag}", "{0.key}");
+  suggestAlternative: "transformer=main";
+  group: tr("suspicious tag combination");
+  fixAdd: "transformer=main"
+}
+
 /* #21836 */
 *[voltage:primary][voltage:secondary][transformer=generator][tag("voltage:secondary")<tag("voltage:primary")] {
   throwWarning: tr("{0} is lower than {1} on {2}.", "{1.key}", "{0.key}", "{2.tag}");
Index: resources/data/validator/deprecated.mapcss
===================================================================
--- resources/data/validator/deprecated.mapcss  (révision 19570)
+++ resources/data/validator/deprecated.mapcss  (copie de travail)
@@ -2332,6 +2332,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}");
Index: resources/data/validator/geometry.mapcss
===================================================================
--- resources/data/validator/geometry.mapcss    (révision 19570)
+++ resources/data/validator/geometry.mapcss    (copie de travail)
@@ -429,6 +429,13 @@
   throwWarning: tr("Ferry route is not connected to a ferry terminal or branches.");
 }
 
+/* 20421 */
+area[power=substation] ⊇ *[transformer=distribution] {
+  throwWarning: tr("A distribution transformer shouldn't be contained in a substation.");
+  suggestAlternative: "transformer=main";
+  fixAdd: "transformer=main";
+}
+
 /* #21801 */
 way[railway][railway !~ /^(turntable|traverser|platform_edge|roundhouse|workshop|platform)$/] > node[/railway$/ !~ /^(switch|railway_crossing)$/][count(parent_osm_primitives("railway")) > 2]:connection,
 way[railway][railway !~ /^(turntable|traverser|platform_edge|roundhouse|workshop|platform)$/] >[index!=1][index!=-1] node[/railway$/ !~ /^(switch|railway_crossing)$/][count(parent_osm_primitives("railway")) == 2]:connection {
