李旭分享 http://blog.sciencenet.cn/u/lixujeremy 代码与散打爱好者!

博文

Matlab:Read HDF-EOS

已有 8190 次阅读 2014-12-7 14:59 |个人分类:Matlab|系统分类:科研笔记|关键词:学者| HDF-EOS

MODIS产品一般是以HDF-EOSHDF4)格式分发,并能实现自我描述的科学数据格式(HDF is self-describing, allowing an application to interpret the structure and contents of a file with no outside information.)。

本帖介绍Matlab读入HDF-EOS文件的过程,并提取当中特定的Dataset转存为GeoTiff格式文件。

Matlab操作HDF函数说明见参考文献[1][2]

这里需要注意:HDF-EOS文件并不附带坐标格点数据,它只包含有几个参数构成的位置信息,以此计算全景影像的坐标,虽然这可以节约数据存储空间,但这也使得不借助HDF-EOSAPI将不能获取影像的坐标(HDF-EOS grid data is special in that it does not store longitude and latitude values. Instead of storing those values, HDF-EOS grid keeps only several parameters that can generate the entire longitude and latitude values. This can save much space, but this also makes it difficult to retrieve those values unless HDF-EOS API is used. The degree of difficulty of obtaining longitude and latitude values depends on the projection method.)。

不过,有一个替代方法,该方法先在“IDLHDF文件提取NDVI数据集”有应用,本帖就是它的Matlab版本。HDF-EOS文件有其固定的(hxxvxx)图块信息,将一景影像另存为GeoTiff(另存操作只能在ArcGIS中完成,ENVI的转存结果不能被Matlab识别),每次从HDF中读取SDS时(数据需要转置)都可以将GeoTiff的空间参考(Spatial Reference)赋予它并另存为GeoTiff文件。

附上测试数据及代码(MATHDF.rar)。

HDFRecog.m



参考文献

[1] 陈林, 牛生杰, 仲凌志. Matlab对基于HDF格式的MODIS1B数据的提取方法与实现[J]. 气象科学, 2006, 26(6):6676-6681.

[2] 白龙,雷惠,张翾. MATLAB读取HDF格式数据的实用方法[A]. 中国仪器仪表学会. 第八届全国信息获取与处理学术会议论文集[C]. 中国仪器仪表学会, 2010:5.




https://m.sciencenet.cn/blog-1148346-849121.html

上一篇:Matlab:MODIS产品采样日期解析
下一篇:Matlab:Masking the Imagery

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-29 17:56

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部