如何将来自于NASA官网中GES DISC的OMI-Aura_L2-OMDOAO3的he5格式,批量转为tif栅格数据
1条回答 默认 最新
关注 import os import numpy as np from osgeo import gdal # 设置输入和输出路径 input_folder = 'path/to/he5/files' output_folder = 'path/to/tif/files' # 获取所有的he5文件 he5_files = [f for f in os.listdir(input_folder) if f.endswith('.he5')] # 遍历所有的he5文件 for he5_file in he5_files: # 构造输入和输出文件路径 input_file = os.path.join(input_folder, he5_file) output_file = os.path.join(output_folder, he5_file.replace('.he5', '.tif')) # 使用GDAL打开he5文件 hdf_ds = gdal.Open(input_file, gdal.GA_ReadOnly) # 读取需要的数据集 data = hdf_ds.GetSubDatasets()[0][0] # 打开需要的数据集 ds = gdal.Open(data, gdal.GA_ReadOnly) # 读取数据集的相关信息 cols = ds.RasterXSize rows = ds.RasterYSize bands = ds.RasterCount # 创建输出数据集 driver = gdal.GetDriverByName('GTiff') out_ds = driver.Create(output_file, cols, rows, bands, gdal.GDT_Float32) # 读取数据并写入输出数据集 for i in range(1, bands + 1): band = ds.GetRasterBand(i) data = band.ReadAsArray().astype(np.float32) out_band = out_ds.GetRasterBand(i) out_band.WriteArray(data) # 设置输出数据集的投影和地理参考信息 out_ds.SetProjection(ds.GetProjection()) out_ds.SetGeoTransform(ds.GetGeoTransform()) # 关闭数据集 out_ds = None ds = None hdf_ds = None
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 SPSS分类模型实训题步骤
- ¥15 求解决扩散模型代码问题
- ¥15 工创大赛太阳能电动车项目零基础要学什么
- ¥20 limma多组间分析最终p值只有一个
- ¥15 nopCommerce开发问题
- ¥15 torch.multiprocessing.spawn.ProcessExitedException: process 1 terminated with signal SIGKILL
- ¥15 QuartusⅡ15.0编译项目后,output_files中的.jdi、.sld、.sof不更新怎么解决
- ¥15 pycharm输出和导师的一样,但是标红
- ¥15 想问问富文本拿到的html怎么转成docx的
- ¥15 我看了您的文章,遇到了个问题。