Tôi có một danh sách các bộ đệm không gian (30000 bộ đệm) mà tôi đã xây dựng với chức năng 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
Từ danh sách này, làm cách nào tôi có thể hợp nhất tất cả các bộ đệm không gian để có được một shapefile với 30000 bộ đệm (hoặc các tính năng)? (Shapefile này sau đó sẽ được sử dụng trong hàm aggregate
để tổng hợp các đa giác không gian theo các thuộc tính.)
Tôi đã kiểm tra mã này nhưng tôi nhận được thông báo lỗi này:
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
thay vì sử dụnggBuffer
vớibyid = TRUE
?