CityJSON Import

Der import cityjson Befehl importiert eine oder mehrere CityJSON-Dateien in die VCDB v5.

Synopsis

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

Optionen

Der import cityjson 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 CityJSON 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.

CityJSON-Importoptionen

Option Beschreibung Standardwert

--[no-]map-unknown-objects

CityObjects aus nicht unterstützten CityJSON-Extensions auf generische CityObjects abbilden.

true

--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.

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 cityjson), finden Sie in der Dokumentation zum import Befehl hier.

Unterstützte CityJSON-Versionen

Der import cityjson Befehl unterstützt den Import von CityJSON-Dateien in den Versionen 2.0, 1.1 und 1.0. Zusätzlich zu regulären CityJSON-Dateien wird auch das CityJSON Text Sequence (CityJSONSeq) Format unterstützt. CityJSONSeq zerlegt einen CityJSON-Datensatz in seine Top-Level-Features, die als separate JSON-Objekte in einzelnen Zeilen gespeichert werden, die jeweils durch Zeilenumbrüche getrennt sind. Dieses Format ermöglicht ein effizientes Streaming großer CityJSON-Daten.

Die folgenden Dateitypen und Erweiterungen werden von vcdb-tool erkannt:

Dateityp Dateierweiterungen

CityJSON-Datei

.json, .jsonl

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.

Filterung von CityJSON-Features

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

Filter Beschreibung

Feature-Identifier-Filter

  • Reguläre CityJSON-Dateien: Wird auf den Schlüssel (key value) in der "CityObjects" Liste angewandt.

  • CityJSONSeq-Dateien: Wird auf das "id" Attribut von "CityJSONFeature" Objekten angewandt.

Bounding-Box-Filter

Wird gegen die "geographicalExtent" Eigenschaft der CityJSON-Objekte geprüft.

Die Filter werden auf die 1st-Level CityObjects in der CityJSON-Eingabedatei angewendet. Erfüllt ein 1st-Level CityObject alle Filterkriterien, wird es einschließlich aller zugehörigen 2nd-Level CityObjects importiert. Das Filtern von 2nd-Level CityObjects 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.

Umgang mit unbekannten CityJSON Extensions

CityJSON bietet mit einen flexiblen Erweiterungsmechanismus ähnlich den Application Domain Extensions (ADE) in CityGML. Dieser Mechanismus erlaubt das Hinzufügen neuer Feature-Attribute und Feature-Typen, die nicht von der CityJSON-Spezifikation abgedeckt sind. Wenn ein Datensatz Erweiterungen enthält, die nicht in der VCDB v5 registriert sind, behandelt vcdb-tool diese wie folgt:

  • Unbekannte Attribute werden auf generische Attribute abgebildet und in der Datenbank gespeichert.

  • Unbekannte Feature-Typen werden in der Datenbank auf generische Stadtobjekte abgildet. Dieses Standardverhalten kann mit der Option --no-map-unknown-objects unterdrückt werden, wodurch unbekannte Feature-Typen nicht importiert werden.

Um CityJSON-Erweiterungen so zu importieren, wie sie definiert sind, müssen die entsprechenden Typdefinitionen in den Metadaten-Tabellen OBJECTCLASS und DATATYPE der VCDB v5 registriert sein. Zusätzlich muss für vcdb-tool ein entsprechendes Erweiterungsmodul geladen werden, damit die Software die Erweiterungen korrekt parsen und importieren kann.