# CityGML Transformer

(since v2.4.0)

## 1. Introduction

This transformation supports rules to convert an application schema into a CityGML ADE.

## 2. Configuration

### 2.1. Class

The class for this transformer implementation is de.interactive_instruments.ShapeChange.Transformation.CityGML.CityGMLTransformer

### 2.2. Rules

#### 2.2.1. rule-trf-CityGML-createADE

(since v2.4.0)

Feature types for which a mapping to a CityGML type is defined (either via tagged value cityGmlTargetType or via map entries of the transformer configuration – both options use QNames to identify a CityGML type) receive that type as new supertype. All other feature types receive the CityGML type _CityObject as new supertype. Any previously existing supertype is transformed to a mixin type.

Note | All CityGML type that are used as mapping targets must be available in the model. The _CityObject type is determined by looking for a type with according name that does NOT have stereotype <<ADEElement>>.

Note | This rule has originally been developed during OGC Testbed 13, to derive a CityGML ADE from an application schema. For further details, see the OGC NAS Profiling Engineering Report (OGC document number 17-020r1), chapter 9.

### 2.3. Parameters

At the moment no parameters are defined for this transformation.

### 2.4. Map Entries

At the moment no map entries are defined for this transformation.

### 2.5. Advanced Process Configuration

This transformation does not make use of the advanced process configuration facility.

## 3. Sample Configuration

      1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17

      <Transformer
      class="de.interactive_instruments.ShapeChange.Transformation.CityGML.CityGMLTransformer"
      id="TRF_CREATE_ADE" input="IDENTITY" mode="enabled">
      <rules>
       <ProcessRuleSet name="trf">
        <rule name="rule-trf-CityGML-createADE"/>
       </ProcessRuleSet>
      </rules>
      <mapEntries>
       <ProcessMapEntry type="AircraftHangar" targetType="bldg:Building"
        rule="rule-trf-CityGML-createADE"/>
       <ProcessMapEntry type="Apron" targetType="tran:TrafficArea" rule="rule-trf-CityGML-createADE"/>
       <ProcessMapEntry type="Bench" targetType="frn:CityFurniture" rule="rule-trf-CityGML-createADE"/>
       <ProcessMapEntry type="Billboard" targetType="frn:CityFurniture" rule="rule-trf-CityGML-createADE"/>
       <ProcessMapEntry type="Building" targetType="bldg:Building" rule="rule-trf-CityGML-createADE"/>
      </mapEntries>
     </Transformer>