python环境:Python 3.5.2 +Pycharm 模块包:pyhdf 安装方法(命令行输入): pip install pyhdf 一、获取hdf数据集: from pyhdf.SD import enumerate(ds_dict.keys()): print(idx, sds) 二、获取每个数据集数据: # -*- coding:utf-8 -*- # author: from pyhdf.SD _1KM_RefSB').get() print(EV_1KM_Emissive.shape) 三、获取每个数据集属性: # -*- coding:utf-8 -*- # author: from pyhdf.SD
Python中有不少库都可以用来处理HDF格式数据,比如h5py可以处理HDF5格式(pandas中 read_hdf 函数),pyhdf可以用来处理HDF4格式。 安装 首先安装相关库 conda install pyhdf conda install h5py 上述库均可以通过conda包管理器进行安装,如果conda包管理器无法安装,对于windows系统,可以查找是否存在已打包的安装包 import cartopy.crs as ccrs from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter from pyhdf.SD 某月全球闪电密度分布 上述示例基于pyhdf进行HDF4格式数据处理和可视化,HDF4文件中包含的变量和属性获取方式见文末的Notebook,其中给出了更详细的示例。 某时刻某高度层全球O3浓度分布 数据和代码见文末Notebook链接,文末Notebook中除了上述基于pyhdf和h5py的示例外,还给出了基于gdal处理HDF4和HDF5格式数据的示例。
Python中有不少库都可以用来处理HDF格式数据,比如h5py可以处理HDF5格式(pandas中 read_hdf 函数),pyhdf可以用来处理HDF4格式。 import cartopy.crs as ccrs from cartopy.mpl.ticker import LongitudeFormatter, LatitudeFormatter from pyhdf.SD ax.xaxis.set_major_formatter(lon_formatter) ax.yaxis.set_major_formatter(lat_formatter) 某月全球闪电密度分布 上述示例基于pyhdf
matplotlib.pyplot as plt from matplotlib import cm, colors from mpl_toolkits.basemap import Basemap from pyhdf.SD Basemap: import numpy.ma as nm import matplotlib.pyplot as plt from matplotlib import cm, colors from pyhdf.SD
如果进行数据处理可以使用python中的pyHDF库,用起来还是蛮方便的。 需要注意的是,GLASS数据会把数据存储为整数,所以一般需要乘以一个尺度因子。这些信息也都存贮在HDF文件中。
###读取NASA AIRS HDF-EOS2文件 from pyhdf.SD import SD, SDC # Open file.
•HDF格式:pandas和h5py可以处理hdf5格式,PyHDF可以处理hdf4格式。
•HDF格式:pandas和h5py可以处理hdf5格式,PyHDF可以处理hdf4格式。