Summary
Adds the Main Ring 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 Main Ring Layout algorithm parameters for any diagram based on that template.
This layout algorithm arranges the diagram features around the main ring and hierarchically lays out the subset of diagram features that connect to each diagram junction placed along the main ring.
Learn more about the Main Ring 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.AddMainRingLayout(in_utility_network, template_name, is_active, {are_containers_preserved}, {ring_type}, {is_unit_absolute}, {ring_width_absolute}, {ring_width_proportional}, {ring_height_absolute}, {ring_height_proportional}, {tree_type}, {perpendicular_absolute}, {perpendicular_proportional}, {along_absolute}, {along_proportional}, {breakpoint_position}, {edge_display_type}, {offset_absolute}, {offset_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 |
are_containers_preserved (Optional) | Specifies how the algorithm will process containers.
| Boolean |
ring_type (Optional) | Specifies the type of ring.
| String |
is_unit_absolute (Optional) | Specifies how parameters representing distances will be interpreted.
| Boolean |
ring_width_absolute (Optional) | The width of the ring. The default is in the units of the diagram's coordinate system. This parameter can only be used with absolute units. | Linear Unit |
ring_width_proportional (Optional) | The width of the ring. The default is 50. This parameter can only be used with proportional units. | Double |
ring_height_absolute (Optional) | The height of the ring. The default is in the units of the diagram's coordinate system. This parameter can only be used with absolute units. | Linear Unit |
ring_height_proportional (Optional) | The height of the ring. The default is 20. This parameter can only be used with proportional units. | Double |
tree_type (Optional) | Specifies how the trees coming out of the main ring's junctions will be positioned.
| String |
perpendicular_absolute (Optional) | The spacing between diagram junctions that are displayed perpendicular to the tree direction and belong to the same subtree level. The default is 2 in the units of the diagram's coordinate system. This parameter can only be used with absolute units. | Linear Unit |
perpendicular_proportional (Optional) | The spacing between diagram junctions that are displayed perpendicular to the tree direction and belong to the same subtree level. The default is 2. This parameter can only be used with proportional units. | Double |
along_absolute (Optional) | The spacing between diagram junctions that are displayed along the tree direction. The default is 2 in the units of the diagram's coordinate system. This parameter can only be used with absolute units. | Linear Unit |
along_proportional (Optional) | The spacing between diagram junctions that are displayed along the tree direction. The default is 2. This parameter can only be used with proportional units. | Double |
breakpoint_position (Optional) | The relative position of the break point that will be inserted along the diagram edges when Edge Display Type is Regular edges (edge_display_type = "REGULAR_EDGES" in Python) or Edge Display Type is Orthogonal edges (edge_display_type = "ORTHOGONAL_EDGES" in Python). It is a percentage between 0 and 100.
The relative position of the two inflection points that will be inserted along the diagram edges to compute the curved edges geometry when Edge Display Type is Curved edges (edge_display_type = "CURVED_EDGES" in Python). It is a percentage between 15 and 40. With a Break Point Relative Position (%) value of N between 15 and 40:
Note:The concept of the from and to junctions above is relative to the tree direction; it has nothing to do with the real topology of the edge feature or edge object in the network. | Double |
edge_display_type (Optional) | Specifies the type of display for the diagram edges related to the tree branches.
| String |
offset_absolute (Optional) | The offset used to separate overlapping segments when is_unit_absolute = "ABSOLUTE_UNIT" and edge_display_type = "ORTHOGONAL_EDGES". The value cannot exceed 10 percent of the smallest value specified for the other spacing parameters. The default is 0. | Linear Unit |
offset_proportional (Optional) | The offset used to separate overlapping segments when is_unit_absolute = "PROPORTIONAL_UNIT" and edge_display_type = "ORTHOGONAL_EDGES". It is a double value that cannot exceed 10 percent of the smallest value specified for the other spacing parameters. The default is 0. | 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
Add the Main Ring Layout algorithm as an automatic layout to the MyTemplate1 template related to the input network.
import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DiagramTemplate = "MyTemplate1"
arcpy.AddMainRingLayout_nd(input_Network, "MyTemplate1", "ACTIVE",
"PRESERVE_CONTAINERS", "ELLIPSE",
"PROPORTIONAL_UNIT", "", 50, "", 20, "SMART_TREE",
"", 2, "", 2, 30, "CURVED_EDGES")
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes