CityGML Export

Der export citygml Befehl exportiert Stadtmodelldaten aus der VCDB v5 in eine CityGML-Datei.

Synopsis

vcdb export citygml [OPTIONS]

Optionen

Der export citygml Befehl erbt globale Optionen vom Hauptbefehl vcdb sowie allgemeine Export-, Abfrage-, Filter- und Kachelungsoptionen von seinem übergeordneten export Befehl. Zusätzlich stellt er formatspezifische Exportoptionen 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 Exportoptionen

Option Beschreibung Standardwert

-o, --output=<file>

Name der Ausgabedatei.

--output-encoding=<encoding>

Kodierung, die für die Ausgabedatei verwendet wird.

--fail-fast

Bei Fehlern sofort beenden.

--temp-dir=<dir>

Temporäre Dateien in diesem Verzeichnis speichern.

--threads=<threads>

Anzahl der Threads für die parallele Verarbeitung.

--crs=<crs>

SRID oder Identifier des CRS, das für die Koordinaten von Geometrien verwendet wird.

VCDB CRS

--crs-name=<name>

Name des CRS, der in der Ausgabedatei verwendet werden soll.

--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 Exportoptionen und Nutzungshinweise siehe hier.

CityGML-Exportoptionen

Option Beschreibung Standardwert

-v, --citygml-version=<version>

CityGML-Version: 3.0, 2.0, 1.0.

3.0

--[no-]pretty-print

Ausgabedatei formatieren und einrücken.

true

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

Anwendung von XSLT-Stylesheets zur Transformation der Ausgabe.

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.

Abfrage- und Filteroptionen

Option Beschreibung Standardwert

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

Namen der zu verarbeitenden Features.

-f, --filter=<cql2-text>

Filter zum Abrufen von Features. Verwenden Sie die erweiterte CQL2-Filtersprache der VCDB.

--filter-crs=<crs>

SRID oder Identifier des CRS, das für Geometrien im Filterausdruck verwendet wird.

VCDB CRS

--sql-filter=<sql>

SQL-Query, die als Filter verwendet wird.

-s, --sort-by=<property[+|-]>
[,<property[+|-]>…​]

Eigenschaften und Sortierreihenfolgen zur Sortierung der Features.

--limit=<count>

Maximale Anzahl der zu verarbeitenden Features.

--start-index=<index>

Index innerhalb der Eingabemenge, ab dem Features verarbeitet werden.

-l, --lod=<lod>[,<lod>…​]

Exportiere Geometrien mit passendem LoD.

--lod-mode=<mode>

LoD-Filtermodus: or, and, minimum, maximum.

or

--lod-search-depth=<0..n|all>

Anzahl der Ebenen von Subfeatures, die nach passenden LoDs durchsucht werden.

0

--no-appearances

Appearances nicht verarbeiten.

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

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

Weitere Informationen zu den Abfrage- und Filteroptionen und Nutzungshinweise siehe hier.

Zeitbasierte Objekt-Historie-Optionen

Option Beschreibung Standardwert

-M, --validity=<mode>

Verarbeitung von Feature basierend auf ihrer Gültigkeit: valid, invalid, all.

valid

-T, --validity-at=<time>

Gültigkeit zu einem bestimmten Zeitpunkt prüfen. Das Zeitformat muss <YYYY-MM-DD> oder <YYYY-MM-DDThh:mm:ss[(+|-)hh:mm]> sein.

--validity-reference=<source>

Referenz für die Gültigkeitszeit: database, real_world

database

--lenient-validity

Unvollständige Gültigkeitsintervalle von Features ignorieren.

Weitere Informationen zu den zeitbasierten Objekt-Historie-Optionen und Nutzungshinweise siehe hier.

Kachelungsoptionen

Option Beschreibung Standardwert

--tile-matrix=<columns,rows>

Exportiere Kacheln in einem Spalten x Zeilen Raster.

--tile-dimension=<width[unit],height[unit]>

Exportiere Kacheln mit angegebener Breite und Höhe, ausgerichtet am Raster des Datenbank-CRS (die Längeneinheit des CRS wird als Standard angenommen).

--tile-extent=<x_min,y_min,x_max,y_max[,srid]>

Ausdehnung, die für die Kachelung verwendet wird.

automatisch berechnet

--tile-origin=<origin>

Ursprung der Kachel-Indizes: top_left, bottom_left.

top_left

Weitere Informationen zu den Kachelungsoptionen 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 export Befehls gelten (einschließlich, aber nicht beschränkt auf export citygml), finden Sie in der Dokumentation zum export Befehl hier.

Angabe der CityGML-Version

Der export citygml Befehl unterstützt die CityGML-Versionen 3.0, 2.0 und 1.0 als Ausgabeformate. Verwenden Sie die Option --citygml-version, um eine bestimmte Version für den Export auszuwählen (Standard: 3.0).

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 entweder CityGML 2.0 oder 1.0 das primäre Format für Ihre VCDB v5 ist, stehen beim Export nach CityGML 3.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 CityGML 3.0 Daten verwaltet werden. Beim Export nach CityGML 2.0 oder 1.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.

Anwendung von XSL-Transformationen

XSLT-Stylesheets ermöglichen die Transformation von Datenbankinhalten während des Exports, bevor sie in die CityGML-Ausgabedatei geschrieben werden. 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 Ausgabedatein 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 export citygml [...] -o my-city.gml \
    --xsl-transform=my-first-stylesheet.xsl,my-second-stylesheet.xsl
vcdb export citygml [...] -o my-city.gml ^
    --xsl-transform=my-first-stylesheet.xsl,my-second-stylesheet.xsl
  • Um auch sehr große CityGML-Ausgabedateien effizient verarbeiten zu können, teilt vcdb-tool den Export in einzelne Top-Level-Features auf, die nacheinander in die Ausgabedateie geschrieben werden (chunk-weiser Export). 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.

Formatierung der Ausgabe

Standardmäßig verwendet der export citygml Befehl Pretty-Printing zur Formatierung der GML/XML-Ausgabe. Dadurch wird die Lesbarkeit der XML-Hierarchie und der Verschachtelung von XML-Elementen verbessert, indem Einrückungen und Zeilenumbrüche hinzugefügt werden. Wenn die Lesbarkeit für Menschen keine Rolle spielt, kann das Pretty-Printing mit der Option --no-pretty-print deaktiviert werden. Das reduziert die Dateigröße und verbessert die Effizienz bei Speicherung und Datenübertragung.