HDF文件格式初探

     本文是在阅读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利用自我描述的方式实现跨平台这一观点不太了解。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
目录 第一章 HDF介绍 1.1. 本章概况 1.2. 什么是HDF 1.3. 为什么创建HDF 1.4. HDF的6个基本数据结构 1.5. HDF文件的3层交互 1.6. HDF文件格式 1.7. HDF4和HDF5 第二章 HDF库 2.1 本章简介 2.2 获得和安装HDF库 2.3 支持的程序语言 2.4 应用编程接口 2.5 id文件信息 2.6 编译介绍 第三章 常规光栅图像应用编程接口(GR API) 3.1 本章简介 3.2 General Raster Image(常规光栅图像)数据模型 3.3 GR API 3.4 把Raster Image(光栅图像)写入一个HDF文件中 3.5 从一个HDF文件里读取Raster Image(光栅图像) 第四章 科学数据集应用编程接口(SDS API) 4.1 本章简介 4.2 科学数据集数据模型 4.3 SD API 4.4 把科学数据集写入HDF文件里 4.5 从HDF文件中读取科学数据集 第五章 虚拟数据应用编程接口(VS API) 5.1 本章简介 5.2 Vdata数据模型 5.3 VS API 5.4 把Vdata写入一个HDF文件中 5.5 从一个HDF文件中读取Vdata 第六章 注解应用编程接口(AN API) 6.1 本章简介 6.2 注解数据模型 6.3 AN API 6.4 把注解写入HDF文件里 6.5 从HDF文件中读取注解 第七章 虚拟组结构应用编程接口(V API) 7.1 本章简介 7.2 Vgroups 数据模型 7.3 V API 7.4 创建Vgroups和添加数据对象 7.5 获取有关Vgroup的信息和删除数据对象 第八章 HDF命令行工具 8.1 本章简介 8.2 HDF命令行工具介绍 8.3 HDF查询工具 8.4 HDF数据格式转换工具 8.5 HDF数据压缩工具 第九章 使用JHV浏览HDF文件 9.1 本章简介 9.2 什么是JHV 9.3 获取和安装JHV 9.4 显示HDF对象的树状结构 9.5 显示文件和数据对象的注解 9.6 显示Vdatas 9.7 显示光栅图像 9.8 显示科学数据集
HDF5是一种用于存储和管理大规模科学数据的文件格式,而Java是一种广泛使用的编程语言。在Java中,我们可以使用HDF5的Java接口库来生成HDF5格式的文件。 要生成HDF5格式文件,首先需要在Java项目中导入HDF5库。可以通过在项目中添加相应的Maven/Gradle依赖项或手动导入库的jar文件来完成。一旦导入了HDF5库,就可以开始使用它来生成HDF5文件。 在Java中,可以通过以下步骤来生成HDF5格式文件: 1. 创建一个HDF5文件对象。这可以通过使用HDF5库中的H5File类来实现。可以指定文件的名称和打开方式(例如创建新文件或打开现有文件)。 2. 在文件中创建一个组。可以使用HDF5库中的H5Group类来实现。组是HDF5中的一种层次结构,可以用来组织和管理数据集。 3. 向组中添加数据集。数据集是存储实际数据的对象。可以使用HDF5库中的H5Dataset类来创建数据集。需要指定数据集的名称、数据类型和维度等属性。 4. 将数据写入数据集。可以使用HDF5库中的相应方法将数据写入数据集中。根据数据类型的不同,可以使用不同的写入方法。例如,可以使用write方法将整数或浮点数写入数据集,或者使用writeString方法将字符串写入数据集。 5. 关闭文件。在数据写入完成后,应该关闭HDF5文件以释放资源。可以使用H5File类中的close方法来关闭文件。 通过上述步骤,我们可以在Java中生成HDF5格式的文件。这个文件可以包含组和数据集,以及用户定义的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值