Ich habe ein einfaches Raster (erstellt mit R-Paket: Raster). Mit der Funktion "rasterToPolygons" erhalte ich Polygone aller Rasterzellen, die den Wert "1" enthalten:
%Vor%Ich benutze "dissolve = T" nicht, um zu vermeiden, dass alle Polygone zu einem großen Polygon verschmolzen werden. Stattdessen möchte ich einen neuen SpatialPolygonsDataFrame erhalten, in dem alle Polygone kombiniert werden, die eine Kante oder einen Punkt teilen. Polygone, die klar getrennt sind, sollten als einzelne Polygone identifizierbar sein. Basierend auf dem neuen SpatialPolygonsDataFrame möchte ich die Größe der kombinierten Polygone wie folgt analysieren:
%Vor%Meine Frage ist zweifach: 1) Wie kombiniere ich Polygone, die eine Kante oder einen Punkt teilen? 2) Wie erhalten Sie diese Informationen in einem Format, das die Analyse der Bereiche der kombinierten Polygone ermöglicht? Vielen Dank für Ihr Feedback.
Sie könnten zuerst raster::clump()
verwenden, um Cluster verbundener Rasterzellen zu identifizieren und dann rasterToPolygons()
anwenden, um diese Zellen zu "polygonisieren". (Beachten Sie jedoch, dass der Bereich jedes Clumps direkt aus RasterLayer
berechnet werden kann, ohne ihn in ein SpatialPolygonsDataFrame
zu konvertieren, wie unten gezeigt):
Das rgeos
-Paket enthält viele Polygon-Manipulationstools. gUnion
wird zusammen berühren Polygone: