You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用R的raster包堆叠.tif栅格文件时遇格式错误求助

解决R中栅格堆叠报错的问题

错误原因

你的代码里list.files的pattern=".tif"会匹配所有文件名中包含.tif的文件,而目录里存在ArcGIS生成的辅助文件(比如jbas_14.tif.vat.cpg),这类文件不是标准TIFF栅格,GDAL无法识别,导致报错。

解决方案

1. 修正文件匹配规则

使用正则表达式精确匹配以.tif结尾的文件,修改list.files的参数:

cov.lst <- list.files(path = getwd(), pattern = "\\.tif$", full.names = TRUE)
  • \\.用来转义.(正则中.代表任意字符)
  • $表示匹配字符串结尾
  • full.names = TRUE直接返回带完整路径的文件名,无需手动拼接getwd()

2. 验证文件列表

先打印cov.lst确认只包含真正的TIFF文件:

print(cov.lst)

3. 重新生成栅格堆叠

用修正后的文件列表执行堆叠操作:

使用raster包:

covStack <- stack(cov.lst)

使用terra包(更高效,推荐):

covStack <- rast(cov.lst)

额外建议

  • 尽量避免在工作目录中存放非栅格文件,减少匹配错误的可能
  • 如果必须保留辅助文件,可以添加ignore.case = TRUE,确保匹配.TIF后缀的文件

内容的提问来源于stack exchange,提问作者Brynollf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:07:03