我有一个脚本,我在其中读取存储为 .tif 的栅格:
f_treecover <- raster('Landcover_data/treecover_res_100_q.tif')
几个月前该脚本运行良好,但现在我收到以下错误消息:
Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer", :
Cannot create a RasterLayer object from this file.
我可以在 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
但是,脚本中的所有其他对象都是 RasterLayers ,所以我也需要这个对象是一个。我尝试将生成的 SpatRaster 强制转换为 Raster
raster(f_treecover)
,但这会导致与最初尝试读取 .tif 文件时相同的错误消息。
我可能同时安装了光栅包的更新版本(现在使用 3.4-10),这会导致问题吗?