8

私は現在、大量の反復データを扱ういくつかのプロジェクトに取り組んでいます (または少なくとも計画しています)。スプレッドシートやデータベースでは適切に機能するが、XML では厄介な種類のデータ。:)

NetCDF は、ファイル形式の優れたオプションのようです。ただし、私の作業は C# で行われており、利用可能な "公式" の NetCDF 実装はありません。IronPython で使用できる可能性のある「公式」の Python バージョンがあります。別のオプションは、CodePlex の「.Net 用 NetCDF ライブラリ」ですが、かなり静かなようです ( http://www.codeplex.com/netcdf )。

これらのライブラリのいずれかを使用した人はいますか? 何かお勧めはありますか?

4

4 に答える 4

12

このトピックについて Google で調べたとき、これが一番の答えだったので、今これを追加します。


ETA以下の返信によると、別の Microsoft NetCDF ライブラリが利用可能になりました。

https://www.nuget.org/packages/SDSLite

科学データセット ライト 1.4.0

これは、netCDF、CSV、および TSV ファイルを操作するためのクロス プラットフォーム ライブラリです。


この質問は最初に尋ねられて回答されたため、Microsoft は NetCDF をサポートする Scientific DataSet ライブラリをリリースしました。

http://research.microsoft.com/en-us/downloads/ccf905f6-34c6-4845-892e-a5715a508fa3/

プロジェクトの説明

SDS ライブラリを使用すると、.Net 開発者は、科学モデリングで非常に一般的なスカラー、ベクトル、行列、および多次元グリッドの読み取り、書き込み、および共有を簡単に行うことができます。CSV、NetCDF、その他のファイル形式をサポート

ライブラリを使用するプログラムは、関連データと関連メタデータをコンパクトな自己記述型パッケージに格納します。ライブラリには一連のユーティリティとパッケージが付属しています: sds コマンド ライン ユーティリティ、DataSet Viewer アプリケーション、および Microsoft Excel 2007 (およびそれ以降のバージョン) 用のアドイン。詳しくはリリースページをご覧ください。

于 2014-09-02T04:00:44.870 に答える
7

まず、NetCDFが正しい選択であると確信していますか?大量のデータを読み込む必要があり、すでにNetCDFをサポートしている他のプログラムと対話する場合は、おそらくそれが最適です。大規模な多次元配列をサポートする、標準的で十分にサポートされているファイル形式はそれほど多くありません。ただし、C#からファイルを読み書きするだけの場合は、それほど適切な選択ではない可能性があります。

私は「クラシック」なNetCDFファイル形式の大ファンです。コンパクトで非常にシンプルですが、多くの一般的な種類の多次元の適切に構造化されたデータをサポートするのに十分な柔軟性があります。従来のNetCDF用の完全なパーサーを作成するのに1日しかかかりませんでした。また、従来のNetCDFファイルの整形式の特殊なケースを出力するプログラムを作成するのに1時間しかかかりませんでした。純粋なC#NetCDFライブラリを自分で実装することもできますが、それほど問題にはなりません。必要な機能だけを実装することから簡単に始めることができます。 これが仕様です。

残念ながら、NetCDF-4はデータ形式としてHDF-5を使用することを選択しました。それは多くの複雑さを追加し、別の言語で完全なNetCDFパーサーを書くことをはるかに難しくします。HDF-5は非常に汎用的であり、私の意見では、それは過剰に設計されていました-それはあまりにも多くの人々にとってあまりにも多くのものになろうとします。単体テストの作成に1か月を費やす予定がない限り、直接作業することはお勧めしません。C#のnetCDF-4 / HDF-5を使用する必要がある場合、唯一の現実的なオプションは、SWIGなどを使用してCライブラリをラップすることです。

NetCDF for PythonはCコードの単なるラッパーであるため、それほど役立つわけではないことに注意してください。ラップされたCライブラリを使用する場合は、Pythonを中間層として使用するのではなく、C#ラッパーを作成することもできます。

于 2008-09-15T15:09:08.283 に答える
4

そして今、Microsoft は、NuGet 経由で利用できる netCDF 用の新しいライブラリをリリースしました。

https://www.nuget.org/packages/SDSLite

科学データセット ライト 1.4.0

これは、netCDF、CSV、および TSV ファイルを操作するためのクロス プラットフォーム ライブラリです。

于 2016-08-24T21:13:35.300 に答える
1

プロジェクトでは、ikvm を使用して c# で ucar netcdf 実装を使用しています。IKVM を使用すると、Java VM を使用せずに Java プロジェクトを .Net ライブラリに「変換」できます。パフォーマンス チェックは行っていませんが、C# で netcdf を取得する簡単な方法です :)。

http://www.ikvm.net/stories.html

http://www.unidata.ucar.edu/downloads/netcdf/netcdf-java-4/index.jsp

于 2009-05-13T19:21:28.550 に答える