Associations enable the modeling of connectivity, containment, and structure attachment between non-spatial and non-coincident network features. The following table describes the types of relationships between two utility network elements:
Association | Description | Geometry supported |
---|---|---|
Connectivity | Models the connectivity between two junctions that don't have geometric coincidence (are not in the same x, y and z location). A transformer may be connected to a fuse, for example. | Yes |
Structural attachment | Models equipment attached to structures. A transformer bank may be attached to a pole, for example. | Yes |
Containment | Models assets that contain other assets. A vault may contain valves and pipes, for example. | No |
The following code uses an element for retrieving containment associations, and an extent for determining attachment and connectivity associations of its contents. Note that as of ArcGIS Enterprise version 10.8.1 or higher, the results of these method calls may include non-spatial associations.
// Specify a utility element container
var containments = await utilityNetwork.GetAssociationsAsync(containerElement, UtilityAssociationType.Containment);
// Get features for its contents
var contents = from containment in containments select containment.ToElement;
var contentFeatures = await utilityNetwork.GetFeaturesForElementsAsync(contents);
// Get an extent for its contents
var featureGeometries = from content in contentFeatures select content.Geometry;
var contentExtent = GeometryEngine.CombineExtents(featureGeometries);
// Specify an area of interest
var associations = await utilityNetwork.GetAssociationsAsync(contentExtent);
Specifying a utility element will return all its associations unless the utility element's terminal has been set, which limits the connectivity associations returned.
Specifying an extent will return all its connectivity or structural attachment associations with geometry. The geometry value (polyline) represents the connection relationship between a from
element and a to
element. You can use the geometry to visualize the association as a graphic in the map.