0

我从 MODIS 下载了 .hdf 格式的地表温度网格。我想将包含这些 .hdfs 的文件夹转换为 geotiffs 以便于处理。

我曾尝试使用该hdfread('/User/....hdf')命令,但如果我只将我的 hdf 文件作为输入,它没有足够的输入参数。帮助函数指定在这里我应该输入我的数据集名称。

hdfinfo = 
  Filename: '/Users/Desktop//MODIS_MAT_2000_2014/2005/MOD11C3.A2005001.004.2005035221349.hdf'
  Attributes: [1x4 struct]
  Vgroup: [1x1 struct]

hdfinfo.Vgroup.Name
ans = MODIS_MONTHLY_0.05DEG_CMG_LST

但是如果我输入这个作为我的数据集名称,我会得到一个错误。有人有以这种方式加载 hdf 文件的经验吗?

代码:

fileinfo = hdfread('/Users/Desktop/Windows_data/MODIS_MAT_2000_2014/2005/MOD11C3.A2005001.004.2005035221349.hdf');

错误消息:“输入参数不足”,因为我错过了这个数据集名称,但我不知道如何找到不同数据集的名称。也没有我可以访问的 SDS,只有属性和 Vgroup。

4

2 回答 2

0

的文档hdfread提供了一些有关如何使用该功能的示例。

一种方法是像您尝试那样使用数据集名称,但另一种方法是直接使用 hdfinfo

你可以试试

fileinfo = hdfinfo(''/User/....hdf') %Get the info
sds_info = fileinfo.SDS(2) %Choose a dataset
data = hdfread(sds_info); %Read the dataset
于 2017-03-08T19:42:35.507 回答
0

最后我自己找到了解决方案,通过如下调整我的代码:

hdfread(fullfile('/Users/Desktop/Windows_data/MODIS_MAT_2000_2014/2006','LST_Day_CMG');

我只是找不到正确的标题(在这种情况下是“LST_Day_CMG”),最终我在 MODIS 网站上找到了。

于 2017-03-10T20:41:50.907 回答