我正在尝试使用栅格包中的 stack 函数将多个栅格文件(.tif)放入一个堆栈中。当我这样做时,我遇到了两个错误,即:
> covStack <- stack(paste0(getwd(),"/", cov.lst))
Error in .rasterObjectFromFile(x, band = band, objecttype = "RasterLayer", :
Cannot create a RasterLayer object from this file.
In addition: Warning message:
`C:\Users\"fileway"\jbas_14.tif.vat.cpg' not recognized as a supported file format. (GDAL error 4)
我尝试运行的代码如下:
setwd(file.path("C:/Users/..."))
library(raster)
library(RSAGA)
library(rgdal)
library(sf)
library(terra)
cov.lst <- list.files(path = getwd(), pattern =".tif")
covStack <- stack(paste0(getwd(),"/", cov.lst))
我尝试重新安装 R 的所有版本和所有软件包,并仅单独安装所需的软件包及其依赖项。我也尝试过
unlink(".RData")
。此外,我还尝试使用 rast
中的 terra
函数,它返回相同的错误。
感谢您的帮助。
错误信息看起来足够清楚了
C:\Users\"fileway"\jbas_14.tif.vat.cpg' not recognized as a supported file format
要仅使用 结尾为 的文件,您可以将
$
符号添加到模式中
cov.lst <- list.files(pattern =".tif$")
现在你可以做
r <- terra::rast(cov.lst)
而不是已弃用的
s <- raster::stack(cov.lst)
`