QGIS-Tutorial: Höhenrelief aus ASTER-Daten selbst erstellen

In diesem Tutorial erstellen wir in QGIS aus ASTER-Daten ein Höhenrelief, das du bei deiner Kartierung als eigenen topographischen Hintergrund verwenden kannst. ASTER-Daten sind umgewandelte, frei verfügbare Satellitendaten, die man einfach herunterladen kann. Das Höhenrelief speichern wir als Polygon-Vektordatensatz in einer Shapefile (.shp), die man mit QGIS oder auch ArcGIS öffnen und weiterverwenden kann. Im Gegensatz zu einem per Plugin in QGIS geladenem Kartenhintergrund haben wir damit die volle Kontrolle über das Aussehen des Reliefs. Am Ende fügen wir noch eine Schummerung hinzu, damit die Topographie wie ein digitales Geländemodellmehr zu DGM) und somit plastischer wirkt. 

Fun with (creating) Maps
Fun with (creating) Maps

Notwendig ist dafür nur die kostenlose GIS-Software QGIS, sie enthält alle Tools zur Anfertigung des Reliefs. Grundkenntnisse in QGIS wären von Vorteil. Desweiteren brauchst du natürlich Internetzugang – den du vermutlich hast, wenn du diese Seite liest :D

Alternative Optionen zur Kartenerstellung

Vorweg schicke ich, dass nicht für jeden einfachen Zweck eigene Höhenreliefs notwendig sind. Für manche Karten kann man auf bestehende Alternativen zurückgreifen. Ohne weitere Programme könnte man zB. Google Maps/Google Earth nutzen, Punkte und Linien hinzufügen und dann als eigene Karte speichern oder sogar mit allen Funktionalitäten auf der eigenen Webseite einbetten. Wen dann allerdings die hier bereits zwangsläufig enthaltenden Informationen wie Städte, Straßen usw. stören, weil er eine Karte mit historischen Daten anfertigen will, der muss sich was anderes überlegen.

Eine einfache und gute Möglichkeit bietet die Webseite maps-for-free.com, hier bekommt man einen kostenlosen Reliefhintergrund, den man sogar kommerziell nutzen darf. Man kann den jeweiligen Kartenausschnitt einfach als Bilddatei (.png) runterladen und in einem Programm wie Photoshop/Gimp mit weiteren Informationen versehen.

Offenbar kann man die Daten auch als Layer in Google Maps einbinden, das hab ich aber nie probiert. Wer so weit ist, dass er eigene Karten erstellt, der möchte vielleicht auch gern volle Kontrolle über alle Farben und Farbabstufungen erhalten, und das geht nur, wenn man den Kartenhintergrund, also das Höhenrelief, selbst anfertigt.

Fertiges topografisches Höhenrelief
Das könnte am Ende dann zB. so aussehen (Gewässer muss man dann ebenfalls per Hand erst anfertigen!)

Grundlegende Vorgehensweise

Wir wandeln frei verfügbare ASTER-Daten (Advanced Spaceborne Thermal Emission and Reflection Radiometer) – vereinfacht ausgedrückt eine Satellitenkarte – , also ein Rasterbild, in Vektordaten um, damit wir diese in beliebiger Auflösung nutzen und frei einfärben können. Im letzten Schritt erstellen wir eine Schummerung, mit der die Berge besser als Höhen erkennbar sind.

Erklärung: Raster- und Vektordaten

Weil die Begriffe Raster- und Vektordaten hier oft verwendet werden, dazu noch eine kurze Erklärung. Es gibt hier kein besser oder schlechter, beide Formate haben ihre Daseinsberechtigung und ihren Einsatzzweck, denn beide haben ihre Vorteile und Limitierungen.

Rasterdaten

Rasterdaten sind statische Daten, wie zB. Fotos oder Screenshots. Die Formate .jpg und .png sind im Internet und bei Bildern sehr weit verbreitet, aber auch .gif, .tif und .bmp haben ihre Daseinsberechtigungen. Mit Rasterdaten wird die bunte Vielfalt des Lebens eingefangen und dargestellt. Jeder Pixel, also die kleinste dargestellte Einheit, enthält eine Farbinformation, und je mehr Pixel, also Farbinformationen, ein Bild hat, desto realistischer sieht es aus. Je nach Auflösung des Bildes kann man weit hineinzoomen, aber irgendwann ist die maximale Auflösung erreicht. Wenn man weiter als zu 100% Auflösung reinzoomt, sieht man nur noch einzelne quadratische Pixel.

Vektordaten

Vektordaten sind dagegen computerberechnete Daten. Formen werden aus Linien und Punkten zusammengesetzt, und jeder Punkt hat seine eigenen, festen Koordinaten im Bild. Man kann den Formen dann Farben oder Farbverläufe zuweisen und diese jederzeit auch wieder ändern, solange man das Bild nicht als Rasterbild exportiert. Ein sehr bekanntes Programm, das mit Vektordaten arbeitet, ist Adobe Illustrator – aber auch 3D-Programme wie Blender und Geoinformationssysteme (GIS; hier: weitere Erklärung zu Vektordaten) arbeiten grundlegend mit Vektordaten.

Beide Formate haben ihren Zweck!

Der große Vorteil der Arbeit mit Vektordaten im Vergleich zu Rasterdaten ist, dass dabei Auflösungen wegfallen. Es gibt keine 100%-Auflösung bei Vektordaten, da jeder Punkt bei jeder Zoomstufe genau auf seiner Koordinate sitzt. Egal, wie tief man in so ein Bild reinzoomt, die Formen bleiben klar.

Erst, wenn man das Bild für darstellerische Zwecke als Rasterdatei exportiert, um es zB. im Internet zu präsentieren, werden Koordinaten in Pixel umgewandelt und der Vorteil verschwindet. Man kann für den Export die Pixelauflösung des Bildes aber frei festlegen, und die Qualität wird immer gut sein.

Natürlich macht es umgekehrt überhaupt keinen Sinn, Fotos in Vektordaten zu speichern oder umwandeln zu wollen. Wie gesagt: Beide Formate haben ihren Einsatzzweck :D

Schritt 1: ASTER-Daten als GeoTIFF herunterladen

Um die Satellitendaten herunterzuladen, benötigen wir einen EarthData-Account. Nach der kostenlosen Registrierung auf der Website des U.S. Geological Survey (Login > Login with EarthData > Register) können wir uns dort einloggen und den herunterzuladenden Kartenausschnitt festlegen.

Auflösung der Karte: auf 90m genau (1 Pixel steht für 90m in der Realität).
Hinweis: Je kleiner der gewählte Ausschnitt, desto besser. Je größer, desto mehr Rechenleistung wird benötigt – nicht nur beim Umwandeln in Vektordaten, sondern auch beim Handling der Karte danach. Macht also keinen Sinn, mal einfach so die gesamte Welt herunterzuladen. Nur den Ausschnitt, der wirklich benötigt wird!

Den Ausschnitt legen wir einfach über das Rechteck-Werkzeug in der Leiste über der Kartenansicht fest (siehe Screenshot).

relief01
Benutzeroberfläche der GDEX-Webseite, von der wir die ASTER-Daten herunterladen

Danach laden wir die Daten per Klick auf den Download-Button rechts davon (mit dem grünen Pfeil) herunter.

Es öffnet sich ein Fenster, in dem wir die voreingestellten Werte einfach so lassen wie sie sind (Product: ASTER Global DEM V2, Format: GeoTiff). Wir müssen beim Feld „Research Area“ noch eine Angabe machen und wählen einfach die am besten Passendste aus. Wir erhalten nun eine schwarz-weiß Rasterkarte.
Das Format als GeoTIFF hat den Vorteil, dass die Karte bereits fertig georeferenziert ist (Koordinatenbezugssystem WGS 84) und sich so völlig problemlos in GIS-Programmen verwenden lässt.

Schritt 2: Umwandlung der Rasterkarte in Linien-Vektordaten

Wir öffnen nun QGIS und ziehen die heruntergeladene GeoTIFF per Drag & Drop in das Ebenenfenster. Dadurch wird die Rasterkarte direkt im QGIS-Kartenfenster angezeigt.

GeoTIFF in QGIS
GeoTIFF in QGIS

