ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Editing Namespace / AssociationDescription Class / AssociationDescription Constructor / AssociationDescription Constructor(AssociationType,RowHandle,RowHandle)
The association type.
The first row in the association.
The second row in the association.
Example

In This Topic
    AssociationDescription Constructor(AssociationType,RowHandle,RowHandle)
    In This Topic
    Creates a new utility network AssociationDescription of the specified type. Use this constructor for
    Syntax
    public AssociationDescription( 
       AssociationType type,
       RowHandle row1,
       RowHandle row2
    )
    Public Function New( _
       ByVal type As AssociationType, _
       ByVal row1 As RowHandle, _
       ByVal row2 As RowHandle _
    )

    Parameters

    type
    The association type.
    row1
    The first row in the association.
    row2
    The second row in the association.
    Remarks
    A utility network structural attachment association is defined between a structure row (row1) and an attachment row (row2). A utility network connectivity association is defined by two junction rows that are not geometrically coincident. A utility network junction-edge "from side" object connectivity association represents a junction or non-spatial junction object (row1) connecting to the "from" side of a non-spatial edge object (row2). A utility network junction-edge "to side" object connectivity association represents a junction or non-spatial junction object (row1) connecting to the "to" side of a non-spatial edge object (row2).

    If type is ArcGIS.Core.Data.UtilityNetwork.AssociationType.Containment, the overloaded AssociationDescription Constructor(AssociationType,RowHandle,RowHandle,Boolean) should be used instead.

    If type is ArcGIS.Core.Data.UtilityNetwork.AssociationType.JunctionEdgeObjectConnectivityMidspan, the overloaded AssociationDescription Constructor(AssociationType,RowHandle,RowHandle,Double) should be used instead.
    Example
    Create a utility network association
    // Create edit operation
    EditOperation editOperation = new EditOperation();
    editOperation.Name = "Create structural attachment association";
    
    // Create a RowHandle for the pole
    
    Element poleElement = utilityNetwork.CreateElement(poleAssetType, poleGlobalID);
    RowHandle poleRowHandle = new RowHandle(poleElement, utilityNetwork);
    
    // Create a RowHandle for the transformer bank
    
    Element transformerBankElement = utilityNetwork.CreateElement(transformerBankAssetType, transformerBankGlobalID);
    RowHandle transformerBankRowHandle = new RowHandle(transformerBankElement, utilityNetwork);
    
    // Attach the transformer bank to the pole
    
    AssociationDescription structuralAttachmentAssociationDescription = new AssociationDescription(AssociationType.Attachment, poleRowHandle, transformerBankRowHandle);
    editOperation.Create(structuralAttachmentAssociationDescription);
    editOperation.Execute();
    
    Create utility network features and associations in a single edit operation
    // Create an EditOperation
    EditOperation editOperation = new EditOperation();
    editOperation.Name = "Create pole; create transformer bank; attach transformer bank to pole";
    
    // Create the transformer bank
    RowToken transformerBankToken = editOperation.Create(transformerBankLayer, transformerBankAttributes);
    
    // Create a pole
    RowToken poleToken = editOperation.Create(poleLayer, poleAttributes);
    
    // Create a structural attachment association between the pole and the transformer bank
    RowHandle poleHandle = new RowHandle(poleToken);
    RowHandle transformerBankHandle = new RowHandle(transformerBankToken);
    
    AssociationDescription poleAttachment = new AssociationDescription(AssociationType.Attachment, poleHandle, transformerBankHandle);
    
    editOperation.Create(poleAttachment);
    
    // Execute the EditOperation
    editOperation.Execute();
    
    Create utility network features and associations in a single edit operation
    // Create an EditOperation
    EditOperation editOperation = new EditOperation();
    editOperation.Name = "Create pole; create transformer bank; attach transformer bank to pole";
    
    // Create the transformer bank
    RowToken transformerBankToken = editOperation.Create(transformerBankLayer, transformerBankAttributes);
    
    // Create a pole
    RowToken poleToken = editOperation.Create(poleLayer, poleAttributes);
    
    // Create a structural attachment association between the pole and the transformer bank
    RowHandle poleHandle = new RowHandle(poleToken);
    RowHandle transformerBankHandle = new RowHandle(transformerBankToken);
    
    AssociationDescription poleAttachment = new AssociationDescription(AssociationType.Attachment, poleHandle, transformerBankHandle);
    
    editOperation.Create(poleAttachment);
    
    // Execute the EditOperation
    editOperation.Execute();
    
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also