Relief des Yellowstone Nationalpark aus USGS NED-Daten

Ziel ist ein Relief des Yellowstone Nationalparks, welches auf unserem 3D-Drucker ausgedruckt, und anschliessend dem Grossen Napa übergeben werden kann.

Erster Anlauf

DEM im ESRI Arc/Info Binary Grid Format

Auf der offiziellen Seite des Wyoming State Geological Survey steht eine Vielzahl von GIS-Daten zum Download zur Verfügung. Darunter auch ein 10 m und 30 m DEM im ESRI Arc/Info Binary Grid Format, welches aus USGS NED-Teilstücken zusammengesetzt und anhand der Parkgrenzen (ebenfalls einzeln als Shapefile erhältlich) ausgeschnitten wurden.

DEM 10m
Parkgrenze
Beide Bilder Quelle: Wyoming State Geological Survey

Das DEM entpuppt sich als Hillshade

Bei den Daten im vorhandenen Arc/Info Binary Grid handelt es sich allerdings leider nicht wie angegeben, und auf dem Quicklook oben links sichtbar, um ein normales DEM, sondern um ein davon abgeleitetes hillshade. Im Unterschied zum DEM sind im hillshade die Höheninformationen als Reliefschattierungen abgebildet. Bei einem DEM im Raster-Format sind die Daten hingegen nach dem Höhenwert abgestuft.

Beispiel: DEM als Bitmap, Farben zeigen die Höhenstufen

Möchte man diese Daten trotzdem mit QGIS öffnen, benötigt man Informationen zum dabei verwendeten, proprietären „Arc/Info Binary Grid Format“. Diese findet man etwa in der ESRI ArcGIS Hilfe, ESRI Knowledge Base, oder im Post „ESRI rasters in GRASS or QGIS“ aus dem Blog von Ecostudies. Den entscheidenden Hinweis auf das Plugin GdalTools zu QGIS liefern die Quantum GIS (QGIS) Tutorials. Bei uns war das Plugin zwar bereits nach der Installation von QGIS vorhanden, allerdings nicht aktiviert. Dies kann man im Menü von QGIS unter [Erweiterungen].[Erweiterungen verwalten…] tun. Falls das Plugin GdalTools nicht vorhanden ist, kann es gemäss Anleitung in den QGIS Tutorials installiert werden.

Aktivieren der GdalTools im QGIS-Erweiterungsmanager

Geöffnet wird das Arc/Info Binary Grid Format durch Hinzufügen eines Raster-Layers mit der Datei w001001.adf aus dem Unterverzeichnis hillshade10, bzw. hillshade30.

Yellowstone hillshade in QGIS geöffnet

Zurück zum Start

Quelldaten direkt vom Server des USGS herunterladen

Da uns dies für unser Vorhaben, ein 3D-druckbares Relief zu erstellen, nicht viel bringt, laden wir die Quelldaten direkt vom Server des USGS herunter und stellen selber das Mosaik zusammen. Entweder können die Daten vom NED Download Tool bei USGS heruntergeladen, oder aber als WMS (Web Map Service) z.B. direkt in QGIS eingebunden werden. Die Adressen zu den WMSs von USGS finden sich auf der Webseite von ned.usgs.gov. Wir entscheiden uns für den Download, damit wir die Daten auch bearbeiten können.

Die dazu benötigten Bounding Koordinaten des Yellowstone Nationalparks lesen wir aus den Metadaten zur Parkgrenze:

West_Bounding_Coordinate: -111.155986  
East_Bounding_Coordinate: -109.824180  
North_Bounding_Coordinate: 45.108957  
South_Bounding_Coordinate: 44.132447

Die Werte beim NED Download Tool eingegeben, erhält man eine Liste von 6 Teilstücke, welche heruntergeladen werden müssen, um den gesamten Bereich abzudecken. Die Aufstellung zeigt auch gleich, für welches Gebiet welche Auflösung an Daten vorhanden ist. Für den Yellowstone sind dies 10m und 30m DEM.

6 Teilstücke in QGIS geöffnet

Lädt man alle 6 Teilstücke des 30m DEM-Formats in QGIS sieht das ungefähr so aus:

Projekteinstellungen

Damit die Parkgrenzen (Shape-Datei, Vektor) danach genau über die DEMs zu liegen kommt, und von den Dimensionen her passt, muss man unbedingt die Einstellungen des Projekts in QGIS setzen. Man macht dies z.B. über das Menü [Einstellungen].[Projekteinstellungen…] Koordinatenbezugssystem (KBS). Dort ist sowohl für das Projekt ein KBS zu wählen, wie auch On-The-Fly-KBS-Transformation aktivieren einzuschalten.

