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
相关产品推荐
相关产品推荐

