У меня есть цикл, который выбирает один полигон для каждой итерации. Я хочу объединить все полигоны в один пространственный полиграфический фрейм данных, чтобы экспортировать его как шейп-файл.
refpoly
Цикл может выглядеть так:
ref<-shapefile(reference.list[grepl(pattern, reference.list)]);ref$Id<-1:nrow(ref)
auto<-shapefile(i);auto$Id<-1:nrow(auto)
autopolysp <- spatialpolygonsdataframe()
#loop over polygons
for (j in 1:20){
refpoly <- ref[which(ref$Id==j),];plot(refpoly)#select reference poly
centroids <- gCentroid(refpoly);plot(centroids, add=TRUE) #id centroid of ref poly
autopoly1 <- auto[which(gIntersects(refpoly,auto, byid=TRUE)==TRUE),];plot(autopoly1, border="red",add=TRUE)
autopolysp[j]<-SpatialPolygons(autopoly)
}
После цикла я хотел объединить отдельные фигуры в автополисп (пространственный полиграфический фрейм) с:
autopolyplot <- SpatialPolygonsDataFrame(sapply(autopolysp))
Этот подход терпит неудачу уже в момент, когда я создаю spdf.
Я также пытался создать spdf следующим образом:
spl<-SpatialPolygons(list())
data<-data.frame()
autopolyshp = SpatialPolygonsDataFrame(spl, data)
Я чувствую, что это быстрый ответ, но, тем не менее, я борюсь ...
Ценю вашу помощь ..
Большое спасибо