CityGML Import

Der import citygml Befehl importiert eine oder mehrere CityGML-Dateien in die VCDB v5.

Synopsis

vcdb import citygml [OPTIONS] <file>...

Optionen

Der import citygml Befehl erbt globale Optionen vom Hauptbefehl vcdb sowie allgemeine Import-, Metadaten- und Filteroptionen vom übergeordneten import Befehl. Zusätzlich stellt er formatspezifische Importoptionen für CityGML bereit.

Globale Optionen

Option Beschreibung Standardwert

[@<filename>…​]

Eine oder mehrere Argumentdateien mit Optionen.

-h, --help

Hilfenachricht anzeigen und beenden.

-V, --version

Versionsinformationen ausgeben und beenden.

--config-file=<file>

Konfiguration aus dieser Datei laden.

-L, --log-level=<level>

Log-Level: fatal, error, warn, info, debug, trace.

info

--log-file=<file>

Log-Nachrichten in diese Datei schreiben.

--quiet

Deaktiviert Log-Nachrichten auf der Konsole.

--pid-file=<file>

Datei mit der Prozess-ID erstellen.

--plugins=<dir>

Plugins aus diesem Verzeichnis laden.

--use-plugin=<plugin[=true|false]>
[,<plugin[=true|false]>…​]

Plugins mit passendem vollqualifiziertem Klassennamen aktivieren oder deaktivieren.

true

Weitere Informationen zu den globalen Optionen und Nutzungshinweise siehe hier.

Allgemeine Importoptionen

Option Beschreibung Standardwert

<file>…​

Eine oder mehrere Dateien oder Verzeichnisse zur Verarbeitung (Glob-Patterns erlaubt).

--input-encoding=<encoding>

Kodierung der Eingabedatei(en).

--fail-fast

Bei Fehlern sofort beenden.

--temp-dir=<dir>

Temporäre Dateien in diesem Verzeichnis speichern.

-m, --import-mode=<mode>

Importmodus: import_all, skip, delete, terminate.

import_all

--threads=<threads>

Anzahl der Threads für die parallele Verarbeitung.

--preview

Im Vorschau-Modus ausführen. Features werden nicht importiert.

--index-mode=<mode>

Indexmodus: keep, drop, drop_create. Bei der Verarbeitung großer Datenmengen kann das Deaktivieren der Indizes sinnvoll sein.

keep

--compute-extent

Envelopes von Features berechnen und ersetzen.

--transform=
<m0,m1,…​,m11|swap-xy>

Koordinaten mit einer 3x4-Matrix im Row-Major-Format transformieren. swap-xy kann als Abkürzung verwendet werden.

Weitere Informationen zu den allgemeinen Importoptionen und Nutzungshinweise siehe hier.

CityGML-Importoptionen

Option Beschreibung Standardwert

--import-xal-source

XML-Repräsentation von xAL-Adresselementen importieren.

-x, --xsl-transform=<stylesheet>[,<stylesheet>…​]

Anwendung von XSLT-Stylesheets zur Transformation der Eingabedaten.

--no-appearances

Appearances nicht verarbeiten.

-a, --appearance-theme=<theme>[,<theme>…​]

Appearances mit passendem Theme verarbeiten. Verwenden Sie none für das Null-Theme.

Metadatenoptionen

Option Beschreibung Standardwert

--lineage=<lineage>

Datenabstammung oder Ursprung der Features.

--updating-person=<name>

Name des Benutzers, der für den Import verantwortlich ist.

Datenbankbenutzer

--reason-for-update=<reason>

Grund für den Import der Daten.

Weitere Informationen zu den Metadatenoptionen und Nutzungshinweise siehe hier.

Upgrade-Optionen für CityGML 2.0 und 1.0

Option Beschreibung Standardwert

--use-lod4-as-lod3

Verwende LoD4 als LoD3 und ersetze bestehende LoD3 Geometrien.

--map-lod0-roof-edge

Bilde LoD0 Roof-Edge Geometrien auf Dachflächen ab.

--map-lod1-surface

Bilde LoD1 Multi-Surfaces auf generische thematische Begrenzungsflächen ab.

Filteroptionen

Option Beschreibung Standardwert

-t, --type-name=<[prefix:]name>
[,<[prefix:]name>…​]

