Wie platziere ich ein Modell mittels metadata.json?

Mit der Metadata-Datei kann die Platzierung, sowie Achseninterpretation eines Modells definiert werden.

LUUCY bildet den ganzen Globus ab. Damit die importierten Modelle an der korrekten Stelle platziert werden, muss eine der folgenden Bedingungen erfüllt sein:

  • Das Modell ist korrekt georeferenziert, alle Geometrien haben gültige Koordinaten.
  • Das Modell ist in einem eigenen lokalen Referenzsystem platziert, die Verschiebung zur realen Position ist jedoch bekannt.

Projektreferenzpunkt oder metadata.json?

LUUCY bietet in den Projekteinstellungen an einen Projektreferenzpunkt zu setzen. Mit diesen Angaben werden alle in eine Variante hochgeladenen Modelle automatisch um den definierten Betrag verschoben. Wenn dein Modell nur verschoben werden muss, empfiehlt es sich, den Projektreferenzpunkt des Projekts zu definieren.

Die Metadaten-Datei bietet neben einer Verschiebung ebenfalls noch die Möglichkeit, Modelle zu skalieren oder die Achseninterpretation zu definieren (falls das Modell nach dem Import auf der Seite liegt).

Tipp: Wenn dein Modell nicht skaliert oder verschoben werden muss, sondern nur auf der Seite liegt, kannst du die Achseninterpretation auch direkt in den Dateinamen des ZIP-Archivs schreiben und kein metadata.json ins Archiv packen.

Hänge dazu die gewünschte Achseninterpretation vor die Dateierweiterung (getrennt durch Punkte) an.

Beispiel:

mein-modell.zip      mein-modell.xz-y.zip

Inhalt der metadata.json

Die Metadaten-Datei beinhaltet typischerweise folgende Felder:

{
"srs": "EPSG:2056",
"offset": [2686180.231, 1257650.078, 0.0],
"scale": 1,
"axes": "xyz"
}

Nur das Feld srs ist zwingend anzugeben, die restlichen Felder sind optional.

Die Struktur der Datei ist JavaScript Object Notation (JSON). Alle Zeilen beinhalten jeweils ein Key- und ein Value-Feld. Alle Key-Felder sowie diejenigen Value-Felder, welche Text beinhalten, müssen in Anführungszeichen gesetzt werden. Einzelne Zeilen sind mit einem Komma zu trennen. Bei der letzten Zeile darf kein Komma mehr benutzt werden. Der ganze Code-Block liegt innerhalb von geschweiften Klammern.

Eine Beispieldatei kann hier angeschaut werden: metadata.json

srs

Das Spacial Reference System gibt an, in welchem Koordinatensystem das Modell vorliegt und wie die Verschiebungswerte interpretiert werden müssen. Das SRS wird anhand des EPSG-Codes angegeben.


Mögliche Werte:

EPSG-Code Erklärung und Gebrauch
EPSG:2056 Schweizer Landeskoordinatensystem, LV95.
EPSG:4326 World Geodetic System, Weltkoordinatensystem, WGS84

offset

Das Feld offset bietet die Möglichkeit, Werte für die Verschiebung in den Achsen X, Y und Z anzugeben. Falls das SRS in EPSG:2056 angegeben wurde, ist die Einheit Meter. Nachkommastellen (im Fall von LV95 bis zu Millimeter) sind erlaubt.
Das Feld beinhaltet immer drei Werte innerhalb eckiger Klammern. Falls eine Achse nicht verschoben werden soll, ist dieser Wert mit 0.0 anzugeben.
Eine positive Verschiebung in der X-Achse schiebt das Modell nach Osten. Eine positive Verschiebung in der Y-Achse verschiebt das Modell gegen Norden. Die Z-Achse zeigt senkrecht vom Boden Richtung Himmel.
Beispiel:
"offset": [2686180.231, 1257650.078, 0.0]

In diesem Beispiel wird das Modell um 2'686'180.231 Meter in der X-Achse, und 1'257'650.078 Meter in der Y-Achse verschoben. Die Höhe wird nicht verändert, da der Wert 0.0 ist.

scale

Mit dem scale-Feld kann die Grösse des Modells mittels dem angegebenen Faktor verändert werden. Ein Wert von 1 verändert das Modell nicht. Ein Wert grösser als 1 vergrössert das Modell und ein Wert kleiner als 1 verkleinert es.

Falls das vorliegende Modell zum Beispiel mit Millimeter als Einheit exportiert wurde, kann ein scale-Wert von 0.001 benutzt werden.

Das Scaling wird vor dem offset ausgeführt.

axes

Mit dem Feld axes kann definiert werden, wie die drei Koordinatenfelder innerhalb einer 3D-Datei interpretiert werden sollen. Je nach Dateiformat ist die Vorwärts- bzw. Hochachse verschieden.

In LUUCY werden die Achsen wie folgt interpretiert:

X Richtung Norden
Y Richtung Osten
Z Richtung Himmel, senkrecht vom Boden


Falls dein Modell eine andere Achseninterpretation benutzt, kann dies mit dem Feld axes beim Import gesteuert werden.

Dabei wird die Reihenfolge der Achsen als Text definiert.


Beispiele:
xyz      die erste Koordinate im Modell wird in LUUCY als X-Achse, die zweite als Y-Achse und die dritte als Z-Achse interpretiert.
xz-y      die erste Koordinate im Modell wird in LUUCY als X-Achse, die zweite als Z-Achse und die dritte als Y-Achse interpretiert. Dabei werden die Werte der Y-Achse mit -1 multipliziert.
Liegt das Modell nach dem Import auf der Seite, versuche den Wert xz-y im Feld axes.
Die Achseninterpretation wird vor dem offset ausgeführt.

Anwendung 

Die Datei metadata.json wird zusammen mit dem Modell und allen zum Modell gehörenden Dateien in ein ZIP-Archiv gepackt und in LUUCY hochgeladen. Der Dateinamen der Metadaten-Datei darf nicht abgeändert werden. Pro ZIP-Archiv sind mehrere verschiedene Modelle erlaubt, jedoch nur eine Metadaten-Datei. Die Eigenschaften innerhalb der Metadaten-Datei werden immer auf alle im ZIP-Archiv enthaltenen Modelle angewendet.

 

Gibt es etwas, das wir ändern könnten, um diesen Artikel hilfreicher zu machen?