मेरे पास स्थानिक बफ़र्स (30000 बफ़र्स) की एक सूची है जिसे मैंने फ़ंक्शन के साथ बनाया है 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
इस सूची से, मैं 30000 बफ़र्स (या सुविधाओं) के साथ एक आकृति प्राप्त करने के लिए सभी स्थानिक बफ़र्स को कैसे मर्ज कर सकता हूं? (इस आकृति को तब फ़ंक्शन aggregate
में स्थानिक बहुभुजों को विशेषताओं द्वारा संयोजित करने के लिए उपयोग किया जाएगा ।)
मैंने इस कोड का परीक्षण किया लेकिन मुझे यह त्रुटि संदेश प्राप्त हुआ:
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
उपयोग करने के बजायgBuffer
साथbyid = TRUE
?