Hvorfor konvertere NC til JSON?
JSON er det indfødte dataudvekslingsformat til webapplikationer og REST API'er. Eksport af en delmængde af klima- eller oceanografiske data fra en netCDF-fil som JSON gør det muligt for webvisualiseringer og tjenester at forbruge dem uden et netCDF-bibliotek. Det er også menneskelæsbart, hvilket gør det nyttigt til inspektion af metadata eller et lille variabeludsnit under udvikling.
Sådan konverterer du NC til JSON
Python (xarray + netCDF4) FREE
Installer med pip install xarray netCDF4, åbn filen med xarray.open_dataset(), vælg variablen og udsnittet med .sel(), og kald derefter .to_dict() og json.dump() for at skrive outputtet.
ncdump FREE
Kør ncdump -h data.nc for at inspicere metadata eller ncdump -v variable_name data.nc for at dumpe en variabel i CDL-tekstformat; send det gennem en Python-oneliner for at generere JSON-output.
Om disse formater
En .nc-fil er en netCDF (Network Common Data Form) fil - et binært format til multidimensionelle videnskabelige data såsom klima-, vejr- og havdatasæt fra NOAA, NASA og Copernicus. Åbn den…
Åbn .NC detaljer →En JSON-fil er en almindelig tekstdatafil i JavaScript Object Notation-format, der bruges af web-API'er, app-konfigurationer og dataeksporter. Enhver teksteditor kan åbne den - Notesblok i…
Åbn .JSON detaljer →Kvalitet & hvad man skal være opmærksom på
- JSON er kun praktisk til små udsnit - en enkelt global gittervariabel med daglig opløsning kan indeholde millioner af numeriske værdier, hvilket gør outputtet langsomt at generere og svært at forbruge.
- Identificer altid variabelnavne først ved at køre
ncdump -h yourfile.ncellerprint(ds)i xarray, før du forsøger at eksportere. - For en flad, post-orienteret struktur, der er egnet til REST API'er, skal du bruge
subset.to_dataframe().reset_index().to_json(orient='records')i stedet for.to_dict().
Ofte stillede spørgsmål
Kan jeg konvertere hele NC-filen til et enkelt JSON-dokument?
Findes der et onlineværktøj til at konvertere NC til JSON?
Hvilken JSON-struktur producerer xarray?
.to_dict() returnerer et indlejret objekt med nøgler til coords, data_vars, dims og attrs, som afspejler xarray Dataset-strukturen.