[FOSSGIS-Talk] Verketten oder zusammenführen von Attributen

Claas QGIS.de claas at qgis.de
Di Feb 5 09:01:35 CET 2019


Hallo Jörg,


Es besteht im QGIS die Möglichkeit einen neuen Layer über eine 
SQL-Abfrage herzustellen:

Verarbeitungs > Werkzeugkiste
Dort: QGIS-Geo-Algorithmen > Allgemeine Vektorwerkzeuge > SQL-Anweisung

Geometrietyp "keine Geometrie", wenn nur eine Tabelle erzeugt werden soll

Folgende SQL-Abfrage formulieren:

--------
select
flurstnummer,
group_concat(nutzungsart) as nutzungsart

from layername

group by flurstnummer
-------------

Mit group by fast Du alle Zeilen mit der gleichen Flurstücksnummer 
zusammen. group_concat erzeugt eine Liste der der Nutzungen.

Alternativ kann dauch ein dynamischer virtueller Layer erzeugt werden:

Layer > Layer hinzufügen > vittueller Layer erzeugt werden.
Dort über die Schaltfläche import in den Layer importieren und 
anschließend die vorher beschriebene Abfrage einfügen.

----------------------------------------

Du kannst auch die Geometrie in die Abfrage integrieren, dann hast Du 
praktisch eine Dissolve-Funktion mit Attribut-Zusammenfassung:

--------
select
Gunion(geometry) as geometry,
flurstnummer,
group_concat(nutzungsart) as nutzungsart

from layername

group by flurstnummer
-------------

Dann muss natürlich vorher im Dialog eine Name für die Geometriespalte 
angegeben werden. Wenn es sich um Shapefiles handelt, einfach geometry.



----------------------------
Das Ganze lässt sich auch über den Feldrechner und mit anschließendem 
Dissolve in zwei Schritten umsetzen.:

Im Feldrechner neue Spalte "nu_list" anlegen und über folgende 
Grupppierungsfunktion füllen:

  concatenate( "nutzungsart" ,group_by:="flurstnummer")

In einem zweiten Schritt den Layer nach der Saplte "nu_list"  verschmelzen:

QGIS-GeoAlgorithmen > Vektorgeometriewerkzeuge > Dissove

Viele Grüße,

Claas


-- 
------------------------
Claas Leiner
QGIS Anwendergruppe DE

Wilhelmshöher Allee 304 E
34131 Kassel
0561/56013445


Mehr Informationen über die Mailingliste FOSSGIS-Talk-Liste