Co to jest format pliku HDF?
Pliki .hdf przechowują zestawy danych naukowych w binarnym kontenerze HDF4 (Hierarchical Data Format wersja 4), opracowanym w 1988 roku przez National Center for Supercomputing Applications (NCSA) na Uniwersytecie Illinois. HDF4 został zaprojektowany, aby umożliwić naukowcom i inżynierom przechowywanie heterogenicznych danych numerycznych - wielowymiarowych tablic, obrazów rastrowych, tabel i metadanych - w jednym przenośnym pliku.
Format jest identyfikowany przez cztero-bajtową magiczną sekwencję 0E 03 13 01. Wewnętrznie HDF4 wykorzystuje płaską architekturę znaczników i odniesień (tag-and-reference): każdy obiekt danych jest opisany przez 12-bajtowy deskryptor (znacznik, numer referencyjny, przesunięcie, długość) w bloku deskryptora danych (Data Descriptor Block). Kompresja jest opcjonalna dla każdego zestawu danych i może wykorzystywać RLE, SKPHUFF (zmodyfikowany Huffman) lub DEFLATE (gzip). Sztywny limit 2 GB na obiekt danych wynika z zastosowania 32-bitowych pól przesunięcia ze znakiem.
NASA dystrybuuje produkty teledetekcyjne z satelitów Terra i Aqua w formacie HDF-EOS opartym na HDF4, używając rozszerzenia .hdf. HDF4 został zastąpiony przez HDF5 - całkowicie przeprojektowany format wydany w 1998 roku - który jest obecnie zalecany do nowych prac naukowych. Oba formaty mogą posiadać rozszerzenie .hdf; magiczne bajty pozwalają je wiarygodnie rozróżnić (HDF4: 0E 03 13 01; HDF5: 89 48 44 46).
Bezpieczeństwo
RYZYKO: LOWHDF4 to pasywny binarny kontener danych bez kodu wykonywalnego. Bezpieczny do otwarcia. Bardzo duże zestawy danych mogą wyczerpać pamięć RAM - użyj pyhdf lub MATLAB, aby odczytać podzbiory danych. Nieprawidłowo sformatowane pliki HDF4 mogą wywołać błędy w starszych wersjach libhdf4; dbaj o aktualność narzędzi. Niektóre wersje biblioteki HDF4 (przed 4.2.15) posiadały luki bezpieczeństwa z oceną CVE - zaktualizuj do wersji 4.2.16+.
Szczegóły formatu
w pigułce- Plik HDF5 (okazjonalnie) - Niektóre narzędzia zapisują dane HDF5 z rozszerzeniem .hdf; użyj magicznych bajtów, aby odróżnić HDF4 (0x0E031301) od HDF5 (0x89HDF...).
Programy otwierające pliki HDF
Szczegóły techniczne
specyfikacja| Magiczne bajty | 0E 03 13 01 pod offsetem 0 |
| Typ formatu | Binarny kontener danych naukowych (płaska architektura znaczników/odniesień, HDF4) |
| Kolejność bajtów | Natywnie Big-endian; każdy obiekt danych przechowuje własny deskryptor kolejności bajtów |
| Kompresja | Opcjonalna dla każdego zestawu danych: RLE, SKPHUFF (zmodyfikowany Huffman) lub DEFLATE (gzip) |
| Typy danych | Tablice wielowymiarowe (Scientific Datasets), obrazy rastrowe (1-32 bpp), tabele (Vdata), grupy (Vgroups), adnotacje |
| Maksymalny rozmiar obiektu | ~2 GB na obiekt danych (ograniczenie 32-bitowego pola przesunięcia ze znakiem) |
| Maksymalna liczba wymiarów | Do 32 wymiarów na zestaw danych naukowych (Scientific Dataset) |
| Maksymalna liczba odniesień do obiektów | 65 535 na typ znacznika (16-bitowe numery referencyjne) |
| Architektura | Płaska struktura znaczników/odniesień - obiekty opisane przez 12-bajtowe deskryptory (tag, ref, offset, length) w blokach deskryptorów danych |
| Główne zastosowanie naukowe | Teledetekcja NASA EOS (satelity Terra, Aqua); badania klimatyczne i atmosferyczne |
| Zastąpiony przez | HDF5 (.h5 / .hdf5), całkowicie przeprojektowany format wydany w 1998 roku; niezgodny bajtowo z HDF4 |
| Status konserwacji HDF4 | Tylko poprawki bezpieczeństwa od około 2015 roku; brak nowych funkcji |
| Narzędzie do konwersji | h4h5tools (The HDF Group) konwertuje pliki HDF4 do HDF5 |
| Wydano | 1988 (HDF 1.0 by NCSA, University of Illinois) |
| Najnowsza wersja | HDF4 4.2.16 (2022); HDF4 maintenance-only since HDF5 became primary |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | support.hdfgroup.org |
Konwersje HDF
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki HDF.