从空间多边形数据框中的循环中写入多个多边形

时间:2018-11-08 11:39:40

标签: dataframe polygon spatial

我有一个循环,可以为每次迭代选择一个多边形。我想将所有多边形汇总到一个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)

我觉得这是一个快速的答案,但是我还是在挣扎...

感谢您的帮助。

非常感谢

0 个答案:

没有答案