Summary
Creates a diagram layer definition for the input diagram template using the settings of the network feature layers in the active map.
This tool allows you to do the following:
- Import the appearance and labeling settings configured on each feature layer in the active map when those layers are related to the utility network or trace network specified in the input.
- Create a set of extra layers that may be relevant to your template, such as layers for system junctions, structural attachments, and so on.
Caution:
This tool is a configuration and administration tool.
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.
This tool must be used in ArcGIS Pro, as it takes an input network layer referenced from an active map and prepares the network diagram composite layer for all diagrams that are based on the input template according to the layers in the input active map. After running with its default settings, each network diagram based on the input template displays the following:
- One layer for each utility network or trace network layer representing network features or network objects in the active map specified as the input.
- A set of extra layers that can be relevant or not to your template dedicated to the representation of the following types of network elements:
- Connectivity associations and structural attachments represented as polylines in diagrams
- Container polygon features, line features, and edge objects that can be transformed as points in diagrams
- Container point features and container junction objects that can be transformed as polygons in diagrams
- Junction objects represented as points in diagrams
- Edge objects represented as polylines in diagrams
- One layer, Reduction Edges, dedicated to the representation of aggregated network elements between two junctions.
Depending on the Overwrite all layers parameter value, you can do the following:
- Initialize a custom diagram layer definition on a template. This is the default behavior when the Overwrite all layers parameter is checked.
- Add new diagram sublayers or overwrite settings on some existing diagram sublayers while preserving others when the Overwrite all layers parameter is unchecked.
Syntax
arcpy.nd.CreateDiagramLayerDefinition(in_utility_network, template_name, {system_junctions}, {connectivity_associations}, {structural_attachments}, {reduction_edges}, {point_subLayers}, {polygon_subLayers}, {junction_object_point_subLayers}, {edge_object_polyline_subLayers}, {overwrite_all_layers})
Parameter | Explanation | Data Type |
in_utility_network | The utility network or trace network layer in the active map. | Utility Network Layer; Trace Network Layer |
template_name | The name of the diagram template to modify. | String |
system_junctions (Optional) | Specifies whether system junctions and system junction objects will be represented in the diagrams based on the specified template.
| Boolean |
connectivity_associations (Optional) | Specifies whether connectivity associations will be represented in the diagrams based on the specified template.
| Boolean |
structural_attachments (Optional) | Specifies whether structural attachment associations will be represented in the diagrams based on the specified template.
| Boolean |
reduction_edges (Optional) | Specifies whether reduction edges will be represented in the diagrams based on the specified template.
| Boolean |
point_subLayers [[Name, Subtype Layer],...] (Optional) | Specifies whether layers will be added to represent container polygon features, network line features, or network edge objects as point features in the diagrams. The second column is used as follows:
| Value Table |
polygon_subLayers [[Name, Subtype Layer],...] (Optional) | Specifies whether layers will be added to represent container point features or container junction objects as polygon features in the diagrams. The second column is used as follows:
| Value Table |
junction_object_point_subLayers [[Name, Subtype Layer],...] (Optional) | Specifies whether layers will be added to represent junction objects as point features in the diagrams. The second column is used as follows:
| Value Table |
edge_object_polyline_subLayers [[Name, Subtype Layer],...] (Optional) | Specifies whether layers will be added to represent edge objects as polyline features in the diagrams. The second column is used as follows:
| Value Table |
overwrite_all_layers (Optional) | Specifies whether all existing layers under the diagram layer will be overwritten or preserved, except those in the input network map and explicitly specified additional sublayers.
| Boolean |
Derived Output
Name | Explanation | Data Type |
out_utility_network | The updated utility network or trace network layer. | Utility Network Layer; Trace Network Layer |
out_template_name | The name of the diagram template. | String |
Code sample
Create a diagram layer definition on the template named MyTemplate1 related to the input network.
import arcpy
arcpy.CreateDiagramLayerDefinition_nd(input_Network, "MyTemplate1",
"SHOW", "SHOW", "HIDE", "HIDE",
"StructureBoundary true;StructureLine true;ElectricDistributionLine true",
"StructureJunction true;ElectricDistributionAssembly true",
"ElectricDistributionJunctionObject true",
"ElectricDistributionEdgeObject true",
"OVERWRITE_ALL")
Refine the diagram layer definition on the template named MyTemplate1 related to the input network by adding the Reduction Edges and Structural Attachments additional sublayers without changing the other diagram sublayers.
import arcpy
arcpy.CreateDiagramLayerDefinition_nd(input_Network, "MyTemplate1",
"HIDE", "HIDE", "SHOW", "SHOW",
overwrite_all_layers="MERGE")
Environments
Licensing information
- Basic: No
- Standard: Yes
- Advanced: Yes