Autor:in: Ketty
Dieses Modul gibt Ihnen einen Überblick über die Schritte, die für die Arbeit mit der Attributtabelle und den Layerattributen in QGIS notwendig sind. Am Ende des Moduls werden Sie in der Lage sein, die folgenden Konzepte zu verstehen:
Außerdem werden Sie die folgenden Fähigkeiten erlernen:
Sie werden den Feldrechner und die QGIS expression engine verwenden, um mathematische Operationen und Funktionen in QGIS auszuführen.
QGIS 3.16 und höher
Lassen Sie uns mit einem Beispiel beginnen:
In manchen Fällen - z.B. bei der Infrastrukturplanung - möchten Sie die Fläche der Polygone in einem Layer bestimmen. Wenn Sie nur ein Polygon haben, wäre das kein Problem. Was aber, wenn Sie viele Polygone/Flächen in dem Layer haben? Es ist fast unmöglich, jede Fläche einzeln zu berechnen. Der Vektorlayer der Landkreise in Sachsen hat viele Polygone, was bedeutet, dass er ein guter Datensatz für dieses Lernprogramm ist. Wir werden die Fläche für jedes Polygon (also die 13 Landkreise) auf automatisierte Weise berechnen.
Ein Großteil der Arbeit, die Sie bei der Erstellung einer Karte verrichten, beinhaltet die Arbeit mit Layer-Attributen. Egal, ob Sie den Layer zeichnen, ein Popup konfigurieren, eine Analyse durchführen oder visualisieren, Sie benötigen ein gewisses Maß an Wissen über die Felder des Layers und die Werte, die sie enthalten. Wenn es sich um Ihren eigenen Layer handelt, kennen und verstehen Sie seine Attribute. Aber wenn es nicht Ihr eigener Layer ist, wie erlangen Sie dieses Wissen? Wahrscheinlich inspizieren Sie die Feldnamen und untersuchen die Feldwerte auf Anhaltspunkte. Und wenn Sie Glück haben, finden Sie eine Dokumentation, die die Attribute des Layers beschreibt.
Die Attributtabelle zeigt Informationen zu den Features eines ausgewählten Layers an. Jede Zeile in der Tabelle repräsentiert ein Feature (mit oder ohne Geometrie), und jede Spalte enthält eine bestimmte Information über das Feature. Features in der Tabelle können gesucht, ausgewählt, verschoben oder sogar bearbeitet werden. Es zwei Feldeigenschaften, die die in einem Feld enthaltenen Werte beschreiben:
Hier ein Beispiel: Angenommen, Sie haben einen Flurstücks-Layer, der diese Felder enthält:
Wenn Sie diese Feldwerte beschreiben würden, könnten Sie etwas wie folgt schreiben:
Bei der Betrachtung dieser Beschreibungen stechen einige Wörter hervor, wie: Beizeichner, Name, Ort, Beschreibung, Anzahl, Größe, Wert und Datum. Dies sind die Schlüsselwörter, die beschreiben, was die Feldwerte sind. Die Schlüsselwörter des Feldwerttyps sind aus diesen Wortarten aufgebaut. Sie sind:
Im obigen Beispiel des Parzellen-Layers ist das Feld Parzellen-ID ein Ganzzahl-Feld. Wenn der Feldwerttyp angibt, dass die Feldwerte einen eindeutigen Bezeichner und nicht eine Zählung darstellen, würde QGIS nicht empfehlen, dieses Feldattribut mit abgestuften Farben oder Symbolen zu zeichnen.
Darüber hinaus erlauben andere Konzepte wie die Feldrechnerfunktionalität in der Attributtabelle, Berechnungen auf Basis vorhandener Attributwerte oder definierter Funktionen durchzuführen, z.B. um Länge, Fläche oder Bevölkerungsdichte zu berechnen. Beachten Sie, dass die möglichen Berechnungen durch die Attribute bzw. den Aufbau Ihrer Daten bestimmt werden. So ist es z. B. nur möglich, die Bevölkerungsdichte zu berechnen, wenn es ein Feld mit Bevölkerungszahlen gibt. Mithilfe des Ausdrucksmoduls und des Feldrechners würden Sie dann einen Ausdruck oder eine Formel zur Berechnung der Bevölkerungsdichte konstruieren. In diesem Fall würde die Formel lauten: Gesamtbevölkerung als Anzahl der Menschen / Fläche, die von dieser Bevölkerung bedeckt wird. Sie werden feststellen, dass es wichtig ist, zu wissen, was jedes der Felder in der Layer-Attribut-Tabelle darstellt. Das bedeutet, dass Sie Ihre Daten genau kennen und verstehen müssen. Dies erleichtert die Anwendung von Funktionen und Ausdrücken und damit die Erstellung von aussagekräftigen Analysen und Visualisierungen/Kartenprodukten.
Die Attributtabelle zeigt Informationen über Features eines ausgewählten Layers an. Jede Zeile in der Tabelle repräsentiert ein Feature (mit oder ohne Geometrie), und jede Spalte enthält eine bestimmte Information über das Feature. Features in der Tabelle können gesucht, ausgewählt, verschoben oder sogar bearbeitet werden.
Abbildung 6.1: Mehrere Polygone
Abbildung 6.2: Attributtabelle öffnen
Wenn Sie die Attributtabelle nicht als schwebendes Fenster, sondern an die QGIS-Oberfläche andocken möchten, können Sie auf die Schaltfläche Attributtabelle andocken klicken. Im angedockten Zustand erscheint die Attributtabellen als Registerkarten anstelle einzelner Fenster.
Abbildung 6.3: Gedockte Attributtabelle
Für Flächenberechnungen sollte das Koordinatenreferenzsystem ein projiziertes sein. So können Sie Abstände korrekt berechnen. Denken Sie daran, dass unser Interesse darin besteht, automatisch die Fläche für jeden der 13 Landkreise zu berechnen. Überprüfen Sie das Koordinatenreferenzsystem des Vektor-Layers. Wenn es ein geographisches Koordinatenreferenzsystem ist, dann projizieren Sie den Layer auf ein projiziertes Koordinatensystem um. Überprüfen Sie die verschiedenen Projektionen auf der EPSG Website. Da wir uns im östlichen Deutschland befinden, werden wir ETRS89 / UTM zone 33N, EPSG:25833 verwenden. Aus früheren Modulen, in denen Kartenprojektionen ausführlich besprochen wurden, wissen Sie vielleicht schon, dass Kartenprojektionen relativ zu einem bestimmten Ort auf der Erde angewendet werden.
Überprüfen Sie die Projekteinstellungen; gehen Sie zu: Projekt ‣ Eigenschaften Eigenschaften ‣ Allgemein.
Abbildung 6.4: Projekteigenschaften
$area / (1000 * 1000)
Sie finden diesen Ausdruck unter Geometrie. Klicken Sie auf OK und es wird automatisch die Fläche für jedes Polygon berechnet. Beachten Sie, dass die Flächenberechnung vom verwendeten Koordinatenreferenzsystem abhängt, so dass Sie möglicherweise unterschiedliche Ergebnisse erhalten, je nachdem, welches CRS Sie verwendet haben. Sie können auch auf der rechten Seite des Feldrechners oder des Funktionseditors nach Informationen zu Ausdrücken suchen und diese finden.
Abbildung 6.5: Feldrechner
Abbildung 6.6: Attributtabelle mit neuer Spalte
An dieser Stelle werden Sie vielleicht feststellen, dass die Attributtabelle sowohl räumliche als auch nicht-räumliche Daten speichert. In diesem Tutorial lernen Sie Möglichkeiten kennen, mit den Daten der Attributtabelle zu arbeiten. Sie können z. B. mit Hilfe von Ausdrücken in der Attributtabelle die Schulen in Mittelsachsen auswählen, die mit barrierefrei für Rollstühle sind.
Abbildung 6.7: Ausgewählte Layer
"amenity" = 'school' and "wheelchair" = 'yes'
Sie werden feststellen, dass der Ausdruck eine Reihe von Prädikaten enthält, wie das Vergleichszeichen (=), das logische Prädikat and
und eine Zeichenkette, die in einfache Anführungszeichen (‘ ‘) eingeschlossen ist. Außerdem gibt es zwei Attributnamen (amenity, wheelchar) und ihre Werte (school,yes).
Abbildung 6.8: Dialog “Mit Ausdruck wählen”
Abbildung 6.9: Ausgewählte Schulen werden hervorgehoben (gelb)
Abbildung 6.10: Ausgewählte Schulen werden hervorgehoben (blau)
Es ist auch möglich, eine Auswahl zu treffen, indem Sie auf ein Merkmal in der Kartenansicht klicken.
Das Entwickeln eines funktionalen Ausdrucks beginnt mit dem Verstehen Ihrer Daten; zum Beispiel der Attribute und der Werte, die sie enthalten. Dann stellt man die richtigen Fragen und entwickelt schließlich den passenden Ausdruck.
Der “Mit Ausdruck wählen” Dialog umfasst die folgenden Registerkarten:
Es gibt viele Anwendungsfälle für Ausdrücke, hier sind einige Beispiele (die einen erdachten Datensatz zur Grundlage haben). Beachten Sie, wie die Ausdrücke aufgebaut sind und welche Operatoren oder Prädikate verwendet werden. Wichtig ist auch die Tatsache, dass alle diese Ausdrücke auf der Grundlage des Inhalts des Datensatzes entwickelt wurden. Sie können dies an den Datensatz Ihrer Wahl anpassen.
"total_pop" / "area_km2"
CASE WHEN "pop_density" < 50 THEN 'Geringe Bevölkerungsdichte'
WHEN "pop_density" >= 50 AND "pop_density" < 150 THEN 'Mittlere Bevölkerungsdichte'
WHEN "pop_denisty" > 150 THEN 'Hohe Bevölkerungsdichte'
END
"preis_m2" > 1000
"pop_denisty" = 'Hohe Bevölkerungsdichte' und "price_m2" > 1000