Containment associations enable modeling a dense collection of features in a network while also controlling map clutter.
In the illustration above, a transformer bank is the container. It contains devices that are often not displayed on a map, such as fuses and transformer units.
About containment associations
Containment allows a dense collection of features to be represented by a single feature. For example, devices, wires, and conductors can be placed inside of features such as substations, switch gears, trenches, and ducts. Content features can be shown or hidden in the map view to improve visibility and reduce map clutter. Features that contain other features are known as a container and the features being contained are known as content.
The following are examples of container features:
- Polygon feature—In an electric network, a substation can contain vaults, transformers, switches, and a busbar. In a gas network, a regulator station can contain pumps, valves, and pipes. In a water network, a pump station can contain pumps, valves, and meters.
- Line feature—In an electric network, a linear container such as a duct bank can contain multiple underground lines. In a water network, an abandoned pipe can contain an in-service pipe.
- Point feature—In an electric network, a vault can contain many electric devices, junctions, and lines.
- Edge object—In a telecommunications network, a cable can contain many fiber strands.
- Junction object—In a telecommunications network, a network switch can contain multiple ports.
A utility network supports nested containment as well as a one-to-many relationship between content and containers. With nested containment, a container feature can contain another container feature, which in turn contains other 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 underground line spanning many duct banks.
A point feature cannot be content of more than one container feature.
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 itself is not.
Containment association configuration
A few steps are necessary to configure a utility network to use containment associations.
First, 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.
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 that all content features are automatically deleted when you delete the container. Or you can specify that deleting a container feature allows the content features to 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 containers when they are split. For example, when a line container is split in half, split the contents of the container between the two.
To learn more, see Association roles and Deletion Semantics, View Scale, and Container Split Policy.
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, you can create network rules to allow containment associations to be created between features.
Work with containers and content
You can create and modify containment associations using the Modify Associations pane. This is an interactive pane that allows you to select existing features on the map or attribute table to establish containment associations between containers and content features. The Enter Containment command can also be used to create content features in containment mode. Using containment edit mode requires that you first select a container feature on the map; any features that are 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 on 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 both container and content features are visible, or only container features are visible. You can also configure the network diagram to show content features inside a container feature in 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 stops 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. You can change the visibility setting 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. You can set up a display filter on all network layers where the AssociationStatus attribute field is equal to values for Visible Content.
To temporarily access nonvisible content, use the Display Content command in conjunction with display filters, or generate a network diagram. After display filters are properly configured on the AssociationStatus field for visibility status, you can use the Display Content command 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 linear containers. When a line feature that is a container is split, the system defaults to not split any of the content features.
The Container Split Policy property is specific to the Container association role and applies to line feature classes. This property is configured using the Split Content parameter on the Set Association Role tool and is used to determine how content is treated when a container feature is split.
By default, the split policy of container features is False and will not split content features. In this case, a new container feature is created from the split operation and content is not split. The content feature is maintained as content to both parent containers. When the content is a nonspatial junction object, it is contained by the larger container. When splitting container features that have the split policy set to True, content features are also split and properly associated with the new container features created during the split operation.
In all cases, if content is split, the container is never split. Appropriate containment associations are regenerated with the container feature following the split operation.