基于Matlab的HDF文件读取方法

来源 :中国科技博览 | 被引量 : 0次 | 上传用户:zhsotanlb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要]HDF是一种广泛用于科学数据共享的国际标准数据格式,正确高效地读取HDF文件数据是对其进行应用的基础。本文首先介绍了HDF文件格式,在此基础上,详细给出了Matlab读取HDF文件的简易方法和代码。
  [关键词]HDF格式;Matlab;科学数据
  中图分类号:TP319 文献标识码:A 文章编号:1009-914X(2014)47-0312-01
  1 引言
  科学研究需要对大量的数据进行处理,而这些科学数据有着很多不同的存储形式和标准格式。HDF是美国国家高级计算机应用中心(NCSA)为了满足各种领域研究需要而开发出的一种能高效存储和分发科学数据的新型数据格式。HDF的数据格式是一种分层式数据管理结构,是一个能够自我描述、多目标、用于科学数据存储和分发的数据格式。HDF格式文件被广泛运用于科学数据共享,是目前国际上数据共享应用较广泛的文件格式。正确高效地读取HDF文件里面的数据,是共享HDF格式科学数据的前提。目前比较常用的读取HDF文件的方式是使用IDL、C和Fortran等传统语言工具和GrADS等绘图软件。但是这些读取方式对于非专业人员来说都有一定的难度,不容易在短期内快速掌握,而利用Matlab读取HDF格式数据则相对简单高效。
  2 HDF文件介绍
  HDF是由伊利诺斯州大学的美国国家超级计算应用中心(NCSA)于1987年开发的一套文件格式,并包括对HDF文件进行操作的函数库。简单说来,HDF是容许共享跨平台的自我描述文件。它的跨平台性,允许人们在不同的操作系统上操作HDF文件而不用对其进行格式转换;它的自我描述性意味着一个数据集,例如一个多维的数字序列,有逻辑上与它联系的额外的元数据,这些元数据用来描述诸如数据集的名称、维数、每维上的元素个数等等。
  1993年美国国家航空航天局(NASA)决定把HDF格式作为存储和发布EOS数据的标准格式,于是NASA和NCSA在HDF标准的基础上,开发了一种专门用于存储EOS产品的HDF格式,称之为HDF-EOS。HDF-EOS是HDF的扩展,它主要扩充了两项功能:一是提供了一种系统宽搜索服务方式,它能在没有读文件本身的情况下搜索文件内容;二是提供了有效的存储地理定位数据,将科学数据与地理点捆绑在一起。目前国内由于MODIS接收站的处理系统不同,因此采用这两种格式的都有。但是,这并不妨碍我们用Matlab对其进行处理,因为Matlab对这两种数据格式都能很好地支持。
  3 Matlab读取HDF文件的方法
  Matlab提供了三种从HDF或者HDF-EOS数据集中读取数据的方法:HDF输入工具、Matlab高级输入函数以及Matlab命令行用法(低级函数用法)。下面分别介绍这三种方法。
  ①HDF输入工具法,语法为hdftool
  HDFImportTool是一个可视化的HDF文件输入工具。此工具可以同时打开多个HDF或HDF-EOS文件。打开文件,选定一个要打开的数据集(DataSet),再选择好相应的参数后,点击Import,即可把选择的数据输入Matlab工作区。因为是可视化的工具,所以该方法简单直观,操作简便易行。
  ②使用Matlab高级输入函数hdfread
  hdfread这个函数隐藏了HDF库中规定的低级函数所必须的许多操作细节。例如,如果使用低级函数从HDF文件中读取数据,需要打开HDF文件,选取数据集,读取数据集中的数据,最后关闭文件这样一系列的操作过程,但是hdfread函數已经把这些所有的过程都包括在内了。因此使用起来相对简单一些。hdfread函数的常用法是:
  data=hdfread(filename,dataset);
  其中data返回指定数据集中的所有数据,dataset的名称可以由hdfinfo函数获得。
  ③使用Matlab命令行接口
  Matlab用一个单独的低级函数来代替HDF库函数中的一系列应用程序接口(API)的子程序,只要给这个函数的第一个参数指定不同的值,就能相应的使用相当于HDFAPI中不同子程序的功能。这些低级函数的使用需要指定的过程。
  下面就以hdfsd这个函数的使用来详细说明。
  根据前面所述的流程,首先必须打开HDF文件,函数的语法为:
  sd_id=hdfsd(‘start’,‘mydata.hdf’,‘read’);
  上式中sd_id返回一个正值表示文件打开成功;返回-1则表示打开文件不成功。在下面的用法中sd_id将用来表示mydata.hdf这个文件。read表示读文件。
  其次,要选择数据集,用
  sds_id=hdfsd(‘select’,sd_id,sds_idx);
  sds_id将在下面的用法中代表所打开的数的数据集,它是要打开的数据集在HDF文件中的索引号。然后是最重要的一步,从数据集中读文件,语法为:
  [data,status]=hdfsd(‘readdata’,sds_id,ds_start,de_stride,ds_edges);
  ds_start指定从第几个数据开始读取;ds_stride表示读数据的步长;ds_edges表示数组中每一维的长度。
  最后是关闭数据集和HDF文件,语法分别为:
  stat=hdfsd(‘endaccess’,sds_id);
  stat=hdfsd(‘end’,sd_id);
  从上面的hdfsd函数的用法中可以看出,虽然只有一个函数,但是由于给函数的第一个参数指定了不同的值,所以它能表示各种不同的用法。
  4 结语
  从上述说明可以看出,利用Matlab实现HDF文件数据的读取极为简单和高效。这一读取方法非常适用于程序基础不高或非专业的人员使用,同时对HDF文件的操作直观,也可以节省大量读取HDF文件的时间,不必把时间花在库函数的配置上。
  参考文献
  [1] 景毅刚,李登科,张树誉.HDF-EOS数据格式及其数据导入[J].气象科技,2005,33(3):278-288.
  [2] 方庆文,潘永地,郑峰等.利用GrADS读取NCEP再分析资料格点数据[J]. 贵州气象,2004,5(28):34-36.
  [3] http://www.nasa.gov/.
