HDF及HDF-EOS数据格式简介
HDF-EOS数据格式介绍
HDF(Hierarchy Data Format )数据格式是美国伊利诺伊大学国家超级计算应用中心(NCSA ,National Central for Super computing Applications)于1987 年研制开发的一种软件和函数库,用于存储和分发科学数据的一种自我描述、多对象的层次数据格式,主要用来存储由不同计算机平台产生的各种类型科学数据, 适用于多种计算机平台,易于扩展。HDF 不断发展, 已被广泛应用于环境科学、地球科学、航空、海洋、生物等许多领域,来存储和处理各种复杂的科学数据。
1993 年美国国家航空航天局(NASA)把HDF格式作为存储和发布EOS (Earth Observation System)数据的标准格式。在HDF 标准基础上,开发了另一种HDF 格式即HDF-EOS ,专门用于处理EOS产品,使用标准HDF 数据类型定义了点、条带、栅格3 种特殊数据类型,并引入了元数据(Metadata) 。HDF-EOS 是HDF 的扩展,它主要扩充了两项功能:一是提供了一种系统宽搜索服务方式,它能在没有读文件本身的情况下搜索文件内容;二是提供了有效的存储地理定位数据,将科学数据与地理点捆绑在一起。
HDF的特点
自我描述:在HDF文件中包含关于该数据各方面属性的信息。
多样性:在HDF文件中可同时存储多种类型的数据,如栅格图像数据、科学数据集、信息说明数据等。
灵活性:可让用户把相关数据目标集中在一个HDF文件的某个分层结构中,并对其加以描述,同时可以给数据目标记上标记,方便查取。用户也可以把科学数据存储到多个HDF文件中。
可扩展性:在HDF中可以加入新数据模式,增强了它与其它标准格式的兼容性。
独立性:HDF是一种与平台无关的格式。HDF文件在不同平台间传递而不用转换格式。
HDF的组织结构
HDF 文件由路径和数据对象构成, 每个数据对象包括指向该数据对象位置指针的指针域和定义该数据类型的信息域构成。HDF 库包括3个接口层, 从上到下分别是HDF底层、HDF 应用层、HDF 顶层。
HDF 底层为软件开发者所应用,它包括文件输入/输出、差错控制、内存管理、物理存储等应用程序接口;
HDF 的应用层接口包括6个独立的模块分别用来简化6种数据类型(8位图像、24位图像、色彩、科学数据、注释、V data) 的存储和访问过程;
HDF 顶层包括HDF 应用、NCSA 和第三方开发者制作应用程序。
HDF的主要数据类型
(1)图像模块(Raster Image,8位和24位图像)
在HDF 使用8位图像和24位图像两个模块来实现图像数据存储。
8位图像模块中包括一个表示颜色图像的二维数组, 数组中的每个值不是代表某个颜色的值, 而是一个单独的调色板的索引, 调色板中每个条目代表一个含有红、绿、蓝三值的颜色, 数组中每个数据的值是8位, 所以称8位图像。
24位图像与8位图像的存储相似, 只是它包括3个表示颜色图像的二维数组, 每个数组具有相同的大小并分别代表某图像中的每个色素的红、绿、蓝值。
(2)调色板(Palette)
提供图像的色谱。调色板是给一幅图像加入颜色的方法,它相当于一个表格,这个表格可能由不同的大小,但HDF文件只支持256色的显示。对于栅格图像中的每一个数据,在表格中都有其对应的RGB数值,用来显示颜色。
(3)科学数据集(Scientific Data Set)
用来存储和描述多维科学数据陈列。科学数据集提供了一个用来存储多维数组数据以及其相关信息的框架。数组的数据类型可以是整数或者是浮点数。它的组织方式与栅格图像相同。科学数据集必须包含的组件有数组、名称、数据类型和数组的维数。
(4)Vdata(verdex data)
是用来存储和描述数据表格的结构。每个表格由一系列的记录组成, 而每个记录又由一系列的域组成。
(5)HDF注解(Annotations)
注解是元数据,用于描述一个HDF文件或它包含的任何数据要素。注解是用于解释文件或数据对象的文本字符串。注解可以短到一个名字,或长到一段程序代码。注解主要分为两种大类:标签和描述。标签是一种短形式的注解,主要用于把诸如指定标题或时间印记到文件或其它数据对象中。长的注解被称为描述,通常包含更为广泛的信息,如源代码模块或数学公式。有四种注解形式:文件标签,文件描述,对象标签和对象描述,
(6)Vgroup
结构模型被设计为与相关数据对象有关。一个Vgroup可以包含另一个Vgroup以及数据对象。任何HDF对象都可以包含在一个Vgroup中。 Vgroup的一般结构与UNIX文件系统的结构类似,Vgroup可以包含另外的Vgroup或HDF数据对象的引用,如UNIX的目录可以包含子目录或文件一样。
HDF-EOS数据格式
HDF-EOS 已成为EOSDIS (EOS Data and Information System , EOS 数据和信息系统) 数据生产和存档的标准格式,专门用于存储EOS 数据。除了HDF 的6种数据类型外,HDF-EOS 还支持另外3种数据类型:点、条带、网格。
HDF-EOS 文件的内容可以通过地理坐标和时间查询, 每HDF-EOS文件都包括元数据,它对于科学研究和用户访问EOS数据提供了便利条件。所有能够读取标准的HDF文件的工具都可以读取HDF-EOS 文件。
点数据
点数据由在时间上间断的或空间上分散的一系列不规则数据记录构成, 在某种意义上它构成了空间或时间上一系列间断点的状态或属性值。点数据模块适用于处理气象站数据、浮标数据、船载测量的海洋数据等。
条带数据
HDF-EOS 中的条带数据指卫星所携带的传感器沿一定的路径对地表扫描, 获得的廓线范围内的各种有用信息。条带数据的获取有两种方式: ①传感器沿轨迹方向获取数据(A long Track) ;②传感器沿垂直轨迹方向获取数据(Cross Track)。
网格数据
网格数据是最常用的一种处理空间数据的数据格式, 被广泛应用于GIS 和RS 领域。HDF2EOS 的网格数据接口与地图投影紧密的结合, 提供了相关的投影参数和方程, 使用户很容易就可以获得网格中任意点的经纬度, 这更加适应地理空间数据的处理。HDF2EOS 的网格数据集有3个主要特征: 数据域、空间尺度、投影。 其中数据域是网格最重要部分,它由二维或多维数组构成,数据域中每个数据项具有相同数据类型,并且它与一定的地理坐标系相对应。投影是网格的核心,它能够利用数学方程方便地将经纬坐标转换成X - Y坐标。
元数据
在EOS 中定义了3种元数据: ①核心元数据(Core metadata) , 它能够满足所有标准数据产品的需要; ②具体产品的元数据(product specific metadata) , 它只能满足特定数据产品的需要;③结构化元数据( structural metadata) , 用于描述HDF - EOS 文件中数据域的具体细节, 它是HDF-EOS 所特有的元数据。它包括空间尺度信息、数据域的信息和地理位置信息。
HDF-EOS 数据使用
随着EOS数据的广泛应用, 许多HDF-EOS 数据格式已逐步被广大遥感、地理信息系统的用户和软件开发商所接受, 随之涌现出大量的HDF-EOS数据浏览和发布软件。比如:EOS View , view-hdf , WebWinds , HDF Explorer ,HDFLook ,JHV ,DIAL ,HDF Inspector等。
目前,许多遥感图像处理和GIS 软件都实现而来对HDF-EOS 支持。RS (Research System ) 是著名的遥感图像处理软件开发公司, 该公司的IDL、ENV I、Noesy系列产品软件都支持HDF。
NASA 针对GIS 用户对EOS 数据的需求开发了EOSGIS 数据格式转换器, 它用来实现HDF-EOS 数据格式和Arcgis 以及Eedas image所支持的GeoT IFF 数据格式之间的转换。HEG(The HDF-EOS To GeoTIFF Conversion Tool) 部分数据读取、处理及格式转换工具可以从本网站的“软件工具”栏目总查询。
参考文献
HDF 文件由路径和数据对象构成, 每个数据对象包括指向该数据对象位置指针的指针域和定义该数据类型的信息域构成。HDF 库包括3个接口层, 从上到下分别是HDF底层、HDF 应用层、HDF 顶层。
HDF参考手册(HDF Reference Manual,pdf);
HDF用户手册(HDF user’s Guide,pdf);
HDF-EOS用户手册第一卷,1999(HDF -EOS Library Users Guide for the ESC Project,Volume 1: Overview and Examples,1999,pdf);
HDF-EOS用户手册第二卷,2009(HDF -EOS Library Users Guide for the ESC Project, Volume 2: Function Reference Guide,2009,pdf);
HDF-EOS用户手册第一卷,2009(HDF -EOS Library Users Guide for the EMD to EED Bridge Contract,Volume 1: Overview and Examples,2009,pdf);
HDF-EOS用户手册第二卷,2009(HDF -EOS Library Users Guide for the EMD to EED Bridge Contract,Volume 2: Function Reference Guide,2009,pdf);
HDF-EOS接口用户手册第一卷(HDF-EOS interface Based on HDF5, Volume 1:Overview and Examples,2009,pdf);
HDF-EOS接口用户手册第二卷(HDF-EOS interface Based on HDF5, Volume 2: faction Reference Guide,2009,pdf);