我有一些大的柵格(〜110 MB每個)我想執行一些柵格計算。就本示例而言,我想對文件SNDPPT_M_sl1_1km_ll.tif
和SNDPPT_M_sl2_1km_ll.tif
進行平均,可在this website處獲取。實際上,數學有點複雜(一些柵格的一些乘法和除法)。R-柵格數學,同時保留整數格式
兩個輸入柵格都是整數(INT1U)數據,我希望輸出也是INT1U。但是,每當我嘗試執行柵格計算時,它都會創建大小非常大的浮點格式的中間臨時文件。我正在使用一臺帶有大約7 GB的可用硬盤空間的筆記本電腦,在計算完成之前會將其填充。
# load packages
require(raster)
## script control
# which property?
prop <- "SNDPPT"
# load layers
r.1 <- raster(paste0("1raw/", prop, "_M_sl1_1km_ll.tif"))
r.2 <- raster(paste0("1raw/", prop, "_M_sl2_1km_ll.tif"))
# allocate space for output raster - this is about 100 MB (same size as input files)
r.out <- writeRaster(r.1,
filename=paste0("2derived/", prop, "_M_meanTop200cm_1km_ll.tif"),
datatype="INT1U")
# perform raster math calculation
r.out <- integer(round((r.out+r.2)/2))
# at this point, my hard drive fills due to temporary files > 7 GB in size
任何人是否知道一種解決方法在R 2與同時最小化或避免了非常大的中間文件整數輸入和輸出文件來執行光柵數學?
我對柵格軟件包並不熟悉,但是如果r.out < - (r.out + r.2)%/%2)有效,您能否給它一個鏡頭? (它不完全是你想要的,但關閉) –