Зачем конвертировать NC в JSON?
JSON является нативным форматом обмена данными для веб-приложений и REST API. Экспорт подмножества климатических или океанографических данных из файла netCDF в формате JSON позволяет веб-визуализациям и сервисам использовать их без библиотеки netCDF. Он также удобен для чтения человеком, что полезно для проверки метаданных или небольшого среза переменных во время разработки.
Способы конвертации NC в JSON
Python (xarray + netCDF4) FREE
Установите с помощью pip install xarray netCDF4, откройте файл через xarray.open_dataset(), выберите переменную и срез с помощью .sel(), затем вызовите .to_dict() и json.dump() для записи результата.
ncdump FREE
Запустите ncdump -h data.nc для проверки метаданных или ncdump -v variable_name data.nc для вывода переменной в текстовом формате CDL; перенаправьте вывод в однострочный скрипт Python для получения JSON.
Об этих форматах
Файл .nc - это файл netCDF (Network Common Data Form), бинарный формат для многомерных научных данных, таких как наборы данных о климате, погоде и океане от NOAA, NASA и Copernicus.…
Открыть детали .NC →Файл JSON - это текстовый файл данных в формате JavaScript Object Notation, используемый веб-API, конфигурациями приложений и для экспорта данных. Его открывает любой текстовый редактор -…
Открыть детали .JSON →Качество и на что обратить внимание
- JSON практичен только для небольших срезов - одна глобальная сеточная переменная с ежедневным разрешением может содержать миллионы числовых значений, что делает вывод медленным и трудным для обработки.
- Всегда сначала определяйте имена переменных, запустив
ncdump -h yourfile.ncилиprint(ds)в xarray перед попыткой экспорта. - Для плоской структуры, ориентированной на записи и подходящей для REST API, используйте
subset.to_dataframe().reset_index().to_json(orient='records')вместо.to_dict().
Часто задаваемые вопросы
Можно ли конвертировать весь файл NC в один документ JSON?
Существует ли онлайн-инструмент для конвертации NC в JSON?
Какую структуру JSON создает xarray?
.to_dict() в xarray выводит вложенный объект с ключами для coords, data_vars, dims и attrs, зеркально отражая структуру Dataset в xarray.