Abfragen und Regeln mit QGIS Ausdrücken*

Ausdrücke (Expressions oder Regeln) sind überaus bedeutend, denn sie kommen in vielen Bereichen von QGIS vor: beim Styling, bei Abfragen, Feldberechnungen, zum Filtern und Auswählen und bei der Erstellung von Kartenserien (Atlas). Schenken wir diesem Thema also besondere Aufmerksamkeit.

Ausdrücke und Ausdrucksdialog

Abb. 1: Der Ausdruckseditor mit einfachem Ausdruck

Ausdrücke sind im übertragen Sinne Formeln, welche in einer QGIS-eigenen, SQL-ähnlichen Syntax geschrieben sind und in mehrere Ebenen verschachtelt sein können. Mit ihnen werden Bedingungen formuliert sowie damit verbundene Anweisungen, die bei Erfüllung oder Nichterfüllung der Bedingung eintreten. Wir können Ausdrücke fortlaufend schreiben oder mit Hilfe des Ausdruckseditors per Klick erstellen (Abb. 1). Es steht uns eine große Anzahl an Funktionen zur Verfügung (Abb. 1: (1)), welche mit einer Suchmaske gefiltert werden können. Für fortgeschrittene Anwender besteht die Möglichkeit über den Funktionseditor (Abb. 1: (2)), eigene Python-Scripte anstelle der QGIS-Ausdrücke zu verwenden.

Ausdrücke in der QGIS 3.4 Dokumentation

...und wo finde ich den Ausdruckseditor?

Überall in QGIS lassen sich mit Ausdrücken Dinge steuern: Beschriftungen, Symbolisierung, Berechnungen, Kartendarstellung etc… Betrachten wir die QGIS Oberfläche, finden wir auf Anhieb mehrere Stellen mit dem Epsilon-Symbol (Abb. 2). Und dahinter verbirgt sich der Ausdruckseditor oder Ausdrucksdialog (Abb. 1).

Aber nicht nur da, sondern an vielen weiteren Stellen. Zum Beispiel bei der Datendefinierten Übersteuerung mit dem Symbol - finden Sie es in Abb. 2?

Abb. 2: Such das Epsilon!

Attribute (Spalte in der Attributtabelle) werden immer in doppelte Anführungszeichen gesetzt: „ATTRIBUT“; Werte (Zelle der Attributtabelle) in einfachen Anführungszeichen: 'WERT'.

Groß- und Kleinschreibung, Zeilenumbrüche oder aufeinanderfolgende Leerzeichen spielen bei der QGIS-SQL-Syntax keine Rolle und können verwendet werden

Übung

Datensatz-Deutschland

Die überaus große Bedeutung von Ausdrücken in QGIS, sind es Wert, sich mit zumindest den einfachsten genauer zu beschäftigen und diese zu verinnerlichen. Das Schema ist immer gleich „Attribut“ in Anführungszeichen, 'Werte' in Hochkomma.

Die häufigsten Operatoren im Überblick:

Einfache Abfragen: Ergebnis
"Attribut" LIKE 'Wert'
gesuchter Wert wird unter Berücksichtigung der Groß- und Kleinschreibung gefunden.
"Attribut" = 'Wert'
ähnlich wie LIKE, für Zahlenwerte (funktioniert bei Text auch)
"Attribut" != 'Wert'
Werte die ungleich sind, werden gefunden
"Attribut" <= 'Wert'
oder
"Attribut" >= 'Wert'
Zahlenwerte Kleiner-Gleich oder Größer-Gleich werden gefunden
Verbinder:
"Attribut A" = 'Wert 1' OR "Attribut A" = 'Wert 2'
Zwei Werte innerhalb eines Attributs werden gefunden
"Attribut A" = 'Wert 1' AND "Attribut B" = 'Wert 2'
Zwei Werte innerhalb zweier Attribute werden gefunden
"Attribut" IN ('Wert 1', 'Wert 2', 'Wert 3')
Alle Attribute innerhalb der Klammern (Liste) werden gefunden (Kommagetrennt)

Für die folgenden Aufgaben verwenden Sie bitte entweder:

  1. Die Attributtabelle des abzufragenden Layers (Taste F6)
  2. Objekt über Ausdruck wählen (Strg + F3)

Aufgaben: Verwenden Sie die Polygon-Layer: VG250_LAN und VG250_KRS aus dem Datensatz-Deutschland und

  • Wählen Sie Hessen und Thüringen
  • Wählen Sie alle Länder außer Bayern
  • Wählen Sie alle Länder mit weniger als 10 Mio Einwohnern

Fragen:

  • Wieviele Kreise befinden sich in Sachsen? (Schlüsselnummer: 14)
  • Wieviele Kreise in Deutschland haben weniger als 100.000 Einwohner?
  • Wieviele Kreise in Sachsen und Thüringen haben mehr als 100.000 und weniger als 500.000 Einwohner?

Übersteuerung mit Ausdrücken, Variablen oder Feldwerten

Kontextmenü der Datendefinierten Übersteuerung

(Fast) überall da, wo Einstellungen am Stil, der Beschriftung oder in der Druckzusammenstellung vorgenommen werden können, befindet sich dieses kleine unscheinbare Symbol: Es steht für daten- oder regelbedingte Übersteuerung und ermöglicht uns die statischen per Hand eingegebenen Werte durch dynamische zu ersetzen. Diese stammen aus

  • Regeln (Ausdrücke) (siehe oben)
  • Variablen (können in den Projekteigenschaften frei vergeben werden)
  • Feldwerte (stammen aus der Attributtabelle des Layers) oder
  • Hilfsspeicher (geometrielose Tabelle, welche mit der Projektdatei gespeichert wird, und als Datenspeicher dient)

Diese Funktion ist zugegeben etwas fortgeschritten, expandiert aber die Möglichkeiten der Visualisierung und Beschriftung ganz erheblich. Außerdem sind dynamische Werte Abhängig von den (Layer-)Daten und nicht von einer Nutzereingabe, wodurch sich beispielsweise gut mit Templates arbeiten lässt: eine Projektvorlage mit Datendefinierten Einstellungen, wird sich den Daten anpassen. Ein manuelles Nacharbeiten (bei dem oft Dinge übersehen oder falsch eingegeben werden) ist nicht notwendig!

mehr dazu (in Englisch) im QGIS Handbuch

Archivierte Inhalte ∇


Aktualisiert: 2021/01/26 10:31

Fragen, Hinweise und Fehler kommen hier hin:

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen: