2017-03-08 15 views
0

私はMODISから.hdf形式の地表温度グリッドをダウンロードしました。 これらの.hdfsを含むフォルダをgeotiffsに変換して処理しやすくしたいと思います。Matlabを使用してHDFのMODIS LSTをGeotiffに変換

私はhdfread('/User/....hdf')コマンドを使用しようとしましたが、入力としてhdfファイルのみを与えると入力パラメータが不足しています。 help関数は、ここでデータセット名を入力する必要があることを指定します。

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'); 

エラーメッセージ:「十分でない入力引数」私はこのdatasetnameを逃したが、私は別のデータセットが命名されているものを見つける方法がわからないからです。私がアクセスできるSDSもなく、AttributesとVgroupだけです。

+0

データセットの読み取りに使用しているコードをお知らせください。 – User1551892

+0

コメントありがとう!私のコードは次のようになります: fileinfo = hdfread( '/ユーザー/デスクトップ/ Windows_data/MODIS_MAT_2000_2014/2005/MOD11C3.A2005001.004.2005035221349.hdf'); atr_info = fileinfo.Attributes 問題は、私がSDSデータセットにアクセスしたいということです。私はこれを4つのサブデータセットで構成されるVgroupとAttributesだけ持っています。私はhdfファイルが16のサブデータセットで構成されていることを知っていますが、アクセスできないようです。 ソース: https://lpdaac.usgs.gov/dataset_discovery/modis/modis_products_table/mod11c1 しかし、ファイルは、たとえばArcGISで簡単に変換します。 – Iris

答えて

0

hdfreadのドキュメントには、この機能の使用方法の例がいくつか示されています。

1つの方法は、データセット名を使用しようとしましたが、別の方法はuse the hdfinfo directlyです。

あなたは、私は次のように私のコードを調整することで、ソリューションを自分自身を発見した最後に

fileinfo = hdfinfo(''/User/....hdf') %Get the info 
sds_info = fileinfo.SDS(2) %Choose a dataset 
data = hdfread(sds_info); %Read the dataset 
0

を試すことができます。

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

私は単に「LST_Day_CMGた右のヘッダを(見つけることができませんでした')、私は最後にMODISのウェブサイトで見つけました。

関連する問題