分解栅格导致磁盘空间不足 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
这仍然足够大,但应该不会产生问题。
我正在尝试使用 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
这仍然足够大,但应该不会产生问题。