为了配合兵哥进行hdf的有效性检验,还是小小研究了一下python对hdf的读取过程。其实很简单,但是由于python的版本比较复杂,加上对python的了解不够多,因此还是花了一番功夫的。下面具体来看看来怎么搞。

1.python安装

首先当然是安装python环境了,我选择的是python2.5.4,可以从官方网站上进行下载python下载。

2.numpy配置

安装好python以后,就可以进行配置了。python安装目录下面有一个Lib/site-packages,这个里面主要进行一些库的添加吧。当然,首选需要添加的库是numpy,这个貌似是利用python进行科学计算的一个库,可以从这里下载,注意版本,特别是对应安装的python版本。

3.pyhdf配置

pyhdf是读取hdf4的一个库,官方描述为Python

interface to the NCSA HDF4 library。可以从这里下载。下载后进行安装。安装好后,打开python命令行,输入如下代码,看看是否配置成功

from pyhdf.SD import *
from numpy import *
fid =
SD(testfilepath)

如果不成功,加一个环境变量,加入python的环境,例如C:/python25/,环境变量在“我的电脑/属性/高级/环境变量”中

设置,在系统变量的Path中加入python的安装目录,中间用分号隔开,即可。

pyhdf能够读取一般的hdf文件,例如MODIS格式的数据

4.h5py配置

h5py是hdf5文件库留给python的接口,这个配置类似于pyhdf。可以从这里进行下载,同样需要注意版本问题。更多的测试example和使用方法可以访问这里http://code.google.com/p/h5py/wiki/HowTo#Examples_in_the_source_distribution

这是python中读取hdf4和hdf5的基础功能,开始想使用gdal来完成读取配置的,但是可能是gdal版本太高还是什么原因。网上的编译方案都不太靠谱,暂时还没有试验成功,因此只能用pyhdf和h5py来代替了。希望对有些朋友有帮助