Tipps & Tricks I: Variablen in QGIS

von Stefan Giese, WhereGroup

Infobrief 01 | 2021
 

QGIS bietet von sich aus eine ganze Reihe Variablen. Diese können sich auf das Projekt, auf QGIS allgemein oder auch auf bestimmte Elemente in QGIS beziehen. In der Regel sind die Variablen über die Projekteigenschaften zugänglich. Hier wollen wir uns die Variablen im Layout-Bereich ansehen:

Abb. 1: Variablen im Layout-Bereich (Screenshot: Stefan Giese, WhereGroup)


Bei aktiviertem Kartenrahmen sind unter dem Reiter „Variablen“ zahlreiche Einträge zu sehen. Dazu gehören u. a. die Karten­ausdehnung, das Kartenzentrum und die Projektion. Diese Variablen lassen sich direkt im Layout ansprechen. Dafür muss die Kennung des Map­elements manuell unter Elementkennung eingetragen werden.

Abb. 2: Elementerkennung (Screenshot: Stefan Giese, WhereGroup)


Anschließend kann auf sämtliche Variablen mit folgendem Ausdruck zugegriffen werden:

map_get(item_variables( ‚Karte 1‘),‘map_crs‘)

Der Ausdruck item_variables liefert alle Variablen als sogenannte map zurück, also eine Liste mit Schlüsseln und Werten. Über map_get und den entsprechenden Schlüssel, z. B. ‚map_crs‘, erhalten wir die Werte, in diesem Fall das Koordinatensystem der Layoutkarte.
In einem zweiten Beispiel bestimmen wir den Ländernamen des Layers countries, der im Zentrum der Karte liegt:

Abb. 3: Beschriftung (Screenshot: Stefan Giese, WhereGroup)


Hierzu verwenden wir folgenden Ausdruck für das Textfeld:

aggregate(layer:=‘countries‘,
aggregate:=‘concatenate‘,
expression:= „name“,
filter:=intersects($geometry, (map_get(item_variables( ‚Karte 1‘),‘map_extent_center‘))),
concatenator:=‘,‘)

Mit der Funktion aggregate können Attribute aus einem anderen Layer aggregiert werden, die über ein Filterkriterium eingeschränkt werden können. Als Filter wird in diesem Beispiel das Kartenzentrum des Layouts verwendet, welches über die Variable ‚map_extent_center‘ abgefragt wird und mit den Geometrien der Länder verschnitten wird. Wichtig hierbei: Das Kartenbezugssystem der Layoutkarte und das des Länderdatensatzes müssen hier gleich sein.

 

>>> Zurück zum Inhaltsverzeichnis Infobrief 01 | 2021