なぜ 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などの気候、気象、海洋データセットなどの多次元科学データ用のバイナリ形式です。変数をプロットするにはPanoply (NASA…
.NC の詳細を開く →JSON ファイルは JavaScript Object Notation 形式のプレーンテキストデータファイルで、ウェブ API、アプリの設定、データのエクスポートに使用されます。Windows のメモ帳や Mac の TextEdit など、あらゆるテキストエディタで開くことができますが、本格的な作業には VS Code や Notepad++…
.JSON の詳細を開く →品質と注意点
- JSON が実用的なのは小さなスライスのみです。日次解像度の単一のグローバルグリッド変数は数百万の数値を含む可能性があり、出力の生成が遅くなり、利用も困難になります。
- エクスポートを試みる前に、必ず
ncdump -h yourfile.ncを実行するか、xarray でprint(ds)を実行して変数名を特定してください。 - REST API に適したフラットなレコード指向の構造にするには、
.to_dict()の代わりにsubset.to_dataframe().reset_index().to_json(orient='records')を使用してください。
よくある質問
NC ファイル全体を単一の JSON ドキュメントに変換できますか?
NC を JSON に変換するオンラインツールはありますか?
xarray はどのような JSON 構造を生成しますか?
.to_dict() は、xarray Dataset 構造を反映した、coords、data_vars、dims、および attrs のキーを持つネストされたオブジェクトを出力します。