Containment associations enable the modeling of assemblies and complex devices in your network while also controlling map clutter.
In the illustration above, a transformer bank is the container. It contains devices, such as fuses and transformer units, that are often not displayed on a map.
About containment associations
Containment allows for a dense collection of features to be represented by a single feature on the map. Devices, wires, and conductors can be placed inside objects such as substations, switch gears, trenches, and ducts. This improves visibility on a map during editing and promotes comprehensive maps. The feature containing other features is called a container, and the features being contained are called content.
There are three types of container features—polygon, linear, and point—described as follows:
- A polygon container defines a general area containing many features. An electrical substation is an example of a polygon container.
- A linear container represents a container that spans some length of space. An example of a linear container is a duct bank containing multiple underground lines.
- A point container contains several objects within a compact area, such as a manhole or a cabinet.
A utility network supports nested containment as well as a one-to-many relationship between content and containers. In nested containment, a container feature can contain another container feature, which in turn contains content. For example, a substation can contain a junction box, and the junction box contains electrical devices. In a one-to-many relationship, a single content feature is contained in more than one container; for example, a single line spanning many duct banks.
Similar to structures in structural attachment associations, resources cannot flow through containers. In other words, a trace configured to traverse electrical features would trace along the span of overhead wire. The trace can be configured without containers, so the electrical line and the transformers in the bank are returned, but the transformer bank is not.
Containment association configuration
To configure a utility network to use containment associations, a few steps are necessary. There are certain feature classes that support the modeling of containment. Review the feature restrictions of a utility network for the valid containment associations.
For a feature to be set as a container, its asset group and asset type must have the Container association role assigned. Only feature classes in the structure network or features in the Assembly/Line feature class of a domain network can be assigned the containment role to serve as containers.
When assigning association roles, there are additional settings that control the user experience when working with containment associations:
- Deletion Semantics—You can control what happens when you delete a container. For example, you can specify whether you need to first delete all the content features inside a container before you can successfully delete the container feature. You can specify when you delete the container, that all content features are automatically deleted. Or you can specify that deleting a container feature allows the content features remain as uncontained features.
- View Scale—You can control the scale at which the container view opens when entering containment mode to work with content features.
- Split Policy—You can manage the behavior of linear and polygonal containers when they are split. For example, when a linear container is split in half, split the contents of the container between the two.
After the association role of container is assigned, you can configure the utility network with containment association rules. As long as feature restrictions are honored for containment associations, network rules can be created to allow containment associations to be created between features.
Features and containment
Containment associations are created between features that serve as containers and features that are content.
The main feature class used for containment is the Assembly feature class in a domain network. Every type of assembly feature is a container feature and each contains devices, lines, and junctions. For example, a capacitor bank in an electric distribution domain network can contain three capacitor features, three arrester features, and three switch features. These internal features can be connected through either short lines connecting them or more likely, connectivity associations between the respective device features.
In addition to the Assembly feature class, the domain network Line feature class and structure network feature classes can serve as containers.
- A domain network line feature can contain other domain network line features. For example, in a water network, an abandoned pipe can contain an in-service pipe.
- A structure junction feature can contain line, device, and junction features in a domain network. For example, in an electric distribution domain network, a vault (structure junction feature) can contain many electric distribution devices, junctions, and lines. A structure junction feature can also contain other structure junction features. For example, a vault can contain cabinets.
- A structure boundary feature can contain other structure boundary features as well as lines, devices, and junctions in a domain network. For example, a substation can contain vaults, transformers, switches, and a busbar.
Device or junction features in a domain network cannot be container features, but they can be content for a container feature.
To learn more about what features can serve as containers and content, see Feature restrictions.
Work with containers and content
Containment associations can be created using the Modify Associations pane. This is an interactive pane that allows you to select existing features in the map to establish containment associations between containers and content features. You can also edit in containment mode using the Enter Containment command. Containment Edit mode requires that you first select a container feature in the map; any new features created are automatically associated with the container as content, provided there is a rule to support the association.
With containment associations you have control over the amount of detail displayed in the map. You can control whether you see only the container feature on the map or the internal content features as well. This is done by setting the visibility status of content features and using the Display Content command. You can set whether container and content features are both visible, or only container features are visible. You can also configure the network diagram to show content features inside a container feature within a diagram view.
To learn more, see Control association visibility.
When you perform a subnetwork trace, the status and layout of the content features inside a container feature are honored. If an internal switch or valve is open, the subnetwork trace will stop there. Container features can also be connected to other container features. For example, a vault can be connected to a duct bank.
Display content features
The visibility of containment association content features is highly dependent on how the map is configured to use display filters and definition queries. The visible status value for the containment association content features can be used in a display filter or a definition query to show or hide the content features on the map. Without display filters or definition queries set up in the map using the AssociationStatus field values, all containment association content features are visible, regardless of the visible status for the features.
By default, when content is created or assigned to a container, the visible status for that content feature is False. The visibility setting can be changed in the Modify Associations pane, on the Containment tab. The visible status value that is set on all content features can be used to filter content features from displaying in the map view. A display filter can be set up on all network layers where the AssociationStatus attribute field is equal to values for Visible Content.
To temporarily access nonvisible content, the Display Content command can be used in conjunction with display filters, or a network diagram can be generated. After display filters are properly configured on the AssociationStatus field for visibility status, the Display Content command can be used to switch display filters set up for all utility network layers in the map view as follows:
- Show—Disables display filters for all utility network layers to show all content
- Hide—Enables display filters for all utility network layers to hide nonvisible content
To learn more about the visibility of content features, see Control association visibility.
Split container and content features
Additional logic is used to maintain the relationship between container and content features when splitting line features that are part of a containment association. When a line feature that is a container is split, the system will default to not split any of the content features. Containment associations are reestablished following the split operation between the container features and content. Similarly, splitting content features will reestablish containment associations between the content features and container.
An additional split policy can be set for features belonging to the structure line feature class to handle how content is treated when the parent container is split. This policy is configured using the Set Association Role tool when the containment association role type is set for network features.
When splitting container features that have the split policy set to True, a geographic analysis is performed to identify an analogous point on each of the content features where they will be split. Following the split, appropriate containment association records will be generated between container and content features using a system algorithm.
Splitting container features that have the split policy set to False will not split content features, but will still reestablish containment associations between the new content features and content.
In all cases, if the user is splitting content, the container is never split. Appropriate container association records are regenerated following the split operation.