本文是在阅读2005年9月15日《国土资源遥感》杂志上《HDF格式特点及其对遥感数据格式标准化的几点启示》文章后的一些记录。HDF全称为Hierarchical Data Format,即层次式文件格式,是美国国家计算机中心推出的一种新型数据格式,主要目的是用于记录科学数据。美国国家宇航局(NASA)在HDF数据格式基础上提出了HDF—EOS子集,用于记录MODIS传感器数据。如果需要对HDF格式数据进行读写,必须先要对其格式有深刻了解。
HDF文件结构并没有采用常用的文件头—数据体(bmp,jpg等文件格式都采用这个方式)这种物理结构的文件格式,其采用分块建立文件内容的索引,这些索引主要是利用二叉树方式建立,这样的优点在于可以方便快捷的访问数据内容。HDF逻辑结构的核心思想在于其层次性,有些类似于数据库中的树型结构,可以有效地建立了文件内对象之间的逻辑内容关系和组织方式。
HDF有两种基本对象—组(Group)和数据集(Dataset),同时也有一些其他的辅助对象,如数据类型(Datatype)、数据空间(Dataspace)、属性(Attribute),具体的分布可以参考HDF 5文件逻辑结构图。HDF组织结构有些类似于Windows 中的文件结构,组相当于一个文件夹,数据集相当于一个数据文件,文件夹里面可以包含数据文件,也可以包含其他的组对象,这样嵌套下去,就形成了一个复杂的数据对象,这点正好的对应于HDF逻辑结构的层次性。但对于文章中说的HDF利用自我描述的方式实现跨平台这一观点不太了解。