Por que converter NC para JSON?
O JSON é o formato nativo de troca de dados para aplicações web e APIs REST. Exportar um subconjunto de dados climáticos ou oceanográficos de um arquivo netCDF como JSON permite que visualizações e serviços web os consumam sem uma biblioteca netCDF. Também é legível por humanos, o que o torna útil para inspecionar metadados ou uma pequena fatia de variável durante o desenvolvimento.
Como converter NC para JSON
Python (xarray + netCDF4) FREE
Instale com pip install xarray netCDF4, abra o arquivo com xarray.open_dataset(), selecione a variável e a fatia com .sel(), depois chame .to_dict() e json.dump() para gravar a saída.
ncdump FREE
Execute ncdump -h data.nc para inspecionar metadados ou ncdump -v variable_name data.nc para extrair uma variável no formato de texto CDL; direcione através de uma linha de comando Python para produzir a saída JSON.
Sobre estes formatos
Um arquivo .nc é um arquivo netCDF (Network Common Data Form) - um formato binário para dados científicos multidimensionais, como conjuntos de dados climáticos, meteorológicos e oceânicos…
Abrir detalhes de .NC →Um arquivo JSON é um arquivo de dados em texto simples no formato JavaScript Object Notation, usado por APIs web, configurações de aplicativos e exportações de dados. Qualquer editor de…
Abrir detalhes de .JSON →Qualidade e o que observar
- O JSON é prático apenas para fatias pequenas - uma única variável de grade global em resolução diária pode conter milhões de valores numéricos, tornando a saída lenta para produzir e difícil de consumir.
- Sempre identifique os nomes das variáveis primeiro executando
ncdump -h yourfile.ncouprint(ds)no xarray antes de tentar qualquer exportação. - Para uma estrutura plana orientada a registros adequada para APIs REST, use
subset.to_dataframe().reset_index().to_json(orient='records')em vez de.to_dict().
Perguntas frequentes
Posso converter o arquivo NC inteiro em um único documento JSON?
Existe uma ferramenta online para converter NC para JSON?
Qual estrutura JSON o xarray produz?
.to_dict() do xarray gera um objeto aninhado com chaves para coords, data_vars, dims e attrs, espelhando a estrutura do Dataset do xarray.