分解栅格导致磁盘空间不足 space

disaggregating raster causes insufficient disk space

我正在尝试使用 terra 包分解栅格。我的原始栅格是:

library(terra)
  
my_raster 
class       : SpatRaster 
dimensions  : 180, 360, 1  (nrow, ncol, nlyr)
resolution  : 1, 1  (x, y)
extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : lon/lat WGS 84 
source      : EHF2_2020_max.nc_rotated.nc 
varname     : X2020 
name        : X2020 
  

我想将分辨率降低到以下目标栅格

target_raster
class       : SpatRaster 
dimensions  : 21600, 43200, 1  (nrow, ncol, nlyr)
resolution  : 0.008333333, 0.008333333  (x, y)
extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
coord. ref. : lon/lat WGS 84 
source      : GDP_PPP_30arcsec_v3.nc 
varname     : GDP_PPP (Gross Domestic Production (GDP) (PPP)) 
name        :                             GDP_PPP_3 
unit        : constant 2011 international US dollar
  

当我这样做时,出现以下错误:

disagg_raster <- disagg(my_raster, fact = c(21600,43200))
 
Error: [disagg] insufficient disk space (perhaps from temporary files?)
   

我有一个新的 R 会话,除了这两个对象,我的环境中没有加载任何其他对象。是什么导致了这个错误?

但是,当我使用 resample 分解栅格时,我没有遇到任何内存问题

resample_raster <- resample(my_raster, target_raster, method='bilinear')
    

I get below error:

disagg_raster <- disagg(my_raster, fact = c(21600,43200))
# Error: [disagg] insufficient disk space (perhaps from temporary files?)

表示磁盘空间不足 space 无法写入文件。如果认为输出 SpatRaster 太大而无法保存在内存中,则将它们写入磁盘。由于您没有提供文件名参数,该文件将转到 tempdir() 文件夹并且没有足够的磁盘空间 space.

发生这种情况是因为您试图创建栅格的怪物(对于没有像元值的栅格来说很容易做到和看到):

library(terra)
r <- rast()
disagg(r, fact = c(21600,43200))
#class       : SpatRaster 
#dimensions  : 3888000, 15552000, 1  (nrow, ncol, nlyr)
#resolution  : 2.314815e-05, 4.62963e-05  (x, y)
#extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
#coord. ref. : lon/lat WGS 84 
 

您似乎误解了 fact 论点。要获得目标栅格的空间分辨率,您可以执行以下操作:

disagg(r, fact = 120)
#class       : SpatRaster 
#dimensions  : 21600, 43200, 1  (nrow, ncol, nlyr)
#resolution  : 0.008333333, 0.008333333  (x, y)
#extent      : -180, 180, -90, 90  (xmin, xmax, ymin, ymax)
#coord. ref. : lon/lat WGS 84 

这仍然足够大,但应该不会产生问题。