ArcFM Desktop Developer Guide
Update Mapping XML

Version: 10.2.1d and 10.2.1d SP3

Resource Center Home

The mapping XML provides numerous options to support a variety of GIS-CIM mapping requirements. This section does not attempt to document all capabilities of the mapping XML. Instead, it provides some examples of mapping requirements and how they are supported by the mapping XML, to aid the implementer in making updates to this file.

Setting a One to One Relationship

In the CIMMapping.Minerville.DMSv3.2.xml file, scroll down to the cimClass sections. In the simplest case, essentially rename the field name and the ArcFM Object Class for each CIM Property.

In this example, the mRID CIM Property, in the IdentifiedObject abstract class (as a defined CIM Class), corresponds to the ID field from the ArcFM Object Class of CIRCUITSOURCE. Therefore, ultimately, mRID (CIM Property) = ID (ArcFM Field) for the Circuit CIM class.

Derive a CIM Property from one or more ArcFM Field

There are multiple ways to apply Mapping Operators to create expressions from one or more ArcFM fields for a CIM property.

In this example, the Multiply Mapping Operator applies to all the child elements between the Multiply operators. Therefore, the ratedS (CIMProperty) = RatedKva (ArcFM Field) X 1000 for the SynchronousMachine class. See the list of Mapping Operators here to apply to the mapping XML.

Note: In addition to Mapping Operators, you can apply Object Rules as well. An Object Rule operates on the primary source object itself rather than field values. Object Rules can have XML attributes but do not have source field arguments. The primary source object is an Object Rule's only argument. See the list of object rules here to apply to the mapping XML.

This XML may also be configured using an Mapping Operator for the same result.

This example includes the Scale operator and the value of 1000 for scale. The code behind the Scale operator acts the same as multiplying the value of the child elements between the cimProperty tags by the scale value (in this case, 1000.)

Derive a CIM Property from an ArcFM Field with a Related Object

An ArcFM field for a CIM property may not always be in the primarySource. Instead, it may exist in a related object.

In this example, the PFCorrectingEquipment object class has a related object of CapacitorUnit, which contains the TotalKvar field that CIM's nomQ property will be replaced with when multiplied by 1000.

Derive a CIM Related Class Property from an ArcFM Field with a Related Object

CIM Properties can have related classes as well. In the example below, Shunt Compensator has related classes of Location, BaseVoltage, and Terminal. Even the related cimClass of Location has its own related class of Coordinate System, which has its related class of PositionPoint.

For the PhaseDesignation field, the value of that is located on CapacitorBank's related object, Capacitor. For the Position_X and Position_Y fields, the value is located directly in the CapacitorBank ArcFM object class.

For sections of XML that are used in multiple locations, a crossReference tag can act as a shortcut to the actual XML. In the example above, the area shaded in blue can be removed and replaced with a LocationClass CrossReference tag.

The XML example would then appear as:

This requires that the actual entire XML exists elsewhere in the file with a tagReference="LocationClass". Such as,

When the cross-referenced definition contains an mRID property, the following rules apply:

Note: In addition to Mapping Operators and Object Rules, you can also include post-processing rules for after the export. See the list of post-processing rules here to apply to the mapping XML.

 

 


Send Comment to ArcFMdocumentation@schneider-electric.com