[FOSSGIS-Talk] QGIS: "Attribut nach Position verknüpfen" im Ausdruckseditor?
Claas Leiner
claas.leiner at gkg-kassel.de
Mi Okt 25 18:19:42 CEST 2023
Hallo Günther,
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.
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/
Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste