¿Qué es el formato de archivo HDF?
Los archivos .hdf almacenan conjuntos de datos científicos en el contenedor binario HDF4 (Hierarchical Data Format versión 4), desarrollado en 1988 por el National Center for Supercomputing Applications (NCSA) en la Universidad de Illinois. HDF4 fue diseñado para permitir que científicos e ingenieros almacenen datos numéricos heterogéneos (matrices multidimensionales, imágenes ráster, tablas y metadatos) en un único archivo portátil.
El formato se identifica por la secuencia mágica de cuatro bytes 0E 03 13 01. Internamente, HDF4 utiliza una arquitectura plana de etiquetas y referencias: cada objeto de datos se describe mediante un descriptor de 12 bytes (etiqueta, número de referencia, desplazamiento, longitud) en un Bloque Descriptor de Datos. La compresión es opcional por conjunto de datos y puede utilizar RLE, SKPHUFF (Huffman modificado) o DEFLATE (gzip). Un límite estricto de 2 GB por objeto de datos es el resultado de los campos de desplazamiento con signo de 32 bits.
La NASA distribuye productos de teledetección de los satélites Terra y Aqua en el formato HDF-EOS basado en HDF4 utilizando la extensión .hdf. HDF4 ha sido superado por HDF5 -un rediseño completo lanzado en 1998- que es el recomendado actualmente para nuevos trabajos científicos. Ambos formatos pueden llevar la extensión .hdf; los «magic bytes» los distinguen de forma fiable (HDF4: 0E 03 13 01; HDF5: 89 48 44 46).
Seguridad y protección
RIESGO: LOWHDF4 es un contenedor de datos binarios pasivos sin código ejecutable. Es seguro de abrir. Los conjuntos de datos muy grandes pueden agotar la RAM; use pyhdf o MATLAB para leer subconjuntos. Los archivos HDF4 malformados podrían activar errores en versiones antiguas de libhdf4; mantenga las herramientas actualizadas. Algunas versiones de la biblioteca HDF4 (anteriores a 4.2.15) tenían vulnerabilidades de seguridad con calificación CVE; actualice a 4.2.16+.
Detalles del formato
en pocas palabras- Archivo HDF5 (ocasionalmente) - Algunas herramientas guardan datos HDF5 con la extensión .hdf; use los «magic bytes» para distinguir HDF4 (0x0E031301) de HDF5 (0x89HDF...).
Programas que abren archivos HDF
Detalles técnicos
especificación profunda| Magic bytes | 0E 03 13 01 en el desplazamiento 0 |
| Tipo de formato | Contenedor de datos científicos binarios (arquitectura plana de etiquetas/referencias, HDF4) |
| Orden de bytes | Big-endian nativo; cada objeto de datos almacena su propio descriptor de orden de bytes |
| Compresión | Opcional por conjunto de datos: RLE, SKPHUFF (Huffman modificado) o DEFLATE (gzip) |
| Tipos de datos | Matrices multidimensionales (Scientific Datasets), imágenes ráster (1-32 bpp), tablas (Vdata), grupos (Vgroups), anotaciones |
| Tamaño máximo de objeto | ~2 GB por objeto de datos (limitación del campo de desplazamiento con signo de 32 bits) |
| Dimensiones máximas | Hasta 32 dimensiones por Scientific Dataset |
| Referencias máximas de objeto | 65.535 por tipo de etiqueta (números de referencia de 16 bits) |
| Arquitectura | Plana de etiquetas/referencias: objetos descritos por descriptores de 12 bytes (tag, ref, offset, length) en Bloques Descriptores de Datos |
| Uso científico primario | Teledetección NASA EOS (satélites Terra, Aqua); investigación climática y atmosférica |
| Superado por | HDF5 (.h5 / .hdf5), un rediseño completo lanzado en 1998; no es compatible a nivel de bytes con HDF4 |
| Estado de mantenimiento de HDF4 | Solo correcciones de seguridad desde ~2015; no se añaden nuevas funciones |
| Herramienta de conversión | h4h5tools (The HDF Group) convierte archivos HDF4 a HDF5 |
| Lanzado | 1988 (HDF 1.0 by NCSA, University of Illinois) |
| Última versión | HDF4 4.2.16 (2022); HDF4 maintenance-only since HDF5 became primary |
| Estándar abierto | Sí · libre de regalías |
| Especificación | support.hdfgroup.org |
Conversiones de HDF
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos HDF.