The Add Diagram Feature Capability rule is used to assign a particular capability on some diagram features currently represented at the time it runs. The processed diagram features can be based on network junction classes or object tables, or on network categories. When the rule runs on a network source class or object table, you can filter out the network features or objects to process by attributes.
This capability may be considered by some other rules that are configured to go into action later in the rule sequence.
Add Diagram Feature Capability rule process
The following capabilities are provided with the Add Diagram Feature Capability rule: Prevent related container from collapse, Allow related container to collapse, Prevent reduce junction, Allow reduce junction, Save unconnected empty container junctions as polygons, Ignore to start upstream trace, and Ignore to start downstream trace.
This rule can be configured to assign one of these capabilities to specific diagram features during the diagram building process.
Starting with ArcGIS Pro 3.4, capabilities can be assigned to diagram junctions regarding their valence; that is, regarding the count of diagram junctions to which they connect.
Prevent or allow container collapsing
When one of the Prevent related container from collapse or Allow related container to collapse capabilities is enabled on diagram features in a container, any Collapse Container rule that goes into action will consider the capability and determine whether to collapse the related container.
The graphics below exemplify a use case when collapsing diagram features:
- Graphic A shows the sample diagram. It references five container features:
- Two switch banks—C1 and C2
- One fuse bank—C3
- One switchgear—C4
- One transformer bank—C5
These containers are all expanded and represented as diagram polygon containers around their contents.
- Graphic B highlights the switches in the sample diagram. They are the contents of the C1, C2, and C4 containers.
- Graphic C shows the sample diagram obtained when the template is configured to collapse all containers.
- Graphic D shows the sample diagram obtained when its template is configured with the Prevent related container from collapse capability on all switches before collapsing all containers.
Between the two templates used to produce graphics C and D, there is a difference in the rule definition. A Diagram Feature Capability rule is applied before the Collapse Container rule.
Prevent or allow junction reductions
When one of the Prevent reduce junction or Allow reduce junction capabilities is enabled on diagram junctions, any Reduce Junction rule that goes into action will consider the capability and determine whether to reduce the junction.
Using the Add Diagram Feature Capability By Attribute Rule or Add Diagram Feature Capability By Category tool in a diagram template model builder can simplify the reduce junction rule sequence configured on a diagram template.
For example, suppose that you want to reduce all junctions in your diagrams except switches. There are two ways to configure the diagram building—one way will not run the Add Diagram Feature Capability rule and the other way will run it.
Without using the Add Diagram Feature Capability By Attribute Rule or Add Diagram Feature Capability By Category tool, your model builder must iterate on two Reduce Junction rules; that is, it must be configured to chain four rules, as shown below:
- A Start Iteration rule (1)
- A Reduce Junction rule to reduce any junctions excluding those in the DistributionDevice source class (2)
- A Reduce Junction rule to reduce any distribution devices except switches (3)
- A Stop Iteration rule (4)
When using the Add Diagram Feature Capability By Attribute Rule tool, two rules only are needed:
- An Add Diagram Feature Capability rule to prevent switches from being reduced (1)
- A Reduce Junction rule to reduce any junctions regardless of their source class (2)
Save unconnected empty container junctions as polygons
By default, container junctions are systematically created as diagram polygon containers when they exist with at least one of its contents in the generated diagrams. On the contrary, any container junctions without any of their contents are always created as diagram junctions in the generated diagrams.
Running the Add Diagram Feature Capability By Attribute Rule tool in a diagram template model builder with the Save unconnected empty container junctions as polygons capability on a set of network container junctions allows you to create these network junctions as diagram polygon containers in the generated diagrams even when they are empty. This capability is useful with telecommunication networks to represent free slots in chassis in the generated diagrams.
Ignore to start upstream or downstream trace
Enabling the Ignore to start upstream trace or Ignore to start downstream trace capabilities on a diagram feature will make this feature to be not considered as a starting point by any Trace rule configured later in the rule sequence to trace upstream or downstream.
For example, suppose that you want to create a custom template to generate diagrams starting from any input pipe outlets that will represent both downstream traces to these input pipe outlets and upstream traces related to the only traced downstream pipe outlets. In this case, at the beginning of your custom template rule sequence, you can set the Add Diagram Feature Capability By Attribute Rule tool with the Ignore to start upstream trace capability to flag any input pipe outlets to be ignored as starting points by any upstream trace that could be configured later in the rule sequence. The geoprocessing model to create such a diagram template should look like the following model:
Configure complex network diagram building with Add Diagram Feature Capability rules
Configuring the Add Diagram Feature Capability rule at judicious positions in a diagram template rule sequence also allows you to prevent some features that exist at the time the rule runs from being collapsed or some devices with specific characteristics from being reduced while devices with the same characteristics but introduced later in the diagram building process will be reduced.
For example, imagine you want to generate diagrams that will represent both the upstream and downstream trace result starting from a transformer bank or a distribution junction selected as input in the map. Then, you want to keep some interesting upstream junctions while reducing any downstream junctions as much as possible to mainly focus on service locations. In this case, the Add Diagram Feature Capability rule can be used multiple times, as shown in the diagram template model builder below.
- In the first part of this template model builder, you must focus on the transformer bank or distribution junction that the template expects as the input starting point for the upstream and downstream traces. To do so, you can set up the model as follows:
- Add Remove Feature rules to remove any network features that could be selected as input but is not a transformer bank nor a distribution junction tied to the tier you want to trace.
- Set up Add Diagram Feature Capability rules to prevent the container related to transformer banks (1) or to distribution junctions (2) to collapse.
- Flag the input transformer bank or distribution junction as the starting point for the trace rules that will be applied in the next phases.
- The second part of the template model builder concerns the trace rules.
- Begin with an upstream trace that will be run from the specified starting point.
- Flag the upstream subnetwork controller returned by the upstream trace as the root junction for the tree layout that will be run at the end of the network diagram building process.
- Set up an Add Diagram Feature Capability rules (3) to prevent the upstream subnetwork controller container to collapse.
- Set up an Add Diagram Feature Capability rules (4) to prevent any upstream devices such as switches, fuses, transformers, circuit breakers, and the subnetwork controller to be reduced.
- Set up an Add Diagram Feature Capability rules (5) to prevent any upstream junctions such as connection points to be reduced.
- Run the downstream trace. It will perform from the same starting point as the upstream trace.
- During the last phase, you set up the diagram rules that will simplify the network diagram graph and lay it out:
- Add a Collapse Container rule to collapse any containers.
- Set up an Add Diagram Feature Capability rules (6) to prevent any service location devices from being reduced.
- Add a Reduce Junction rule to reduce any diagram junction regardless of its related network source class.
- Run a Smart Tree layout from top to bottom.
The following screenshot shows some sample network diagrams based on a diagram template configured with the template model builder explained above. The transformer bank used as input for each network diagram generation displays with a blue label showing its Facility ID:
Add Diagram Feature Capability rule configuration
The tools you can use to add an Expand Container rule on a template—Add Diagram Feature Capability By Attribute Rule and Add Diagram Feature Capability By Category Rule—are described as follows:
- Use the Add Diagram Feature Capability By Attribute Rule tool to add a specific capability to some network features or network objects by filtering them on their attributes.
- Use the Add Diagram Feature Capability By Category Rule tool to add a specific capability to some network features or network objects tagged with or without particular network categories.
Note:
The Add Diagram Feature Capability By Category Rule tool only applies to Utility Network Version 7 and later.
Tip:
When configuring diagram rule by attributes, you can filter out diagram features on network source attribute values regarding the other diagram feature attribute values using the following specific SQL statement: WHERE 'OBJECT' = 'IN_DIAGRAM'. For example, to query the diagram feature with a minimum attribute value in the generated diagram, you can set up any Add <XXX> By Attribute Rule tool with an SQL expression based on the following syntax: <attributeName> = (SELECT MIN(<attributeName>) FROM <networkClassName>) WHERE 'OBJECT' = 'IN_DIAGRAM'.
Related topics
- Add Diagram Feature Capability By Attribute Rule
- Add Diagram Feature Capability By Category Rule
- Collapse Container rule reference
- Add Collapse Container Rule
- Add Collapse Container By Attribute Rule
- Add Collapse Container By Category Rule
- Reduce Junction rule reference
- Add Reduce Junction Rule
- Add Reduce Junction By Attribute Rule
- Add Reduce Junction By Category Rule
- Add Trace Rule