Index: trunk/resources/data/defaultpresets.xml
===================================================================
--- trunk/resources/data/defaultpresets.xml	(revision 17262)
+++ trunk/resources/data/defaultpresets.xml	(revision 17263)
@@ -404,4 +404,5 @@
         <combo key="material" text="Material" values="concrete,metal,plastic,steel,stone,wood" />
         <combo key="line_attachment" text="Line attachment" values="anchor,pin,pulley,suspension" values_context="power" />
+        <combo key="line_management" text="Line management" values="branch,cross,split,straight,termination,transition,transpose" values_context="Line management" />
         <check key="location:transition" text="Location transition" disable_off="true" />
         <reference ref="ref_operator" />
@@ -6214,4 +6215,5 @@
             <optional>
                 <combo key="line_attachment" text="Line attachment" values="anchor,pin,pulley,suspension" values_context="power" />
+                <combo key="line_management" text="Line management" values="branch,cross,split,straight,termination,transition,transpose" values_context="Line management" />
                 <text key="ref" text="Reference" />
                 <text key="operator" text="Operator" />
@@ -6229,4 +6231,5 @@
             <combo key="design" text="Portal design" values="portal,portal_two-level,portal_three-level" values_context="power" />
             <combo key="line_attachment" text="Line attachment" values="anchor,pin,pulley,suspension" values_context="power" />
+            <combo key="line_management" text="Line management" values="branch,cross,split,straight,termination,transition,transpose" values_context="Line management" />
         </item> <!-- Power Portal -->
         <item name="Power Tower" icon="presets/power/tower.svg" type="node" preset_name_label="true">
@@ -6240,8 +6243,7 @@
             <reference ref="ref_operator" />
             <optional>
-                <combo key="tower:type" text="Tower type" values="termination,branch,transposing,crossing,transition" text_context="power" values_context="power" />
-                <combo key="branch:type" text="Branch tower type" values="tap,split,loop,cross" values_context="power" />
                 <combo key="design" text="Tower design" values="one-level,two-level,donau,three-level,barrel,asymmetric,triangle,flag,donau;one-level,four-level,six-level,nine-level,delta,delta_two-level,y-frame,x-frame,h-frame,guyed_h-frame,portal,portal_two-level,portal_three-level,guyed_v-frame,bipole,monopolar" values_context="power" />
                 <combo key="line_attachment" text="Line attachment" values="anchor,pin,pulley,suspension" values_context="power" />
+                <combo key="line_management" text="Line management" values="branch,cross,split,straight,termination,transition,transpose" values_context="Line management" />
                 <check key="triple_tower" text="Triple tower" />
                 <check key="design:incomplete" text="Incomplete tower" />
@@ -6295,4 +6297,5 @@
             <key key="power" value="insulator" />
             <combo key="line_attachment" text="Line attachment" values="anchor,pin,pulley,suspension" values_context="power" />
+            <combo key="line_management" text="Line management" values="branch,cross,split,straight,termination,transition,transpose" values_context="Line management" />
             <reference ref="ref_operator" />
         </item> <!-- Insulator -->
Index: trunk/resources/data/validator/deprecated.mapcss
===================================================================
--- trunk/resources/data/validator/deprecated.mapcss	(revision 17262)
+++ trunk/resources/data/validator/deprecated.mapcss	(revision 17263)
@@ -1800,5 +1800,5 @@
 }
 
