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 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:
- The Input Network parameter value must be from a database connection established as the database utility network owner or database trace network owner.
- The connected ArcGIS Enterprise portal account must be the portal utility network owner or portal trace network owner.
- This tool must be connected to the default version, which is expected to be public and not protected.
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})
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 layout algorithm will automatically execute when generating diagrams based on the specified template.
| Boolean |
junction_placement_type (Optional) | Specifies how the junctions will be moved.
| String |
is_unit_absolute (Optional) | Specifies how parameters representing distances will be interpreted.
| 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.
| Boolean |
are_leaves_moved (Optional) | Specifies whether leaf junctions—junctions with one connection—will be moved during the algorithm execution.
| Boolean |
are_leaves_expanded (Optional) | Specifies whether leaf junctions will be expanded:
| 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
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
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
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes