Räumliche Abfragen ausführen (QGIS3)

Räumliche Abfragen sind das Herzstück vieler GIS-Analysen. Sie erlauben die Selektion von Features eines Layers in Abhängigkeit von der räumlichen Beziehung (überschneiden, beinhalten, berühren usw.) zu Features aus anderen Layern. In QGIS wird diese Funktionalität über die Verarbeitungswerkzeuge Nach Position selektieren und Nach Position extrahieren bereit gestellt.

Aufgabenübersicht

Wir werden mit 2 Layern der Stadt Melbourne in Australien arbeiten. Die Layer enthalten alle Pubs und Bars der Stadt sowie alle U-Bahn Stationen. Unser Ziel ist es, alle Bars und Pubs in einem Umkreis von 500 Metern um eine U-Bahn Station zu finden.

Weitere Fähigkeiten, die wir erlernen

  • Die Wahl der richtigen Projektion und die Reprojizierung von Vektordaten.

  • Erstellung von Puffern.

  • Die Arbeit mit dem Datenformat geopackage (.gpkg).

Beschaffung der Daten

Die Open-Data-Plattform der Stadt Melbourne <https://data.melbourne.vic.gov.au/>`_ bietet viele Datensätze über die Stadt an, die für die Verarbeitung im GIS vorbereitet sind.

Wir laden den Datensatz der U-Bahnstationen Melbournes herunter: Metro Train Stations with Accessibility Information. Exportiere die Daten im Original Format.

../../_images/data110.png

Wir laden folgenden Datensatz herunter: Bars and pubs, with patron capacity. Der Datensatz wird von der Behörde City of Melbourne’s Census of Land Use and Employment (CLUE) bereit gestellt. Wir exportieren die Daten als CSV.

../../_images/data23.png

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

metro_stations_accessbility.zip

Bars_and_pubs__with_patron_capacity

Datenquelle: [CITYOFMELBOURNE]

Arbeitsablauf

  1. Gehe im QGIS Browser zum Datensatz metro_stations_accessbility.zip und erweitere ihn. Wähle die Datei metro_stations_accessbility.shp und ziehe sie in den Arbeitsbereich. Der neue Layer metro_stations_accessbility wird nun im Bereich Layer angezeigt.

../../_images/1106.png
  1. Der Datenlayer der Bars und Pubs liegt im CSV-Format vor. Um ihn in QGIS zu laden, gehen wir zu Layer ‣ Layer hinzufügen ‣ Textdatei als Layer importieren…. (Siehe Import von Tabellenblättern oder CSV-Dateien (QGIS3) für weitere Details zum Import von CSV-Dateien)

../../_images/2102.png
  1. Wähle im Fenster Datenquellenverwaltung | Getrennte Texte als Dateiname die Datei Bars_and_pubs__with_patron_capacity.csv aus. Die Werte X-Feld und Y-Feld sollten schon mit x coordinate und y coordinate gefüllt sein. Klicke auf Hinzufügen.

../../_images/348.png
  1. You will see a new Bars_and_pubs__with_patron_capacity layer added to the Layers panel. Both of the input layers are in the Geograhpic Coordinate Reference System (CRS) EPSG:4326 WGS84. For performing spatial analysis, it is recommended to use a Projected Coordinate Reference System (CRS). So we will now re-project both the layers to an appropriate regional CRS that minimizes distortions and allows us to work in units of distance such as meters instead of degrees. Go to Processing ‣ Toolbox.

../../_images/420.png
  1. Suche das Werkzeug Vektoren allgemein ‣ Layer reprojizieren. Klicke doppelt darauf, um es zu starten.

../../_images/520.png
  1. Wähle Bars_and_pubs__with_patron_capacity als Eingabelayer. Klicke auf den Knopf KBS wählen neben Ziel KBS.

