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.

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.

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.

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.

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:

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.

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!

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.
