我只需要在python中将HDF图像转换为tiff,但我没有编程知识。您准备好脚本或教程了吗?
我使用了 NASA 的 HEG 工具,但它已经过时了。 我的编程知识很少。 我需要一个包含分步指南的脚本或教程,以将 MODIS 产品 (MOD17A2H) 中的 GPP 图像提取为 tiff 格式。
我们将使用库
h5py
。
h5py 文档:https://docs.h5py.org/en/latest/
这是一个提取 GPP 波段并将其保存为 TIFF 的 Python 脚本:
# Import libraries
import h5py
from osgeo import gdal
# Define file paths
hdf_file = "path/to/your/MOD17A2H.hdf"
tiff_file = "gpp.tiff"
# Open HDF file
with h5py.File(hdf_file, "r") as f:
# Get GPP dataset (path may vary depending on file structure)
gpp_data = f["MOD_Grid/Data Fields/GPP"]
# Convert data to numpy array (adjust axis if needed)
gpp_array = gpp_data[...]
# Open output TIFF file with GDAL
driver = gdal.GetDriverByName("GTiff")
dataset = driver.Create(tiff_file, gpp_array.shape[1], gpp_array.shape[0], 1, gdal.GDT_Float32) # Adjust data type if needed
# Set origin (adjust based on your data)
dataset.SetGeoTransform([0, 0.006, 0, 56, 0, -0.006]) # Replace with your geotransform values
# Write data to TIFF file
dataset.RasterWrite(0, 0, gpp_array.shape[1], gpp_array.shape[0], gpp_array, band_list=[1])
# Close the files
dataset.FlushCache()
dataset = None