Add Linear Dispatch Layout (Network Diagram)

Summary

Adds the Linear Dispatch 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 Linear Dispatch Layout algorithm parameters for any diagram based on that template.

This layout algorithm adds space between diagram junctions that are visually too close, overlapping, or coincident. It moves junctions along their connected edges. The movement along the edges depends on the current and relative position of junctions and on the layout parameters.

Learn more about the Linear Dispatch 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 or trace network service. You must use either a utility network or trace network in a file geodatabase or a database connection to a utility network or trace network in an enterprise geodatabase. When working with an enterprise geodatabase the following are requirements:

  • 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

arcpy.nd.AddLinearDispatchLayout(in_utility_network, template_name, is_active, {junction_placement_type}, {is_unit_absolute}, {maximum_shift_absolute}, {maximum_shift_proportional}, {minimum_shift_absolute}, {minimum_shift_proportional}, {iterations_number}, {is_path_preserved}, {are_leaves_moved}, {are_leaves_expanded}, {expand_shift_absolute}, {expand_shift_proportional})
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
junction_placement_type
(Optional)

Specifies how the junctions will be moved.

  • EQUAL_DISTANCEAll junctions with two connected edges will be moved so the distances between them and their two connected junctions are equal. This is the default.
  • USER_DEFINE_DISTANCEAll junctions with two connected edges will be moved so there is a minimum distance (minimum_shift_ parameter value) between them and the other end of the edges to which they connect. This occurs at the end of the layout execution.
  • ITERATIVE_DISTANCEAll junctions with two connected edges will be moved slightly according to the iterations_number and maximum_shift_ parameter values.
String
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
maximum_shift_absolute
(Optional)

The maximum distance the junctions with two connections will be spaced from the junctions to which they connect. The default is 2 in the units of the diagram's coordinate system. At the time this distance is reached, junctions will not be moved during following iterations. This parameter can only be used with the ITERATIVE_DISTANCE junction placement type and absolute units.

Linear Unit
maximum_shift_proportional
(Optional)

The maximum distance the junctions with two connections will be spaced from the junctions to which they connect. The default is 2. At the time this distance is reached, junctions will not be moved during following iterations. This parameter can only be used with the ITERATIVE_DISTANCE junction placement type and proportional units.

Double
minimum_shift_absolute
(Optional)

The minimum distance that will separate each junction with two connected edges from its two edge extremities after the layout execution. The default is 2 in the units of the diagram's coordinate system. When this parameter value is too large, the junctions with two connections are moved so the distances between each moved junction and its edge extremities are equal along the path defined by its two connected edges. This parameter can only be used with the USER_DEFINE_DISTANCE junction placement type and absolute units.

Linear Unit
minimum_shift_proportional
(Optional)

The minimum distance that will separate each junction with two connected edges from its two edge extremities after the layout execution. The default is 2. When this parameter value is too large, the junctions with two connections are moved so the distances between each moved junction and its edge extremities are equal along the path defined by its two connected edges. This parameter is used with the USER_DEFINE_DISTANCE junction placement type and proportional units.

Double
iterations_number
(Optional)

The number of iterations to process. The default is 5. This parameter can only be used with the ITERATIVE_DISTANCE junction placement type.

Long
is_path_preserved
(Optional)

Specifies how vertices along edges will be processed.

  • PRESERVE_PATHAll vertices along the connected edges will be preserved, and new vertices will be added at the moved junctions' original locations. This is the default.
  • IGNORE_PATHVertices along edges will not be preserved.
Boolean
are_leaves_moved
(Optional)

Specifies whether leaf junctions—junctions with one connection—will be moved during the algorithm execution.

  • MOVE_LEAVESLeaf junctions will be moved.
  • DO_NOT_MOVE_LEAVESLeaf junctions will not be moved. This is the default unless the specified input network diagram is based on a template for which the Linear Dispatch Layout algorithm has been configured with another parameter value.
Boolean
are_leaves_expanded
(Optional)

Specifies whether leaf junctions will be expanded:

  • EXPAND_LEAVESLeaf junctions will be expanded. The expand_shift_absolute parameter value specifies the maximum distance the leaf junctions can be expanded from the junctions to which they connect.
  • DO_NOT_EXPAND_LEAVESLeaf junctions will not be expanded. This is the default unless the specified input network diagram is based on a template for which the Linear Dispatch Layout algorithm has been configured with another parameter value.
Boolean
expand_shift_absolute
(Optional)

The maximum distance leaf junctions will be expanded from the junctions to which they connect. The default is 2 in the units of the diagram's coordinate system unless the specified input network diagram is based on a template for which the Linear Dispatch Layout algorithm has been configured with another parameter value. At the time this distance is reached, leaf junctions will not be moved during following iterations. This parameter can only be used with the Expand leaves parameter and absolute units.

Linear Unit
expand_shift_proportional
(Optional)

The maximum distance the leaf junctions will be expanded from the junctions to which they connect. The default is 2 unless the specified input network diagram is based on a template for which the Linear Dispatch Layout algorithm has been configured with another parameter value. At the time this distance is reached, leaf junctions will not be moved during following iterations. This parameter can only be used with the Expand leaves parameter and proportional units.

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

AddLinearDispatchLayout example (Python window)

This sample adds the Linear Dispatch Layout algorithm as an automatic layout to the MyTemplate1 template existing for the input network.

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

arcpy.AddLinearDispatchLayout_nd(input_Network, input_DiagramTemplate, 
                                 "ACTIVE", "ITERATIVE_DISTANCE", "ABSOLUTE_UNIT", 
                                 "15 Feet", "", "2 Feet", "", 10, "PRESERVE_PATH", 
                                 "DO_NOT_MOVE_LEAVES", "DO_NOT_EXPAND_LEAVES", 
                                 "2 Feet", 2)

Environments

This tool does not use any geoprocessing environments.

Licensing information

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

Related topics