Запись нескольких полигонов из цикла в массив данных пространственных полигонов - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть цикл, который выбирает один полигон для каждой итерации. Я хочу объединить все полигоны в один пространственный полиграфический фрейм данных, чтобы экспортировать его как шейп-файл. 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)

Я чувствую, что это быстрый ответ, но, тем не менее, я борюсь ...

Ценю вашу помощь ..

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...