Summary
Adds a diagram rule to specify the end of a rule sequence during diagram building based on an existing template.
Learn more about rules used to iterate on a particular sequences of diagram rules
Caution:
This tool is a configuration and administration tool.
Note:
This tool impacts the consistency of any existing diagrams based on the input diagram template. All of the existing diagrams become inconsistent and open with a consistency warning icon until they are updated.
Usage
This tool is not supported when working with a utility network service. You must work with either a utility network or trace network in a file geodatabase or a database connection to a utility network in an enterprise geodatabase. When working with an enterprise geodatabase, the connection must be established as the database utility network owner.
When performing this operation on a utility network in an enterprise geodatabase, the connected ArcGIS Enterprise portal account must be the portal utility network owner.
The network data element specified for the input network parameter must be from either a utility network or trace network in a file geodatabase or a database connection to a utility network in an enterprise geodatabase.
The Stop Iteration rule specifies the end of the rule sequence on which the diagram builder will iterate.
Syntax
AddStopIterationRule(in_utility_network, template_name, is_active, {description})
Parameter | Explanation | Data Type |
in_utility_network | The utility network or trace network containing the diagram template to modify. | Utility Network; Trace Network |
template_name | The name of the diagram template to modify. | String |
is_active | Specifies whether the rule will be enabled when generating and updating diagrams based on the specified template.
| Boolean |
description (Optional) | The description of the rule. | String |
Derived Output
Name | Explanation | Data Type |
out_utility_network | The updated utility network or trace network. | Utility Network; Trace Network |
out_template_name | The name of the diagram template. | String |
Code sample
Create a template configured to trace a subnetwork, remove containers, and loop on a set of reduction rules. The rules will reduce all system and miscellaneous junctions that are connected to 0, 1, or 2 other junctions, reduce all distribution devices except circuit breakers and switches that are connected to 0, 1, or 2 other junctions, and reduce all system and miscellaneous junctions that are connected to 3 or more other junctions.
import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "Template1"
input_StructureJunction = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.StructureJunction"
input_DistributionAssembly = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricDistributionAssembly"
input_DistributionDevice = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricDistributionDevice"
input_MiscJunction = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricDistributionJunction"
input_SystemJunctions = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.UN_112_SystemJunctions"
arcpy.AddDiagramTemplate_nd(input_Network, input_DiagramTemplate)
arcpy.AddTraceRule_nd(input_Network, input_DiagramTemplate, "ACTIVE",
"SUBNETWORK", "ElectricDistribution", "Medium Voltage",
"Low Voltage Mesh")
arcpy.AddRemoveFeatureRule_nd(input_Network, input_DiagramTemplate,
'ACTIVE', 'INCLUDE_SOURCE_CLASSES',
input_StructureJunction + ";" + input_DistributionAssembly)
arcpy.AddStartIterationRule_nd(input_Network, input_DiagramTemplate,
'ACTIVE')
arcpy.AddReduceJunctionRule_nd(input_Network, input_DiagramTemplate,
'ACTIVE', 'INCLUDE_SOURCE_CLASSES',
input_SystemJunctions + ";" + input_MiscJunction,
"MAX_2_CONNECTED_JUNCTIONS",
"REDUCE_UNCONNECTED_JCT",
"REDUCE_JCT_TO_1JCT", "REDUCE_JCT_TO_2JCTS")
arcpy.AddReduceJunctionByAttributesRule_nd(input_Network,
input_DiagramTemplate, 'ACTIVE', "",
input_DistributionDevice,
"ASSETGROUP NOT IN (4, 15)",
"MAX_2_CONNECTED_JUNCTIONS",
"REDUCE_UNCONNECTED_JCT",
"REDUCE_JCT_TO_1JCT",
"REDUCE_JCT_TO_2JCTS")
arcpy.AddReduceJunctionRule_nd(input_Network, input_DiagramTemplate,
'ACTIVE', 'INCLUDE_SOURCE_CLASSES',
input_SystemJunctions + ";" + input_MiscJunction,
"MIN_3_CONNECTED_JUNCTIONS")
arcpy.AddStopIterationRule_nd(input_Network, input_DiagramTemplate,
'ACTIVE')
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes