HDF格式遥感影像批量转为TIFF格式
一、通过arcgis中ArcPy实现
具体实现参考 https://www.cnblogs.com/fkxxgis/p/17210827.html#5361784
介绍:
(1)arcpy.ExtractSubDataset_management() 是ArcPy中用于处理HDF或NetCDF文件的子数据集提取的函数,用于从HDF或NetCDF文件中提取一个或多个子数据集(Subdatasets),保存为独立的栅格文件tif。
(2)ArcPy会自动读取子数据集的空间参考(SpatialReference)、仿射变换矩阵。(GeoTransform)等元数据,提取后的.tif 文件(或.img等)会自动带上空间参考和地理变换。如果原始子数据集带有地理坐标,输出是“地理配准好的栅格”。
(3)ArcPy 中的 ExtractSubDataset_management() 主要支持以下两类 HDF:
①HDF4-EOS Grid格式:支持NASA的MODIS产品(如MOD11A1、MOD13Q1);
②HDF5格式(含EOS5):部分VIIRS、SMAP、SRTM HDF5数据。
(4)需要在arcgis中的IDLE中运行,不能直接在conda中导入arcpy函数。
注意:
(1)输入输出路径需全英文,不然会报错。
(2)需先查看hdf中子数据集信息,看包括什么内容。
(3)IDLE运行只能单行输入,不能多段代码运行。对于for循环等运行时需按两次空格。
(4)arcpy.ExtractSubDataset_management() 模块只负责提取子数据集,把HDF内指定波段或变量导出成GeoTIFF,它不会自动完成投影转换、定标、单位转换、掩膜等数据预处理。
二、直接通过python实现
具体实现参考 https://zhuanlan.zhihu.com/p/133253480
或 https://zhuanlan.zhihu.com/p/388276611
注意:
(1)需要注意仿射变换等步骤是否正确和完整
三、方法选择
1.选择第一种方法:
(1)只需要简单进行hdf转tiff。
(2)没弄清楚仿射变换或者几何校正原理或为了避免遗漏重要步骤,需要自动处理。
2.选择第二种方法:
(1)可以直接运行py代码,不需要逐行输入,节省时间。
(2)可以一次完成tiff步骤后续的多种数据预处理任务。

浙公网安备 33010602011771号