saveRDS()
それぞれがラスター レイヤーとメタデータを含むリストを含む多数のリストを保存するために使用しようとしています。ラスター レイヤーが ncdf ファイルから抽出された場合は正常に機能しましたが、元のファイルが ASCII ファイルsaveRDS()
の場合、値を最終ファイルに書き込むのではなく、元のファイルへのポインターのみを書き込みます。
何が起こっているかの要約版は次のとおりです。
require(raster)
mf <- raster('myfile.asc')
meta <- list(mylonglistofmetadata)
res <- list(mf, meta)
saveRDS(res, 'myresult.Rdata')
myresult.Rdata
は単純に への 33KB のポインタになりましたmyfile.asc
。実際に値を保存して、消去後も機能するようにしたい場合myfile.asc
(したがって、約 15MB になるはずです)
対照的に、ncdf 形式の他のファイルの場合:
require(ncdf4)
require(raster)
ff <- 'myfile2.nc'
nc <- nc_open(ff)
meta <- list(mylonglistofmetadata)
res <- list(nc, meta)
saveRDS(res, 'myresult2.Rdata')
ここでmyresult2.Rdata
は、私が望むようにすべてを保存しているので、ラスターパッケージで問題が発生すると思いますか?
誰でもこれを修正する方法について何か考えがありますか? writeRaster()
メタデータをデータと一緒に保持しようとしており、ncdf ファイルから抽出したバッチと同じ形式を使用して、後の処理を容易にするため、使用しないことをお勧めします。