Metainformationen zur Seite
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
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.
...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?
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
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:
- Die Attributtabelle
des abzufragenden Layers (Taste F6)
- 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
(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
Aktualisiert: 2021/01/26 10:31
Fragen, Hinweise und Fehler kommen hier hin: