Skip To Content

Apply Linear Dispatch Layout

Summary

Spaces out diagram junctions that are visually too close, overlapping, or coincident.

Caution:

If you have an open edit session, you must save your edits prior to running this tool. This ensures the diagram reflects the latest changes made to the network topology in the database. If you fail to save your edits, the edits will not be reflected in the diagram.

Note:

Each layout algorithm includes default parameter values. The default parameter values will be used unless otherwise specified. If the input network diagram is based on a template for which this layout has been configured with a different parameter value, that value is used instead.

Usage

  • This layout algorithm spaces out 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.

  • This algorithm also separates diagram edges connected to the target junctions. The valence for these junctions is taken into account—that is, the number of their adjacent edges as well as the edge paths can be preserved.

  • This layout is especially useful for water, wastewater, and gas but can be deployed for other industries as well.

Syntax

ApplyLinearDispatchLayout_un (in_network_diagram_layer, {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_network_diagram_layer

The network diagram where the layout will be applied.

Diagram Layer
junction_placement_type
(Optional)

Specifies how the junctions will move.

  • EQUAL_DISTANCEAll junctions with two connected edges will move 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 move so there is a minimum distance (Minimum Shift value) between them and the other end of the edges they connect to. This occurs at the end of the layout execution.
  • ITERATIVE_DISTANCEAll the junctions with two connected edges will move slightly according to the Number of Iterations 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 diagram when it is generated. This is the default.
Boolean
maximum_shift_absolute
(Optional)

The maximum distance the junctions with two connections can 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 are no longer moved during following iterations. This parameter is required when using the ITERATIVE_DISTANCE junction placement type and working with absolute units.

Linear Unit
maximum_shift_proportional
(Optional)

The maximum distance the junctions with two connections can be spaced from the junctions to which they connect. The default is 2. At the time this distance is reached, junctions are no longer moved during the following iterations. This parameter is required when using the ITERATIVE_DISTANCE junction placement type and working with 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 units 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 is required when using the USER_DEFINE_DISTANCE junction placement type and working with 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 expected when using the USER_DEFINE_DISTANCE junction placement type and working with proportional units.

Double
iterations_number
(Optional)

The number of iterations to process. The default is 5. This parameter is required when using 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 kept, and new vertices will be added at the moved junctions' original location. This is the default.
  • IGNORE_PATHVertices along edges will not be preserved.
Boolean
are_leaves_moved
(Optional)

Specifies whether the leaf junctions—the junctions with one connection—can 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 the leaf junctions can be expanded:

  • EXPAND_LEAVESThe leaves can be expanded. The expand_shift_absolute value specifies the maximum distance those leaf junctions can be expanded away from the junctions to which they connect.
  • DO_NOT_EXPAND_LEAVESThe leaves cannot 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 the leaf junctions must 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 nodes are no longer moved during the following iterations. This parameter is required when enabling the Expand leaves parameter and working with absolute units.

Linear Unit
expand_shift_proportional
(Optional)

The maximum distance the leaf junctions must 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 nodes are no longer moved during the following iterations. This parameter is required when enabling the Expand leaves parameter and working with proportional units.

Double

Derived Output

NameExplanationData Type
out_network_diagram_layer

The updated network diagram layer.

Diagram Layer

Code sample

ApplyLinearDispatchLayout example (Python window)

Apply the Linear Dispatch layout algorithm to the diagram called Temporary Diagram.

import arcpy
arcpy.ApplyLinearDispatchLayout_un("Temporary Diagram", "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