我有一个循环,可以为每次迭代选择一个多边形。我想将所有多边形汇总到一个spaceicalpolygonsdataframe中,以便将其导出为shapefile。 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)
}
循环后,我想将autopolysp(spatialpolygonsdataframe)中的单个形状与:
autopolyplot <- SpatialPolygonsDataFrame(sapply(autopolysp))
这种方法在我创建spdf时已经失败了。
我还尝试过创建spdf:
spl<-SpatialPolygons(list())
data<-data.frame()
autopolyshp = SpatialPolygonsDataFrame(spl, data)
我觉得这是一个快速的答案,但是我还是在挣扎...
感谢您的帮助。
非常感谢