HDF数据格式 资料 转
HDF操作流程范文

HDF操作流程范文一、引言HDF(Hierarchical Data Format)是一种用于存储和组织科学数据的文件格式,广泛应用于各个领域,如气象学、生物学、地球物理学等。
在进行HDF操作之前,需要先安装一些必要的软件和库,如HDF库、Python的h5py库等。
本文将介绍一种基本的HDF操作流程,以帮助读者更好地理解和应用HDF文件。
二、HDF文件的读取1.导入必要的库首先,需要导入h5py库,用于读取和操作HDF文件。
```pythonimport h5py```2.打开HDF文件使用h5py库的`File`函数打开HDF文件,并将其赋值给一个变量。
```pythonfile = h5py.File('example.hdf', 'r')```其中,`example.hdf`是你要读取的HDF文件的路径和文件名。
3.查看HDF文件的结构可以使用`keys(`方法查看HDF文件的结构和层次。
```pythonprint("HDF文件的结构:")print(file.keys()```4.读取HDF文件中的数据根据文件的结构,选择对应的数据集进行读取。
使用`get(`方法读取数据集,并将其赋值给一个变量。
```pythondata_set = file['data1']```其中,`data1`为你要读取的数据集的名称。
5.查看数据使用`shape`属性获取数据的维度和大小,并使用`value`属性获取具体的数据。
```pythonprint("数据的维度和大小:", data_set.shape)print("数据的具体值:", data_set.value)```6.关闭HDF文件读取完数据后,及时关闭HDF文件。
```pythonfile.close```三、HDF文件的写入1.导入必要的库同样地,需要导入h5py库。
MODISMOD13Q1植被产品介绍及快速预处理

MODISMOD13Q1植被产品介绍及快速预处理MODISMOD13Q1植被产品是由美国国家航空航天局(NASA)的地球观测系统(EOS)项目提供的一种遥感植被指数产品。
该产品基于植被指数(NDVI)算法,用于监测全球范围内的植被覆盖状况和变化。
MOD13Q1产品每16天提供一次覆盖全球地表的植被指数数据,覆盖期为2000年至今,空间分辨率为250米。
这些植被指数数据能够为生态环境、农业、水资源管理等领域提供重要的信息支持。
快速预处理MOD13Q1植被数据是进行遥感植被监测和分析的重要步骤,以下介绍一种常用的预处理流程:2.数据格式转换:MOD13Q1产品采用HDF格式存储,需要将其转换为常用的栅格格式,如TIFF。
可以使用GDAL等工具进行格式转换,方便后续处理和分析。
4.云覆盖处理:MOD13Q1产品中可能存在云覆盖或其他异常值,需要进行云掩膜处理。
可以利用MODIS提供的云掩膜质量标志数据集,结合阈值处理或专业软件(如ENVI)进行云覆盖识别和去除。
5.数据重采样:对数据进行重采样操作,使其空间分辨率与其他遥感数据匹配。
根据具体分析需求,可以进行降采样(缩小像元尺寸)或升采样(放大像元尺寸)操作。
6.植被指数计算:利用MOD13Q1产品中的红光和近红外波段数据计算NDVI植被指数。
相关公式为:NDVI=(NIR-RED)/(NIR+RED),其中NIR为近红外波段数据,RED为红光波段数据。
计算得到的NDVI值范围为-1到1,反映了植被覆盖的密度和健康状况。
7.数据分析与应用:最后利用处理好的MOD13Q1植被指数数据进行植被监测、变化分析等应用。
可以结合其他地学数据、模型分析等进行研究,为生态环境管理和决策提供科学依据。
HDF数据使用指南

