我在制作范围略有不同的光栅堆栈时遇到了麻烦。这里给出的答案(第一个)很有用,但对我的情况没有帮助。例如,我想使用bio2 raster for Australia 和this Australian raster制作光栅堆栈。第二个栅格仅适用于澳大利亚,第一个栅格是全球栅格。因此,我使用crop()function将 global bio2 栅格裁剪为与澳大利亚栅格相同的范围,但生成的栅格范围(即bio2.au)略有不同(因此,我无法使用裁剪后的栅格和澳大利亚栅格制作栅格,awc)。示例代码如下:
library(raster)
awc <- raster("path to Australian raster")
bio2.g <- raster("path to Bio2 global raster")
# crop bio2.g to the same extent of awc
bio2.au <- crop(bio2.g, extent(awc))
# make a raster stack
st <- stack(awc, bio2.au)
Error in compareRaster(x) : different extent
Run Code Online (Sandbox Code Playgroud)
我也试过quick=TRUE在stack()函数内使用。但在这种情况下,单元格值awc丢失了。注意:awc光栅大小为 4GB。
# first make a list of rasters …Run Code Online (Sandbox Code Playgroud)