r语言 - 以前工作的脚本中突然出现错误'Cannot create a RasterLayer object from this file.'



我有一个脚本,在其中我读取存储为.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(f_treecover)

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

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

如果没有安装rgdal软件包,则会得到

Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer",  : 
Cannot create RasterLayer object from this file; perhaps you need to install rgdal first

在这种情况下,您应该安装rgdal

否则,请确保您没有加载旧的工作区(使用unlink(".RData"),退出R而不保存工作区,然后重新启动

如果没有帮助:请卸载R并重新安装最新版本和软件包。

最后,通过完全删除并重新安装R,问题得到了解决。我之前尝试过,但显然未完成卸载,这可以从我之前安装的软件包在重新安装R时再次可用的事实中得到证明。

如果tif名称有一个无法识别的字符,也可以是,例如Māui中的ā。

我之前没有遇到任何问题。我意识到发生的事情是我的Dropbox帐户没有同步,所以根本找不到文件。如果您将raster.tif对象存储在环境中并运行下面的代码块,它应该可以找到您的文件。如果不是,Dropbox同步(如果你的文件来自Dropbox(也可能是你的问题:

readr::read_file(tif_file)

相关内容

  • 没有找到相关文章

最新更新