Underground Facilities Management (UFM) Implementation

Migrating your 10.x Conduit Manager data is accomplished by working with your data conversion and implementation team to follow the steps outlined below. Schneider Electric does not provide developer samples to address all the conversion steps necessary to move from 10.x Conduit Manager to Conduit Manager XI. However, several developer samples have been provided to help with some of the more complex migration steps. We expect data migration vendors to use the developer samples we’re providing and Esri’s UN migration tools to complete the conversion process. We believe it will be common for data migration vendors to modify these developer samples based on the customer’s existing data and feedback from the customer. To download these developer samples, refer to the Conduit Manager Data Migration 10.x to XI article on myArcFM.


Step 1: Create Vault Polygons

Customers that implemented UFM should be able to use their UFMFloor polygons to represent vault boundaries in Editor’s data model.


Step 2: Migrating Ducts

To migrate from the UFM 10.x data model, features in the Duct feature class (UFMDUCT class model name) need to be moved from their locations on UFMWall features to the edge of the UFMFloor features. This is required because the Editor XI data model doesn't contain UFMWall features. In the Editor XI data model, walls are modeled as the edges of Vault polygons. The Create Duct Ends for UFM Ducts developer sample for UFM data uses 10.x Conduit Manager data to create DuctEnd, DuctBankEnd, and ConnectionPoint features in staging feature classes within the 10.x database. These features should be copied to the target UN database in Step 4.

Create Duct Ends for UFM Ducts Developer Sample

The Create Duct Ends for UFM Ducts developer sample, written for use in ArcMap, iterates over UFMWalls and ConduitSystem features related to the selected Underground Structures. The sample uses information from the ConduitSystem features and the UFMDucts on the UFMWalls to create three different types of features that are used to populate UN data in the Editor XI data model:

  • One Duct Bank End point is created where the conduit intersects the boundary of the UFMWall and UFMFloor.

  • One Duct End point feature is created for each UFMDuct on the UFMWall. The Duct End features are created on the boundary of the UFMWall and UFMFloor.

  • One Underground Connection Point feature is created at the same location as each Duct end feature that is related to a cable.

It is implemented in ConduitDataConversionAddin.sln. The sample requires the following data configuration:

  • A point feature class with the ManholeFeatureSnap model name assigned

  • An edge feature class with the ULS model name assigned

  • A polygon feature class with the UFMWall model name assigned. The sample requires the following field on this feature class:

    • ConvertedDate — this is a date field with the ConvertedDate field model name assigned. This field is used by the sample to track which walls have already been processed. The code checks this field before processing a wall to avoid creating duplicate DuctBankEnds, DuctEnds, and UndergroundConnectionPoints in the event that the user runs the tool on the same Underground Structure more than once.

The sample requires a dataset with Z coordinates defined containing the following feature classes:

  • A point feature class with the DuctBankEnd model name assigned. This feature class’s coordinates must have Z values. The DuctBankEnd feature class requires the following field:

    • ConduitObjectID — this is a long integer field with the ConduitIdentifier field model name assigned.

  • A point feature class with the DuctEnd model name assigned. This feature class’s coordinates must include Z values. The DuctEnd feature class requires the following fields:

    • ConduitObjectId — this is a long integer field with the ConduitIdentifier field model name assigned.

    • Diameter — this is a text field with the DuctSize model name assigned.

    • DuctCrossSectionShape — this is a short integer field with the DuctCrossSectionShape model name assigned.

    • DuctId — this is a text field with the DuctName model name assigned.

    • IsAvailable — this is a short integer field with the DuctAvailability model name assigned.

    • IsOccupied — this is a short integer field with the DuctOccupied model name assigned.

    • Material — this is a text field with the DuctMaterial model name assigned.

  • A point feature class with the UndergroundConnectionPoint model name assigned — this feature class’s coordinates must include Z values. The UndergroundConnectionPoint feature class requires the following field:

    • DucEndObjectId — this is a long integer field with the DuctEndIdentifier field model name assigned.


Step 3: Cross-Section Anno Migration Part One: ArcMap Add-in Developer Sample

ArcFM 10.x cross-section annotation must go through a conversion process so it can be edited in ArcGIS Pro because ArcGIS Pro does not support 10.x annotation that contains group elements. ArcFM 10.x cross-section annotation features are group elements that are usually composed of polygon elements that represent ducts and text elements that are used to label the ducts and describe the ducts’ contents.

The Create Features from Cross-Section Anno Group Elements ArcMap add-in developer sample is used to create features from individual elements contained within the cross-section annotation group elements. The geometry of the ducts (polygons) within the cross-section annotation group elements is used to create polygon features in a new DuctEndFlagConversion feature class described below. The add-in populates the ConduitObjectId field with the ObjectId of the conduit the cross-section annotation is related to. The ConduitObjectId field can be replaced with a GUID field if the conduit feature class is configured to use global Ids.

  • DuctEndFlagConversion - polygon feature class:

    • Class model name: DuctEndFlag

    • Fields

Field Name

Data Type

Field Model Name

ConduitObjectId

Long Integer

ConduitIdentifier

Rotation

Float

SymbolRotation

DuctId

Text

DuctName

DuctFlagOutlineId

GUID

DuctFlagOutlineId

A rectangular “DuctFlagOutlineConversion” polygon is added around DuctEndFlagConversion features that are related to the same conduit. This polygon feature is used in ArcFM Editor’s UN data model for feature-linked annotation that describes the contents of the duct end flags.

  • DuctFlagOutlineConversion - polygon feature class

    • Class model name: DuctFlagOutline

    • Fields

Field Name

Data Type

Field Model Name

DuctFlagOutlineId

GUID

DuctFlagOutlineId

ConduitObjectId

Long Integer

ConduitIdentifier

Leader lines found in the cross-section annotation feature class are copied to a Line feature class that has the CrossSectionLeaderLine class model name. This feature class does not have any extra attributes.

The DuctEndFlagConversion, DuctFlagOutlineConversion, and CrossSectionLeaderLine features should be copied to the target UN database in Step 4.


Step 4: Migrate 10.x Data to a Utility Network (UN) Database

Use ArcGIS Pro’s Migrate to Utility Network geoprocessing tool or other Esri tools to copy the data into the target UN database.

IMPORTANT: ArcFM 10.x Classic’s Object Converter does not convert Map Inset and Lasso feature classes. If you run the Object Converter, you should exclude these two feature classes.

The best way to understand ArcFM Editor’s UN data model is to use the sample database. Add a vault, connect a duct bank to the vault, and then use ArcGIS Pro’s Attribute pane to explore the features and their connections. However, these points might also be helpful:

  • StructureLine - DuctBank and StructureEdgeObject - DuctPath - Duct and StructureJunction – Duct Node -Duct End:

    • 10.x Conduit line features should be migrated to StructureLine - DuctBank features in Editor’s UN data model.

    • The StructureLine – DuctBank features created for each 10.x conduit feature should contain a StructureEdgeObject - DuctPath - Duct for each duct in the 10.x conduit.

    • Each end of a StructureEdgeObject - DuctPath - Duct should connect to a StructureJunction – Duct Node -Duct End.

    • Each StructureJunction – Duct Node - Duct End should only connect to one StructureEdgeObject - DuctPath - Duct.

  • StructureJunction – Duct Bank Node - Duct Bank Hub

    • Every StructureJunction – Duct Bank Node - Duct Bank End should connect to a Duct Bank Hub

  • StructureJunction - Duct Bank Node - Duct Bank End

    • A Duct Bank End should be at each end of a StructureLine - DuctBank

  • ElectricJunction - Connection Point

    • Connection Points are necessary when a non-spatial cable is associated to a duct

    • Connection Points are not supported when a spatial cable is associated to a duct

    • Contained within a StructureJunction – Duct Node - Duct End

    • Connected to Electric Edge Object - Cable


Step 5: Create Duct End Flag and Duct Flag Outline Annotation Classes in the UN Database

Create a DuctEndFlagAnno annotation feature class that is linked to the StructureBoundary feature class. This annotation feature class should have the following properties:

  • Expression: $feature.DUCTID

  • Position:

    Duct End Flag Anno Position

Create a DuctFlagOutlineAnno annotation feature class that is linked to the StructureBoundary feature class. This annotation feature class should have the following properties:

  • Expression: This annotation string uses ‘::” as a line delimiter:

var result = split($feature.notes, '::', -1, true)

for (var val in result)

{

val = Trim(val);

}

concatenate(result, TextFormatting.NewLine)

  • Position:

    Duct Flag Outline Anno Position


Step 6: Create Duct End Flag Annotation for Duct End Flag Polygons

Use ArcGIS Pro’s Annotate Selected Features geoprocessing tool to create annotation for all the duct end polygon features. The new feature-linked annotation should be created at the center of duct end flag polygons.


Step 7: Cross-Section Anno Migration Part Two: ArcGIS Pro Add-in Developer Sample

The ArcGIS Pro add-in developer samples named Create duct flags and Create duct flag outline annotation are contained in a Visual Studio solution named ConvertCrossSectionAnno-ArcGISPro.sln.

To use the Create duct flags developer sample, select some DuctFlagOutline features and press the Create duct flags tool. This tool performs the following steps for each selected duct flag outline feature:

  • Locates the closest point on the duct bank (conduit) line feature that is related to the duct flag outline feature.

  • Finds the nearest vault that is closest to the point on the duct bank feature.

  • Finds the vault wall segment that intersects the duct bank.

  • Identifies the duct end features on that vault wall, matches them to duct end flag features, and copies attributes (e.g. OccupantDescription, IsOccupied) from duct ends to duct end flags.

  • Creates containment associations between duct end flags and the ducts they represent.

  • Updates the duct flag outline’s Notes field with the vault’s Facility ID and a concatenated list of values from the duct end flags’ OccupantDescription fields.

The Create duct flag outline annotation developer sample uses the string in the duct flag outline’s Notes field to create feature-linked annotation that describes the contents of the duct end flags.



It may be helpful to visualize the UFM data model for Conduit Manager 10.x compared to the Editor XI data model for Conduit Manager. Below is an image of features representing the UFM data model for Conduit Manager 10.x.

Below is an image of features representing the Editor XI data model.


The tables provided below identify the feature classes and fields in the 10.x Series application and where they should be mapped in the XI Series application. Use these tables to scope and plan your data migration. With the exception of the Conduit Blob field, all of the Conduit Manager 10.x fields have an equivalent field in the Conduit Manager XI data model. Your company likely added other fields to your data model, and these fields vary by company. Thus, they are not represented in the tables below. Most likely, there is a logical field in the Conduit Manager XI data model to accept your additional fields. Work with your implementation team to determine the best fit.

10.x Feature Class

Asset Group

Asset Type

Duct

Structure Junction

Duct Node — Duct End

Conduit Manager 10.x Field

Conduit Manager 10.x Property Name in Conduit Blob

Equivalent Conduit Manager XI Field

Type

DuctSize

Diameter

Diameter

Double

Material

Material

Material

Short

Available

Availability

Is Available (Y/N)

Short

Occupied

DuctCables collection

Is Occupied (Y/N)

Short

DuctName

DuctID

Duct ID

Text

GlobalID

 

GlobalID

Short

CreationUser

 

Creator

Text

DateCreated

 

Creation Date 

Date

LastUser

 

Updated By

Text

DateModified

 

Last Update

Date



10.x Feature Class

Asset Group

Asset Type

Underground Structure

Structure Junction

Handhole, Manhole, Vault

Conduit Manager 10.x Field

Equivalent Conduit Manager XI Field

Type

FacilityID

Facility ID

Text

WallHeight

Height

Short

Material

Material

Short

InstallationDate

Install Date

Date

Manufacturer

Manufacturer

Text

Comments

Notes

Text

GlobalID

Legacy ID

Long

CreationUser

Creator

Text

DateCreated

Creation Date 

Date

LastUser

Updated By

Text

DateModified

Last Update

Date

SymbolRotation

Symbol Rotation

Short



10.x Feature Class

Asset Group

Asset Type

UFM Floor

Structure Boundary

Facility Boundary — Vault Boundary

Conduit Manager 10.x Field

Equivalent Conduit Manager XI Field

Type

FacilityID

Facility ID

Text

GlobalID

Legacy ID

Long

CreationUser

Creator

Text

DateCreated

Creation Date 

Date

LastUser

Updated By

Text

DateModified

Last Update

Date

SymbolRotation

Symbol Rotation

Short



10.x Feature Class

Asset Group

Asset Type

UFM Wall

Structure Boundary

Facility Boundary — Vault Boundary

Note: Walls in the 10.x model are modeled in the XI as edges of vault polygons. You can calculate wallHeight from a UFMWall that’s connected to the UFMFloor.



10.x Feature Class

Asset Group

Asset Type

Conduit System

Structure Line

Duct Bank — Duct Bank

Conduit Manager 10.x Field

Conduit Manager 10.x Property Name in Conduit Blob

Equivalent Conduit Manager XI Field

Type

FacilityID

 

Facility ID

Text

Material

 

Material

Short

MeasuredLength

 

Measured Length

Double

InstallationDate

 

Install Date

Date

Configuration

Does not store directly but can be calculated from blob

Number of Available Ducts

Short

GlobalID

 

Legacy ID

Long

CreationUser

 

Creator

Text

DateCreated

 

Creation Date 

Date

LastUser

 

Updated By

Text

DateModified

 

Last Update

Date



10.x Feature Class

Asset Group

Asset Type

Conduit System Blob Field

Structure Junction

Duct Node — Duct End

Conduit Manager 10.x Property Name in Conduit Blob

Equivalent Conduit Manager XI Field

Type

Diameter

Diameter

Double

Material

Material

Short

Availability

Is Available (Y/N)

Short

Check the DuctCables collection

Is Occupied (Y/N)

Short

DuctID

Duct ID

Text

IsCircle

Duct Cross Section Shape

Short

QR Code is a registered trademark of DENSO WAVE INCORPORATED in Japan and other countries.

Was this helpful?