Matlab读写HDF-EOS文件

2010年11月18日星期四
最近才发现Matlab集成了读写HDF文件(包括HDF-EOS文件)的功能。

HDF-EOS的三种数据类型及其对应的Matlab函数如下:
grid(GD) - hdfgd
point(PT) - hdfpt
swath(SW) - hdfsw

此外,Matlab还提供了GUI的HDF文件导入工具,可以通过 “hdftool”命令启动。

hdfgd的帮助需要用 “help hdfgd" 查看。
hdfgd可以认为是HDF-EOS库中所有Grid函数的一个共用接口,即通过hdfgd来调用不同的Grid函数。
以下是读取一个HDF-EOS文件的代码示例,可以看出完成相同的任务,Matlab比C/C++所需代码量少得多,当然执行效率会不如C/C++。

hdf = 'MOD15A2.A2006361.h10v04.005.2008134052818.hdf';
fileid = hdfgd('open', hdf, 'DFACC_READ');                 %对应GDopen
gridid = hdfgd('attach', fileid, 'MOD_Grid_MOD15A2');      %对应GDattach
[data, status] = hdfgd('readfield', gridid, 'Lai_1km', [], [], []);  %对应GDreadfield
hdfgd('detach', gridid);  %对应GDdetach
hdfgd('close', fileid);   %对应GDclose

0 评论:

发表评论