Add Radial Tree Layout (Network Diagram)

Summary

Adds the Radial Tree Layout algorithm to the list of layouts to be automatically chained at the end of the building of diagrams based on a given template. This tool also presets the Radial Tree Layout algorithm parameters for any diagram based on that template.

This layout algorithm arranges the diagram features hierarchically and places them in a radial tree according to the specified radius parameters. It works from a root junction that it uses as the circle center to arrange the subtrees starting from this root in concentric circles, each circle corresponding to one hierarchical level.

Learn more about the Radial Tree layout algorithm

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 May be inconsistent 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.

  • To preset the layout algorithm parameters for any diagram based on the diagram template, uncheck the Active parameter (is_active = "INACTIVE" in Python).

  • Run the tool with Active checked (the default) (is_active = "ACTIVE" in Python) if you want the layout algorithm to be added to the list of layouts that will be automatically chained at the end of diagram generation based on the input diagram template.

Syntax

AddRadialTreeLayout(in_utility_network, template_name, is_active, {are_containers_preserved}, {is_unit_absolute}, {initial_radius_absolute}, {initial_radius_proportional}, {disjoined_graph_absolute}, {disjoined_graph_proportional}, {radius_factor})
ParameterExplanationData 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 layout algorithm will automatically execute when generating diagrams based on the specified template.

  • ACTIVEThe added layout algorithm will automatically run during the generation of any diagram that is based on the template_name parameter. This is the default.The parameter values specified for the layout algorithm are used to run the layout during diagram generation. They are also loaded by default when the algorithm is to be run on any diagram based on the input template.
  • INACTIVEAll the parameter values currently specified for the added layout algorithm will be loaded by default when the algorithm is to be run on any diagram based on the input template.
Boolean
are_containers_preserved
(Optional)

Specifies how the algorithm will process containers.

  • PRESERVE_CONTAINERS The layout algorithm will execute on the top graph of the diagram so containers are preserved.
  • IGNORE_CONTAINERSThe layout algorithm will execute on both content and noncontent features in the diagram. This is the default.
Boolean
is_unit_absolute
(Optional)

Specifies how parameters representing distances will be interpreted.

  • ABSOLUTE_UNITThe layout algorithm will interpret any distance values as linear units.
  • PROPORTIONAL_UNITThe layout algorithm will interpret any distance values as relative units to an estimation of the average of the junction sizes in the current diagram extent. This is the default.
Boolean
initial_radius_absolute
(Optional)

The radius of the first concentric circle whose center is the radial tree root junction—that is, the radius of the circle around which the diagram junctions belonging to the first hierarchical level are placed. The default is 5 in the units of the diagram's coordinate system. This parameter can only be used with absolute units.

Linear Unit
initial_radius_proportional
(Optional)

The radius of the first concentric circle whose center is the radial tree root junction—that is, the radius of the circle around which the diagram junctions belonging to the first hierarchical level are placed. The default is 5. This parameter can only be used with proportional units.

Double
disjoined_graph_absolute
(Optional)

The minimum spacing that will separate features belonging to disjoined graphs when the diagram contains such graphs. This parameter is used with absolute units. The default is 4 in the units of the diagram's coordinate system.

Linear Unit
disjoined_graph_proportional
(Optional)

The minimum spacing that will separate features belonging to disjoined graphs when the diagram contains such graphs. This parameter is used with proportional units. The default is 4.

Double
radius_factor
(Optional)

The multiplicative factor used to increase or decrease the radius of each concentric circle. It is also the distance that separates each concentric circle related to a hierarchical level. When using a radius factor less than 1, the distance that separates the diagram junctions belonging to the (n) hierarchical level and the (n+1) hierarchical level progressively decreases. With a factor greater than 1, the distance between the hierarchical levels increases progressively. The default is 1.

Double

Derived Output

NameExplanationData 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

AddRadialTreeLayout example (Python window)

Add the Radial Tree Layout algorithm as an automatic layout to the MyTemplate1 template existing for a given network.

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"

arcpy.AddRadialTreeLayout_nd(input_Network, input_DiagramTemplate, "ACTIVE", 
                             "PRESERVE_CONTAINERS", "ABSOLUTE_UNIT", 5, "", 15, "", 1)

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics