Ich verwende die R maptools- Bibliothek, um das Shapefile in eine Liste von Polygonen zu analysieren. Die Funktion readShapeSpatial
shp <- readShapeSpatial("<path to my shapefile>")
gibt mir ein SpatailPolygonDataFrame- Objekt. In meinem Beispiel hat mein SpatialPolygonsDataFrame die folgenden Spalten:
> names(shp)
[1] "AREA" "PERIMETER" "COMAREA_" "COMAREA_ID" "AREA_NUMBE"
[6] "COMMUNITY" "AREA_NUM_1" "SHAPE_AREA" "SHAPE_LEN
Ich weiß, dass ich bestimmte Polygone durch ihre entfernen kann row.id
, z
shp.dropI <- shp[-i, ]
shp.subset <- shp[i %in% c(1,2,3),]
Jetzt möchte ich beispielsweise bestimmte Polygone mit einer Bedingung löschen AREA > 10
. Wie setze ich das elegant um? Die einzige Methode, die ich jetzt habe, besteht darin, alle Zeilen zu durchlaufen und entsprechende zu finden row.id
.