Der QGIS-Ausdruckseditor

Der QGIS-Ausdruckseditor, englisch „expression editor“, ist ein vielseitiges Werkzeug, das an verschiedenen Stellen in QGIS zum Einsatz kommt:

  • Auswahl von Objekten
  • Berechnung neuer Spalten der Attributtabelle
  • Erzeugung neuer Geometrien, auch „Geometriegenerator“
  • Datendefinierte Steuerung von Eigenschaften, wie Symbolfarben, Sichtbarkeit oder Beschriftungen
  • Geoverarbeitungswerkzeuge

Der Syntax ist an SQL angelehnt und spezifisch für QGIS. Es lohnt sich aufgrund der breiten Verwendungsmöglichkeiten im Kontext von Vektordaten, sich dieses Werkzeug genauer anzuschauen. Danach sieht man QGIS und seine Funktionen mit anderen Augen.

Anwendung des Ausdruckeditors
Beispiel für die Anwendung des Ausdruckeditors: Auswahl von Objekten für eine regelbasierte Visualisierung.

Wie funktioniert der Ausdruckseditor?

Der Ausdruckseditor ist vollständig in QGIS implementiert und hängt nicht von der jeweiligen Datenquelle (Shapefile, Geopackage, PostgreSQL/PostGIS) ab. Die meisten Funktionalitäten beziehen sich auf die Auswahl und Verarbeitung von Vektordaten oder die Steuerung von QGIS-Funktionen. Der Rasterrechner, welcher das Gegenstück zum Feldrechner für Vektordaten bildet, hat einen völlig anderen Syntax und kann nur Rasterwerte neu berechnen.

Beispiel für den QGIS Objektfilter
Beispiel für einen Objektfilter: Der Syntax bezieht sich hier auf den Datenanbieter PostgreSQL, worauf QGIS hinweist. Es handelt sich hierbei nicht um den Ausdruckseditor.

Alle Daten, die mit dem Ausdruckseditor verarbeitet werden, müssen in QGIS verarbeitet werden. Einen Index auf einer Spalte in der Datenbank zu haben, hat also keine Auswirkung auf den Ausdruckseditor – was einen wesentlichen Unterschied zum Objektfilter auf einem Layer darstellt. Der Filter für einen Layer nutzt einen datenanbieter-spezifischen Syntax. Ist die Datenquelle ein Shapefile, hat man andere Möglichkeiten als bei einem Geopackage oder einer PostgreSQL-Datenbank. Bei einem Objektfilter kommen Indizes zum Tragen und durch einen Filter, kommen die Daten überhaupt nicht im QGIS an und müssen verarbeitet werden.

Wenn Ihr Fenster analog zur folgenden Abbildung aussieht, dann haben Sie den QGIS-Ausdruckseditor vor sich. Im Falle des Feldrechners ist noch ein weiterer Bereich zur Auswahl bzw. Erstellung von neuen Spalten sichtbar.

Beispiel für den QGIS Ausdruckeditor
Beispiel für den QGIS-Ausdruckseditor mit den drei wesentlichen Funktionsbereichen.

Der Ausdruckseditor unterteilt sich in drei wesentliche Bereiche: das Eingabefeld, wo man den Ausdruck einträgt, darunter findet man eine Vorschau, welche sich auf das ausgewählte Objekt bezieht. In der Mitte kann man Spalten, Variablen oder Funktionen auswählen. Je nach Kontext wird die Liste angepasst. Die Spalten der Attributtabelle findet man unter „Felder und Werte“. Der Bereich ganz rechts zeigt jeweils passende Informationen oder Funktionen zur Auswahl in der Mitte. Es kann die Erklärung einer Funktion oder Variable sein, wie im Beispiel. Hat man eine Spalte ausgewählt, kann man sich dort die eindeutigen Werte berechnen lassen.

Auswahl von Objekten

Den Ausdruckseditor zur Auswahl von Objekten kann man aus der Toolbar und der Attributtabelle über das Icon mit dem gelben Quadrat und dem Epsilon ausrufen oder in der Menüleiste über Bearbeiten > Auswählen > Objekte nach Ausdruck wählen …

Der Syntax des Ausdruckseditors ist abgeleitet von SQL, was man besonders bei der Auswahl von Objekten merkt. Die Namen von Spalten bzw. Feldern werden in doppelten Anführungszeichen geschrieben, können aber auch weggelassen werden, wenn keine Leerzeichen o. Ä. im Namen enthalten sind. Zeichenketten müssen immer in einfachen Anführungszeichen geschrieben werden, Zahlen ohne Anführungszeichen. Zu beachten ist dabei, dass der Dezimaltrenner unabhängig von der Spracheinstellung immer ein Punkt sein muss.

Beispiele für eine Auswahl mit dem QGIS-Ausdruckseditor.
Beispiele für eine Auswahl mit dem QGIS-Ausdruckseditor. Wählt man eine Spalte aus, so kann man sich im rechten Fensterbereich eine Liste aller Werte generieren lassen und darin suchen.

Neue Werte berechnen

Das Berechnen neuer Spalten in der Attributtabelle ist ein häufiger Anwendungsfall. Dann kommen noch ein paar weitere Optionen zum Ausdruckseditor hinzu. Es muss definiert werden, welche Spalten und Zeilen neu berechnet werden: alle Zeilen oder nur eine Auswahl? In welcher Spalte soll das Ergebnis gespeichert werden? In einer neuen Spalte oder in einer bestehenden Spalte? Dafür sind die Einstellungen im rot markierten Bereich der folgenden Abbildung:

Der QGIS-Feldrechner
Der QGIS-Feldrechner ist ein erweiterter Ausdruckseditor – man muss noch festlegen, in welche Spalte das Ergebnis gespeichert werden soll (rot markierter Bereich)

Praktisch ist hier die Vorschau; ohne dass Sie das Ergebnis berechnen müssen, ist bereits zu sehen, wie das Resultat aussehen wird. Man kann bei Objekt auch ein anderes Beispiel auswählen und gegenprüfen.

Arbeiten mit Geometrien

Für das Arbeiten mit Geometrien möchte ich zwei Beispiele vorstellen: einmal, wie man die Fläche einer Geometrie bekommt, und einmal, wie man eine neue Geometrie mit einem Ausdruck im „Geometriegenerator“ berechnet.

Die Fläche einer Geometrie kann man zum Beispiel auf dem Ellipsoid oder in der Ebene berechnen, daher gibt es zwei Funktionen dafür: $area gibt die Fläche auf dem Ellipsoid zurück, area(@geometry) berechnet diese in der Ebene. Die genauen Einheiten hängen von den jeweiligen Einstellungen im QGIS bzw. dem Koordinatensystem des Layers ab. Generell würde ich eher dazu raten, $area zu verwenden, es sei denn, Sie sind vom Fach und wissen um die Unterschiede und die damit verbundenen Risiken.

Flächenberechnung mit dem QGIS-Ausdruckseditor
Flächenberechnung mit dem QGIS-Ausdruckseditor – es lohnt sich, die Hilfetexte zu lesen!

Mit der Fläche kann man insbesondere eine Spalte füllen oder Objekte auswählen. „$area > 500“ würde mit den Standardeinstellungen für QGIS alle Objekte mit einer Fläche größer als 500 m² auswählen.

Der Geometriegenerator ist eine besondere Art der Darstellung – damit kann man ohne Vorberechnung die Geometrie eines Objektes mittels eines Ausdrucks modifizieren. Etwa den Mittelpunkt berechnen und nur diesen für eine Fläche darstellen. Die notwendige Funktion „point_on_surface“ oder „centroid“ findet man in der Funktionsgruppe „Geometrie“. Natürlich kann man hier auch Funktionen verschachteln. Aber Achtung: Je komplexer die Berechnung, desto länger braucht QGIS auch zum Zeichnen der Karte!

Beispiel für einen Ausdruck im Geometriegenerator
Beispiel für einen Ausdruck im Geometriegenerator: Klickt man auf den rot markierten Button, so öffnet sich der Ausdruckseditor.

Zusammenfassung

Der Ausdruckseditor in QGIS ist ein mächtiges Werkzeug, das Sie an vielen Stellen in QGIS wiederfinden. Es sollte nicht mit dem Objektfilter verwechselt werden. Der Blogbeitrag gibt einen kurzen Überblick mit verschiedenen Anwendungsfällen: Auswahl von Objekten, Berechnung neuer Werte und das Arbeiten mit Geometrien. Sie wünschen sich, eine schnelle Zusammenfassung? Dann ist vielleicht unser Spickzettel genau das Richtige für Sie. Am besten auf A5 ausdrucken und auf den Schreibtisch legen.

Tipps und Tricks für den QGIS-Ausdruckseditor

Mathias Gröbe

Schreiben Sie einen Kommentar

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

Nach oben scrollen