連続/配列データ(ラスター)のNetCDFは非常に好きです。NetCDFの長所は次のとおりです。
- NetCDFは自己記述型である(つまり、ファイルヘッダーを介してデータ定義を利用できる)ため、セカンダリメタデータファイルを提供する必要はありません。
- NetCDF4では、n次元データを保存できます(ディスク上のHDF5データ形式を使用します。これは、OSが処理できる最大のファイルを許可するため、ボーナスです)。これには、合理的な圧縮とデータへの高速アクセスが伴います。NetCDF3はn次元のデータをサポートしておらず、32ビットシステムで約2GBのファイルサイズ制限があることに注意してください。
- NetCDFはオープン形式であるため、一般的なライブラリを介してデータにアクセスすることも一般に問題になりません。たとえば、pythonでは、scipyからデータのスライスを読み込むのに十分簡単です。
from scipy.io import netcdf
f = netcdf.netcdf_file('source.nc')
print(nc.dimensions) #take a look at the dimensions of the data
print(nc.variables) #A dictionary containing all the variables
nc.variables["some_data"].dimensions #The dimensions this variable is in, e.g. lat, lon
out_array = nc.variables["some_data"].data
f.close() #and we're done
NetCDF4の唯一の欠点は、ArcGISやQGISのような標準のGISパッケージでサポートされていないことです(これを修正したいと心から願っています!)。
編集NetCDFをサポートする他のいくつかのパッケージ
NetCDFをサポートするいくつかの標準プログラミング言語(公平ではありますが、HDFを読み取れるものはすべてNetCDF4を読み取ることができます):
数学と統計のユーザーの場合:
特にGISの場合:
NetCDFファイルをすばやく見たい場合は、NASAのクロスプラットフォームPanoplyを使用します。さらに興味がある場合は、UCAR Unidata にソフトウェアのリストがあります。