Jaki jest najłatwiejszy sposób ograniczenia pamięci używanej przez raster
pakiet R
do 5 GB pamięci RAM?
Idealnie byłoby, gdyby każdy raster przekraczający ten rozmiar był zapisywany na dysku twardym i analizowany z pliku tymczasowego.
Korzystam z systemu Windows 7 (64Bit) i wersji R 3.0.3.
Oto kod, na którym bawiłem się na maszynie z 16 GB pamięci RAM, ale wciąż się rozwija, ponieważ mam do czynienia z dużymi rastrami:
require(raster)
memory.limit(size = 5000)
rasterOptions(format="GTiff",overwrite=TRUE,datatype="INT1S",
tmpdir="C:/Research/BIN",tmptime=1.1,progress="text",chunksize=1000,
maxmemory=1000)
rasterTmpFile("delete_me_")
r <- raster("myraster.tif")
r[r==0] <- NA
Na tym etapie skryptu zwiększa się użycie pamięci RAM, aby zabrać wszystkie 16 GB, a następnie przestaje działać i anuluje funkcję.
Co muszę tutaj zmienić?