CityJSON Export
Der export cityjson
Befehl exportiert Stadtmodelldaten aus der VCDB v5
in eine CityJSON-Datei.
Da CityJSON nur einen Teil des CityGML Conceptual Model abbildet,
kann es beim Export nach CityJSON möglicherweise zu Datenverlust kommen.
Optionen
Der export cityjson
Befehl erbt globale Optionen vom Hauptbefehl vcdb
sowie
allgemeine Export-, Abfrage-, und Filter- und Kachelungsoptionen von seinem übergeordneten export
Befehl.
Zusätzlich stellt er formatspezifische Exportoptionen für CityJSON bereit.
Globale Optionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Eine oder mehrere Argumentdateien mit Optionen. |
|
|
Hilfenachricht anzeigen und beenden. |
|
|
Versionsinformationen ausgeben und beenden. |
|
|
Konfiguration aus dieser Datei laden. |
|
|
Log-Level: |
|
|
Log-Nachrichten in diese Datei schreiben. |
|
|
Deaktiviert Log-Nachrichten auf der Konsole. |
|
|
Datei mit der Prozess-ID erstellen. |
|
|
Plugins aus diesem Verzeichnis laden. |
|
|
Plugins mit passendem vollqualifiziertem Klassennamen aktivieren oder deaktivieren. |
|
Weitere Informationen zu den globalen Optionen und Nutzungshinweise siehe hier.
Allgemeine Exportoptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Name der Ausgabedatei. |
|
|
Kodierung, die für die Ausgabedatei verwendet wird. |
|
|
Bei Fehlern sofort beenden. |
|
|
Temporäre Dateien in diesem Verzeichnis speichern. |
|
|
Anzahl der Threads für die parallele Verarbeitung. |
|
|
SRID oder Identifier des CRS, das für die Koordinaten von Geometrien verwendet wird. |
VCDB CRS |
|
Name des CRS, der in der Ausgabedatei verwendet werden soll. |
|
|
Koordinaten mit einer 3x4-Matrix im Row-Major-Format transformieren. |
Weitere Informationen zu den allgemeinen Exportoptionen und Nutzungshinweise siehe hier.
CityJSON-Exportoptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
CityJSON-Version: |
|
|
Ausgabe als CityJSON Text Sequence im JSON Lines Format. Diese Option erfordert CityJSON 1.1 oder höher. |
|
|
Ausgabedatei formatieren und einrücken. |
|
|
Gibt JSON aus, das sicher in HTML eingebettet werden kann. |
|
|
Anzahl der Nachkommastellen für Geometriekoordinaten. |
3 |
|
Anzahl der Nachkommastellen für Template-Koordinaten. |
3 |
|
Anzahl der Nachkommastellen für Texturkoordinaten. |
7 |
|
Umwandlung von Koordinaten in Ganzzahlen beim Export nach CityJSON 1.0. |
|
|
Ersetzt Template-Geometrien durch Realwelt-Koordinaten. |
|
|
Verwendung von CityGML-Standardwerten für Materialeigenschaften. |
|
Upgrade-Optionen für CityGML 2.0 und 1.0
Option | Beschreibung | Standardwert |
---|---|---|
|
Verwende LoD4 als LoD3 und ersetze bestehende LoD3 Geometrien. |
Abfrage- und Filteroptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Namen der zu verarbeitenden Features. |
|
|
Filter zum Abrufen von Features. Verwenden Sie die erweiterte CQL2-Filtersprache der VCDB. |
|
|
SRID oder Identifier des CRS, das für Geometrien im Filterausdruck verwendet wird. |
VCDB CRS |
|
SQL-Query, die als Filter verwendet wird. |
|
|
Eigenschaften und Sortierreihenfolgen zur Sortierung der Features. |
|
|
Maximale Anzahl der zu verarbeitenden Features. |
|
|
Index innerhalb der Eingabemenge, ab dem Features verarbeitet werden. |
|
|
Exportiere Geometrien mit passendem LoD. |
|
|
LoD-Filtermodus: |
|
|
Anzahl der Ebenen von Subfeatures, die nach passenden LoDs durchsucht werden. |
0 |
|
Appearances nicht verarbeiten. |
|
|
Appearances mit passendem Theme verarbeiten. Verwenden Sie |
Weitere Informationen zu den Abfrage- und Filteroptionen und Nutzungshinweise siehe hier.
Zeitbasierte Objekt-Historie-Optionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Verarbeitung von Feature basierend auf ihrer Gültigkeit: |
|
|
Gültigkeit zu einem bestimmten Zeitpunkt prüfen. Das Zeitformat muss |
|
|
Referenz für die Gültigkeitszeit: |
|
|
Unvollständige Gültigkeitsintervalle von Features ignorieren. |
Weitere Informationen zu den zeitbasierten Objekt-Historie-Optionen und Nutzungshinweise siehe hier.
Kachelungsoptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Exportiere Kacheln in einem Spalten x Zeilen Raster. |
|
|
Exportiere Kacheln mit angegebener Breite und Höhe, ausgerichtet am Raster des Datenbank-CRS (die Längeneinheit des CRS wird als Standard angenommen). |
|
|
Ausdehnung, die für die Kachelung verwendet wird. |
automatisch berechnet |
|
Ursprung der Kachel-Indizes: |
|
Weitere Informationen zu den Kachelungsoptionen und Nutzungshinweise siehe hier.
Datenbank-Verbindungsoptionen
Option | Beschreibung | Standardwert |
---|---|---|
|
Hostname des VCDB Datenbankservers. |
|
|
Port des VCDB Datenbankservers. |
5432 |
|
Name der VCDB-Instanz, zu eine Verbindung hergestellt werden soll. |
|
|
Schema, das beim Verbinden zur VCDB verwendet werden soll. |
|
|
Benutzername für die Verbidung zur VCDB. |
|
|
Passwort für die Verbidung zur VCDB. Leer lassen, um zur Eingabe aufgefordert zu werden. |
|
|
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 cityjson ), finden Sie in der Dokumentation zum export Befehl hier.
|
Angabe der CityJSON-Version
Der export cityjson
Befehl unterstützt die CityJSON-Versionen 2.0, 1.1 und 1.0 als Ausgabeformate. Verwenden Sie die
Option --cityjson-version
, um eine bestimmte Version für den Export auszuwählen (Standard: 2.0
).
Streaming-Exporte
Beim Export nach CityJSON 2.0 und 1.1 ist das Standardausgabeformat
CityJSON Text Sequence (CityJSONSeq), mit dem das Streaming auch sehr
großer Exporte effizient unterstützt wird. Die Features werden dabei chunk-weise als einzelne CityJSONFeature
Objekte exportiert, wobei jedes
Objekt in einer eigenen Zeile in die Ausgabedatei geschrieben wird. Dieser Streaming-Ansatz verbessert die Effizienz für die Speicherung,
reduziert den Speicherbedarf und ermöglicht den direkten Zugriff auf die CityJSON-Objekte während des Streamings.
Wenn das zeilenbasierte CityJSONSeq-Format nicht gewünscht wird, kann das Streaming mit der Option
--no-json-lines
deaktiviert werden.
CityJSON 1.0 unterstützt weder das CityJSONSeq Format noch generell das Streaming der Daten. |
Ohne Streaming muss der gesamte Export vor dem Schreiben in die Ausgabedatei in den Hauptspeicher geladen werden. Bei großen Exporten kann dies schnell die Speichergrenzen des Systems überschreiten und damit zu Fehlern führen. Für solche Fällen sollten daher Filter oder gekachelte Exporte verwendet werden, um die Exportgröße zu reduzieren. |
Upgrade von CityGML 2.0 und 1.0
CityJSON unterstützt keine LoD4-Repräsentation von Features, wie sie in CityGML 2.0 und 1.0 definiert sind. Wenn daher
CityGML 2.0 oder 1.0 Daten mit LoD4-Geometrien in die VCDB v5
importiert wurden, werden diese Geometrien beim Export
zu CityJSON standardmäßig nicht ausgegeben.
Um dieses Verhalten zu ändern, können LoD4-Geometrien mit der Option --use-lod4-as-lod3
während des Exports nach LoD3
konvertiert werden. Dabei werden jedoch gegebenenfalls vorhandene LoD3-Repräsentationen der Features überschrieben.
Transformation von Koordinaten
In CityJSON-Dateien können Koordinatenwerte von Geometrien als Ganzzahlen repräsentiert werden (Quantisierung), um die Dateigröße zu reduzieren.
Um die Ganzzahlen wieder in die ursprünglichen Koordinatenwerte überführen zu können, werden der angewandte Skalierungs-
und Translationsfaktor zur Ableitung der Ganzzahlen als "transform"
Attribut in der Datei mitgespeichert.
Die Speicherung von Koordinatenwerten als Ganzzahlen ist für CityJSON 2.0 und 1.1 verpflichtend, für CityJSON 1.0
jedoch optional. Standardmäßig nutzt der export cityjson
Befehl die Quantisierung auch für CityJSON 1.0, sie kann in diesem
Fall aber mit der Option --no-transform-coordinates
deaktiviert werden.
Ersetzung von Template-Geometrien
CityJSON unterstützt das CityGML-Konzept impliziter Geometrien, bei dem Template-Geometrien (Vorlagen) einmal gespeichert und von mehreren Features wiederverwendet werden können. Diese Template-Geometrien verwenden lokale Koordinaten. Jedes Feature, das ein solches Template nutzt, muss daher zusätzlich einen Referenzpunkt und eine Transformationsmatrix angeben, um die lokalen Koordinaten in Realwelt-Koordinaten zu überführen und das Template so feature-spezifisch im Stadtmodell zu platzieren.
Wenn die Ziel-Software, mit der der CityJSON-Export verarbeitet werden soll, keine Template-Geometrien unterstützt,
kann die Option --replace-templates
verwendet werden, um das Template bereits während des Exports durch Realwelt-Koordinaten
zu ersetzen.
Das Ersetzen von Templates erhöht die Dateigröße und beseitigt die Vorteile ihrer Wiederverwendung. |
Unterdrückung von Material-Standardwerten
Standardmäßig fügt vcdb-tool Standardwerte für Materialeigenschaften wie "diffuseColor"
, "emissiveColor"
und
"ambientIntensity"
in die Ausgabedatei ein, wenn keine spezifische Werte in der Datenbank vorhanden sind.
Diese Standardwerte sind im CityGML Appearance Modell definiert und helfen,
Probleme mit Zielsystemen zu vermeiden, die diese Standardwerte nicht schon automatisch ergänzen.
Mit der Option --no-material-defaults
kann dieses Verhalten unterdrückt werden. Dadurch werden die Standardwerte
nicht mit in die Ausgabedateo geschrieben, was auch ihre Dateigröße reduziert.
Formatierung der Ausgabe
Der export cityjson
Befehl bietet mehrere Optionen zur Formatierung der CityJSON-Datei:
-
--vertex-precision
: Legt fest, wie viele Nachkommastellen für Geometriekoordinaten gespeichert werden. Die Koordinatenwerte werden auf die angegebene Anzahl von Nachkommastellen gerundet (Standard:3
). Diese Option bietet eine Balance zwischen Datengenauigkeit und Dateigröße. Mehr Nachkommastellen erhöhen die Präzision, können aber zu einer größeren Datei führen. -
--template-precision
: Wie--vertex-precision
, betrifft aber die Anzahl der Nachkommastellen für Template-Geometrien (Standard:3
). -
--texture-vertex-precision
: Wie--vertex-precision
, betrifft die Anzahl der Nachkommastellen für Texturkoordinaten (Standard:7
). -
--pretty-print
: Verbessert die Lesbarkeit der Hierarchie und Verschachtelung von JSON-Elementen durch Hinzufügung von Einrückungen und Zeilenumbrüchen, erhöht jedoch auch die Dateigröße. -
--html-safe
: Maskiert Sonderzeichen in der CityJSON-Ausgabedatei, um die JSON-Inhalte sicher in HTML einbetten zu können.
Die Option --pretty-print kann nicht mit Streaming-Exporten verwendet werden, da diese zeilenbasiertes JSON ausgeben.
|