Ich habe eine Liste der räumlichen Puffer (30000 Puffer), die ich mit der Funktion erstellt habe lapply
:
buff.pts <- lapply(1:nrow(pts.prj), FUN=function(l){
buff <- gBuffer(pts.prj[l,], width=1000) ## 1km
return(buff)
}))
> head(buff.pts)
[[1]]
class : SpatialPolygons
features : 1
extent : 307941.8, 311941.8, 4994518, 4998518 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs +towgs84=0,0,0
[[2]]
class : SpatialPolygons
features : 1
extent : 307226, 311226, 4991153, 4995153 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs +towgs84=0,0,0
Wie kann ich aus dieser Liste alle räumlichen Puffer zusammenführen, um ein Shapefile mit den 30000 Puffern (oder Features) zu erhalten? (Dieses Shapefile wird dann in der Funktion verwendet, aggregate
um räumliche Polygone nach Attributen zu aggregieren.)
Ich habe diesen Code getestet, erhalte jedoch die folgende Fehlermeldung:
test <- as.data.frame(do.call("rbind", buff.pts))
Error in as.data.frame(do.call("rbind", buff.pts)) :
error in evaluating the argument 'x' in selecting a method for function 'as.data.frame': Error in validObject(res) :
invalid class “SpatialPolygons” object: non-unique Polygons ID slot values
lapply
anstatt mitgBuffer
zu arbeitenbyid = TRUE
?