Add Diagram Feature Capability By Category Rule (Network Diagram)

Summary

Adds a diagram rule to assign a particular capability to diagram features according to network categories. This assignment occurs during the building of diagrams based on an existing template. This capability is used by other rules that are run later in the rule sequence. The diagram features that will be processed depend on whether they are tagged with specific network categories.

Learn more about the Add Diagram Feature Capability rule

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 Diagram to update until they are updated.

Note:

This tool only applies to diagram templates in Utility Network version 7 and later.

Usage

  • The Add Diagram Feature Capability rule adds a specific capability to network features or network objects represented in the diagram so they are processed in a certain way by other diagram rules that are run later in the diagram building process. This tool allows you to configure the Add Diagram Feature Capability rule to run by network categories. This means that you can configure the addition of a specific capability to network features or network objects represented in the diagram depending on whether they are tagged with specific network categories.

  • This tool is not supported when working with a utility network service. You must use either a utility network in a file or mobile geodatabase, or a database connection to a utility 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.
    • The connected ArcGIS Enterprise portal account must be the portal utility network owner.
    • This tool must be connected to the default version, which is expected to be public and not protected.

  • Specify the Prevent related container from collapse or Allow related container to collapse option for the Capability parameter to flag content diagram features so they prevent or allow their related container to be collapsed by Collapse Container rules run later in the rule sequence. These are rules that are set up using the Add Collapse Container Rule, Add Collapse Container By Attribute Rule, or Add Collapse Container By Category Rule tool.

  • Specify the Prevent reduce junction or Allow reduce junction option for the Capability parameter to flag diagram junctions so they are discarded or allowed by Reduce Junction rules run later in the rule sequence. These are rules that are set up using the Add Reduce Junction Rule, Add Reduce Junction By Attribute Rule or Add Reduce Junction By Category Rule tool.

  • Specify the Save unconnected empty container junctions as polygons option for the Capability parameter to create a diagram container instead of a diagram junction to represent any empty container network junction or junction object that is unconnected. This capability only applies to a container junction source class or object table.

  • Specify the Ignore to start upstream trace option for the Capability parameter to flag diagram features so that they are ignored as starting points by any Trace rules configured later in the rule sequence to trace upstream.

  • Specify the Ignore to start downstream trace option for the Capability parameter to flag diagram features so that they are ignored as starting points by any Trace rules configured later in the rule sequence to trace downstream.

  • Starting with ArcGIS Pro 3.4, you can assign capabilities on diagram junctions depending on their valence; that is, depending on the count of diagram junctions to which they connect.

Parameters

LabelExplanationData Type
Input Network

The utility network containing the diagram template that will be modified.

Utility Network
Input Diagram Template

The name of the diagram template that will be modified.

String
Active

Specifies whether the rule will be active when generating and updating diagrams based on the specified template.

  • Checked—The added rule will become active during the generation and update of any diagrams based on the input template. This is the default.
  • Unchecked—The added rule will not become active during the generation or update of any diagrams based on the input template.

Boolean
Rule Process

Specifies how the network features or network objects that are tagged with the specified network categories will be processed.

  • Exclude categoriesThe network features or network objects that are tagged with the specified categories will not be processed, while other network features and network objects will be processed. This is the default.
  • Include categoriesThe network features or network objects that are tagged with the specified categories will be processed.
String
Categories

The network categories that will be excluded or included depending on the Rule Process parameter value.

If the Rule Process parameter is set to Include categories, one or more network categories must be specified. The specified capability will be assigned to any diagram features that are related to network features and network objects that are tagged with the specified network categories.

If the Rule Process parameter is set to Exclude categories, the specified capability will be assigned to any diagram features that are related to network features and network objects that are not tagged with the specified network categories.

String
Capability

Specifies the capability that will be assigned to the diagram features filtered out by categories at the end of the rule operation. The specified capability will be used by other rules that run later in the rule sequence.

  • Prevent related container from collapse All features filtered out by categories will be flagged to prevent their related container from being collapsed by Collapse Container rules that run later in the rule sequence. This is the default.
  • Allow related container to collapse All features filtered out by categories will be flagged to allow their related container to be collapsed by Collapse Container rules that run later in the rule sequence.
  • Prevent reduce junction All junctions filtered out by categories will be flagged to prevent reduction by Reduce Junction rules that run later in the rule sequence.
  • Allow reduce junction All junctions filtered out by categories will be flagged to allow reduction by Reduce Junction rules that run later in the rule sequence.
  • Save unconnected empty container junctions as polygonsAll queried unconnected container junctions will be saved with polygon geometry instead of point geometry if the container is empty.
  • Ignore to start upstream traceAll queried features will be ignored as starting points by any Trace rules configured later in the rule sequence to trace upstream.
  • Ignore to start downstream traceAll queried features will be ignored as starting points by any Trace rules configured later in the rule sequence to trace downstream.
String
Description
(Optional)

The description of the rule.

String
Unconnected
(Optional)

Specifies whether the selected capability will apply to unconnected network diagram junctions.

  • Checked—The selected capability will apply to unconnected network diagram junctions. This is the default.
  • Unchecked—The selected capability will not apply to unconnected network diagram junctions.

Boolean
Connected to a single junction
(Optional)

Specifies whether the selected capability will apply to network diagram junctions connected to a single junction.

  • Checked—The selected capability will apply to network diagram junctions connected to a single junction. This is the default.
  • Unchecked—The selected capability will not apply to network diagram junctions connected to a single junction.

Boolean
Connected to two different junctions
(Optional)

Specifies whether the selected capability will apply to network diagram junctions connected to two different junctions.

  • Checked—The selected capability will apply to network diagram junctions connected to two different junctions. This is the default.
  • Unchecked—The selected capability will not apply to network diagram junctions connected to two different junctions.

Boolean
Connected to three or more different junctions
(Optional)

Specifies whether the selected capability will apply to network diagram junctions connected to three or more different junctions.

  • Checked—The selected capability will apply to network diagram junctions connected to three or more different junctions. This is the default.
  • Unchecked—The selected capability will not apply to network diagram junctions connected to three or more different junctions.

Boolean

Derived Output

LabelExplanationData Type
Output Network

The updated utility network.

Utility Network
Output Diagram Template

The name of the diagram template.

String

arcpy.nd.AddDiagramFeatureCapabilityByCategoryRule(in_utility_network, template_name, is_active, inverse_category_selection, category, capability, {description}, {valence_0}, {valence_1}, {valence_2}, {valence_3_plus})
NameExplanationData Type
in_utility_network

The utility network containing the diagram template that will be modified.

Utility Network
template_name

The name of the diagram template that will be modified.

String
is_active

Specifies whether the rule will be enabled when generating and updating diagrams based on the specified template.

  • ACTIVEThe added rule will become enabled during the generation and update of any diagrams based on the input template. This is the default.
  • INACTIVEThe added rule will not become enabled during the generation or update of any diagrams based on the input template.
Boolean
inverse_category_selection

Specifies how the network features or network objects that are tagged with the specified network categories will be processed.

  • EXCLUDE_CATEGORIESThe network features or network objects that are tagged with the specified categories will not be processed, while other network features and network objects will be processed. This is the default.
  • INCLUDE_CATEGORIESThe network features or network objects that are tagged with the specified categories will be processed.
String
category
[category,...]

The network categories that will be excluded or included depending on the inverse_category_selection parameter value.

If the inverse_category_selection parameter is set to INCLUDE_CATEGORIES, one or more network categories must be specified. The specified capability will be assigned to any diagram features that are related to network features and network objects that are tagged with the specified network categories.

If the inverse_category_selection parameter is set to EXCLUDE_CATEGORIES, the specified capability will be assigned to any diagram features that are related to network features and network objects that are not tagged with the specified network categories.

String
capability

Specifies the capability that will be assigned to the diagram features filtered out by categories at the end of the rule operation. The specified capability will be used by other rules that run later in the rule sequence.

  • PREVENT_TO_COLLAPSE_CONTAINER All features filtered out by categories will be flagged to prevent their related container from being collapsed by Collapse Container rules that run later in the rule sequence. This is the default.
  • ALLOW_TO_COLLAPSE_CONTAINER All features filtered out by categories will be flagged to allow their related container to be collapsed by Collapse Container rules that run later in the rule sequence.
  • PREVENT_TO_REDUCE_JUNCTION All junctions filtered out by categories will be flagged to prevent reduction by Reduce Junction rules that run later in the rule sequence.
  • ALLOW_TO_REDUCE_JUNCTION All junctions filtered out by categories will be flagged to allow reduction by Reduce Junction rules that run later in the rule sequence.
  • SAVE_EMPTY_CONTAINER_AS_POLYGON_IF_UNCONNECTEDAll queried unconnected container junctions will be saved with polygon geometry instead of point geometry if the container is empty.
  • IGNORED_STARTING_POINT_FOR_UPSTREAM_TRACEAll queried features will be ignored as starting points by any Trace rules configured later in the rule sequence to trace upstream.
  • IGNORED_STARTING_POINT_FOR_DOWNSTREAM_TRACEAll queried features will be ignored as starting points by any Trace rules configured later in the rule sequence to trace downstream.
String
description
(Optional)

The description of the rule.

String
valence_0
(Optional)

Specifies whether the selected capability will apply to unconnected network diagram junctions.

  • APPLYThe selected capability will apply to unconnected network diagram junctions. This is the default.
  • DO_NOT_APPLYThe selected capability will not apply to unconnected network diagram junctions.
Boolean
valence_1
(Optional)

Specifies whether the selected capability will apply to network diagram junctions connected to a single junction.

  • APPLYThe selected capability will apply to network diagram junctions connected to a single junction. This is the default.
  • DO_NOT_APPLYThe selected capability will not apply to network diagram junctions connected to a single junction.
Boolean
valence_2
(Optional)

Specifies whether the selected capability will apply to network diagram junctions connected to two different junctions.

  • APPLYThe selected capability will apply to network diagram junctions connected to two different junctions. This is the default.
  • DO_NOT_APPLYThe selected capability will not apply to network diagram junctions connected to two different junctions.
Boolean
valence_3_plus
(Optional)

Specifies whether the selected capability will apply to network diagram junctions connected to three or more different junctions.

  • APPLYThe selected capability will apply to network diagram junctions connected to three or more different junctions. This is the default.
  • DO_NOT_APPLYThe selected capability will not apply to network diagram junctions connected to three or more different junctions.
Boolean

Derived Output

NameExplanationData Type
out_utility_network

The updated utility network.

Utility Network
out_template_name

The name of the diagram template.

String

Code sample

AddDiagramFeatureCapabilityByCategoryRule example (stand-alone script)

Add a Diagram Feature Capability rule to the MyTemplate1 template to flag all subnetwork controllers so they prevent their container from being collapsed later. Since the Subnetwork Controller network category exists and is assigned to all subnetwork controllers in the network, you can also run the AddDiagramFeatureCapabilityByCategoryRule function to flag all subnetwork controllers so they prevent their related containers from collapsing.

import arcpy
input_Network = 'D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric'
input_NetworkCategory = 'Subnetwork Controller'
input_DiagramTemplate = 'MyTemplate1'

arcpy.nd.AddDiagramFeatureCapabilityByCategoryRule(
    input_Network, input_DiagramTemplate, 'ACTIVE', 'INCLUDE_CATEGORIES',
    input_NetworkCategory, 'PREVENT_TO_COLLAPSE_CONTAINER')

Environments

This tool does not use any geoprocessing environments.

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

Related topics