How-To - ArcFM - Create a conduit to conductor/cable relationship class

Version 7

    Overview

     

    ArcFM Desktop includes a Conduit Manager extension allowing conductors or cables to be associated with a conduit (line or edge feature). To associate a feature class to a conduit requires Conduit Manager to be configured in full.

     

    See  http://resources.arcfmsolution.com/10.2.1b/DesktopConfig/webframe.html#Conduit_Manager.html.

     

    The most common errors seen are because of problems with relationship classes required which are many to many and attributed. Attributed means fields are added during the relationship creation.

     

    Solution

     

    Let's say you want to associate conduits with the following feature classes:

     

    - Primary Underground conductors

    - Secondary Underground conductors

    - FiberOpticCable

    - CommunicationCable

     

    Four relationship classes (one for each feature) need to be created where the class is simple, many to many and attributed. The ArcFM documentation includes the values needed for Conduit to Conductor but not specific steps or screenshots for how to do it. The example here will be Conduit to FiberCable, an increasingly popular option particularly with our Fiber Manager customers.

     

    ESRI Help: Creating an attributed relationship class  http://resources.arcgis.com/en/help/main/10.2/index.html#//004t00000009000000

     

    If you want Cross-Section Annotation (essential everyone does with Conduit Manager) you also need the Conduit_CrossSectionAnnotation relationship created. The CrossSection Anno relationship is composite & not attributed.

     

    Creating a Conduit to FiberCable relationship class

     

    The ArcFM sample data in Minerville (personal mdb or file gdb) includes this relationship in the Electric dataset as ConduitSystem_FiberOpticCable. Here's how you can create your own. There is no option to edit an existing relationship class so mistakes made after creation requires deleting the relationship class & doing it again.

     

    1. In ArcCatalog right-click on the desired dataset then New > Relationship Class.

    To keep all Conduit to feature class relationships grouped together, use the same prefix name.

    2. Name of relationship class: ConduitSystem_FiberOpticCable

    The origin is ConduitSystem, the destination is FiberOpticCable. These are the Minerville feature class names, use your names if different.

    3. Type of relationship: Simple (not Composite).

    4  Relationship labels: not important but leave the default of None for message propagation.

    5. Cardinality: M - N (many to many). If Composite was selected in step 3 instead of Simple you will not have a M - N option.

    6. Select Yes for adding additional attributes. No is the default, be careful here.

    7. Add the two fields ULS_Position and PhaseDesignation as long integer. There is no validation here so be careful about typos, it doesn't verify if the attribute name entered actually exists. The field names here are from Minerville, use your actual field names if different.

    Allow NULL Values: Yes

    8. The last step is specifying the primary and foreign keys. What keys should be used for ConduitSystem to FiberCable? Its actually the same keys used in ConduitSystem to Conductor as described in the documentation.

    http://resources.arcfmsolution.com/10.2.1b/DesktopConfig/webframe.html#CM_Create_Relationship_Classes.html

    Origin Primary key: ObjectID

    Destination Primary key : ObjectID

    Primary foreign key: ULSObjectID

    Destination foreign key: UGObjectID

    There is no verification you're selecting the correct field from the dropdown or typing in a valid foreign key, so be careful.

    9. The final wizard screen is a summary of the relationship class with a <Finish> button. Once you hit <Finish> you cannot go back & make any changes, any mistakes forces you to delete the relationship class & create it again.

     

    Viewing the relationship class properties after creation

    In ArcCatalog right-click on the relationship class and select Properties. All of your ConduitSystem_Conductor/Cable relationships should look the same except for labels and the destination object class.