Hierarchical Data Format
Hierarchical Data Format (HDF, HDF4, ou HDF5) é o nome para dun conxuto de formatos de arquivo e bibliotecas creadas para a organización e almacenamento de grandes cantidades de datos numéricos, requisito na investigación sobre a aprendizaxe automática. Trátase dun formato en licencia aberta, semellante ao BSD, coas súas especificacións públicas, capaz de obter información sobre os datos que almacena sen recurrir a fontes externas e con capacidade de estandarización sobre os datos de natureza aberta que admite para gardar en memoria.
HDF recibe apoio de varias plataformas de software, comerciais e non-comerciais, como Java, Python, MATLAB, IDL, e [R]]. As duas principais versións do HDF son HDF4 e HDF5, bastante diferentes en estrutura e API. HDF está composto básicamente pola libraría, unha consola como liña de comando, unha ferramento de testeo, unha interface Java e polo HDF Viewer.[1]
Historia
Na procura dun formato flexíbel e independiente da plataforma de uso, con capacidade de almacenamento da crecente e heteroxénea varidade de datos na investigación comenzou a desarrollarse o formato HDF nos laboratorios da NCSA (National Center for Supercomputing Applications) a partir do ano 1988, manténdose na actualidade pola equipa do HDF Group, dependente da Universidade de Illinois. Actualmente, este formato utilízase por múltiples organismos, tanto públicos como privados, para a difusión de datos e resultados científicos, entre as que se atopa a NASA, ou a Axencia Europea do Espazo (ESA), en, por exemplo, as lecturas dos sensores MODIS, MERIS ou ETM+, entre outros.[2]
Estrutura
A estrutura dos arquivos HDF permite o almacenamento de diversos tipos de datos, tales como:
- Scientific Data Sets (SD), utilizados para almacenar matrices n- dimensionais de datos enteiros (8, 16 e 32 bits, con ou sen signo) ou reais (32 ou 64 bits) no seu formato estándar, ou por medio das APIs, crear datos noutros rangos de valores (1 a 32 bits), xunto cos seus metadatos (dimensións da matriz, atributos, etc...)
- Raster Images (RI), que permiten almacenar imaxes de 8 bits (0-255 niveis de gris) ou 24 bits (RGB), ou ben empregar as librarías de programación para gardar imaxes noutros formatos (16 a 32 bits enteiros, 32 a 64 bits coma flotante). Ademáis, permítese almacenar información sobre as dimensións da imaxe, así como a paleta de cor asociada a ela. Tamén é posíbel empregar compresión (RLE, JPEG, GZIP e adaptativa Huffman) para reducir o tamaño dos arquivos resultantes.
- Text Annotations (TA), para almacenar calqueira tipo de información textual: Etiquetas, descripcións ou información de arquivo.
- VDatas (VD), para almacenar datos vectoriais sen topoloxía.
- Vgroups (VG), que nos permiten asociar datos relacionados dentro dun arquivo.
Acceso aos datos
Existen diversas formas de acceder aos datos contidos baixo un arquivo HDF. unha delas é o acceso a nivel binario, coñecendo a estrutura do arquivo, pública, ou ben a través de aplicacións dispoñíbeis que soporten este formato, de forma que o proceso se realice de maneira transparente para o usuario.
Ligazóns externas
- HDF Group
- What is HDF5?
- A presentation on how to handle large datasets in Quantum Chemistry using hdf5
- NASA HDF file example, its structure generated and shown online as CreativeCommons image
Notas
- ↑ Java-based HDF Viewer (HDFView)
- ↑ Palomo, Palomo, M (2016). “El formato HDF para el almacenamiento de información relativa a imágenes de satélite. Importación y exportación en SOV de ficheros HDF”. "Universidad Politécnica de Madrid. Trabajo del Curso de doctorado “Cartografía ambiental”".