如何解决突然出现错误“无法从此文件创建 RasterLayer 对象”在以前工作的脚本中
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.
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),这可能是导致问题的原因吗?
解决方法
这很神秘。这是一个解决方法:
library(terra)
library(raster)
f_terra <- rast('Landcover_data/treecover_res_100_q.tif')
f_raster <- raster(f_terra * 1)
你能把文件放在这里,或者私下发给我,以便我调查发生了什么?
如果您没有安装 rgdal
软件包,您会得到
Error in .rasterObjectFromFile(x,band = band,objecttype = "RasterLayer",:
Cannot create RasterLayer object from this file; perhaps you need to install rgdal first
在这种情况下,您应该安装 rgdal
最后,通过完全删除并重新安装 R 解决了问题。我之前尝试过,但显然卸载不完整,事实证明我之前安装的软件包在重新安装时再次可用R.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。