突然出现错误“无法从此文件创建 RasterLayer 对象。” 在之前有效的脚本中

Len*_*ena 5 tiff r r-raster terra

我有一个脚本,我在其中读取存储为 .tif 的栅格:

f_treecover   <- raster('Landcover_data/treecover_res_100_q.tif')       
Run Code Online (Sandbox Code Playgroud)

该脚本在几个月前运行良好,但现在我收到以下错误消息:

Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer",  : 
  Cannot create a RasterLayer object from this file.
Run Code Online (Sandbox Code Playgroud)

我可以使用 terra 中的“rast”函数读取该文件:

f_treecover   <- rast('Landcover_data/treecover_res_100_q.tif')      
> f_treecover
class       : SpatRaster 
dimensions  : 1400, 3600, 1  (nrow, ncol, nlyr)
resolution  : 0.1, 0.1  (x, y)
extent      : -180, 180, -60, 80  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +no_defs 
source      : treecover_res_100_q.tif 
name        : treecover_res_100_q 
Run Code Online (Sandbox Code Playgroud)

但是,脚本中的所有其他对象都是 RasterLayers ,因此我也需要该对象也是其中之一。我尝试将生成的 SpatRaster 强制转换为 Raster

raster(f_treecover)
Run Code Online (Sandbox Code Playgroud)

,但这会导致与最初尝试读取 .tif 文件时相同的错误消息。

我可能同时安装了光栅包的更新版本(现在使用 3.4-10),这可能是导致问题的原因吗?

Len*_*ena 0

最后,通过完全删除并重新安装 R 解决了问题。我之前曾尝试过,但显然卸载不完整,事实证明,我之前安装的软件包在重新安装 R 后又可用了。