J'utilise la bibliothèque R maptools pour analyser le fichier de formes dans une liste de polygones. La fonction readShapeSpatial
shp <- readShapeSpatial("<path to my shapefile>")
me donne un objet SpatailPolygonDataFrame . Dans mon exemple, mon SpatialPolygonsDataFrame a les colonnes suivantes:
> names(shp)
[1] "AREA" "PERIMETER" "COMAREA_" "COMAREA_ID" "AREA_NUMBE"
[6] "COMMUNITY" "AREA_NUM_1" "SHAPE_AREA" "SHAPE_LEN
Je sais que je peux supprimer certains polygones par leur row.id
, par exemple
shp.dropI <- shp[-i, ]
shp.subset <- shp[i %in% c(1,2,3),]
Maintenant, je veux supprimer certains polygones avec une condition, disons AREA > 10
. Comment puis-je implémenter cela avec élégance? La seule méthode que j'ai maintenant consiste à parcourir toutes les lignes et à trouver le correspondant row.id
.