QGIS安装后gdalUtils::mosaic_rasters无法找到gdalinfo的问题
问题分析与解决
原因解析
- 调用QGIS的GDAL版本:gdalUtils默认从系统环境变量
PATH中查找GDAL工具,若QGIS安装时将其GDAL路径添加到PATH且优先级高于R自带GDAL(或R未单独安装GDAL),就会优先调用QGIS的GDAL。 - 找不到gdalinfo的核心问题:报错路径指向的是bash命令补全脚本文件(位于
share\bash-completion\completions),这不是真正的gdalinfo.exe可执行程序。真正的GDAL工具(包括gdalinfo.exe)在QGIS安装目录的apps\gdal\bin文件夹下。出现路径错误,大概率是环境变量配置混乱,导致gdalUtils误定位到补全脚本目录而非bin目录。
解决办法
1. 修正系统环境变量
打开Windows系统环境变量设置,找到PATH变量:
- 添加或调整
C:\Program Files\QGIS 3.22.16\apps\gdal\bin到PATH的靠前位置 - 移除或调整错误的
bash-completion\completions路径(若误添加到PATH中)
修改后重启R会话,让新环境变量生效。
2. 直接指定GDAL工具路径(无需修改系统环境变量)
在R中调用gdalUtils前,手动指定正确的GDAL bin目录:
# 设置GDAL工具所在路径 gdalUtils::setGDALConfigPath("C:/Program Files/QGIS 3.22.16/apps/gdal/bin") # 执行拼接命令 mosaic_rasters(gdalfile=single_year, dst_dataset=gdal_mosaic_filename, of="GTiff")
也可在mosaic_rasters函数中直接通过gdalpath参数指定:
mosaic_rasters(gdalfile=single_year, dst_dataset=gdal_mosaic_filename, of="GTiff", gdalpath="C:/Program Files/QGIS 3.22.16/apps/gdal/bin")
3. 验证GDAL工具路径
执行以下命令确认gdalUtils找到的是正确的可执行文件:
gdalUtils::gdalinfo("--version")
若输出正确的GDAL版本信息,说明路径配置成功。
内容的提问来源于stack exchange,提问作者Holt Dwyer
相关产品推荐
相关产品推荐

