Summary
Processes simple operations on vertices along edges.
Learn more about the Reshape Diagram Edges 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 is used to process simple operations on vertices along edges in network diagrams. It allows you to do the following:
- Remove all vertices along diagram edges.
- Reduce some vertices along diagram edges.
- Square diagram edges with the addition of vertices on edges.
- Separate diagram edges that overlap.
- Detect diagram edges that cross each other at right angles and reshape their geometries to display a circular arc at the crossing locations.
Consider applying the layout in asynchronous mode on the server when working on very large diagrams.
Syntax
arcpy.nd.ReshapeDiagramEdgesLayout(in_network_diagram_layer, {are_containers_preserved}, reshape_type, {is_path_preserved}, {offset_between_segment_absolute}, {breakpoint_absolute}, {shift_between_edge_absolute}, {angle_threshold}, {circular_arc_radius}, {circular_arc_position}, {run_async})
Parameter | Explanation | Data Type |
in_network_diagram_layer | The network diagram to which the layout will be applied. | Diagram Layer |
are_containers_preserved (Optional) | Specifies how the algorithm will process containers.
| Boolean |
reshape_type | Specifies how edges will be reshaped.
| String |
is_path_preserved (Optional) | Specifies whether vertices along the edges that are going to be squared will be preserved. This parameter can only be used when reshape_type is SQUARE_EDGES.
| Boolean |
offset_between_segment_absolute (Optional) | The spacing that will separate parallel segments of squared edges incident to the same junction. The default is 5 in the units of the diagram's coordinate system. This parameter can only be used when reshape_type is SQUARE_EDGES. | Linear Unit |
breakpoint_absolute (Optional) | The maximum distance between each junction to the first or last break point along edges incident to that junction when those edges are squared. The default is 8.66 in the units of the diagram's coordinate system. This parameter can only be used when reshape_type is SQUARE_EDGES. | Linear Unit |
shift_between_edge_absolute (Optional) | The absolute spacing that will separate two edges. The default is 0.5 in the units of the diagram's coordinate system. This parameter can only be used when reshape_type is SEPARATE_OVERLAPPING_EDGES. | Linear Unit |
angle_threshold (Optional) | The angle formed by the incident segments over which the vertex related to these segments is reduced. The wider the angle, the fewer number of vertices will be reduced. The default is 160 degrees. This parameter can only be used when reshape_type is REDUCE_VERTICES_BY_ANGLE. | Double |
circular_arc_radius (Optional) | The radius of the circular arc that will be added to the crossing edge locations. The default is 5. | Linear Unit |
circular_arc_position (Optional) | Specifies the segment on which a circular arc will be placed.
| String |
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
This sample script executes the Reshape Diagram Edges layout algorithm on the network diagram layer named Temporary Diagram to reduce vertices by angle.
import arcpy
arcpy.ReshapeDiagramEdgesLayout_nd("Temporary Diagram", "PRESERVE_CONTAINERS",
"REDUCE_VERTICES_BY_ANGLE", angle_threshold=160)
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes