CARIS HIPS and SIPS : Support Files Guide : Mapping : Mapping File Structure : Object Mapping
 

Object Mapping

The object mapping parameters are contained between the <ObjectMappings> tags. There must be at least one object mapping in this section.

Matching is closest first, therefore, your entries should be ordered from the most specific to least specific. For example, the CATWRK 5, 1 object must be listed before the CATWRK 5 object.

The basic structure of the object mapping section is.

<Object Acronym="Acronym">

  <Filter>

    <PrimitiveIsEqualTo Primitive="Primitive"/>

  </Filter>

  <MapObject>

    <MapObjectAcronym Acronym="Acronym" />

    <SetAttributeValue Acronym="Acronym" Value="value"/>

    <ApplyAttributeMapping Name="AttributeMappingName"/>

  </MapObject>

</Object>

The tags in the <ObjectMappings> section are.

Tag

Description

Status

<Object>

The <Object> tag contains an Acronym property. This property is the unique identifier of the object (based on the data source type).

Mandatory

<Filter>

The <Filter> tag contains filter functions that determine if the object being mapped meets the criteria for mapping. The filter can be complex or simple. The object can only contain one filter.

Optional

<MapObject>

The <MapObject> tag contains a list of functions for mapping the object. One feature will be mapped for each MapObject entry.

Mandatory

Object Mapping Example

In the following example, the S-57 AIRARE objects are mapped to the VPF GB005 objects.

<Object Acronym="AIRARE">

  <Filter>

    <PrimitiveIsEqualTo Primitive="Point"/>

  </Filter>

  <MapObject>

    <MapObjectAcronym Acronym="GB005" />

    <SetAttributeValue Acronym="EXS" Value="28" />

    <ApplyAttributeMapping Name="OBJNAMtoNAM" />

    <ApplyAttributeMapping Name="CATAIRtoAPTForPoints" />

  </MapObject>

</Object>

 

<Object Acronym="AIRARE">

  <Filter>

    <PrimitiveIsEqualTo Primitive="Area" />

  </Filter>

  <MapObject>

    <MapObjectAcronym Acronym="GB005" />

    <SetAttributeValue Acronym="EXS" Value="28" />

    <ApplyAttributeMapping Name="OBJNAMtoNAM" />

    <ApplyAttributeMapping Name="CATAIRtoAPTForAreas" />

  </MapObject>

</Object>

In the above example, the following mappings were accomplished:

A VPF GB005 area object is created from the AIRARE area object, and a GB005 point object is created from the AIRARE point object.

Both GB005 objects are created with the attribute EXS=28.

OBJNAMtoNAM attribute mapping is applied to both GB005 objects (see Attribute mapping example 1).

The CATAIRtoAPTForPOINTS attribute mapping is applied to the GB005 point objects, and the CATAIRtoAPTForAREAS attribute mapping is applied to GB005 area objects.

Objects can be defined using a one-to-one, one-to-many, or many-to-one conversion (see Many-to-One Mapping and One-to-Many Mapping).

Note you cannot map objects twice in the same mapping file. For example, you cannot map from object A to B and then map from object B to object C. You can map from object A to object B in one mapping file and then map from B to C in another file.

Do Not Map Features

A feature can be excluded from mapping using the <DoNotMapObject/> tag with the <MapObject> tag:

<ObjectMappings>

  <Object Acronym="BCNLAT">

    <MapObject>

      <MapObjectAcronym Acronym

      <SetAttributeValue Acronym="OBJNAM" Value="Test1"/>

    </MapObject>

  </Object>

  <Object Acronym="BCNSAW

    <MapObject>

      <DoNotMapObject/>

    </MapObject>

  </Object>

</ObjectMappings

In this example, the BCNSAW (safe water beacon) feature has the <DoNotMapObject/> tag applied. This means that the BCNSAW feature is excluded from mapping. A notice in the Output window informs you that this tag has been applied to features when a process that includes mapping is used.