HDF文件转TIF

HDF转TIF的方法有很多,试了arcpy的代码总是出现ArcGIS闪退的情况,果断放弃……

但是MRT又不适用于非Modies数据命名格式的文件,转而自行摸索,后来发现,ArcGIS完全自己就可以批量导出

果然,新鲜的食材还是需要简单的烹饪

利用ArcGIS模型构建器,选择栅格迭代器,加入复制栅格工具,进行批量导出,OK!

(如下图所示,希望能帮助到需要的人~)

流程图

 

### 将HDF文件换为TIF文件的方法 #### 使用ENVI进行换 可以利用ENVI软件完成HDFTIF换。具体步骤如下: 1. 打开ENVI软件,选择【文件】→【打开为】→【通用格式】→【HDF4】,从而导入HDF4文件[^1]。 2. 如果该HDF文件仅包含一个数据集,则可直接选中并确认加载;如果存在多个数据集,需手动勾选目标数据集后再点击确定。 3. 换完成后,再次选择【文件】→【另存为】,设置输出路径以及文件名,并将保存格式指定为TIFF。 这种方法简单直观,尤其适合处理较复杂的HDF结构。 #### 利用GDAL命令行工具 GDAL是一个强大的开源地理空间数据分析库,能够很好地支持多种栅格数据格式之间的相互化。以下是具体的实现方式: ```bash gdal_translate -of GTiff HDF4_EOS:EOS_GRID:"输入HDF文件路径":数据集名称 "输出TIF文件路径" ``` 其中,“`HDF4_EOS:EOS_GRID:`”表示要提取的是EOS标准下的网格型数据层,而后面的参数则分别对应源文件位置及其内部特定子数据集的名字。例如对于某GLASS FVC产品的HDF文件而言,完整的调用形式可能是这样的: ```bash gdal_translate -of GTiff HDF4_EOS:EOS_GRID:"D:/data/glass_fvc_2023.hdf":FVC D:/output/fvc_2023.tif ``` 需要注意的是,当面对某些特殊编码(如SZIP压缩算法)保护的数据时,传统依赖于GDAL-Python接口的方式可能会遇到兼容性障碍[^2]。 #### Python脚本配合arcpy模块自动化批量化作业 针对大量同类型HDF文件的情况,编写一段Python代码来自动执行上述过程无疑是最高效的选择之一。下面给出了一段基于Esri ArcPy扩展功能的例子[^3]: ```python import arcpy # 设置覆盖选项和许可状态 arcpy.env.overwriteOutput = True arcpy.CheckOutExtension("Spatial") # 定义工作目录与输出目录 inPath = r'D:\input_hdfs' outPath = r'D:\output_tiffs' # 配置环境变量的工作区至输入文件夹 arcpy.env.workspace = inPath # 获取当前工作区内所有的hdf格式影像列表 hdfList = arcpy.ListRasters('*', 'HDF') for hdf in hdfList: # 构造新的tiff命名模式 Name = hdf.split('.')[0] + ".tif" # 提取第一个子数据集(索引号通常从零开始计数),并导出成GeoTiff格式 data = arcpy.ExtractSubDataset_management(hdf, outPath + '\\' + Name, "0") print('All conversions completed successfully.') ``` 以上方法各有优劣,在实际应用过程中可根据具体情况灵活选用合适的手段来进行操作。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值