如何创建一个从文件夹中的文件列表中拉出栅格的函数,在它们上运行区域统计

时间:2014-08-20 18:36:26

标签: r for-loop statistics gis

我正在尝试创建一个循环遍历计算机上某个文件夹中的所有栅格网格文件(分水岭盆)的函数,将栅格(盆)转换为不同的投影,并计算栅格上的分区统计(盆地)它从存储在我的.RData文件中的现有栅格砖(1895-2014的降水栅格)中拉出。对于每个栅格(盆),需要返回区域值列表。我已经完成了几个区域统计(盆地1到43),但是如果我可以让这个循环功能起作用,我可以让它在我的计算机上运行,​​直到它完成所有其余的栅格盆。这是我提出的功能;

>file.path="D:/Basins/basin"

>function(file.path) 
     for(i in 44:78) {
         path <- paste(file.path, i, sep="")
         basin <- raster(path)
         basin <- projectRaster(basin, precip_brick)
         precip[,i] <- zonal(precip_brick, basin, fun='mean')
         return(precip[,i])
     }

然后我明白了;

Error in precip[, i] <- zonal(precip_brick, basin, fun = "mean") : 
  incorrect number of subscripts on matrix

我会尝试附加一些数据,但所有数据都是相当大的栅格。

感谢。

0 个答案:

没有答案