2011/08/11

HDFからgdalでデータを取り出す

gdal パッケージに含まれている gdal_translate はかなりいろいろなフォーマットを変換できるので便利です.が,ASTERのL1Aをgdal_translateでとりあえず見える画像フォーマットにしようと思ったところ,


% gdal_translate -of PNG ASTL1A.dat test.png
Input file contains subdatasets. Please, select one of them for reading.

と言われました.まぁ,いろいろなバンドが入っているので自明と言えば自明でしょうが...

じゃぁ,subdatasets ってなんやねんと調べると,
% gdalinfo ASTL1A_.dat | grep SUBDATASET

でワサワサ出てきます.

たとえば,Band1の画像はどこにあるかというと,

  SUBDATASET_8_NAME=HDF4_EOS:EOS_SWATH:"ASTL1A_.dat":VNIR_Band1:ImageData
SUBDATASET_8_DESC=[4200x4100] ImageData VNIR_Band1 (8-bit unsigned integer)

に出てくるようです.この名前をそのまま指定して,

% gdal_translate -of PNG HDF4_EOS:EOS_SWATH:"ASTL1A_.dat":VNIR_Band1:ImageData test.png

とすると,無事変換できました.