Mehr

QGIS berechnet den Hauptbodentyp von Polygonen aus einer anderen Polygonschicht

QGIS berechnet den Hauptbodentyp von Polygonen aus einer anderen Polygonschicht


Ich arbeite schon eine Weile mit qgis, aber irgendwie habe ich das nie herausgefunden, also dachte ich, es ist an der Zeit, nachzufragen.

Ich habe 2 Shapefiles.

  1. eine Polygonebene aus nahegelegenen Feldern (SHAPE1 (die roten Umrisse))
  2. ein Polygon-Layer mit anderen Polygonen als SHAPE1, der Bodentypen als Attribut hat (Sand, Lehm usw.) (SOIL (die funky Disco-Farben, jede Farbe steht für einen anderen Bodentyp)

Was ich herausfinden möchte, ist der Hauptbodentyp für jedes Polygon in SHAPE1. (am besten durch Hinzufügen eines Feldes zu SHAPE1 mit dem Attribut von SOIL)

Ist das möglich?


Mit SQL:

  • Importieren Sie SHAPE1 und Bodenschicht in spatiaLite (Plugin: QspatiaLite), führen Sie dann eine Abfrage aus und laden Sie sie als Tabelle in QGIS.

die SQL:

SELECT SHAPE1.plgnID Als ID, Soils.soiltype Als Bodentyp, MAX(AREA(INTERSECTION(SHAPE1.geometry,Soils.geometry))) FROM SHAPE1, Soils GROUP BY ID

… vorausgesetzt wir haben ein Feld mit Polygon-IDsplgnIDim Layer SHAPE1 und ein FeldBodenartin Schichtböden!

  • Überprüfe das Ergebnis

  • Tabelle mit SHAPE1 verbinden

ps: Natürlich könnte man mit SQL die Schnittmenge, Aggregation und Join in einem Rutsch machen - aber für SQL-Analphabeten wie mich ist der obige Ansatz viel transparenter;)


Sie müssen eine räumliche Verbindung erstellen. Das MMQGIS-Plugin macht dies ganz einfach - MMQGIS -> Combine -> Spatial Join. Ein Tutorial ist hier verfügbar.


Schau das Video: Cut Polygon from another Polygon layer QGIS