Arbeit mit Attributen (QGIS3)

GIS Daten bestehen aus zwei Teilen - Feature und Attribute. Attribute sind strukturierte Daten über jedes Feature. Dieses Tutorial zeigt, wie man sich die Attribute eines GIS Vektorlayers ansieht und einfache Abfragen mit ihnen in QGIS erstellen kann.

Überblick über die Aufgabe

The dataset for this tutorial contains information about populated places of the world. The task is to query and find all the capital cities in the World that have a population greater than 1 million and save the resulting subset as a GeoJSON file.

Weitere Fähigkeiten die wir erlernen

  • Selektion von Features eines Layers mit Hilfe von Ausdrücken.

  • Benutzung der Attributwerkzeugleiste.

  • Exporting selected features in a layer.

Beschaffung der Daten

Natural Earth provides a Populated Places dataset. Download the simple (less columns) dataset.

For convenience, you may directly download a copy of the dataset from the link below:

ne_10m_populated_places_simple.zip

Datenquelle [NATURALEARTH]

Arbeitsablauf

  1. Gehe im QGIS Browser zur Datei ne_10m_populated_places_simple.zip und erweitere sie. Wähle die Datei ne_10m_populated_places_simple.shp und ziehe sie in den Arbeitsbereich.

../../_images/1148.png
  1. Ein neuer Layer ne_10m_populated_places_simple wird nun in QGIS geladen und wir sehen viele Pukte für die bewohnten Orte in der ganzen Welt. Die Arbeitsfläche in QGIS zeigt die Geometrie des GIS Layers. Jeder Punkt hat außerdem zugehörige Attribute, die wir uns jetzt ansehen. Gehe zur Attributwerkzeugleiste. Die Werkzeugleiste enthält viele Tools, um die Attribute von Layern zu untersuchen, anzusehen, auszuwählen oder zu verändern.

../../_images/2126.png

Bemerkung

If you do not see the toolbar, you can enable it from View ‣ Toolbars ‣ Attributes Toolbar.

  1. Klicke auf den Knopf Objekt abfragen in der Attributwerkzeugleiste. Klicke danach auf einen beliebigen Punkt im Arbeitsbereich. Die zum Punkt gehörenden Attribute werden nun im Fenster Abfrageergebnisse angezeigt. Nachdem wir mit dem Erkunden der Attribute einiger Punkte fertig sind, können wir auf den Knopf Schließen drücken.

../../_images/367.png
  1. Anstatt jeden Punkt einzeln anzusehen, können wir uns die Attribute aller Features auch auf einmal in einer Tabelle ansehen. Klicke auf den Knopf Attributtabelle öffnen in der Attributwerkzeugleiste. Man kann alternativ auch mit der rechten Maustaste auf den Layer ne_10m_populated_places_simple klicken und Attributtabelle öffnen wählen.

../../_images/435.png
  1. Wenn wir nach rechts scrollen, sehen wir die Spalte pop_max. Sie enthält die Bevölkerungsanzahl der Orte. Wenn wir doppelt auf den Spaltenkopf klicken, wird der Inhalt der Spalte absteigend geordnet gezeigt.

../../_images/531.png
  1. Jetzt können wir mit der Abfrage der Attribute beginnen. QGIS nutzt SQL-artige Ausdrücke zur Erstellung von Abfragen. Klicke auf den Knopf Objekte über Ausdruck wählen.

../../_images/630.png
  1. Im Fenster Select By Expression erweitern wir den Bereich Felder und Werte und klicken doppelt auf pop_max. Wir sehen, dass das Attribut nun im Bereich Ausdruck angezeigt wird. Wenn man sich unsicher ist, welche Werte das Attribute enthält, kann auf den Knopf Alle eindeutigen klicken und die im Datensatz enthaltenen Attributwerte werden aufgelistet. Für diese Übung suchen wir alle Features mit einer Einwohnerzahl größer als 1 Million. Verwende den folgenden Ausdruck und klicke auf Objekt wählen und dann auf Schließen.

"pop_max" > 1000000
../../_images/730.png

Bemerkung

Bei der QGIS Ausdrucksausführung werden doppelte Anführungszeichen für ein Feld und einfache Anführungszeichen für Werte im Textformat verwendet.

  1. Wir sehen, dass jetzt einige Zeilen in der Attributtabelle ausgewählt sind. Die Beschriftung des Fensters hat sich ebenso verändert und zeigt jetzt die Anzahl der gewählten Features an.

../../_images/829.png
  1. Wir schließen die Attributtabelle und kehren zum QGIS Hauptfenster zurück. Wir sehen, dass einige der Punkte nun in gelb dargestellt werden. Das ist das Ergebnis unserer Abfrage. Alle Punkte mit einer Einwohnerzahl pop_max größer als 1000000 sind ausgewählt.

../../_images/930.png
  1. Wir wollen unsere Abfrage jetzt erweitern, so dass alle Hauptstädte mit einer Einwohnerzahl größer als 1 Million ausgewählt weden. Um einfach zum Ausdruckseditor zu kommen, können wir den Knopf Objekte über Ausdruck wählen in der Attributwerkzeugleiste verwenden.

../../_images/1037.png
  1. The field containing data about capitals is adm0cap. The value 1 indicates that the place is a capital. We can add this criteria to our previous expression using the and operator. Enter the expression as below and click Select Features and then Close.

"pop_max" > 1000000 and "adm0cap" = 1
../../_images/1149.png
  1. Zurück im QGIS Hauptfenster sehen wir, dass nun weniger Punkte ausgewählt sind. Das ist das Ergebnis der angepassten Abfrage, die nur Hauptstädte mit einer Einwohnerzahl größer als 1 Million anzeigt.

../../_images/1240.png
  1. Wir werden die selektierten Features jetzt als neuen Layer exportieren. Klicke mit der rechten Maustaste auf den Layer ne_10m_populated_places_simple und gehe zu Exportieren ‣ Gewählte Objekte speichern als….

../../_images/1338.png
  1. Man kann das gewünschte Exportformat unter Format wählen. Für diese Übung wählen wir GeoJSON. GeoJSON ist ein textbasiertes Format, das für Webmapping weit verbreitet ist. Klicke auf den Knopf neben Dateiname und gebe populated_capitals.geojson als Ausgabedatei ein.

../../_images/1435.png
  1. Der Eingangsdatensatz hat viele Attributspalten. Wir können nur einige der Spalten für den Export auswählen. Erweitere den Bereich Felder zum Export und deren Exportoptionen wählen. Klicke auf Alle abwählen und wähle die Spalten name und pop_max. Klicke auf OK.

../../_images/1532.png
  1. Der neue Layer populated_capitals wird nun in QGIS geladen. Wir können den Layer ne_10m_populated_places_simple ausschalten, um den neuen exportieren Layer zu sehen.

../../_images/1630.png

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