在python中将HDF图像转换为tiff

问题描述 投票:0回答:1

我只需要在python中将HDF图像转换为tiff,但我没有编程知识。您准备好脚本或教程了吗?

我使用了 NASA 的 HEG 工具,但它已经过时了。 我的编程知识很少。 我需要一个包含分步指南的脚本或教程,以将 MODIS 产品 (MOD17A2H) 中的 GPP 图像提取为 tiff 格式。

python tiff hdf
1个回答
0
投票

我们将使用库

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
© www.soinside.com 2019 - 2024. All rights reserved.