Namen der zu verarbeitenden Features.

-i, --id=<id>[,<id>…​]

Identifier der zu verarbeitenden Features.

-b, --bbox=<x_min,y_min,x_max,y_max[,srid]>

Bounding Box als räumlicher Filter.

--bbox-mode=<mode>

Bounding Box Modus: intersects, contains, on_tile.

intersects

--limit=<count>

Maximale Anzahl der zu verarbeitenden Features.

--start-index=<index>

Index innerhalb der Eingabemenge, ab dem Features verarbeitet werden.

Weitere Informationen zu den Filteroptionen und Nutzungshinweise siehe hier.

Datenbank-Verbindungsoptionen

Option Beschreibung Standardwert

-H, --db-host=<host>

Hostname des VCDB Datenbankservers.

-P, --db-port=<port>

Port des VCDB Datenbankservers.

5432

-d, --db-name=<database>

Name der VCDB-Instanz, zu eine Verbindung hergestellt werden soll.

-S, --db-schema=<schema>

Schema, das beim Verbinden zur VCDB verwendet werden soll.

citydb oder Benutzername

-u, --db-username=<user>

Benutzername für die Verbidung zur VCDB.

-p, --db-password
[=<password>]

Passwort für die Verbidung zur VCDB. Leer lassen, um zur Eingabe aufgefordert zu werden.

--db-property=<property=value>
[,<proeprty=value>…​]

Datenbankspezifische Verbindungsparameter.

Weitere Informationen zu den Datenbank-Verbindungsoptionen und Nutzungshinweise siehe hier.

Verwendung

Allgemeine Hinweise zur Nutzung, die für alle Unterbefehle des import Befehls gelten (einschließlich, aber nicht beschränkt auf import citygml), finden Sie in der Dokumentation zum import Befehl hier.

Unterstützte CityGML-Versionen

Der import citygml Befehl unterstützt den Import von CityGML-Dateien in den Versionen 3.0, 2.0 und 1.0. Die folgenden Dateitypen und Erweiterungen werden erkannt:

Dateityp Dateierweiterungen

CityGML-Datei

.gml, .xml

GZIP-komprimierte Datei

.gz, .gzip

ZIP-Archiv

.zip

Die Dateierweiterungen werden verwendet, wenn als <file> Argument ein Verzeichnis oder ZIP-Archiv anstelle einer einzelnen Datei angegeben wird. In diesem Fall wird das Verzeichnis bzw. ZIP-Archiv rekursiv nach Eingabedateien durchsucht, die anhand der oben aufgelisteten Erweiterungen identifiziert und dann importiert werden.

Upgrade von CityGML 2.0 und 1.0

CityGML-Daten können aus der VCDB v5 ohne Datenverlust in derselben Version exportiert werden, in der sie importiert wurden. Beim Wechsel der CityGML-Versionen zwischen Import und Export kann es jedoch zu Datenverlust kommen, da CityGML 3.0 nicht vollständig abwärtskompatibel zu den Versionen 2.0 und 1.0 ist. Zwar führt vcdb-tool automatische Konvertierungen durch, wo dies möglich ist, doch bestimmte Situation erfordern zusätzliche Benutzereingaben.

Wenn CityGML 3.0 das primäre Format Ihrer VCDB v5 Instanz ist, stehen beim Import von CityGML-Dateien in den Versionen 2.0 oder 1.0 die folgenden Upgrade-Optionen zur Verfügung, um Kompatibilitätsprobleme zu beheben:

  • --use-lod4-as-lod3: Konvertiert LoD4 Geometrien zu LoD3, wobei bestehede LoD3 Geometrien dadurch ersetzt werden.

  • --map-lod0-roof-edge: Konvertiert LoD0 RoofEdge Geometrien in Dachflächen.

  • --map-lod1-surface: Konvertiert LoD1 Multi-Surfaces in generische thematische Begrenzungsflächen.

Die Upgrade-Optionen sind nicht erforderlich, wenn in Ihrer VCDB v5 ausschließlich Daten im Format CityGML 2.0 und 1.0 verwaltet werden. Beim Import von CityGML 3.0 muss in diesem Fall jedoch beachtet werden, dass vcdb-tool keine Downgrade-Optionen anbietet. CityGML 3.0 Inhalte, die beim Export nicht automatisch zu CityGML 2.0 oder 1.0 konvertiert werden können, werden nicht exportiert. Weitere Informationen finden Sie im Kapitel zur Kompatibilität und Datenmigration.