Danach sind die Parkgrenzen wie von Geisterhand am richtigen Ort und in der richtigen Grösse im Verhältnis zu den Rasterdaten.

Raster Verschmelzen mit gdal_merge

Um die DEMs mit der Parkgrenze verschneiden zu können, müssen sie alle auf einem Layer liegen. Das erreicht man durch vorgängiges Zusammenfügen (gdal_merge) der 6 Teilstücke. Gemacht wird dies, indem man erst die Daten sämtlicher Teilstücke in ein Verzeichnis kopiert, und dann im Menü [Raster].[Sonstiges].[Verschmelzen] auswählt.

Als Eingabedateien wählt man die 6 .flt-Dateien aus

Das Ausgabeformat kann beliebig gewählt werden, es ist eher abhängig davon, ob und wie man die Daten danach noch weiter verarbeiten möchte. Wir entscheiden uns für GeoTIFF. Die Datenmenge des zusammengefügten Datensatzes kann allerdings je nach Format ziemlich gross werden!

Schneiden entlang der Parkgrenzen mit dem Raster Clipper

Da wir jetzt ein zusammenhängendes GeoTIFF DEM des gesamten Yellowstone Nationalpark besitzen, können wir dieses mit den Parkgrenzen verschneiden. Am besten geht das in QGIS mittels [Raster].[Extraktion].[Clipper].

Als Ausgabeformat wählen wir GeoTIFF, da dieses Format in QGIS Clipper am besten funktioniert. Wichtig ist, einen Ohne-Wert zu definieren, und als Maskenlayer (die Parkgrenzen) auszuwählen.

Geclipptes Yellowstone DEM30m in QGIS geöffnet

Exportieren als USGS ASCII DEM

Danach haben wir das GeoTIFF DEM in 3DEM geladen, und die Daten anschliessend mit [File].[SAVE USGS ASCII] als USGS ASCII DEM exportiert.

DEM in AccuTrans 3D importieren

Das USGS ASCII DEM aus 3DEM konnten wir dann in AccuTrans 3D laden.

Konertieren von 2D nach 3D

In AccuTrans 3D haben wir die Daten aus dem USGS ASCII DEM mit [Dem].[Convert to 3D (less water)] in ein 3D-Modell umgewandelt. Dabei die Einstellung „Control Face Creation“ beachten, damit nur die Fläche verwendet wird, welche auch wirklich der Grenze entspricht, und die nodata-Bereiche abgeschnitten werden.

Extrude über Umwege

Aus Speichergründen wählen wir den Umweg, diese 3D-Oberfläche nun als DXF abzuspeichern [File].[Save With Options…], und dann das DXF alleine in AccuTrans 3D zu öffnen, um mit der Funktion [Tools].[Extrude Pseudo 2D Surface] ein Relief erstellen zu können.

Modell mit Adjust Object anpassen

Wir passen das Modell mittels Adjust Object nun noch etwas an.
– Wir überhöhen das Modell um 100 %.
– Verkleinern es so, dass es in Länge oder Breite nicht grösser als 20cm ist.
– Verwenden Snap to Ground, Rotation um 90° um die X-Achse, und Set Min at 0.0.0 zur gewünschten Positionierung und Ausrichtung

Save With Options nach STL

Danach Exportieren wir das Modell aus AccuTrans 3D als STL (Stereo Lithographie (Binary)) mittels Save With Options…. Mit welchen Dimensionen und Zentrum das Modell schlussendlich gespeichert wird, sieht man unten rechts im Bereich Scaled Object. Damit da beim Zentrum 0,0,0 steht, drücken wir unter Center Point nochmals den Knopf Center XYZ und beachten, dass Adjust angewählt ist. Nun sollte unten die Grösse und das Zentrum des Modells stimmen. Falls nicht automatisch aktualisiert wird, kann Update gedrückt werden.

Öffnen und Slicen der STL-Modelldatei in KISSlicer

Nun ist das Modell im bfb-Format bereit zum Testdruck. Erwartete Druckzeit 4h 26min. Wenns schneller gehen soll, kann das Modell vor dem Slicen nochmal verkleinert werden. Foto des fertigen Drucks hoffentlich demnächst in diesem Blog. Mal sehen, ob und wie wir eine solch grosse Grundfläche drucken können.

PS: In wiefern ein solches Modell zum Drucken wegen seiner Grösse, und damit der geringen Ausdehnung auf der Z-Achse überhaupt Sinn macht, bleibt noch dahingestellt. Es ist wohl eher ratsam, Modelle einzelner Objekte zu erstellen.

Daten: NED USGS und Wyoming State Geological Survey (WSGS)