其他文献
中图分类号:F416.22 文献标识码:A 文章编号:1009-914X(2014)47-0304-01  一、概述  注册表是Windows系统中保存系统、应用软件配置的数据库,随着Windows功能的越来越丰富,注册表里的配置项目也越来越多。很多配置都是可以自定义设置的,但这些配置发布在注册表的各个角落,如果是手工配置,可想是多么困难和烦杂。而组策略则将系统重要的配置功能汇集成各种配置模块,供
期刊
[摘 要]声发射是指材料局部因能量的快速释放而发出瞬态弹性波的现象。声发射检测技术是一种新兴的动态无损检测技术。将声发射技术运用于对石油工业压裂管汇设备的无损检测,成为其无损检测手段中的一大突破。利用声发射检测技术可以在设备返修试验中及时和全面的检查、評价设备在整个承压过程中活动裂纹产生和扩展的全过程。本文介绍了声发射检测技术的原理及特征,同时介绍了其在压裂管汇无损检测中的运用方法及前景。  [关
期刊
[摘 要]当前,煤矿安全已经成为人们十分重视的问题,在煤矿生产中煤矿井下排水系统是重要环节,如果不能及时将矿井中的涌水排出,不仅影响煤矿生产,对井下工作人员的安全也会构成威胁。为此,必须要重视煤矿井下排水系统的设计。本文就主要对此进行探讨。  [关键词]井下排水;自动控制;煤矿  中图分类号:TD636 文献标识码:A 文章编号:1009-914X(2014)47-0283-01  据有关统计数据
期刊
[摘 要]高压断路器是电力系统中的重要一次设备,基于断路器状态的维护措施重点在于状态监测参量的评估和分析诊断。文章分析其故障及检测,探讨其维护。  [关键词]高压断路器;故障;维护  中图分类号:TM855 文献标识码:A 文章编号:1009-914X(2014)47-0298-01  引言  由于断路器大部分部件为金属材料,当环境中的湿度过大时会导致金属零部件的锈蚀,引起外绝缘性能的下降,导致断
期刊
[摘 要]生态蕴涵文化、环境彰显文明,生态环境水平的高低,是衡量社会文明程度的重要标志。本文针对兴国县林业生态建设现状,分析存在的问题,探索改善林业生态环境的工作思路,提出林业生态建设的建议供参考借鉴。  [关键词]林业生态建设 实践与探索 江西兴国 思路与建议  中图分类号:X321 文献标识码:A 文章编号:1009-914X(2014)47-0317-01  绪论  党的十八大明确提出了建设
期刊
[摘 要]科学技术的进步推动了计算机技术的发展,计算机技术的发展又促进了现代设备的进步,信息系统在为现代设备提供便利的同时,加大对其的管理也显得越发重要。为此,本文就计算机信息系统在现代设备管理中的应用做进一步探析。  [关键词]计算机;信息系统;现代设备管理  中图分类号:TP301 文献标识码:A 文章编号:1009-914X(2014)47-0284-01  1 现代设备管理模式下的信息体系
期刊
[摘 要]随着我国经济的不断发展,人们生活水平不断提高,更加注重自身的健康娱乐。信息时代的到来,舞台成为了一个具有时代魅力的亮点。很多明星闪耀登场,舞台中的灯光、音响、音乐等设施衬托出了舞台的巨大魅力。其中灯光是舞台中非常重要的组成部分,对灯光中的控制需要很高的技术性,对灯光的设计直接影响了舞台表演的质量,因此,有效的灯光设计能够在很大程度上展现出舞台魅力,是非常重要的一个环节。本文主要阐述了灯光
期刊
[摘 要]工业生产过程中,大量的循环水用于生产设备的冷却,水泵作为循环水的动力设备,其运行过程中产生大量的余热,特别是夏季室外温度较高时,泵房内的通风问题受到关注,本文采用流体模拟软件Airpak,就典型工况环境下水泵房室内气流组织进行数值模拟计算,并重点分析水泵工作地带的温度分布。模拟结果表明:采用机械送风对控制泵房内水泵工作地带的温度的分布最有利。  [关键词]水泵房;通风;气流分布;数值模拟
期刊
[摘 要]昆虫与植物是陆地生物群落中最为重要的组成部分,二者间的相互作用是多方面的,其中最为重要的是昆虫选择植物作为食物和生长场所、昆虫为植物传授花粉两方面该文集中讨论这两方面的相互作用有哪些因素与进化有密切的关系。植食性昆虫根据其寄主植物范围,通常分为专食性和广食性。从生态关系来看,广食性的取食行为比专食性的更为有利。但实际情况却与此相反,境观植食性昆虫的取食行为,有向专食性演化更为普遍的倾向。
期刊
[摘 要]毛白杨三倍体是北京大学运用现代生物细胞工程技术与传统林木杂交相结合培育出的毛白杨新品种。1996年在我省东部和北部进行推广试点。1998年三门峡市林业技术推广站将这一新品种引入我市,并在我县开展毛白杨三倍体引种及推广研究项目。  [关键词]毛白杨三倍体;良种繁育;栽培技术  中图分类号:S792.11 文献标识码:A 文章编号:1009-914X(2014)47-0319-01  前言:
期刊