Formato de datos jerárquico

Formato de datos jerárquico HDF
Caracteristicas
Extensiones .hdf, .h4, .hdf4, .he2, .h5, .hdf5,.he5
Tipo de Mimica application/x-hdf, application/x-hdf5
PUID fmt / 807 , fmt / 286 , fmt / 287
Desarrollado por El grupo HDF ( d )
Especificación Formato abierto
Sitio web (en)  www.hdfgroup.org

El formato de datos jerárquico ( HDF ) es un conjunto de formatos de archivo para guardar y estructurar archivos que contienen grandes cantidades de datos. Un archivo HDF es un contenedor de archivos .

Los primeros formatos HDF se desarrollaron en el Centro Nacional de Aplicaciones de Supercomputación , antes de ser desarrollados por el Grupo HDF.

HDF designa tanto el formato como el conjunto formado por bibliotecas, herramientas (incluida la herramienta de manipulación y navegación HDFView ) y conjuntos de prueba .

Las características de los formatos HDF, así como las bibliotecas para utilizarlos y las herramientas asociadas están disponibles bajo licencia gratuita ( BSD ). HDF es compatible con muchos lenguajes: Java , MATLAB , IDL y Python .

Existen principalmente dos formatos HDF: HDF4 y HDF5. Los archivos HDF tienen muchas extensiones  : .hdf, .h4, .hdf4, .he4 (para HDF4) .h5, .hdf5 y .he5 (para HDF5).

Historia

La búsqueda de un formato de datos científicos portátil, inicialmente llamado AEHOO (formato orientado a objetos jerárquicos que abarcan todo), comenzó en 1987 por el Graphics Foundations Task Force (GFTF) en el Centro Nacional de Aplicaciones de Supercomputación (NCSA). Las subvenciones NSF recibidas en 1990 y 1992 fueron importantes para el proyecto. En ese momento, la NASA estudió 15 formatos de archivo diferentes para su uso en el proyecto EOS (Earth Observing System). Después de un proceso de revisión de dos años, se seleccionó HDF como el sistema estándar de datos e información.

HDF4

HDF4 es la versión anterior del formato, aunque The HDF Group todavía lo apoya activamente. Admite una proliferación de diferentes modelos de datos, incluidas matrices multidimensionales, imágenes rasterizadas y matrices. Cada uno define un tipo de datos agregados específico y proporciona una API para leer, escribir y organizar datos y metadatos. Los desarrolladores o los usuarios de HDF pueden agregar nuevos modelos de datos.

HDF es autodescriptivo, lo que permite que una aplicación interprete la estructura y el contenido de un archivo sin ninguna información externa. Un archivo HDF puede contener una mezcla de objetos relacionados a los que se puede acceder como un grupo o como objetos individuales. Los usuarios pueden crear sus propias estructuras de agrupación llamadas "vgroups".

El formato HDF4 tiene muchas limitaciones. Carece de un modelo de objeto claro, lo que dificulta el soporte y la mejora continuos. El soporte para muchos estilos de interfaz diferentes (imágenes, matrices multidimensionales, matrices) conduce a una API compleja. El soporte de metadatos depende de la interfaz utilizada. Los objetos SD (Scientific Dataset) admiten atributos con nombres arbitrarios, mientras que otros tipos solo admiten metadatos predefinidos. Quizás lo más importante es que el uso de números enteros con signo de 32 bits para el direccionamiento limita los archivos HDF4 a un máximo de 2 GB, lo que es inaceptable en muchas aplicaciones científicas modernas.

HDF5

HDF5 mejora HDF4. Simplifica la estructura del archivo para proporcionar solo dos tipos de objetos:

El usuario también puede definir una estructura de atributos para agregar información ( metadatos ) sobre cada objeto.

Esta estructuración en conjuntos de datos y grupos le da a los archivos HDF5 una estructura jerárquica (en este caso, árbol ), muy parecida a un sistema de archivos . Esta analogía con un sistema de archivos también está presente en las convenciones de nomenclatura de los objetos de archivo: el nombre completo de un objeto en el archivo HDF5 se construye como una ruta en un sistema de archivos ( /chemin/vers/le/fichier).

Reseñas

Las críticas a HDF5 se derivan de su diseño monolítico y sus largas especificaciones.

Interfaces

Existen interfaces de programación para manipular archivos HDF mediante un lenguaje de programación o software.

Interfaces del grupo HDF

Otras interfaces

Referencias

  1. (in) "  History of HDF Group  " en https://www.hdfgroup.org (consultado el 5 de mayo de 2020 )
  2. (in) "  Moving away hdf5  " en https://cyrille.rossant.net (consultado el 5 de mayo de 20020 )
  3. biblioteca JHDF5
  4. Documentación de Mathematica de importación y exportación de HDF
  5. http://www.h5py.org/

Ver también

Artículos relacionados

enlaces externos

Herramientas

(fr) Este artículo contiene extractos del Diccionario de Computación en Línea Gratuito que autoriza el uso de su contenido bajo la licencia GFDL .