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

Claas Leiner claas.leiner at gkg-kassel.de
Do Okt 26 20:47:40 CEST 2023


Moin Günther,

In Deinem Fall würde es reichen, den array einfach als text auszugeben.
Mit  array_to_string( ) erhälts Du eine kommaseparierte Liste der 
Flurstücksnummern.

  array_to_string(
	overlay_intersects(
	layer:=	'flurstuecke',
	expression:= "lagebezeichnung"		
	)
)

  Einzelne Werte des Arrays bekommst Du, in dem ein Zahlwerte in eckige 
Klammern hinten angestellt wird: [0] für den ersten Werte [1] für den 
zweiten Wert u.s.w

overlay_intersects(
	layer:=	'flurstuecke',
	expression:= "lagebezeichnung"		
	)[0]


mit array_foreach() kannst Du einen Ausdruck auf jeden Eintrag des array 
anwenden:
array_foreach(
    overlay_intersects(
	layer:=	'flurstuecke',
	expression:= "lagebezeichnung"		
	 ),
     substr(@element,3,3)
    )
Dieses Beispiel würde aus dem Flurstückskennzeichen jeweils ab dem 3. 
Zeichen 3 zeichen extrahieren. @element steht für den einzelnen Eintrag 
des Arrays.

Grundsätzlich ist es eine spannende Sache mit diesen Listenfeldern.
Ich nutze dass viel bei einem großen Wanderwege-GIS Projekt, bei dem in 
NRW über 4000 Routen zu organisieren sind. Auf einem einzelnen 
Wegeabschnitt verkaufen eine bis 14 Routen. Die werden dann in einer 
Spalte als Array erfasst.

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