Wat is het HDF-bestandsformaat?
.hdf-bestanden slaan wetenschappelijke datasets op in de HDF4 (Hierarchical Data Format versie 4) binaire container, in 1988 ontwikkeld door het National Center for Supercomputing Applications (NCSA) aan de University of Illinois. HDF4 is ontworpen om wetenschappers en ingenieurs in staat te stellen heterogene numerieke gegevens - multidimensionale arrays, rasterafbeeldingen, tabellen en metadata - op te slaan in één enkel draagbaar bestand.
Het formaat wordt geïdentificeerd door de vier-byte magic sequence 0E 03 13 01. Intern gebruikt HDF4 een vlakke tag-en-referentie-architectuur: elk gegevensobject wordt beschreven door een 12-byte descriptor (tag, referentienummer, offset, lengte) in een Data Descriptor Block. Compressie is optioneel per dataset en kan gebruikmaken van RLE, SKPHUFF (aangepaste Huffman) of DEFLATE (gzip). Een harde limiet van 2 GB per gegevensobject is het gevolg van 32-bits signed offset-velden.
NASA distribueert remote-sensing producten van de Terra- en Aqua-satellieten in het op HDF4 gebaseerde HDF-EOS-formaat met de extensie .hdf. HDF4 is opgevolgd door HDF5 - een volledig nieuw ontwerp uitgebracht in 1998 - dat nu wordt aanbevolen voor nieuw wetenschappelijk werk. Beide formaten kunnen de extensie .hdf dragen; magic bytes maken een betrouwbaar onderscheid mogelijk (HDF4: 0E 03 13 01; HDF5: 89 48 44 46).
Beveiliging & veiligheid
RISICO: LOWHDF4 is een passieve binaire datacontainer zonder uitvoerbare code. Veilig om te openen. Zeer grote datasets kunnen het RAM-geheugen uitputten - gebruik pyhdf of MATLAB om subsets te lezen. Misvormde HDF4-bestanden kunnen bugs veroorzaken in oudere versies van libhdf4; houd tools up-to-date. Sommige HDF4-bibliotheekversies (vóór 4.2.15) hadden beveiligingslekken met CVE-classificatie - update naar 4.2.16+.
Formaatdetails
in een notendop- HDF5-bestand (incidenteel) - Sommige tools slaan HDF5-gegevens op met de extensie .hdf; gebruik magic bytes om HDF4 (0x0E031301) te onderscheiden van HDF5 (0x89HDF...).
Programma's die HDF-bestanden openen
Technische details
diepe specificaties| Magic bytes | 0E 03 13 01 op offset 0 |
| Formaat-type | Binaire wetenschappelijke datacontainer (vlakke tag/referentie-architectuur, HDF4) |
| Byte-volgorde | Native Big-endian; elk gegevensobject slaat zijn eigen byte-volgorde descriptor op |
| Compressie | Optioneel per dataset: RLE, SKPHUFF (aangepaste Huffman) of DEFLATE (gzip) |
| Datatypen | Multidimensionale arrays (Scientific Datasets), rasterafbeeldingen (1-32 bpp), tabellen (Vdata), groepen (Vgroups), annotaties |
| Maximale objectgrootte | „~2 GB per gegevensobject (beperking door 32-bits signed offset-veld)” |
| Maximale dimensies | Tot 32 dimensies per Scientific Dataset |
| Maximale objectreferenties | 65.535 per tag-type (16-bits referentienummers) |
| Architectuur | Vlakke tag/referentie - objecten beschreven door 12-byte descriptors (tag, ref, offset, lengte) in Data Descriptor Blocks |
| Primair wetenschappelijk gebruik | NASA EOS remote sensing (Terra, Aqua satellieten); klimaat- en atmosferisch onderzoek |
| Opgevolgd door | HDF5 (.h5 / .hdf5), een volledig nieuw ontwerp uitgebracht in 1998; niet byte-compatibel met HDF4 |
| HDF4-onderhoudsstatus | Alleen beveiligingsoplossingen sinds ~2015; geen nieuwe functies toegevoegd |
| Conversietool | h4h5tools (The HDF Group) converteert HDF4-bestanden naar HDF5 |
| Uitgebracht | 1988 (HDF 1.0 by NCSA, University of Illinois) |
| Laatste versie | HDF4 4.2.16 (2022); HDF4 maintenance-only since HDF5 became primary |
| Open standaard | Ja · royaltyvrij |
| Specificatie | support.hdfgroup.org |
HDF conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over HDF-bestanden.