-/* #17984 */
+/* #17984, #19383 */
 *[tower:type=anchor],
 *[tower:type=suspension] {
@@ -1806,4 +1806,65 @@
   suggestAlternative: concat("line_attachment=", "{0.value}");
   fixChangeKey: "tower:type => line_attachment";
+  set power_tower_type_warning;
+  group: tr("deprecated tagging");
+}
+*[tower:type=branch][branch:type=split],
+*[tower:type=branch][branch:type=loop] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=split";
+  fixAdd: "line_management=split";
+  fixRemove: "tower:type";
+  fixRemove: "branch:type";
+  set power_tower_type_warning;
+  group: tr("deprecated tagging");
+}
+*[tower:type=branch][!branch:type],
+*[tower:type=branch][branch:type=tap] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=branch";
+  fixAdd: "line_management=branch";
+  fixRemove: "tower:type";
+  fixRemove: "branch:type";
+  set power_tower_type_warning;
+  group: tr("deprecated tagging");
+}
+*[tower:type=branch][branch:type=cross] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=cross";
+  fixAdd: "line_management=cross";
+  fixRemove: "tower:type";
+  fixRemove: "branch:type";
+  set power_tower_type_warning;
+  group: tr("deprecated tagging");
+}
+*[tower:type=termination] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=termination";
+  fixAdd: "line_management=termination";
+  fixRemove: "tower:type";
+  set power_tower_type_warning;
+  group: tr("deprecated tagging");
+}
+*[tower:type=transposing] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=transpose";
+  fixAdd: "line_management=transpose";
+  fixRemove: "tower:type";
+  set power_tower_type_warning;
+  group: tr("deprecated tagging");
+}
+*[tower:type=crossing] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "height=* + design=*";
+  set power_tower_type_warning;
+  group: tr("deprecated tagging");
+}
+*[tower:type][power][power=~/^(tower|pole|insulator|portal|terminal)$/]!.power_tower_type_warning {
+  throwWarning: tr("{0} is deprecated for {1}", "{0.key}", "{1.tag}");
+  suggestAlternative: "design";
+  suggestAlternative: "structure";
+  suggestAlternative: "line_management";
+  suggestAlternative: "line_attachment";
+  set generic_power_tower_type_warning;
   group: tr("deprecated tagging");
 }
@@ -1813,4 +1874,48 @@
   suggestAlternative: concat("line_attachment=", "{0.value}");
   fixChangeKey: "pole:type => line_attachment";
+  set power_pole_type_warning;
+  group: tr("deprecated tagging");
+}
+node[pole:type=branch][branch:type=split],
+node[pole:type=branch][branch:type=loop] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=split";
+  fixAdd: "line_management=split";
+  fixRemove: "pole:type";
+  fixRemove: "branch:type";
+  set power_pole_type_warning;
+  group: tr("deprecated tagging");
+}
+node[pole:type=branch][!branch:type],
+node[pole:type=branch][branch:type=tap] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=branch";
+  fixAdd: "line_management=branch";
+  fixRemove: "pole:type";
+  fixRemove: "branch:type";
+  set power_pole_type_warning;
+  group: tr("deprecated tagging");
+}
+node[pole:type=branch][branch:type=cross] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=cross";
+  fixAdd: "line_management=cross";
+  fixRemove: "pole:type";
+  fixRemove: "branch:type";
+  set power_pole_type_warning;
+  group: tr("deprecated tagging");
+}
+node[pole:type=termination] {
+  throwWarning: tr("{0} is deprecated", "{0.tag}");
+  suggestAlternative: "line_management=termination";
+  fixAdd: "line_management=termination";
+  fixRemove: "pole:type";
+  set power_pole_type_warning;
+  group: tr("deprecated tagging");
+}
+*[pole:type][power][power=~/^(tower|pole|insulator|portal|terminal)$/]!.power_pole_type_warning!.generic_power_tower_type_warning {
+  throwWarning: tr("{0} is deprecated for {1}", "{0.key}", "{1.tag}");
+  suggestAlternative: "line_management";
+  suggestAlternative: "line_attachment";
   group: tr("deprecated tagging");
 }
Index: trunk/resources/data/validator/geometry.mapcss
===================================================================
--- trunk/resources/data/validator/geometry.mapcss	(revision 17262)
+++ trunk/resources/data/validator/geometry.mapcss	(revision 17263)
@@ -97,4 +97,5 @@
 /* {0} on a way, should be a node */
 way[line_attachment],
+way[line_management],
 way[emergency=fire_hydrant],
 way[emergency=defibrillator],
Index: trunk/resources/data/validator/ignoretags.cfg
===================================================================
--- trunk/resources/data/validator/ignoretags.cfg	(revision 17262)
+++ trunk/resources/data/validator/ignoretags.cfg	(revision 17263)
@@ -665,8 +665,4 @@
 E:recycling:metal
 K:shop=dog_grooming
-K:tower:type=anchor
-K:tower:type=suspension
-K:pole:type=anchor
-K:pole:type=suspension
 K:man_made=pipeline_marker
 K:pipeline=marker
@@ -706,4 +702,5 @@
 K:cuisine=bbq
 K:cuisine=BBQ
+E:pole:type
 ;
 ; Tags not yet decided (to remove from this section when added or moved up when deprecated) 
