私はdoSNOWパッケージ、より具体的にはparLapply関数を使用して大きなラスタデータセット(OS:Windows x64)のリストを再分類します。R(ウィンドウ)の大きなラスタの並列処理
コードは少しこの最小限の例のようになります。
library(raster)
library(doSNOW)
#create list containing test rasters
x <- raster(ncol=10980,nrow=10900)
x <- setValues(x,1:ncell(x))
list.x <- replicate(9 , x)
#setting up cluster
NumberOfCluster <- 8
cl <- makeCluster(NumberOfCluster)
registerDoSNOW(cl)
junk <- clusterEvalQ(cl,library(raster))
#perform calculations on each raster
list.x <- parLapply(cl,list.x,function(x) calc(x,function(x) { x * 10 }))
#stop cluster
stopCluster(cl)
意図したとおりのコードが実際に動作します。この問題は、結果を進めたいときに発生します。ラスタはかなり大きいなので、それらがディスク上の一時ファイルに保存されている、私の知る限り理解されるように
> plot(list.x[[1]])
Error in file(fn, "rb") : cannot open the connection
In addition: Warning message:
In file(fn, "rb") :
cannot open file 'C:\Users\*****\AppData\Local\Temp\RtmpyKYdpY\raster\r_tmp_2016-02-29_133158_752_67867.gri': No such file or directory
:私は、このエラーメッセージを受信しています。私が雪の群を閉じると、これらのファイルにもうアクセスすることはできません。
私の質問は、クラスタが閉じられたらどのようにデータにアクセスできますか?この方法を使用することができますか?
ありがとうございます!
ありがとうサム!あなたがそれを考えるなら、それは実際にはかなり明白です...試してみて、魅力のように働きます。 – Val