Wenn wir nun noch eine GoogleMaps- oder Open Street Maps-Ansicht einblenden würden, könnten wir sehen, dass die schwarz-weiss-Karte genau richtig in der Karte positioniert wurde.

Nun kommt der eigentliche Trick mit der Umwandlung der Rasterdaten in Vektordaten, die wir dann beliebig weiterverwenden können. Dazu analysiert der Rechner die Rasterkarte und zeichnet anhand der enthaltenen schwarz-weiss-Informationen, die ja für reale Werte stehen, Höhenlinien als Vektorlinien ein. Diese Höhenlinien können wir schon verwenden und so lassen, aber wenn wir einen farbigen Kartenhintergrund, also eine physikalische Karte, erstellen wollen, müssen wir die Linien anschließend noch in Polygone umwandeln, die wir dann einfärben und aufeinander „stapeln“ können.

Durchführung

Beginnen wir mit der Umwandlung. Öffne das entsprechende Menü unter Raster > Extraktion > Kontur.. Es öffnet sich folgendes Fenster:

Kontur erstellen
Kontur erstellen
  1. Als Eingabedatei wählen wir die heruntergeladene Rasterkarte aus
  2. Unter Ausgabedatei wählen wir den Speicherordner aus und geben einen Namen für die zu erstellende Shape-Datei an. In dieser werden die Höhenlinien gespeichert
  3. Im Feld Intervall stellen wir ein, in welcher Höhenabstufung die Höhenlinien angefertigt werden sollen. Voreingestellt ist 10, dh. 10m, was für einen größeren Kartenausschnitt ein bisschen zu eng ist. Wir haben hier den Odenwald und das Rheintal, da würden 100m besser passen. Am Ende wird das Relief also für alle 100m Höhenabstufung eine andere Farbabstufung erhalten. Das kann natürlich jeder selbst entscheiden.
  4. Wir sollten dringend den Attributname aktivieren. Durch die Anfertigung einer Linien-Shapedatei wird eine Datentabelle angelegt, und mit diesem Attributnamen wird eine Spalte, deren Name wir hier angeben können, erstellt. In den Feldern dieser Spalte werden die Höhenlinien-Werte gespeichert, also für die Höhenlinie auf 100m Höhe der Wert 100. Das ist für später wichtig, wenn wir die Polygone entsprechend ihres Höhenwertes einfärben wollen.

Nun starten wir schließlich die Berechnung der Höhenlinien, die je nach Größe des Kartenausschnitts und Rechenleistung etwas dauern kann. Das Ergebnis der Berechnung sieht etwa so aus:

Lila Vektorlinien auf der Rasterkarte
Lila Vektorlinien auf der Rasterkarte (rechts die Datentabelle)

Es wurden einfarbige Höhenlinien erzeugt, die als Vektorlinien in einer Shapefile gespeichert wurden. In der geöffneten Tabelle sieht man die eingetragenen Höhendaten.

Schritt 3: Umwandlung der Linien in Polygone

Um ein farbiges Relief zu erstellen, benötigen wir jedoch Polygone: Vektor > Geometrie-Werkzeuge > Linien zu Polygonen.

Als Eingabelayer wählen wir die eben erzeugte Linien-Shapefile aus.

In der Zeile darunter wählen wir per Klick auf die drei Punkte die Option „In Datei speichern…“ aus und geben Pfad und Dateiname der neuen Polygon-Shapefile an.
Klick auf „Run“ startet die Umwandlung.

Nun haben wir statt Linien Polygone, also geschlossene Formen
Nun haben wir statt Linien Polygone, also geschlossene Formen

Schritt 4: Ergebnis anpassen und Farben hinzufügen

Das sichtbare Ergebnis ist allerdings noch weit von dem entfernt, was man als schöne physikalische Karte bezeichnen würde. Zunächst mal sind keine Höhen erkennbar, weil die höheren Lagen UNTER den niedrigeren Lagen liegen. Die Polygone haben keine unterschiedlichen Farben und außerdem ziehen sich teilweise Striche quer durch den Ausschnitt.

Die Striche kommen daher, dass Linien natürlich offene Enden haben, während Polygone geschlossene Formen sind. Es wurden einfach die Linienenden miteinander verbunden, so dass diese sich nun quer über die Karte ziehen können. Das muss man mit ein wenig Handarbeit einfach verbessern.

Unterschiedliche Farben per kategorisierten Stilen

Wir fangen damit an, die Polygone mit unterschiedlichen Farben einzufärben und die unterschiedlichen Höhenlagen getrennt anzeigen zu lassen. Das funktioniert per kategorisierten Layerstilen. Unter diesem Link habe ich das schon genauer erklärt, deswegen lass ich das jetzt hier :D Einfach unsere Spalte mit den Höhenwerten als zu kategorisierende Spalte eingeben, auf klassifizieren klicken und dann einen halbwegs passenden Farbverlauf auswählen.

Falls die Farben für die unterschiedlichen Höhen vertauscht sind, also rot für Täler und grün für Berge steht, klickt man einfach rechts neben dem Verlauf auf „invertieren“. Den Farbverlauf kann man unter „Bearbeiten“ mit eigenen Farben komplett an eigene Wünsche anpassen.

Fenster mit Einstellungen für kategorisierte Layerstile
Fenster mit Einstellungen für kategorisierte Layerstile

Polygone in richtiger Reihenfolge stapeln

Trotzdem befinden sich nun noch die höheren Lagen UNTER den niedrigeren Lagen. Diese „Stapelreihenfolge“ regeln wir per Symbolebenen (klicken für Erklärung).

Richtig gestapelte Polygone
Richtig gestapelte Polygone.. Sieht aus wie eine Wetterkarte!

Das sieht nun schon viel besser aus. Die schwarzen Höhenlinien entfernen wir per Doppelklick auf das Layer > Stil > Symbol [ändern], Klick auf „einfache Füllung“ und dort bei Rahmen auf „transparenter Rand“.

Querlinien korrigieren

Dieser merkwürdigen Querlinien, die aus den offenen Linienenden resultieren, nehmen wir uns am Besten Layer für Layer an, indem wir die anderen Layer ausblenden.

Hier sieht man dieses Relikt, das sich aus der Umwandlung von Linien in Polygone ergeben hat
Hier sieht man dieses Relikt, das sich aus der Umwandlung von Linien in Polygone ergeben hat

Dann wechseln wir in den Bearbeitungsmodus, wählen mit dem Knotenwerkzeug das entsprechende Polygon aus, fügen einen neuen Knoten hinzu und ziehen den so in die Ecke, dass der Ausschnitt rechteckig wird.

Korrigierung der schrägen Linien
Korrigierung der schrägen Linien

Fehlende Ebene des Höhenreliefs einfügen

Nun fehlt bei mir aus irgendeinem Grund immer die Ebene 0, was natürlich gar nicht geht, weil es aussieht, als würden hier Berge in einem weißen Meer herumschweben.

Diese Ebene fügen wir einfach manuell ein, indem wir ein großes, dem Kartenausschnitt entsprechendes Polygon erstellen und ihr den Höhenwert 0 verpassen. Das bedeutet natürlich, dass wir die Farben/Höhen wieder neu klassifizieren müssen und diese Symbolebene auch in die passende Stapelreihenfolge bringen müssen. Da müssen wir evtl manuell ein wenig herumschieben, aber wie das geht, findest du selbst heraus – der Prozess wurde ja schon beschrieben :D

Nun sitzt auch Ebene 0
Nun sitzt auch Ebene 0. Außerdem Farbverlauf etwas bearbeitet

So sieht es nach ein wenig Probierei dann aus. Am Farbverlauf kann man sich verkünsteln, das lass ich jetzt für das Tutorial hier.

Schritt 5: Schummerung

Damit das Höhenrelief plastischer aussieht, also wie ein DGM, brauchen wir noch eine Schummerung. Der Schummerungseffekt erzielt eine Art 3D-Effekt für die Berge, indem er Schattenseiten simuliert. Dazu bemühen wir wieder unsere ursprünglichen Asterdaten.

Raster > Geländeanalyse > Schummerung

Wie gehabt, geben wir die Rasterkarte als Eingabelayer an, wählen eine Ausgabedatei und lassen die übrigen Daten einfach so stehen, wie sie standardmäßig angegeben werden. Wir erhalten dadurch nun folgendes Bild:

Ja, das sind Berge
Ja, das sind Berge

Der 3D-Effekt wird sehr deutlich ^^ Viel deutlicher, als wir ihn eigentlich wollen. Um das zu regeln, spielen wir in den Stil-Einstellungen herum, bis uns das Ergebnis gefällt. Für dieses Beispiel habe ich nun diese Einstellungen verwendet:

Einstellungen für die Schummerung
Einstellungen für die Schummerung

Zu beachten ist, dass die Schummerung kein Vektorlayer ist, sondern als Rasterdatei vorliegt. Da kann man also nicht beliebig reinzoomen wie bei Vektordaten – man kommt schnell an die Grenze, an der die Schummerung verpixelt.

Worte zum Abschluss

Damit bin ich mit dem Tutorial nun schon auch am Ende. Natürlich müsste man den Farbverlauf des DGM noch verbessern, damit die Übergänge nicht so ruppig sind. Aber mit der Anleitung soll auch nur das Prinzip vermittelt werden, wie man als Laie solche Reliefs einfach selbst erstellen kann. Damit ist der Weg dann frei, die Karte mit eigenen Informationen anzureichern und alles wirklich selbst gemacht zu haben. Viel Spaß beim Nachbauen! :D

Gefällt dir der Beitrag? Ich freue mich über dein Feedback in den Kommentaren und sharen wäre auch toll :D

Weiterführende Literatur & Anleitungen

Es verwundert ja fast nicht, dass es auf deutsch keine Bücher zu QGIS gibt. Für solche Nischenanwendungen kommen gute Bücher und Anleitungen fast immer aus dem englischsprachigen Raum. Aber betrachten wir es positiv und freuen uns, dass es überhaupt hilfreiche Bücher gibt! :D Hier eine kleine Auswahl der relevantesten Bücher:

Anmerkungen zu dieser Auswahl:

Ich habe diese Bücher nicht alle gelesen, aber manche hatte ich immerhin in der Hand und kann sie beurteilen.

  • Learning QGIS: Richtet sich an Nutzer, die das Kernkonzept von GIS-Software schon kennen, aber eben QGIS noch nicht. Das Buch erklärt kein grundlegendes Vokabular, sondern zeigt, wo man in QGIS was findet und wie alles funktioniert. Enthält ein ganzes Kapitel „Creating great maps“.
  • Mastering QGIS: Richtet sich an Nutzer, die schon QGIS-Grundkenntnisse haben und diese weiter vertiefen möchten. Im Grunde ähnlich wie „Learning QGIS“, enthält auch ein ganzes Artikel über Layer Styles und deckt all die Funktionen von QGIS ab, die man sonst so schnell nicht kennen lernt.
  • QGIS Cookbook: Richtet sich an fortgeschrittene QGIS-Anfänger und an Fortgeschrittene und dient sozusagen als Nachschlagebibel für alles. Nichts für blutige Anfänger, die keine GIS-Grundkenntnisse haben. Legt insgesamt mehr Wert auf Datenanalyse als auf das Erstellen von Karten.
Ähnliche Beiträge

4 Comments

  1. Katja

    Hallo, das Tutorial ist wirklich gut beschrieben, nur an einer Stelle komme ich nicht weiter „Fehlende Ebene des Höhenreliefs einfügen“. Bei mir gibt es diese Ebene 0, aber trotzdem habe ich diese „weißen Meere“.
    Wie erstelle ich denn ein solches Polygon für den ganzen Kartenausschnitt, wie es in diesem Schritt zur fehlenden Ebene beschrieben wurde?

    1. Ravana

      Hey Katja, freut mich, dass das Tutorial soweit verständlich ist :-)
      Da ich deine Vorkenntnisse nicht kenne, weiß ich nicht, welche Antwort dir am besten weiterhilft. In diesem Beitrag hab ich das Vektorisieren (also Setzen von Punkten, Linien, Polygonen -> funktioniert alles gleich!) beschrieben. Es gibt auch ein Video, in dem ich es zeige. Ich hoffe, du findest da für dich den richtigen Stand, wo du einspringen kannst :D

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich stimme zu.