2017-04-22 151 views
0

如何将多个.shp文件作为一个对象读取?将多个`.shp`文件作为一个对象读取?

我想简单地阅读代码。

nc <- st_read(dsn = "nc", 
       layer = c("nc1","nc2")) 

将多个文件作为对象读取的最佳方法是什么?

library(sf) 
nc <- st_read(system.file("shape/nc.shp", package="sf")) 

nc1 <- nc[1:50, ] 
nc2 <- nc[51:100, ] 

st_write(nc1, 
     dsn = "nc", 
     layer = "nc1", 
     driver = "ESRI Shapefile") 

st_write(nc2, 
     dsn = "nc", 
     layer = "nc2", 
     driver = "ESRI Shapefile",update = T) 
+2

如果你在阅读他们的空间的多边形data.frame,你可以将它们合并的建议[这里](https://gis.stackexchange.com/questions/155328/merging-multiple- spatialpolygondataframes-into-1-spdf-in-r),如果没有,你可能需要寻找arcpy解决方案。 –

回答

2
do.call(rbind, lapply(c("nc1", "nc2"), function(x) st_read("nc", layer = x)))