读取shapefile并将其转换为R

时间:2016-01-08 23:12:31

标签: r dataframe shapefile

我有一个脚本,可以对shapefile进行一些计算,我希望自动化并将值传输到新表中。 我可以在shapefile列表中阅读,但我需要先将它们全部转换为数据帧才能进行计算,不知道如何继续自动执行此过程。

我选择了

中加载shapefile的文件夹
Directory<-"E:/Outputs/BAU-CCSM4/Run0"

我创建了一个shapefile列表

filename <- list.files(Directory, pattern="*.shp", full.names=FALSE)

我使用basename解析.shp以使readOGR正常工作

filenames<- basename(file_path_sans_ext(filename))

我创建一个循环,读取所有文件并分配其名称

for (i in 1:length(filename)) assign(paste(filename[i]), readOGR(Directory, filenames[i]))

我想将我读取的所有文件转换为data.frames,然后遍历我的计算以在每个数据帧上执行,然后将最终值输出到新表中。但我不确定如何创建一个新的循环来创建,因为尝试调用文件我得到一个错误,因为data.frame函数需要将其格式化为data.frame(shapefilename)与字符------ - &GT; `around shapefilename。

是否有另一种方法可以使用变量格式化`for data.frame函数或另一种方式来循环我的shapefile作为数据帧读入。

...

对于脚本部分来说,它将是

的内容
filenames[i]$TotalArea <-c ((filenames[i]$Area) - ((filenames[i]$Area)* (filenames[i]$YieldRed)))
write.csv(filenames[i], file="Newtable")

不确定这是否有效,但在我来之前必须让第一部分工作。

0 个答案:

没有答案