Vad är filformatet HDF?
.hdf-filer lagrar vetenskapliga dataset i den binära behållaren HDF4 (Hierarchical Data Format version 4), utvecklad 1988 av National Center for Supercomputing Applications (NCSA) vid University of Illinois. HDF4 designades för att låta forskare och ingenjörer lagra heterogen numerisk data - flerdimensionella arrayer, rasterbilder, tabeller och metadata - i en enda portabel fil.
Formatet identifieras av den fyra byte långa magiska sekvensen 0E 03 13 01. Internt använder HDF4 en platt tagg-och-referens-arkitektur: varje dataobjekt beskrivs av en 12-byte deskriptor (tagg, referensnummer, offset, längd) i ett Data Descriptor Block. Komprimering är valfritt per dataset och kan använda RLE, SKPHUFF (modifierad Huffman) eller DEFLATE (gzip). En hård gräns på 2 GB per dataobjekt beror på 32-bitars signerade offset-fält.
NASA distribuerar fjärranalysprodukter från satelliterna Terra och Aqua i det HDF4-baserade HDF-EOS-formatet med filändelsen .hdf. HDF4 har ersatts av HDF5 - en fullständig omdesign som släpptes 1998 - vilket nu rekommenderas för nytt vetenskapligt arbete. Båda formaten kan använda filändelsen .hdf; magiska bytes skiljer dem åt på ett tillförlitligt sätt (HDF4: 0E 03 13 01; HDF5: 89 48 44 46).
Säkerhet & trygghet
RISK: LOWHDF4 är en passiv binär databehållare utan exekverbar kod. Säker att öppna. Mycket stora dataset kan tömma RAM-minnet - använd pyhdf eller MATLAB för att läsa delmängder. Felaktiga HDF4-filer kan utlösa buggar i äldre versioner av libhdf4; håll verktygen uppdaterade. Vissa versioner av HDF4-biblioteket (före 4.2.15) hade CVE-klassade säkerhetsbrister - uppdatera till 4.2.16+.
Formatdetaljer
i ett nötskal- HDF5-fil (ibland) - Vissa verktyg sparar HDF5-data med filändelsen .hdf; använd magiska bytes för att skilja HDF4 (0x0E031301) från HDF5 (0x89HDF...).
Program som öppnar HDF-filer
Tekniska detaljer
djup specifikation| Magiska bytes | 0E 03 13 01 vid offset 0 |
| Formattyp | Binär behållare för vetenskaplig data (platt tagg/referens-arkitektur, HDF4) |
| Byteordning | Big-endian nativt; varje dataobjekt lagrar sin egen deskriptor för byteordning |
| Komprimering | Valfritt per dataset: RLE, SKPHUFF (modifierad Huffman) eller DEFLATE (gzip) |
| Datatyper | Flerdimensionella arrayer (Scientific Datasets), rasterbilder (1-32 bpp), tabeller (Vdata), grupper (Vgroups), annoteringar |
| Maximal objektstorlek | ~2 GB per dataobjekt (begränsning i 32-bitars signerat offset-fält) |
| Maximalt antal dimensioner | Upp till 32 dimensioner per Scientific Dataset |
| Maximalt antal objektreferenser | 65 535 per taggtyp (16-bitars referensnummer) |
| Arkitektur | Platt tagg/referens - objekt beskrivs av 12-byte deskriptorer (tagg, ref, offset, längd) i Data Descriptor Blocks |
| Primär vetenskaplig användning | NASA EOS fjärranalys (satelliterna Terra, Aqua); klimat- och atmosfärsforskning |
| Ersatt av | HDF5 (.h5 / .hdf5), en fullständig omdesign släppt 1998; inte byte-kompatibel med HDF4 |
| Underhållsstatus för HDF4 | Endast säkerhetsfixar sedan ca 2015; inga nya funktioner läggs till |
| Konverteringsverktyg | h4h5tools (The HDF Group) konverterar HDF4-filer till HDF5 |
| Släppt | 1988 (HDF 1.0 by NCSA, University of Illinois) |
| Senaste version | HDF4 4.2.16 (2022); HDF4 maintenance-only since HDF5 became primary |
| Öppen standard | Ja · royaltyfri |
| Specifikation | support.hdfgroup.org |
HDF-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om HDF-filer.