netCDF データ格納形式の基礎

netCDF データの格納

netCDF ファイルのデータは、配列形式で格納されます。 たとえば、時間の経過に伴って変化する、ある地点の気温は、1 次元配列として格納されます。 特定の時点でのある地域の気温は、2 次元配列として格納されます。

時間の経過に伴って変化する地域の気温などの 3 次元 (3D) データ、または時間と標高に応じて変化する地域の気温などの 4 次元 (4D) データは、一連の 2 次元配列として格納されます。

3 次元データ: 時間の経過に伴って変化する、ある地域のデータ
3 次元データ: 時間の経過に伴って変化する、ある地域のデータ
4 次元データ: 時間と標高によって変化する、ある地域のデータ
4 次元データ: 時間と標高によって変化する、ある地域のデータ

netCDF ファイルの基本要素

netCDF ファイルには、ディメンション、変数、属性が含まれます。 これらの要素を組み合わせて使用することで、配列指向データセットのデータの意味やデータ フィールド間の関係を記録します。 次の図は、CDL (network Common Data form Language) 表記を使用して、netCDF ファイルの構造を表したものです。 CDL は、netCDF ファイルの内容を説明するために使用される ASCII 形式です。

CDL ファイル
CDL ファイルの例

ディメンション、変数、属性の名前は、アンダースコアとハイフンを含む任意の英数文字で構成され、文字またはアンダースコアで始まります。 ただし、アンダースコアで始まる名前はシステムで使用するために予約されています。 netCDF 名では、大文字と小文字の区別は重要です。

ディメンション

netCDF ディメンションは名前とサイズの両方を持ちます。 ディメンション サイズは任意の正の整数です。 netCDF ファイルには、UNLIMITED サイズを持つディメンションが 1 つだけあります。 このようなディメンションを無限ディメンションまたはレコード ディメンションといいます。 無限ディメンションを持つ変数は、そのディメンションに沿って任意に拡大することができます。

ディメンションは、時間、緯度、経度、高さなど、実際の物理的な大きさを表すために使用することができます。 また、観測点やモデル試験番号など、他の数量にインデックスを付けるために使用することもできます。 変数の形状を指定する際には、同じディメンションを繰り返し使用することができます。

変数

変数は、同じタイプの値の配列を表します。 変数は、netCDF ファイルに大量のデータを格納するために使用されます。 変数は、変数作成時に指定されたディメンションの一覧に記述された名前、データ タイプ、そして形状を持ちます。 ディメンションの数をランク (次元とも呼ばれる) といいます。 スカラー変数のランクは 0、ベクターのランクは 1、マトリックスのランクは 2 です。 変数には、変数の作成後に追加、削除、または変更できる属性を関連付けることもできます。

座標変数

ディメンションと同じ名前を持つ 1 次元変数を座標変数といいます。 座標変数は、1 つ以上のデータ変数のディメンションと関連付けられ、一般に、そのディメンションに対応する物理座標を定義します。

座標変数は、netCDF ライブラリにとって特別な意味を持ちません。 ただし、このライブラリを使用するソフトウェアは座標変数を特別な方法で処理する必要があります。

属性

netCDF 属性は、付属データまたはメタデータを格納するために使用されます。 ほとんどの属性は、特定の変数に関する情報を提供します。 これらの属性は、変数の名前と属性の名前を組み合わせることにより識別されます。

netCDF ファイル全体に関する情報を表す属性をグローバル属性といいます。 これらの属性は、属性名と空の変数名 (CDL の場合) または特別な NULL 変数 ID (C または FORTRAN の場合) の組み合わせにより識別されます。

規約

規約はメタデータを定義します。メタデータは、各変数のデータに関する最も信頼のおける説明と、それらの空間プロパティと時間プロパティを提供します。 規約は、さまざまなソースのデータを使用する際に、それに相当する数量を判断するのに役立ちます。 規約の名前は、netCDF ファイルでグローバル属性として表されます。

netCDF ドライバーは空間参照を識別する際に CF-1 推奨の優先度順に従います。 netCDF 属性を定義する空間参照の優先度順は、デフォルトでは grid_mapping > srid > crs_wkt > EPSG_code > proj4_parms > spatial_ref > esri_pe_string です。

GDAL_NETCDF_CRS_ORDER=GISArcGIS\Pro\bin フォルダー内の gdalrc ファイルに追加して、デフォルトの動作を OGC/WKT 定義の高い優先度 spatial_ref > EPSG_code > crs_wkt > srid > proj4_parms > grid_mapping > esri_pe_string に変更することができます。

NetCDF 規約の詳細

現在、ArcGIS では、Climate and Forecast (CF) 規約および Cooperative Ocean/Atmosphere Research Data Service (COARDS) 規約がサポートされています。

注意:

他の規約を使用して作成された NetCDF ファイルも ArcGIS で直接動作する可能性があります。 詳細については、それらの規約の仕様をご参照ください。