Export-Konfiguration

Die Konfigurationseinstellungen für den export citygml-adv Befehl werden im Konfigurationsabschnitt "advExportOptions" definiert. Das folgende Beispiel zeigt die entsprechende JSON-Struktur:

{
  "advExportOptions": {
    "attributeMappings": { ... },
    "attributeFilters": { ... }
  }
}

Attribut-Mapping

Mithilfe des JSON-Objekts "attributeMappings" können die Werte bestehender Attribute in der Datenbank auf AdV-konforme Attribute abgebildet werden. Dadurch lassen sich die bestehenden Attribute für einen AdV-konformen Export verwenden, ohne sie gemäß den AdV-Vorgaben umbenennen zu müssen. Wenn das Zielattribut ebenfalls in der Datenbank vorhanden ist, überschreibt das Mapping seinen Wert in der Exportausgabe. Die Zuordnungen werden vor einer Attribut-Filterung angewandt.

Das Attribut-Mapping muss pro Objektart definiert werden und darf nur Attribute dieser Objektart referenzieren. Das folgende Snippet zeigt ein Beispiel für das Mapping von Attributen auf Gebäudeebene für die Objektart bldg:Building.

{
  "attributeMappings": {
    "bldg:Building": [
      {
        "from": "ALKIS_AGS",
        "to": "Gemeindeschluessel",
        "defaultValue": "unbekannt"
      },
      {
        "from": "LAST_UPDATED",
        "to": "LetzteAenderung",
        "defaultValue": "@core:lastModificationDate@"
      }
    ]
  }
}

Pro Objektart können mehrere Attribut-Mappings in einem JSON-Array definiert werden. Jedes Attribut-Mapping wird durch ein eigenes JSON-Objekt festgelegt.

Eigenschaft Beschreibung Standardwert

from

Qualifizierter Name des Quellattributs in der Form präfix:Name. Bei generischen Attributen kann der Präfix entfallen.

to

Name des Zielattributs ohne Präfix. Das Zielattribut wird immer als generisches String-Attribut ausgegeben. Vordefinierte CityGML-Attribute können nicht überschrieben werden.

defaultValue

Optionaler Standardwert für das Zielattribut. Dieser Wert wird verwendet, wenn das Quellattribut für das aktuelle Objekt nicht belegt ist. Wird defaultValue weggelassen, erfolgt kein Mapping.

Als Standardwert kann auch ein Token in der Form @präfix:Name@ angegeben werden, das auf ein anderes Attribut desselben Objekts verweist. Der Standardwert wird dann aus diesem Attribut ausgelesen. Bei generischen Attributen kann der Präfix wieder entfallen. Fehlt ein durch ein Token referenziertes Attribut, wird das Token durch eine leere Zeichenkette ersetzt.

Attribut-Filter

Über Attribut-Filter lässt sich steuern, welche Attribute der jeweiligen Objektart in die Ausgabedatei geschrieben werden. Damit lassen sich die Vorgaben des AdV-Standards für zwingende und erlaubte Attribute außer Kraft setzen.

Wie schon beim Attribut-Mapping werden auch die Attribut-Filter für jede Objektart wie bldg:Building oder brid:Bridge getrennt festgelegt und dürfen nur Attribute dieser Objektart referenzieren.

{
  "attributeFilters": {
    "brid:Bridge": {
      "keep": ["ALKIS_AGS", "core:terminationDate"],
      "remove": ["brid:address"]
    }
  }
}

Pro Objektart kann eine Liste der zu schreibenden und zu löschenden Attribute definiert werden. Beide Listen sind optional.

Eigenschaft Beschreibung Standardwert

keep

Liste von Attributen der Form präfix:Name, die in die Ausgabedatei geschrieben werden sollen. Bei generischen Attributen kann das Präfix entfallen. Durch keep werden Attribute ausdrücklich beibehalten, auch wenn sie vom AdV-Standard nicht erlaubt sind.

remove

Liste von Attributen der Form präfix:Name, die nicht in die Ausgabedatei geschrieben werden sollen. Bei generischen Attributen kann das Präfix entfallen. Durch remove werden vom AdV-Standard vorgegebene Attribute ausdrücklich entfernt.

  • Wird dasselbe Attribut sowohl in keep als auch in remove aufgeführt und ist das Attribut im AdV-Standard zwingend vorgegeben, hat remove Vorrang, andernfalls keep.

  • Zielattribute aus einem Attribut-Mapping haben automatisch den Status keep.