Filterung von CityGML-Features

Der import citygml Befehl erbt die Filteroptionen vom übergeordneten import Befehl. Im Kontext von CityGML-Eingabedateien wirken die Filter wie folgt:

Filter Beschreibung

Feature-Identifier Filter

Wird auf das gml:id Attribute der CityGML-Objekte angewandt.

Bounding-Box Filter

Wird gegen die gml:boundedBy Eigenschaft der CityGML-Objekte geprüft.

Die Filter werden auf die Top-Level <cityObjectMember> Elemente in der Eingabedatei angewendet. Erfüllt ein Top-Level-Feature alle Filterkriterien, wird es einschließlich aller zugehörigen Subfeatures importiert. Das Filtern von Subfeatures ist nicht unterstützt.

Filterung von Appearances

Standardmäßig importiert der import citygml Befehl alle Appearance-Informationen aus den Eingabedateien. Mit der --appearance-theme Option kann der Import von Appearances auf Grundlage ihres <theme> Attributs beschränkt werden. Es können ein oder mehrere Themes als kommaseparierte Liste angegeben werden. Um Appearances zu filtern, die kein <theme> Attribut besitzen, muss none als Wert verwendet werden.

Es werden nur Appearances importiert, deren Theme mit einem der Werte übereinstimmt. Um keine Appearance-Informationen zu importieren, verwenden Sie die Option --no-appearances.

Anwendung von XSL-Transformationen

XSLT-Stylesheets ermöglichen die Transformation von CityGML-Eingabedaten während des Imports in die Datenbank. Damit lassen sich z.B. Attributewerte ändern, Attribute filtern, oder komplette GML/XML-Strukturen ersetzen oder entfernen.

Mit der Opiotn --xsl-transform kann eines oder mehrere XSLT-Stylesheets angegeben werden, die auf die Eingabedateien angewendet werden sollen. Jedes Stylesheet über seinen Dateinamen und Pfad referenziert werden, wobei der Pfad entweder absolut oder relativ zum aktuellen Verzeichnis sein kann. Mehrere XSLT-Stylesheets können als kommaseparierte Liste übergeben werden, um einen mehrstufigen Transformationsprozess zu ermöglichen. In diesem Fall werden die Stylesheets in der angegebenen Reihenfolge ausgeführt, wobei die Ausgabe eines Stylesheets als Eingabe für das jeweils nächste dient.

  • Linux

  • Windows CMD

./vcdb import citygml [...] my-city.gml \
    --xsl-transform=my-first-stylesheet.xsl,my-second-stylesheet.xsl
vcdb import citygml [...] my-city.gml ^
    --xsl-transform=my-first-stylesheet.xsl,my-second-stylesheet.xsl
  • Um auch sehr große CityGML-Dateien effizient verarbeiten zu können, zerlegt vcdb-tool jede Datei in einzelne Top-Level-Features. Jedes dieser Fragmente (Chunks) wird dann separat verarbeitet und in die Datenbank importiert (chunk-weiser Import). Daher wird jedes XSLT-Stylesheet nur auf einzelne Top-Level-Feature angewendet und nicht auf die vollständige Datei. Dies muss bei der Entwicklung von Stylesheets beachtet werden.

  • Die Ausgabe jedes XSLT-Stylesheets muss valides CityGML sein.

Speicherung von xAL-Adresselementen

CityGML verwendet den OASIS Extensible Address Language (xAL) Standard zur Kodierung von Adressdaten. Während des Imports analysiert vcdb-tool den xAL-Inhalt und ordnet ihn den separaten Spalten der ADDRESS Tabelle zu, die eine umfassende und flexible Struktur für die Speicherung von Adressdaten bietet. Wenn jedoch das ursprüngliche xAL-Adresselement zu komplex ist, um vollständig auf die Spalten der ADDRESS Tabelle abgebildet zu werden, ermöglicht die Option --import-xal-source den Import und die Beibehaltung des ursprünglichen xAL-Elements. Weitere Informationen finden Sie hier.