Stichproben aus Rasterdaten mit Hilfe von Punkten und Polygonen (QGIS3)

Viele wissenschaftliche Daten oder Umweltdaten liegen als Rasterdaten vor. Digitale Geländemodelle (DGM oder DEM) werden ebenso als Rasterdaten angeboten. In diesen Rastendaten ist der thematische Parameter im Pixelwert einer Rasterzelle hinterlegt. Oftmals benötigt man diesen Pixelwert für einen bestimmten Ort oder auch eine Aggreation der Pixelwerte für ein bestimmtes Gebiet. Diese Funktionalität ist in den Verarbeitungswerkzeugen von QGIS enthalten. Die Algorithmen heißen Rasterwerte abtasten für Punktlayer und Zonenstatistik für Polygonlayer.

Überblick über die Aufgabe

Mit einem gegebenen Rasterdatensatz der maximalen Temperatur der Kontinetalfläche der USA wollen wir die Temperatur für Punkte der Ballungsgebiete extrahieren. Außerdem wollen wir für die Fläche der Verwaltungsbezirke die mittlere Temperatur bestimmen.

Weitere Fähigkeiten, die wir erlernen

  • Selektion und Entfernen mehrerer Layer aus dem QGIS Inhaltsverzeichnis.

Beschaffung der Daten

Das Climate Prediction Center der NOAA stellt GIS-Daten zu Temperatur und Niederschlag in den USA bereit: GIS data. Die aktuellen Daten können unter folgendem link heruntergeladen werden: latest grid file for maximum temperatures. Die Datei wird den folgenden Namen erhalten: us.tmax_nohads_ll_{YYYYMMDD}_float.tif

Wir werden folgende CSV Datei mit den Ballungsräumen der USA verwenden: 2018 US Gazetteer. Das Ortsverzeichnis laden wir unter:Urban Areas Gazetteer File herunter.

US Census Bureau stellt folgende Daten bereit: TIGER/Line Shapefiles. Auf der folgenden Seite kann man die Flächeneinheiten der Volkszählung Kaliforniens herunterladen: FTP site. Wir wählen die Datei Census Tracts for California.

Der Einfachheit halber können wir eine Kopie der Datensätze unter folgenden links herunterladen:

us.tmax_nohads_ll_20190501_float.tif

2018_Gaz_ua_national.zip

tl_2018_us_county.zip

Datenquellen: [NOAACPC], [USGAZETTEER] [TIGER]

Arbeitsablauf

  1. Wir entpacken die Dateien 2018_Gaz_ua_national.zip und tl_2018_us_county.zip in ein lokales Verzeichnis. Öffne QGIS, gehe im QGIS Browser zur Datei us.tmax_nohads_ll_20190501_float.tif und ziehe sie in den Arbeitsbereich.

../../_images/1139.png
  1. Wir sehen den neu geladenen Rasterlayer us.tmax_nohads_ll_20190501_float im Layer Bereich. Die Rasterdatei enthält die maximal erfasste Temperatur für jedes Pixel. Als nächstes laden wir die Punktdatei der Ballungsräume hinzu. Das Format der Datei ist Text mit dem Trennzeichen Tabulator (TSV). Klicke auf den Knopf Datenquellenverwaltung öffnen in der Datenquellenverwaltungsleiste.

../../_images/2109.png
  1. Wir gehen zum Abschnitt Getrennte Texte. Hier klicken wir auf den Knopf neben Dateiname und geben den Pfad zu der heruntergeladenen Textdatei an. Im Bereich Dateiformat wählen wir Benutzerdefiniert und Tabulator. Als X-Feld wählen wir INTPTLONG und als Y-Feld INTPTLAT. Klicke auf Hinzufügen und danach auf Schließen.

../../_images/360.png
  1. Der neue Punktlayer 2018_Gaz_ua_national wird nun im Layer Bereich angezeigt. Wir können jetzt die Werte unter den Punkten aus dem Rasterlayer extrahieren. Gehe zu Verarbeitung ‣ Werkzeugkiste.

../../_images/429.png
  1. Suche den Algorithmus Rasteranalyse ‣ Rasterwerte abtasten und klicke doppelt darauf, um ihn zu starten.

../../_images/527.png
  1. Wir wählen 2018_Gaz_ua_national als Eingabepunktlayer und us.tmax_nohads_ll_20190501_float als Raster Layer to sample. Wir erweitern den Bereich Fortgeschrittene Parameter und geben tmax als Ausgabespaltenpräfix an. Klicke auf Starte und nach Beendigung der Prozessierung auf Schließen.

../../_images/626.png
  1. Ein neuer Layer Abgetastete Punkte wird nun im Layer Bereich angezeigt. Wähle das Tool Objekte abfragen aus der Attributwerkzeugleiste und klicke auf einen beliebigen Punkt. Die Attribute des Punktes werden im Fenster Abfrageergebnisse angezeigt. Wir sehen ein neues Attribut tmax_1, das zu jedem Feature hinzugefügt wurde. Dabei handelt es sich um den Wert des Pixels des Rasterlayers unter dem Punkt. Die 1 steht für die Nummer des Bandes des Rasterlayers. Wenn der Rasterlayer mehrere Bänder enthalten würde, würden entsprechend viele neue Attribute im Ausgabelayer erzeugt werden.

../../_images/726.png
  1. Der erste Teil unserer Analyse ist abgeschlossen. Wir können die nicht mehr benötigten Layer entfernen. Halte die Taste Shift gedrückt und wähle die Layer Abgetastete Punkte und 2018_Gaz_ua_national. Klicke mit der rechten Maustaste auf die Layer und wähle Layer löschen, um die Layer aus QGIS zu entfernen. Bei der Nachfrage 2 Layer entfernen? wählen wir OK.

../../_images/825.png
  1. Wir werden jetzt den Layer der Verwaltungsbezirke zur Abstastung der Rasterdaten verwenden und für jeden Bezirk einen Mittelwert der Temperatur bestimmen. Wir gehen im QGIS Browser zur Datei tl_2018_us_county.shp und ziehen sie in den Arbeitsbereich.

../../_images/926.png
  1. Der Layer tl_2018_us_county wird nun im Layer Bereich angezeigt. Wir gehen zu Verarbeitung ‣ Werkzeugkiste.

../../_images/1032.png
  1. Wir suchen den Algorithmus Rasteranalyse ‣ Zonenstatistik und klicken doppelt darauf, um ihn zu starten.

../../_images/1140.png
  1. Wähle us.tmax_nohads_ll_20190501_float als Rasterlayer und tl_2018_us_county als Zonenvektorlayer. Gebe tmax_ als Ausgabespaltenpräfix vor. Klicke auf neben Zu berechnende Statistik.

../../_images/1235.png
  1. Wir wählen nur Mittel und klicken auf OK.

../../_images/1333.png
  1. Now, click on the next to Zonal Statistics and select Save to File option to save the output.

    ../../_images/1430.png
  2. Browse to the folder where you want to save the output. Save the output layer as us_county_tmax.shp. Click Run to start the processing. The algorithm may take a few minutes to complete and you will see the output layer added as soon as the processing finishes. Click Close.

../../_images/1528.png
  1. Right-click the us_county_tmax layer, and select Open Attribute Table.

../../_images/1626.png
  1. You will see a new column called tmax_mean added in the attribute table. This contains the average temperature value extracted over the polygon for each feature. There are some null values because those counties (belonging to Alaska, Hawaii and Puerto Rico) are outside of the raster layer’s extent.

../../_images/1727.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)