../../_images/620.png
  1. Beim projizierten Koordinatenreferenzsystem für unsere Analyse sollte es sich um ein regionales KBS für das betreffende Gebiet handeln. Für Australien ist das Map Grid of Australia (MGA) 2020 ein auf UTM-basierendes Gittersystem, das für lokale und regionale Karten verwendet wird. Melbourne liegt in der UTM Zone 55, so dass wir das KBS GDA 2020 / MGA zone 55 EPSG:7855` auswählen können.

../../_images/719.png

Bemerkung

Wenn man sich nicht sicher ist, welches lokale KBS für das Arbeitsgebiet passend ist, kann man das KBS mit einer UTM Zone basierend auf dem geographischen WGS84 Datum verwenden. Die UTM Zone des Arbeitsgebietes kann man mit Hilfe der Adresse UTM Grid Zones of the World herausfinden.

  1. Als nächstes klicken wir auf den Knopf neben Reprojiziert und wählen Speichern in GeoPackage.... Geopackage ist das empfohlene offene Format für räumliche Daten und das Standardaustauschformat in QGIS3. Eine einzelne GeoPackage .gpkg Datei kann mehrere Vektor- und Rasterlayer enthalten.

../../_images/819.png
  1. Benenne das geopackage als spatialquery und klicke auf Speichern.

../../_images/919.png
  1. Bei der Abfrage des Layernamens geben wir bars_and_pubs ein und klicken auf OK. Klicke auf Starte um den Layer zu reprojizieren.

../../_images/1026.png
  1. Das Fenster zeigt nach Ausführung des Algorithmus den Protokoll Tab. Die Erstellung des Ausgabelayers bars_and_pubs wird hier angezeigt.

../../_images/1129.png
  1. Jetzt werden wir den Layer metro_stations_accessbility reprojizieren. Gehe im Fenster Layer reprojizieren zurück zum Tab Paramter. Wähle metro_stations_accessbility als Eingabelayer. Lasse das Ziel KBS unverändert. Klicke danach auf den Knopf neben Reprojiziert und wähle Speichern in GeoPackage.... Wähle dieselbe Ausgabedatei spatialquery (Denke daran, dass eine geopackage Datei mehrer Layer enthalten kann. Wir speichern den neuen Layer daher in derselben geopackage Datei.) Gebe metro_stations als Layername ein. Klicke auf Starte.

../../_images/1227.png
  1. Zurück im QGIS Hauptfenster sehen wir 2 neue Layer im Layer Bereich: bars_and_pubs und metro_stations. Die Sichtbarkeit der Ausgangslayer können wir ausschalten. Jetzt führen wir die räumliche Abfrage aus. Da wir die Bars und Pubs in einem Umkreis von 500m um die U-Bahnstationen suchen, ist der erste Schritt die Erstellung eines Puffers um die U-Bahnstationen. Der Puffer repräsentiert unser Suchgebiet. Gehe unter Verarbeitungswerzeuge zu Vektoren allgemein ‣ Puffer und klicke zum Start doppelt darauf.

../../_images/1325.png
  1. In the Buffer dialog, select metro_stations as the Input layer. Set 500 meters as the Distance. Save the output to the same spatialquery geopackage and enter metro_stations_buffers as the Layer name. Click Run.

../../_images/1423.png
  1. Wir sehen den neu hinzugefügten Layer metro_stations_puffer im Bereich Layer. Nun können wir ermitteln, welche Punkte des Layers bars_and_pubs innerhalb der Fläche des Layers metro_stations_puffer liegen. Gehe unter Verarbeitungswerkzeuge zu Vektorauswahl ‣ Nach Position extrahieren und klicke zum Start doppelt darauf.

../../_images/1520.png

Bemerkung

Nach Position extrahieren erstellt einen neuen Layer mit den passenden Features der räumlichen Abfrage. Wenn man nur Features selektieren möchte, genügt das Tool Nach Position selektieren.

  1. Im Dialogfenster Nach Position extrahieren wählen wir bars_and_pubs als Objekte extrahieren aus. Wähle Schneidet als geometrisches Prädikat. Setze metro_stations_puffer bei Durch Vergleich mit Objekte aus ein. Speichere die Ausgabe in die geopackage spatialquery als Layer ausgewählt. Klicke auf Starte.

../../_images/1619.png
  1. Nachdem der Prozess abgeschlossen wurde, sehen wir wie der Layer ausgewählt neu im Bereich Layer erscheint. Beachte, dass dieser Layer nur die Punkte enthält, die innerhalb der Pufferpolygone liegen.

../../_images/1720.png
  1. Unsere Analyse ist abgeschlossen. Wir bemerken vielleicht, dass die Pufferpolygone oval sind. Das liegt daran, dass unser Projekt KBS noch auf EPSG:4326 WGS84 eingestellt ist. Um die Ergebnisse besser zu visualisieren, können wir unter Projekt ‣ Eigenschaften ‣ KBS das KBS GDA 2020 / MGA zone 55 EPSG:7855 wählen, dass wir auch für die Analyse verwendet haben. Nachdem wir das KBS eingestellt haben, erscheinen die Puffer mit ihrer korrekten Form.

../../_images/1818.png

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