Fortgeschrittenes Gestalten und Beschriften

In den häufigsten Fällen genügen uns die einfachen von QGIS angebotenen Funktionen zur Gestaltung und Beschriftung von Layern. Das wären:

  • Symbolisierung: Einzelysmbol, Kategorisiert und Abgestuft
  • Beschriftung: Keine Beschriftung, Einzelne Beschriftung

Diese einfachen Darstellungs-und Beschriftungsmethoden verwenden die Attributwerte aus der Attributtabelle des Layers und gestalten Sie nach den vom Nutzer getroffenen Einstellungen für Farbe, Form, Klassenzahl- und Größe etc. Möchten wir aber mehr Einfluss darauf nehmen, wie die Geometrien unsere Layer gestaltet werden sollen, oder bevorzugen wir anstatt einer statischen, eine dynamische Gestaltung oder Beschriftung, so müssen wir uns vor allem mit der Regelbasierte Darstellung / Beschriftung  und der Feld,- Ausdruck- oder Variablien Definierte-Übersteuerung  beschäftigen.

Regelbasierte Darstellung

Im folgenden kommt dieser Datensatz (GeoPackage) zur Anwendung: Mainz-Landuse.GPKG

Die auf Feldern (Werte eines oder mehrere Attribute) basierende Darstellung ist die Methode, einen Layer nach seinen Attributeigenschaften zu gestalten: Trifft in einem Attribut ein vorgegebener Wert zu, so wird die entsprechende vom Nutzer zugewiesene Symbolisierung verwendet. Dies verstehen wir bereits als Regel, denn auch bei den oben genannten „einfachen“ Funktionen zur Gestaltung und Beschriftung, kommen Regeln zu Einsatz. Sichtbar wird das, wenn man Folgendes versucht:

Wählen Sie die Darstellungsmethode Kategorisiert und klassifizieren Sie nach einem beliebigen Attribut. Wenn Sie dann auf Regelbasierend wechseln, sehen Sie, was QGIS bei der Kategorisierung tatsächlich tut:

Kategorisierte Darstellung
Regelbasierte Darstellung

Richtig! QGIS erstellt Regeln - und das tut QGIS immer, nur manchmal sind sie nicht sichtbar für den Anwender. 

Der QGIS3 Ausdrucksdialog

QGIS verwendet also Regeln oder auch Ausdrücke genannt. Sie werden in einer SQL-ähnlichen Syntax geschrieben. Der Anwender kann den Ausdruck als Fließtext schreiben oder hat die Möglichkeit ihn „zurecht zu klicken“ in dem er den Ausdrucksdialog » verwendet.

Eine Regel bzw. ein Ausdruck setzt sich zusammen aus Feldern und Werten sowie Operatoren, Bedingungen, Funktionen etc. Die Funktionsliste ist sehr lang und mit QGIS3 ein ganzes Stück länger geworden… Die Funktionsliste im (derzeit aktuellsten) QGIS-Handbuch zeigt sie zu Zeiten von QGIS 3.4 

Es sind die gleichen Regeln, welche wir z.B. bei Abfragen formulieren oder um die Attributliste zu filtern. Wer Funktion und Schreibweise von Regeln / Ausdrücken beherrscht, beherrscht QGIS!


Im folgenden Screencast werden einfache Regeln geschrieben um mit Ihnen die gewünschten Landnutzungen zu klassifizieren.

OpenStreetMap liefert u. A. vollständige Landnutzungspolygone. Diese dienen uns hier am Beispiel Mainz. Die Regeln sind einfach: Trifft in einem gewählten „Attribut“ der eingegebene 'Wert' zu, so wird die vom Nutzer gewünschte Signatur verwendet.

Attribute werden in doppelten Anführungszeichen („Attribut“), Werte in einfachenAnführungszeichen ('Wert') geschrieben!

Die verwendeten Regeln lauten:

„landuse“ = 'residential'

„landuse“ = 'retail'

„landuse“ in ('industrial','commercial') 1)

„landuse“ not in ('retail','commercial','residential','industrial') 2)

Leider werden in der deutschen Übersetzung von QGIS verschiedene Begrifflichkeiten für ein und die selbe Sache verwendet: Attribute (englisch: Atribute) werden auch als „Spalten“ oder „Felder“ bezeichnet. Werte (englisch: Value) werden oft ebenfalls als „Felder“ bezeichnet. 

Regelbasierte Beschriftung

Analog zur regelbasierten Darstellung, können auch Regeln für Beschriftungen erstellt werden. So ist es möglich, für unterschiedliche Objekte (also die sich in Ihren Attributeigenschaften unterscheiden) auch unterschiedliche Beschriftungen/Formatierungen zu erstellen. Aber…

Die Regelbasierte Beschriftung hat noch Ihre Schwächen! Oft bietet es sich eher an die Feld,- Ausdruck- oder Variablen-Definierte Übersteuerung (im folgendes Kapitel) zu verwenden.

Feld,- Ausdruck- oder Variablen-Definierte Übersteuerung 

<imgcaption dadu|Datendefinierte Übersteuerung></imgcaption>Jeder Parameter, jede Formatierungseigenschaft, jede Strichlinie, Farbe, Größe… alles lässt sich manuell eingeben - so wie wir es von den meisten Programmen her kennen und so wie es bei QGIS auch zu sein scheint. Aber ein unauffälliges Symbol hinter jeder Einstellung: …deutet darauf hin: QGIS kann auch dynamisch! Wenn wir das Symbol aktivieren, öffnet sich dieses Menü: 

Die Datendefinierte Übersteuerung ermöglicht, alle statischen Angaben, mit dynamischen zu „überschreiben“. Denn sobald das Datenübersteuerung-Symbol gelb aufleuchtet, ist es aktiv und die manuelle Angabe hat keine Bedeutung mehr. Aber was sind unsere „definierenden Daten“?

Variable: Diese werden für das Projekt unter den Projekt → Projekteigenschaften → Variablen festgelegt. Es gibt bereits einige und es können beliebig viele weitere hinzugefügt werden. 

Attributfeld: Der jeweilige Wert eines Attributs z.B. „FrontSize“  definiert die Eigenschaft.

Ausdruck: Es kann eine Regel/Ausdruck, welche mit ihrer vollständigen Komplexität geschrieben werden kann, eingesetzt werden.


In diesem Screencast sehen Sie eine Kombination aus einer Variablen- und Ausdruck-Definierten Übersteuerung mit dem Ziel, die Beschriftungsgröße zu dynamisieren. Dynamisch ist es deswegen, da eine Änderung der Variablen, eine Veränderung der Schriftgröße zur Folge hat. Wir können ohne großartig zu suchen und zu klicken, Änderungen herbeiführen.


In diesem Screencast werden zwei neue Attribute (für Farbe, Schriftgröße) erstellt. Diese dienen uns, um die Schriftgröße und -Farbe allein durch Bearbeiten der Attributt-Werte zu beeinflussen. Es werden auch einzelne Objekte hinsichtlich Farbe und Größe mit dem „Infotool“ und dem Formular geändert. In diesem Beispiel werden nur zwei Parameter gesetzt, es ist aber möglich, ALLES an Einstellungen zu „übersteuern“.


In QGIS3 gibt es eine neue Funktion, mit welcher das vorherige Erstellen neuer Attribute in der Attributtabelle überflüssig wird. QGIS3 kann diese Attribute in der Projektdatei bzw. in eine angehängte Datei schreiben:  Auxiallary Storage oder Hilfslayer. Versuchen Sie es: Datendefinierte Übersteuerung → Daten in Projekt speichern (es wird automatisch eine neue virtuelle Spalte in der Attributtabelle angelegt. Daten die hier hinein geschrieben werden, befinden sich nicht im Layer, sondern in/bei der Projektdatei)

1)
das 'in' wird verwendet, um eine in Klammern gesetzte Werteliste zu verwenden
2)
→ das 'not in' negiert die Liste

Diskussion

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