使用多个线程从栅格块中提取数据

时间:2014-11-28 12:14:46

标签: r multicore raster r-raster

我正在从光栅文件中提取数据。我只需要提取1000个单元格的随机样本,如下所示:

pr <- brick(filename[i], varname=var[i], na.rm=T)
cells <- sampleRandom(pr[[1]], 1000, cells=T)
prvals <- pr[cells[,1]] #Equivalent of extract(pr, cells[,1])

我想使用更多内核来加速这个过程,如下所示:

beginCluster(4)
pr <- brick(filename[i], varname=var[i], na.rm=T)
cells <- sampleRandom(pr[[1]], cnsample, cells=T)
prvals <- clusterR(pr, extract, args=list(cells[,1]))
endCluster()

然而,clusterR()行给我带来了各种错误,例如:

  
    

prvals&lt; - clusterR(pr,extract,args = list(cells [,1]))checkForRemoteErrors中的错误(lapply(cl,recvResult)):生成4个节点     错误;第一个错误:参数长度为零

         

prvals&lt; - clusterR(pr,extract,args = list(cells [,1]))checkForRemoteErrors中的错误(lapply(cl,recvResult)):生成2个节点     错误;第一个错误:参数长度为零

         

prvals&lt; - clusterR(pr,extract,args = list(cells [,1]))checkForRemoteErrors中的错误(lapply(cl,recvResult)):生成3个节点     错误;第一个错误:参数长度为零

         

prvals&lt; - clusterR(pr,extract,args = list(cells [,1]))clusterR中的错误(pr,extract,args = list(cells [,1])):cluster error In     另外:有11个警告(使用警告()来查看它们)

         

prvals&lt; - clusterR(pr,extract,args = list(cells [,1]))checkForRemoteErrors中的错误(lapply(cl,recvResult)):生成3个节点     错误;第一个错误:参数长度为零另外:警告     消息:关闭未使用的连接9     (/tmp/R_raster_tmp/afantini/raster_tmp_2014-11-28_131043_31528.gri)

  

怎么了?

编辑: 我尝试了raster文档中的示例,它们可以在另一台机器上运行,但事实并非如此。所以这台机器存在更深层次的问题。包雪正确安装。 R是最新版本。

0 个答案:

没有答案