2013-02-11 69 views
0

我有一個帶有hdf格式的Modis圖像。Matlab上的HDF格式

fileinfo = hdfinfo('MOD09GA.A2011288.hdf'); 

我試圖創建一個矩陣,但我只需要上存儲的屬性(我知道這是因爲我在ERDAS選中)三個波段。我檢查了屬性的結構,並且有12個band(fileinfo.Attributes = < 1x12 struct>)。我怎樣才能提取和創建三個樂隊的矩陣?

sds_info = fileinfo.SDS(2); 

我試圖做的是以下...

data1 = hdfread(sds_info.Attributes) 

,但我得到了以下錯誤:

??? Error using ==>
hdfread>dataSetInfo at 418
HINFO must be a structure
describing a specific data set
in the file.

檢查,我知道我必須使用幫助那個結構。我如何知道屬性的內容?我如何選擇並創建一個包含這些信息的矩陣?

data1 = hdfread(s.Vdata(1), 'Fields', {'Idx', 'Temp', 'Dewpt'}) 

PS)我正在使用導入每個樂隊的hdftool。還有另一種方法來做到這一點?

回答

0

最後,這是我做了什麼(我不刪除,以防萬一能幫助別人的帖子):

sur_refl_b01_1 = hdfread('MOD09GA.A2011288.h17v05.005.2011293000105.hdf', '/MODIS_Grid_500m_2D/Data Fields/sur_refl_b01_1', 'Index', {[1 1],[1 1],[2400 2400]});