GLASS_PAR产品数据HDF转栅格TIFF

# -*- coding: UTF-8 -*-
import os
from osgeo import gdal, osr

# 输入文件夹路径
input_folder = 'G:\\review\par_cor\PAR\HDF'

# 输出文件夹路径
output_folder = 'G:\\review\par_cor\PAR\TIFF\\2009\\'

# 遍历输入文件夹中的HDF文件
for hdf_file in os.listdir(input_folder):
    # 检查文件扩展名是否为HDF
    if hdf_file.endswith('.hdf'):
        # 构建HDF文件的完整路径
        hdf_path = os.path.join(input_folder, hdf_file)

        file_name = hdf_file.split('.')[2]
        # 构建输出TIFF文件的完整路径
        tiff_file = os.path.join(output_folder, file_name + '.tif')

        # 打开HDF文件
        hdf_dataset = gdal.Open(hdf_path, gdal.GA_ReadOnly)

        # 获取HDF文件中的数据层数量
        num_datasets = hdf_dataset.RasterCount

        # 选择要转换的数据层(根据您的需求进行选择)
        dataset_index = 0

        # 获取选择的数据层
        dataset = hdf_dataset.GetRasterBand(dataset_index + 1)

        # 获取数据层的投影和地理转换信息
        projection = hdf_dataset.GetProjection()
        geotransform = hdf_dataset.GetGeoTransform()

        # 创建输出TIFF文件
        driver = gdal.GetDriverByName('GTiff')
        output_dataset = driver.Create(tiff_file, dataset.XSize, dataset.YSize, 1, dataset.DataType)

        # 设置输出TIFF文件的投影为WGS 1984
        wgs84_srs = osr.SpatialReference()
        wgs84_srs.ImportFromEPSG(4326)  # EPSG code for WGS 1984
        output_dataset.SetProjection(wgs84_srs.ExportToWkt())

        # 设置输出TIFF文件的地理转换信息
        output_dataset.SetGeoTransform(geotransform)

        # 将数据层写入输出TIFF文件
        output_dataset.GetRasterBand(1).WriteArray(dataset.ReadAsArray())

        # 关闭数据集
        output_dataset = None
        hdf_dataset = None

print("TIFF文件转换完成!")



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值