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

R语言SDM包物种分布模型predict函数报错求助:.updateGDAL不再支持

SDM包预测报错:Error in .updateGDAL(object, v, cell, band, setminmax) : no longer supported

问题背景

我正在用R语言的SDM包构建物种分布模型,代码片段如下:

lst <-
  list.files (
    path = "All_variables/",
    pattern = '.asc$',
    all.files = TRUE,
    full.names = T
  ) 
preds <- stack(lst) 
plot(preds[[2]])

ex <-
  raster::extract (preds, spg) 
head(ex) 
v <-
  usdm::vifstep(ex) 
preds <- usdm::exclude(preds, v) 
preds

d <-
  sdmData(species ~ .,
          spg,
          predictors = preds,
          bg = list(method = 'gRandom', n = 1000)) 
d 
getmethodNames() 
m <-
  sdm(
    species ~ .,
    d,
    methods = c('glm', 'gam', 'rf', 'gbm'),
    replication = c('sub', 'boot'),
    test.p = 30,
    n = 3,
    parallelSetting = list(ncore = 4, method = 'parallel')
  ) 
m 

gui(m) 
p1 <- predict(m, preds, filename = 'pr.img', overwrite = TRUE)

运行最后一行predict代码时,反复出现以下错误:

Error in .updateGDAL(object, v, cell, band, setminmax) : no longer supported

已经尝试谷歌搜索但未找到有效方案,求解决思路。

可能的解决方向

  • 更换输出文件格式:.img格式依赖的GDAL接口已被废弃,尝试改用.tif格式,修改代码为:
    p1 <- predict(m, preds, filename = 'pr.tif', overwrite = TRUE)
    
  • 检查包版本兼容性:该错误多因raster包更新后移除旧GDAL相关函数,而SDM包未同步适配,可尝试:
    • 降级raster包到3.5-15这类仍支持旧GDAL操作的版本
    • 升级SDM包到最新版本,确认是否已修复兼容性问题
  • 显式指定输出格式参数:在predict中添加format参数明确格式,避免默认调用废弃接口:
    p1 <- predict(m, preds, filename = 'pr.tif', format = 'GTiff', overwrite = TRUE)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:02:49