[FOSSGIS-Talk] QGIS: "Attribut nach Position verknüpfen" im Ausdruckseditor? Ergänzung

G. Wagner, Wagner-IT info at wagner-it.de
Do Okt 26 12:36:35 CEST 2023


Hallo Claas,

vielen Dank. Das funktioniert mit " overlay_intersects " und virtuellen
Feldern im Layer bestens!

Tatsächlich kann es ggf. auch mehrere Ergebnisse geben. Z.Bsp. bei einer
Baumgruppe über mehrere Flurstücke (um beim Beispiel zu bleiben).
Wie würde man die einzelnen Elemente aus dem Array abfragen? Bzw. in diesem
Fall mehrere Flurstücksnummern in ein Feld schreiben? Mit "array_foreach" ?
Ich verstehe leider anhand der Hilfe im Ausdruckseditor die Syntax nicht.
Gibt es irgendwo Beispiele, Erklärungen oder hast Du es zufällig mal
irgendwann erklärt?
(ich habe gerade wieder einiges aus Deiner Demo zum Atlasdruck von der
FOSSGIS 2021 gelernt - vielen Dank auch dafür)

Viele Grüße

Günter


-----Ursprüngliche Nachricht-----
Von: FOSSGIS-Talk-Liste <fossgis-talk-liste-bounces at fossgis.de> Im Auftrag
von Claas Leiner
Gesendet: Mittwoch, 25. Oktober 2023 18:27
An: fossgis-talk-liste at fossgis.de
Betreff: Re: [FOSSGIS-Talk] QGIS: "Attribut nach Position verknüpfen" im
Ausdruckseditor? Ergänzung


Hallo Günther,

Ergänzung:
Das lässt sich natürlich auch in ein virtuelles Feld des BaumLayers
schreiben - dann ist die Lage immer dynamisch dabei, wenn neue Bäume
hinzugefügt werden oder sich Flurstücke ändern..

das geht zum Beispiel mit der Funktion aggregate, mir der Du das Ergebnis
einer räumlichen Abfrage direkt in die Attributtabelle schreiben kannst.

Wenn Du im BaumLayer mit dem Feldrechner die Abfrage:
aggregate(
	aggregate:=  'concatenate_unique',
	layer:=	     'flurstuecke',
	expression:= "lagebezeichnung",
	filter:=  intersects( $geometry, geometry(@parent))
	)
für eine Spalte Lage ausführst, wird die lage aus dem Layer flurstuecke
geholt. $geometry gehört zum entfernten layer (also die Flurstücke). Mit
geometry(@parent) bekommst Du die Geometrie des layer, auf dem Du die
Abfrage durchführst. 'concatenate_unique' listet die gefundenen werte
kommasepariert auf. In Deinem Fall liegt ja ein Baum immer in einem
Flurstück. Die Funktion ist aber zum aggregieren da, darunm muss immer eine
AggregatFunktion angegeben werden.

Alternativ auch über overlay im BaumLayer:
  array_first(
	overlay_intersects(
	layer:=	'flurstuecke',
	expression:= "lagebezeichnung"		
				)
	)
Die Funktion overlay_intersects führt direkt eine räumliche Abfrage durch
und ist schneller als aggregate mit räumlicher Filterung.
Gibt immer ein Array zurück, darum array_first(.

Wenn vom Polygonlayerräumlich ein Punktlayer abgefragt wird, kann es
natürlich mehrere Ergebnisse geben.

Viele Grüße,

Claas
--
-----------------------------------------
GKG-Kassel - Dr.-Ing. Claas Leiner
QGIS-Support und mehr

Geodatenservice, Kartenwerkstatt &
GIS-Schule Kassel

Wilhelmshöher Allee 304 E
34131 Kassel
Tel. 0561/56013445
claas.leiner at gkg-kassel.de
----------------------------------------
http://www.gkg-kassel.de
----------------------------------------
Unterstützen Sie QGIS
QGIS-DE e.V. | http://qgis.de
QGIS Projekt | http://qgis.org/de/site/

--
....................................................................
FOSSGIS-Konferenz 2024 mit OpenStreetMap-Event in Hamburg!
20.-23. März 2024 an der TUHH - https://www.fossgis-konferenz.de/

FOSSGIS Vereinstermine:
https://fossgis.de/aktivit%C3%A4ten/termine/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/          https://mastodon.online/@FOSSGISeV
                                 https://twitter.com/FOSSGIS_Verein
____________________________________________________________________
FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste at fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste
--
....................................................................
FOSSGIS-Konferenz 2024 mit OpenStreetMap-Event in Hamburg!
20.-23. März 2024 an der TUHH - https://www.fossgis-konferenz.de/

FOSSGIS Vereinstermine:
https://fossgis.de/aktivit%C3%A4ten/termine/

FOSSGIS e.V, der Verein zur Förderung von Freier Software aus dem
GIS-Bereich und Freier Geodaten!
https://www.fossgis.de/          https://mastodon.online/@FOSSGISeV
                                 https://twitter.com/FOSSGIS_Verein
____________________________________________________________________
FOSSGIS-Talk-Liste mailing list
FOSSGIS-Talk-Liste at fossgis.de
https://lists.fossgis.de/mailman/listinfo/fossgis-talk-liste




Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste