如何使用Python GDAL拼接MODIS HDF文件?

0 投票
2 回答
2889 浏览
提问于 2025-04-17 13:20

我下载了很多MODIS的hdf文件,并从每个文件中提取了需要的波段。请问我该如何使用Python中的GDAL库把所有的hdf文件拼接在一起,并进行重投影呢?谢谢!

2 个回答

0

你可以试试 pyModis [0],它在开发版本中使用了 Python 的 GDAL(今天我还需要多测试一下)。

gdal_merge.py 不能处理 MODIS HDF 文件(可能是个bug),这是返回的错误信息:

Traceback (most recent call last):
  File "/usr/local/bin/gdal_merge.py", line 510, in <module>
    sys.exit(main())
  File "/usr/local/bin/gdal_merge.py", line 390, in main
    file_infos = names_to_fileinfos( names )
  File "/usr/local/bin/gdal_merge.py", line 122, in names_to_fileinfos
    if fi.init_from_name( name ) == 1:
  File "/usr/local/bin/gdal_merge.py", line 147, in init_from_name
    self.band_type = fh.GetRasterBand(1).DataType
AttributeError: 'NoneType' object has no attribute 'DataType'

[0] https://github.com/lucadelu/pyModis

0

使用两个GDAL命令行工具:

  1. gdal_merge.py 用来把多个波段合成一个栅格图
  2. gdalwarp 用来重新投影这个栅格图

撰写回答