HDF数据使用指南HDF(Hierarchical Data Format)是一种用于存储和交换科学数据的文件格式。
它提供了一种通用的、可移植的方式来组织和管理大量的数据,尤其适用于科学计算和数据分析领域。
本文将介绍HDF数据的基本概念和使用指南。
1.HDF数据的基本概念2.HDF数据的创建和读取在Python中,可以使用h5py库来创建和读取HDF数据。
首先,我们需要导入h5py库:```pythonimport h5py```创建HDF数据使用create_group(方法,读取HDF数据使用File对象的get(方法。
例如:```python#创建HDF数据hdf_file = h5py.File('data.h5', 'w') # 创建HDF文件dataset = hdf_file.create_group('dataset') # 创建数据集#添加数组数据dataset.create_dataset('array1', data=[1, 2, 3, 4, 5])dataset.create_dataset('array2', data=[6, 7, 8, 9, 10]) #添加元数据dataset['array1'].attrs['unit'] = 'm'dataset['array2'].attrs['unit'] = 's'#保存HDF数据hdf_file.close#读取HDF数据hdf_file = h5py.File('data.h5', 'r') # 打开HDF文件array1_data = hdf_file['dataset/array1'] # 读取数组数据array2_data = hdf_file['dataset/array2']#读取元数据unit1 = hdf_file['dataset']['array1'].attrs['unit']unit2 = hdf_file['dataset']['array2'].attrs['unit']#关闭HDF文件hdf_file.close```3.HDF数据的浏览和查询h5py库提供了多种方法来浏览和查询HDF数据。
遥感影像数据格式转换算法

遥感影像数据格式转换算法遥感影像数据是指通过遥感技术获取的地球表面物体的图像数据。
在遥感数据处理中,由于数据源的多样性和不同平台之间的差异,常常需要进行格式转换来满足不同的应用需求。
本文将介绍几种常见的遥感影像数据格式转换算法。
1. TIFF to JPEGTIFF(Tagged Image File Format)是一种无损的图像文件格式,它存储了图像的元数据和像素数据。
而JPEG(Joint Photographic Experts Group)是一种有损的图像压缩格式,主要用于存储和传输图像。
将TIFF格式的遥感影像数据转换为JPEG格式可以减小文件大小,便于存储和传输。
转换算法的步骤如下:- 读取TIFF格式的影像数据。
- 提取图像的像素数据并进行颜色空间的转换(如RGB到YCbCr)。
- 对图像进行压缩,设置压缩参数,如压缩质量。
- 将压缩后的像素数据存储为JPEG格式的图像文件。
2. JP2 to GeoTIFFJP2(JPEG 2000)是一种基于无损和有损压缩的图像文件格式,有较好的压缩效果和空间分辨率可变性。
而GeoTIFF是基于TIFF格式的一种地理信息图像文件格式,可以存储地理坐标系统和投影信息。
将JP2格式的遥感影像数据转换为GeoTIFF格式可以方便地进行地理位置的分析和处理。
转换算法的步骤如下:- 读取JP2格式的影像数据。
- 提取图像的像素数据。
- 读取JP2格式的元数据,包括地理坐标系统、投影信息等。
- 创建一个新的GeoTIFF文件,并将像素数据和元数据写入其中。
3. ENVI to HDF5ENVI(Environment for Visualizing Images)是一种常用的遥感数据处理软件,它使用自己的二进制文件格式来存储遥感影像数据。
HDF5(Hierarchical Data Format 5)是一种用于存储和组织科学数据的文件格式,具有跨平台、灵活性和扩展性等优点。
HDF数据格式 资料 转

HDF数据格式资料转来自:数据格式HDF是美国国家高级计算机应用中心(National Center for Supercomputer Application)为了满足各种领域研究需要而开发出的一种能高效存储和分发科学数据的新型数据格式。
一个HDF文件中可以包含多种类型的数据,如栅格图像数据,科学数据集,信息说明数据等,这种数据结构,方便了我们对于信息的提取。
例如,当我们打开一个HDF图像文件时,除了可以读取图像信息以外,还可以很容易的查取其地理定位,轨道参数,图像噪声等各种信息参数。
HDF的数据格式是一种分层式数据管理结构,是一个能够自我描述、多目标、用于科学数据存储和分发的数据格式。
他针对存储和分发科学数据的各种要求提供解决方法。
HDF数据格式设计特点为:自我描述性(Self-Description):一个HDF文件可以包含关于该数据的全面信息。
多样性(Diversity):一个HDF文件中可以包含多种类型的数据。
例如,可以通过利用适当的HDF文件结构,获取HDF文件中存储符号,数据和图形数据。
灵活性(Flexibility):可以让用户把相关数据目标集中一个HDF文件的某个分层结构中,并对其加以描述,同时可以给数据目标记上标记,方便查取。
用户也可以把科学数据存储到多个HDF文件中。
可扩展性(Extensity):在HDF文件中可以加入新数据模式,增强了它与其他标准格式的兼容性。
独立性(Independibility):HDF是一种同平台无关的格式。
HDF文件在不同平台间传递而不用转换格式。
HDF文件物理存储结构一个HDF文件应包括一个文件头(File Header),一个或多个描述块(Data Descriptor Block),若干个数据对象(Data Object)。
文件头:位于HDF文件的头四个字节,其内容为四个控制字符的ASCII码值,四个控制字符为^N,^C,^S,^A,可用于判断一个文件是否为HDF文件格式。
遥感影像数据格式转换算法

遥感影像数据格式转换算法
遥感影像数据格式转换算法通常涉及将原始的遥感影像数据从一种格式转换为另一种格式。
这种转换过程可以包括数据的压缩、解压缩、重采样、地理编码等步骤。
以下是一个简单的遥感影像数据格式转换算法的步骤:
1. 读取原始数据:首先,需要从源文件读取遥感影像数据。
这通常涉及到打开文件并读取其内容,特别是要确定数据的类型和结构。
2. 确定目标格式:在开始转换之前,需要确定目标格式。
这可能包括GeoTIFF、BMP、JPEG等。
3. 转换数据:根据源数据和目标格式的要求,开始进行数据转换。
这可能包括改变数据的分辨率、色彩空间、投影等。
4. 写入目标文件:一旦数据被转换,需要将其写入新的文件。
这可能涉及到将数据写入磁盘或通过网络传输。
5. 验证结果:最后,需要验证转换后的数据是否符合预期。
这可能涉及到比较原始数据和转换后的数据,以确保它们在视觉上相似并且在元数据方面也匹配。
在实际应用中,遥感影像数据格式转换算法可能需要考虑更多的因素,例如数据的完整性、错误处理、性能优化等。
此外,由于遥感数据的复杂性,可
能需要使用特定的库或工具来完成转换过程,例如GDAL(Geospatial Data Abstraction Library)或Rasterio。
一种基于MATLAB读取HDF格式遥感数据的方法
一种基于MATLAB读取HDF格式遥感数据的方法
一、简介
HDF格式(即被称为Hierarchical Data Format的格式)是一种非
常常用的遥感图像数据文件格式,经常用于从卫星和航空载荷传输大量的
数据。
HDF格式可以嵌套多层的数据对象,以及存储非常复杂的数据结构(例如:多维矩阵、多维数组、结构数据等),并且可以满足人们的多样
化数据管理需求。
因此,HDF格式的文件经常被科学研究和应用程序使用,而MATLAB是一款功能强大的数学分析及处理软件,具有一系列的函数可
以读取和分析HDF格式的数据,并且与HDF格式的关系密切。
1、读取HDF格式文件
MATLAB有专门的函数可以用来读取HDF格式的文件:hdfinfo及hdfread 函数。
hdfinfo函数用来获取HDF文件中的信息,hdfread函数
用来读取HDF文件中的数据。
例如,我们可以用以下语句读取一个名为example.hdf的HDF文件。
info = hdfinfo('example.hdf'); %用来获取信息
data = hdfread('example.hdf'); %读取数据
2、对HDF格式数据进行处理
数据可以用MATLAB自身的一系列函数进行处理,例如,我们可以用imhmin函数来实现局部阈值分割,将图像分割成不同的灰度级别和颜色;可以用boxfilter函数对图像进行平滑、消除噪点,减少图像的噪声等。
3、进行更高级的分析
另外,MATLAB还提供了一系列高级的函数可以进行更高级的分析。
hdfview 用法 -回复
hdfview 用法-回复HDFView是用于浏览和编辑HDF(Hierarchical Data Format,分层数据格式)文件的工具。
HDF是一种用于存储大型科学和工程数据的文件格式,它可以存储多种类型的数据和元数据,并以层次结构的方式组织数据。
在本文中,我们将一步一步地介绍如何使用HDFView浏览和编辑HDF 文件。
第一步:安装HDFView首先,我们需要前往HDFView官方网站(第二步:打开HDF文件一旦启动HDFView,我们可以在主界面上看到菜单栏和工具栏。
要打开一个HDF文件,我们可以通过菜单栏中的“File”选项,然后选择“Open File”来打开一个HDF文件。
在文件对话框中,浏览到文件所在的位置,并选择要打开的HDF文件。
点击“打开”按钮后,HDF文件将在HDFView 的主界面中加载并显示。
第三步:浏览数据集在打开的HDF文件中,我们可以看到文件的层次结构。
层次结构以树状形式显示在左侧的“对象视图”窗口中。
我们可以展开不同的节点以查看数据集、组、数据类型等。
当我们选择一个数据集时,该数据集的内容将显示在右侧的“数据集视图”窗口中。
第四步:查看和编辑数据在数据集视图窗口中,我们可以查看数据集的数据内容。
根据数据集的类型,我们可以选择以表格、图表或其他适当的方式显示数据。
同时,我们还可以对数据集进行编辑,包括添加、删除、修改数据。
要编辑数据,我们可以选择一个特定的数据项,然后使用工具栏上的相关按钮执行相应的操作。
第五步:导出数据如果我们想将数据导出到其他格式,如CSV或Excel,HDFView也提供了这样的功能。
通过使用菜单栏中的“File”选项,然后选择“Export”子选项,我们可以选择将数据导出为所需的格式。
在导出对话框中,指定目标文件的名称和保存位置,然后点击“导出”按钮即可完成导出过程。
第六步:保存修改当我们对HDF文件进行修改后,通常需要将修改保存回原始文件中。
hdf格式气溶胶数据读取清洗python
hdf格式气溶胶数据读取清洗pythonHDF格式是一种常用的数据存储格式,常用于存储科学数据,包括气溶胶数据。
在Python中,我们可以使用h5py库来读取和处理HDF格式的数据。
首先,我们需要安装h5py库。
可以使用以下命令在命令行中安装h5py:```bashpip install h5py```安装完成后,我们可以开始读取和清洗HDF格式的气溶胶数据。
首先,我们需要导入h5py库:```pythonimport h5py```然后,我们可以使用h5py库中的File类来打开HDF文件:```pythonwith h5py.File('气溶胶数据.hdf', 'r') as f:# 读取数据data = f['数据集名称'][:]```在上面的代码中,我们使用了`with`语句来打开HDF文件,并使用`[:]`来读取整个数据集。
如果需要读取特定的数据集,可以将数据集名称替换为实际的数据集名称。
接下来,我们可以对读取的数据进行清洗。
清洗数据的具体步骤会根据数据的具体情况而定,通常包括去除缺失值、异常值处理、数据转换等操作。
以下是一个简单的数据清洗示例,假设我们需要去除缺失值:```pythonimport numpy as np# 去除缺失值cleaned_data = data[~np.isnan(data).any(axis=1)]```在上面的代码中,我们使用了NumPy库来去除数据中包含缺失值的行。
根据实际情况,可能需要进行更复杂的数据清洗操作。
最后,我们可以将清洗后的数据保存到新的HDF文件中:```pythonwith h5py.File('清洗后的气溶胶数据.hdf', 'w') as f:f.create_dataset('cleaned_data', data=cleaned_data)```在上面的代码中,我们使用了`create_dataset`方法来创建新的数据集,并将清洗后的数据保存其中。
ASTER数据处理
ASTER数据处理一、引言ASTER(Advanced Spaceborne Thermal Emission and Reflection Radiometer)是一种由美国宇航局(NASA)和日本航空航天研究开发机构(JAXA)合作开发的遥感卫星传感器。
ASTER数据处理是指对由ASTER传感器获取的遥感数据进行处理和分析的过程。
本文将详细介绍ASTER数据处理的标准格式,包括数据获取、预处理、几何校正、辐射校正、影像拼接和应用等方面。
二、数据获取ASTER数据可以从NASA的地球观测系统数据处理与信息技术项目(EOSDIS)中获取。
用户需要注册EOSDIS账号,并根据需要选择相应的ASTER数据集。
数据集包括高程数据、地表温度数据、地表反射率数据等。
三、预处理1. 数据格式转换:将ASTER数据从原始格式(HDF)转换为常用的栅格数据格式,如GeoTIFF。
2. 数据子集选择:根据研究需求,选择感兴趣的区域进行子集提取,以减少处理数据的大小。
3. 云去除:使用云检测算法,将云覆盖的像素从数据中去除,以提高后续处理的准确性。
四、几何校正1. 大气校正:根据ASTER传感器的观测原理,对数据进行大气校正,消除大气影响,得到大气校正反射率数据。
2. 几何校正:根据地面控制点(GCPs)和地形高程数据,进行几何校正,纠正数据的位置和形状,以提高数据的精度。
五、辐射校正1. 辐射校正:根据辐射定标系数和大气校正反射率数据,进行辐射校正,将数据转换为辐射亮度值。
2. 温度计算:根据辐射亮度值和辐射定标系数,计算地表温度,得到地表温度数据。
六、影像拼接1. 影像配准:对多个ASTER影像进行配准,使其在地理空间上对应。
2. 影像拼接:根据配准结果,将多个ASTER影像拼接成一个无缝的大区域影像。
七、应用ASTER数据处理后,可以应用于以下领域:1. 地质研究:利用ASTER高程数据和地表反射率数据,进行地质构造和地貌分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HDF数据格式资料转来自:数据格式HDF是美国国家高级计算机应用中心(National Center for Supercomputer Application)为了满足各种领域研究需要而开发出的一种能高效存储和分发科学数据的新型数据格式。
一个HDF文件中可以包含多种类型的数据,如栅格图像数据,科学数据集,信息说明数据等,这种数据结构,方便了我们对于信息的提取。
例如,当我们打开一个HDF图像文件时,除了可以读取图像信息以外,还可以很容易的查取其地理定位,轨道参数,图像噪声等各种信息参数。
HDF的数据格式是一种分层式数据管理结构,是一个能够自我描述、多目标、用于科学数据存储和分发的数据格式。
他针对存储和分发科学数据的各种要求提供解决方法。
HDF数据格式设计特点为:自我描述性(Self-Description):一个HDF文件可以包含关于该数据的全面信息。
多样性(Diversity):一个HDF文件中可以包含多种类型的数据。
例如,可以通过利用适当的HDF文件结构,获取HDF文件中存储符号,数据和图形数据。
灵活性(Flexibility):可以让用户把相关数据目标集中一个HDF文件的某个分层结构中,并对其加以描述,同时可以给数据目标记上标记,方便查取。
用户也可以把科学数据存储到多个HDF文件中。
可扩展性(Extensity):在HDF文件中可以加入新数据模式,增强了它与其他标准格式的兼容性。
独立性(Independibility):HDF是一种同平台无关的格式。
HDF文件在不同平台间传递而不用转换格式。
HDF文件物理存储结构一个HDF文件应包括一个文件头(File Header),一个或多个描述块(Data Descriptor Block),若干个数据对象(Data Object)。
文件头:位于HDF文件的头四个字节,其内容为四个控制字符的ASCII码值,四个控制字符为^N,^C,^S,^A,可用于判断一个文件是否为HDF文件格式。
数据对象:数据对象是HDF文件最基本的存储元素。
包括一个描述符和一个对应的数据元素。
描述符:其长度为12个字节,主要用来描述这个数据元素的某些信息。
头两个字节称为标识符(Tag),其内容为16位的无符号整数,其作用为确定数据元素区的数据类型,每一种数据类型都对应一个默认无符号整数。
紧跟其后的是两个字节的参照数(Reference Number),它也是16位的无符号整数,它是为了区别同一标识符下的不同数据对象,因此标识符和参照数二者合在一起唯一确定一个数据对象。
后面的四个字节组成的32位无符号整数表示的是数据元素在HDF文件中的偏移量,也就是从文件开始位置到数据元素的起始位置所包含的字节数。
最后的四个字节用来表示本描述符所对应的数据元素区所占用的字节数,也是32位无符号整数。
数据元素:它是数据对象中的裸数据部分,也就是数据本身。
可以是字符、整数、浮点数、数组等。
在实际的HDF文件中,描述符并不是和它对应的数据元素连在一起,而是把相关的许多描述符放在一起,构成一个数据描述符的块(Data Descriptor Block),在这个块的后面顺序存储了各个描述符所对应的数据元素。
打个比方,这里的描述符相当于一本书的目录,而数据元素相当于目录中各个章节所对应的实际内容。
这种数据描述符块的前面有对应的块头(Block Header)。
块头的内容分为两部分,第一个部分为16位无符号整数,表示在这个数据描述符块中数据描述符的个数,第二部分为32位无符号整数,表示了下一个数据描述符块相对于文件起始位置的偏移量。
因此,最后一个数据符块的块头的第二部分的内容为零。
总的说来,HDF文件中的物理分布格式如下:文件头(File Header)第一个描述符块(First Descriptor Block)数据元素(Data Element)更多的描述符块以及更多的数据元素等等关于数据描述符块和数据元素在HDF文件中分布的唯一规则就是第一个数据描述符块必须紧跟在文件头后。
在此之后的数据描述块的块头中的偏移量把数据描述符块连接起来,而每个数据描述符中的偏移量又把数据描述符和数据元素连接起来。
HDF数据类型在这里首先明确两个概念,数据集(Data Sets)和组(Groups)。
HDF文件通常包含几个密切相关的数据对象,把这些数据对象放在一起形成一个数据集,以满足特殊用户的要求。
HDF主要有6种主要数据集:栅格图像(Raster Images Sets)、调色板(Palette Sets)、科学数据库(Scientific Data Sets)、注释(Annotation)、Vsets和Vgroup,例如,五个或者六个数据对象可以用来描述一个栅格图像;八个或者更多的数据对象可以用来描述一次科学实验的结果,由于要把不同的数据对象结合起来构成集,就需要一种方法将数据对象有机的结合起来,这样就产生了组的概念,HDF的组用来明确和控制数据集。
一个组也是一个数据对象,但是它的数据元素是由一系列的标识符(Tags)和参照数(Reference number)组成,这些标识符和参照数所对应的数据对象就可以构成实际的数据集。
例如,构成一个栅格图像的五个或者六个数据对象,它们构成一个集,而它们的标识符和参照数应该放在一个组所对应的数据元素区中,以将它们联系起来。
以下是几种常用的数据集格式:栅格图像:数据模式提供一种灵活方法存储。
描述栅格图像数据,包括8bit栅格图像和24bit栅格图像。
栅格图像集(Raster Image Sets)提供用来存储图像和任意数量的可供选择的图像描述符的框架,通常包含图像数据布局的描述和图像数据,它还可能包含调色板和颜色校正信息和任何其他相关的用来显示图像的数据。
将所有这些信息联系起来的就是栅格图像组(Raster Image Groups),它包含了所有这些数据对象的标识符和参照数。
这些数据对象的数量不是固定的,可以通过选择来确定需要的信息。
调色板:提供图像的色谱。
调色板是给一幅图像加入颜色的方法,它相当于一个表格,这个表格可能由不同的大小,但HDF文件只支持256色的显示。
对于栅格图像中的每一个数据,在表格中都有其对应的RGB数值,用来显示颜色。
科学数据集:用来存储和描述多维科学数据陈列。
科学数据集提供了一个用来存储多维数组数据以及其相关信息的框架。
数组的数据类型可以是整数或者是浮点数。
它的组织方式与栅格图像相同。
科学数据集必须包含的组件有数组、名称、数据类型和数组的维数。
数组是一种多维的数据结构,它是科学数据集的主要组成部分,存储着所需要的核心数据,比如某一次科学实验结果的数据。
科学数据集的名称在其刚产生的时候就赋予了它,在以后的应用中不能再被改变,它的名称在HDF文件中可以不是唯一的,但是唯一的名字将使得在同一文件中区别不同的科学数据集更加容易。
数据类型指的是存储在数组中数据的类型。
数据维数确定了数组的形式和大小。
数组维数的数目被称为数组的阶数,每一维都有一个指针和一个标识符,还包含大小和名称。
指针是用来描述某一维在数组中的位置。
而标识符将它与其他维区别开来。
每一维的大小是一个正整数,但是如果其值为零,表示这一维是无限维。
另外,科学数据集还提供了三种类型的可供选择的组件:预定义的属性,用户定义的属性和维数规模。
预定义的属性有保留的名称,在某些情况下还有预定义的数据类型和数据项目的个数,应用程序可以用预定义的属性来对数据进行操作。
用户自定义属性包含了关于文件、数组或者维数的辅助信息。
Vdata:是一个类似于框架,用于存储和描述数据的表格。
Vdata是verdex data 的缩写,这种数据格式起初是用来存储多边形顶点和边的信息,但现在它的应用范围已经被大大扩展了。
Vdata相当于一个表格,是很多记录(Records)的集合,每个记录的值存储在固定长度的域(Fields)中,所有的记录的数据结构都是相同的,每个域中的值都有相同的数据类型。
一个Vdata都由一个名称,一个类和一系列单独的域的名称所唯一确定。
Vdata的名称主要是用来描述Vdata的内容,它通常被用来在文件中搜寻Vdata的位置,一个Vdata的类更进一步的确定了它的数据的用途和目的。
最后,Vdata的域的名称是用来分配给Vdata域的标签。
每一个记录是由一个或更多的固定长度的域所组成。
Vdata的记录和域由指针来标识。
这个指针是从零开始依次递增的。
每一个域中的数据都有唯一的类型。
同时在一个域总可以有几个组件,组件的个数称为域的序(Order)。
注释(Annotation):文本格式,用来描述HDF文件自身的属性或者HDF数据目标。
我们通常需要把一个关于HDF文件信息的文本文件的注释联系起来,或者直接存储在HDF文件中。
HDF提供了两种实现这一目的方法:注释数据对象和属性的分配。
需要注意的是注释本身也是一种数据对象,因此它也有自己的描述符,并指向了包含有注释信息的数据元素。
这个数据元素有以下的信息:被注释对象的标识符和参照数以及注释本身。
Vgroup:用来将数据对象联系起来。
一个Vgroup中可以包含其他的Vgroup或者HDF数据对象,因此这种结构类似于Unix文件结构。
属于同一个Vgroup的数据对象通常被称为Vgroup的成员,Vgroup必须有一个名称以及一个可供选择的与其相联系的Vgroup类,此二者被用来描述属于同一个Vgroup的数据对象并将其分类。
Vgroup的名称是字符串,在HDF文件中不同的Vgroup可以有相同的名字,但是不同的名字可以使得区分Vgroup更加容易,Vgroup类也是一个数据字符串,能够用来根据数据对象的使用目的来分类。
同时需要注意的是,Vgroup可以包含任意数目的Vgroups和数据对象,包括其他Vgroup的成员。
HDF函数库及其应用接口(API)HDF文件可以被看作几个接口层。
在它的最底层,HDF是用来存储科学数据的物理文件格式。
在它的最高层,HDF是用来操作、显示和分析存储在HDF文件中数据的应用程序集合。
在这些接口层之间,HDF是用来提供高层和底层编程接口的软件库,它也包括一些支持软件,可以使存储、检索、显示和分析以及操作存储在HDF 文件中的数据更加容易。
最基本的接口层是为软件开发者保留的。
它被用来直接进行文件的数据流的输入输出、错误处理、内存管理和物理存储。
它是对有经验的HDF程序员用来开发而比现有所用的软件更加完善的高层应用程序接口的软件工具,而这种底层的编程只能用C语言来完成。
再上的一层,是HDF应用程序接口,包括几个相互独立的函数组,每一组都使专门用来简化存取某一种数据类型的过程。
虽然每一个接口都需要编程,但是所有的底层的详细过程可以忽略。