Summary
Adds space between diagram junctions that are visually too close, overlapping, or coincident.
Learn more about the Linear Dispatch layout algorithm
Caution:
If you have an open edit session, you must save your edits prior to running this tool. This ensures that 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 tool is not supported when working with a database connection to a utility network or trace network in an enterprise geodatabase. You must use either the related published utility network or trace network service, or a utility network or trace network in a file geodatabase.
The input network diagram layer must be from either a utility network or a trace network in a file geodatabase or a network diagram service.
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.
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.
Consider applying the layout in asynchronous mode on the server when working on very large diagrams.
Syntax
arcpy.nd.ApplyLinearDispatchLayout(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}, {run_async})
Parameter | Explanation | Data Type |
in_network_diagram_layer | The network diagram to which the layout will be applied. | Diagram Layer |
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 |
run_async (Optional) | Specifies whether the layout algorithm will run asynchronously or synchronously on the server.
| Boolean |
Derived Output
Name | Explanation | Data Type |
out_network_diagram_layer | The updated network diagram layer. | Diagram Layer |
Code sample
Apply the Linear Dispatch layout algorithm to the diagram called Temporary Diagram.
import arcpy
arcpy.ApplyLinearDispatchLayout_nd("Temporary Diagram", "ITERATIVE_DISTANCE",
"ABSOLUTE_UNIT", "15 Feet", "", "2 Feet",
"", 10, "PRESERVE_PATH", "DO_NOT_MOVE_LEAVES",
"DO_NOT_EXPAND_LEAVES", "2 Feet", 2,
"RUN_SYNCHRONOUSLY")
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes