Relief von Liechtenstein aus swissALTI3D-Daten

Relief von Liechtenstein aus swissALTI3D-Daten


Durch einen Auftrag der Firma coobx AG aus Liechtenstein, erhielten wir Zugang zu den Swisstopo swissALTI3D xyz Daten 5m Auflösung aller Gemeinden in Liechtenstein. Wir sollten daraus ein Relief der Grösse 2000 x 1000 x = erstellen. Hier beschreiben wir unser Vorgehen und die Erfahrungen, die wir dabei gemacht haben. Der Preis der Daten variert je nach gewünschtem Perimeter und der Verwendung.

1) QGIS – Daten öffnen und konvertieren

  • Daten im Format xyz space delimited als neuen Rasterlayer importiert KBS: CH1903
Screenshot aus QGIS mit importierten swissALTI3D Daten von Liechtenstein
Erster Blick auf die Daten
Screenshot der Koordinatenbezugssystem-Auswahl in QGIS
Definition von CH1903 / LV03 in QGIS
  • Daten sind bereits auf die Fläche von Liechtenstein geschnitten
  • Konvertiert und exportiert in GeoTIFF

2) 3DEM – Qualität und konvertieren

  • Importieren des GeoTIFF wirft Fehlermeldung
Screenshot der Fehlermeldung
Das GeoTIFF aus QGIS lässt sich in 3DEM nicht importieren
  • Im Beipackzettel von SwissTopo nachgeschaut
    <terrainSpatialReference name=“CH1903_LV03″/>
    <terrain_linear_unit name=“Meter“/>
    <extentAsString name=“754326.81375 212825.365 766877.4175 237729.58625″/>
    <output_raster_format name=“Xyz space delimited“/>
    <cellsize name=“5″/>
    <interpolation_method name=“Linear“/>
    <exportedRasterStatistics number=“1″ size=“316.4362″/>

Diese Werte beim Import als Eckkoordinaten angegeben.

Screenshot von der Eingabemaske der Parameter für den Import im Matrix Data Format in 3DEM
(Zu)viele Parameter müssen beim Import im Matrix Data Format angegeben werden
Screenshot der swissALTI3D Daten von Liechtenstein in 3DEM
Geschafft, die Daten sind in 3DEM drin
  • Missing Data gefüllt
Screenshot mit Meldung
Typischerweise fehlen einige Werte
Screenshot vom Dialog zur Wahl der UTM Zone beim Export der Daten als im DEM Format aus 3DEM
Nord oder Süd war nicht schwierig

3) AccuTrans 3D – Relief erstellen- Daten können als DEM nicht fehlerfrei importiert werden

Screenshot der importierten DEM Daten in AccuTrans 3D, etwas stimmt mit der Darstellung nicht
Hm, wir kennen Liechtenstein nicht so gut, aber das sieht schon komisch aus ...
  • Via „Terrain Matrix Export“ von 3DEM über „ASCII to DEM“ nach AccuTrans3D. Beim Import benötigen wir die Information über 5×5 m Auflösung, und die Anzahl Spalten und Zeilen (2511 cols, 4981 rows).
Screenshot des Dialogs ASCII File to TEM aus AccuTrans 3D
Wieder ein Dialog mit Feldern die gefüllt werden wollen
Screenshot der via ASCII File to DEM importierten Höhendaten von Liechtenstein aus AccuTrans 3D
Das sieht doch schon viel besser aus!
  • Umwandlung 2D -> 3D mit voller Auflösung, Werte unter 0 abgeschnitten. Benötigt 6 GB RAM und ein paar Minuten Rechenzeit auf meinem Notebook. Drehen der Ansicht von da an nur noch mit massiven Verzögerungen möglich.
Screenshot nach der Umwandlung der Höhendaten von Liechtensteinvon 2D nach 3D in AccuTrans 3D
Das lange Warten wurde schliesslich belohnt
  • Verifizieren der Daten: Sehr genau, der höchste Punkt Liechtensteins liegt laut Wikipedia auf 2599müM, unsere Daten zeigen ein Z-Maximum von 2600.33 m.

  • Extrude mit flachem Boden auf nächste Ganzzahl gerundet, damit der Boden auch wirklich flach gemacht wird. Benötigt 12 GB RAM, mehr steht nicht zur Verfügung.

  • Drehen 90° um X und MIN X,Y,Z auf 0 setzen, auf 2000 mm NS skalieren

  • Export als STL Binary in voller Auflösung, 79.8 Mio Vertices. Gewaltig, welche Details dabei erkennbar bleiben. Dateigrösse 1.23 GB.

Screenshot eines vergrösserten Ausschnitts der swissALTI3D Daten von Liechtenstein aus AccuTrans 3D
Sogar geomorphologische Formationen lassen sich erkennen

4) Netfabb Studio – Relief in druckbare Teile schneiden

  • Beim Versuch zu importieren bekommen wir eine Fehlermeldung, dass zuwenig Speicher zur Verfügung steht.

  • Weitere Versuche mit verkleinerter Datenmenge scheitern ebenfalls entweder am Import, oder dann beim Schneiden.

Screenshot der Fehlermeldung
Game over

Also zurück zu (Feld) 1:

1) QGIS – Quelldaten in Teile schneiden

  • Datensatz mit Hilfe des Taschenrechners der Länge nach in 10 Teile schneiden. Da die Stücke quadratisch sein sollen, ergibt sich die Unterteilung in der Breite von selber.

  • Aus den Metadaten lesen wir die Ausdehnung der Daten aus (754326.81375 212825.365 766877.4175 237729.58625). Daraus berechnen wir, wie gross jedes Teil sein soll, und welche Eckkoordinaten sich daraus zum Schneiden in QGIS ergeben. Die selben Informationen benötigen wir dann auch wieder, wenn wir die Daten in 3DEM öffnen wollen. Jedes Teil soll 2490.422125 lang und breit werden, und aus 498.1 Zellen (9x 498, und ein Stück 499 Zellen) bestehen.

  • Das erste Teilstück unten links hat also die Ausdehnung:
    01: 754326.81375 212825.365 756817.235875 215315.787125, welche wir so aus den Daten ausschneiden und als GeoTIFF 01 speichern.

Screenshot vom Kacheln schneiden aus den swissALTI3D Daten von Liechtenstein in QGIS
Man schneide zuerst in (mund)gerechte Stücke

2) 3DEM

  • GeoTIFF Teilstück 01 zu DEM
Screenshot des ersten Teilstücks von Liechtenstein geöffnet in 3DEM
Das erste Teilstück ist bereit für die Weiterverarbeitung
  • Export mit UTM Zone 32 Nord

3) AccuTrans3D

  • Beim Umwandeln in AccuTrans3D von 2D in 3D schneiden wir weg, was unterhalb der Minimalhöhe von 426müM liegt.
Screenshot des ersten Teilstücks von Liechtenstein in AccuTrans 3D geöffnet
Auch der Import nach AccuTrans 3D verläuft problemlos
Screenshot nach der Umwandlung von 2D nach 3D des ersten Teilstücks in AccuTrans 3D
Von 2D nach 3D und dabei schnell ausgeschnitten
  • Extrude mit Thickness 1 und flachem Boden.
Screenshot von der Relieferstellung des ersten Teilstücks von Liechtenstein in AccuTrans 3D
Extrude erstellt aus der 3D-Oberfläche ein Blockrelief
  • Verkleinern auf maximal 200 x 200 x 200 mm. Ergibt abgerundet einen Skalierungsfaktor von 0.08

  • Export als STL Binary

4) Cura – Verifizieren des Teils

Screenshot des ersten Teilstücks von Liechtenstein in Cura
Das erste Teilstück findet gut Platz auf dem virtuellen Drucktisch des Ultimaker 2 in Cura

Analog zum Teilstück 01 entstehen nun die weiteren Teile des Reliefs. Wir schreiben uns dabei alle Eckkoordinaten sauber auf, damit wir nichts durcheinander bringen, wenn wir unsere Arbeit mal unterbrechen müssen.

Wir bemerken während der Verarbeitung von Teil 13, dass die minimale Höhe dieses Teilstücks lediglich 651müM beträgt, und wir somit das Teil zuwenig hoch produzieren, wenn wir nicht entsprechend zur Differenz, mit Berücksichtigung des Massstabs, einen Sockel darunter generieren lassen. Die Teile davor hatten alle eine minimale Höhe von 425müM, was beim Blockrelief generieren die selbe Basis ergab.

Für Teile die eine minimale Höhe unterschiedlich zu 425müM haben, müssen wir errechnen, welche Höhe der darunter generierte Sockel haben muss, damit die Einzelteile zusammen passen. In unserem Post zur Auftrennung des Yellowstone-Reliefs haben wir die Methode beschrieben, jedem Stück beim Extrude den Sockel seines min. Z zu geben. Wir wandeln das leicht ab, und geben jedem Stück einen Sockel runter bis zu 425müM.

Einige Zeit später entdecken wir, dass einige Teile so leider sehr flach werden. Wir erstellen in AccuTrans3D einen weiteren Satz STL-Dateien. Die Basis dieser Teile legen wir bei 200müM fest, um die flachen Teile so dicker, und damit besser druckbar zu machen. Wir schneiden die Daten neu erst bei 425.5müM, da es beim letzten Teil im Norden im Bereich des Rheins Löcher gab beim Schneiden auf 426müM.

Das Resultat sieht sehr gut aus, nun müssten wir es nur noch drucken 😉 Wer Drucken möchte, kann sich die 41 Teile des Designs von Liechtenstein herunterladen. Hier einige Screenshots von Teilstücken aus Cura:

Screenshot eines der grössten Teile von Liechtenstein in Cura
Nur schon das Slicen dauert eine gefühlte Ewigkeit
Screenshot eines weiteren Teilstücks von Liechtenstein in Cura
Man sieht gut, wie sich die Flüsse in ihre eigenen Deltas schneiden
Screenshot eines Teilstücks von Liechtenstein mit interessanten Felsformationen in Cura
Schöne Hochebenen mit einem Pass als Verbindung
Screenshot eines Teilstücks von Liechtenstein mit viel sichtbarer Erosion in Cura
Hier herrscht Erosion pur
Und noch ein Screenshot eines Teilstücks des Reliefs von Liechtenstein in Cura geöffnet
Das waren jetzt etwas viele ähnliche Bilder, nicht?
Screenshot aus Cura mit einem Teilstück des Reliefs von Liechtenstein mit dem Rhein auf der linken Seite
In der Nähe des Rheins ist es zum Glück flacher, da dauert das Drucken nicht so lange

Weitere Ideen, welche wir ausprobiert haben, die sich aber nicht durchsetzen konnten:

  • RAM im Notebook auf 32 GB aufrüsten
Foto von 4x 8GB RAM welche wir in das Notebook stecken wollen
Darf’s etwas mehr sein?
Screenshot von den Computerinformationen des Notebooks wo 32GB RAM als erkannt angezeigt werden
Windows 7 erkennt sogar mehr RAM als es selber braucht
Screenshot aus OpenSCAD beim Versuch das Relief von Liechtenstein in Einzelteile zu schneiden
Die Opensource Lösung hat leider zuwenig Performance
  • Meshmixer Plane Cut, allerdings sieht man da nicht an welcher Stelle geschnitten wird.
Gregor Luetolf

Über Gregor Luetolf

Kommentare