Mac终端中GDAL无法打开MODIS Terra/Aqua的.hdf文件问题排查
HDF文件GDAL识别失败的原因与解决办法
可能原因
- GDAL缺失HDF4驱动:MCD12C1产品采用HDF4格式,默认安装的GDAL(比如Homebrew默认版)通常不包含HDF4驱动支持,导致无法识别文件格式。
- 文件路径错误:文件名拼写有误、路径含特殊字符/空格未转义,或者文件不在指定路径下,GDAL无法定位文件。
- 文件损坏:下载过程中文件不完整或损坏,导致GDAL无法解析文件结构。
解决办法
1. 重新安装带HDF4支持的GDAL
如果是用Homebrew安装的GDAL,卸载后重新安装并启用HDF4选项:
brew uninstall gdal # 新版Homebrew用下面的命令 brew install gdal --enable-hdf4
安装完成后,执行gdalinfo --formats,如果输出里有HDF4和HDF4Image,说明驱动已生效。
2. 检查并修正文件路径
- 确保文件名和路径正确,文件在当前目录的话,用
./XXXX.hdf指定;路径有空格的话,用引号包裹:gdalinfo "/Users/xxx/Desktop/XXXX.hdf" - 核对文件名,USGS MCD12C1的文件名格式类似
MCD12C1.A2021001.061.2021343165756.hdf,避免拼写错误。
3. 验证文件完整性
重新下载文件,或者用md5命令对比哈希值:
md5 XXXX.hdf
将输出的哈希值和USGS下载页面同目录下的.md5文件内容对比,一致则文件完整。
4. 正确提取HDF内部数据集
GDAL识别HDF文件后,不能直接处理整个文件,需先查看内部子数据集:
gdalinfo XXXX.hdf
找到目标变量(比如土地覆盖类型LC_Type1)对应的子数据集路径,再用gdal_translate提取:
gdal_translate "HDF4_EOS:EOS_GRID:XXXX.hdf:MCD12C1:LC_Type1" output.tif
内容的提问来源于stack exchange,提问作者LiWa
相关产品推荐
相关产品推荐

