Up|<<Prev|Next>>


2.4 属性

NetCDFの 属性 attributes はデータに関するデータ(補助的データ ancillary data ・メタデータ metadata )を格納するために使用されます。その手法は従来のデータベースシステムのデータ辞書や図表を格納するのに使用されている手法と多くの類似点があります。大半の属性は特定の変数に関する情報を含んでいます。その変数の名前(もしくはID)と属性の名前と併せて識別されます。

幾つかの 属性はファイル全体の情報を与えており、グローバル属性( global attributes) と呼ばれます。これらは属性の名前とCDLの場合には空白の変数名、C及びFORTRANの場合には特別なnullグローバル変数IDによって識別されます。

属性には関連する変数(グローバル属性の場合にはnullグローバル変数)、名前、データ型、データ長、そして値があります。現行版においては全ての属性をベクトルとして扱っています。スカラー値は単一要素ベクトルとして扱われます。

可能な場合には従来の 属性名を使用する方が好ましいでしょう。新しく名前をつける場合には出来る限り意味のあるものを付けましょう。

属性の 外部型は定義される際に指定されます。属性に使用できる型は変数の場合のNetCDFの外部データ型と同じです。異なる変数に同一の名前の属性がある場合には異なる型の場合があります。例えば、変数型 int の有効データ値の最大値を特定する属性 valid_max int 型であるべきです。それに対して変数型 double に対する属性 valid_max double 型であるべきです。

属性は変数や次元よりも ダイナミックです。属性は削除可能で、作成後にも型・長さ・値を変更することが可能です。それに対して、NetCDFインターフェースでは変数を削除したり、変数の型や形を変更することは出来ません。

属性を定義するための CDL 表記法では変数属性は

    variable_name:attribute_name
 = list_of_values
;

であり、グローバル属性は

    :attribute_name
 = list_of_values
;

となります。 CDLにおいては各属性の 型や長さは明確には宣言されません。 それらは属性に割り振られた値によって決定されます。単一の属性に所属する値は全て同一型でなければなりません。 色々なNetCDF型の定数に使用される表記法については後述する。(データ 定数のCDL表記

NetCDF の例(Network Common Data Form Language (CDL))では units は変数 lat に対する属性で13文字列` degrees_north 'の配列値を持ちます。そして valid_range とは長さ2、値 `0.0' `1.0' を持つ変数 rh の属性です。

NetCDFファイルの例では一つの グローバル属性--- source ---が定義されています。実際の NetCDFファイルではファイル全体の起源・歴史・規約・特徴などを記述するためにより多くのグローバル属性を持つかもしれません。

NetCDFファイルを処理する 一般的なアプリケーションの多くは 標準的な属性の規約規約に従っており、特に理由がない場合には規約に従うことをお薦めします。 Units , long_name valid_min valid_max valid_range scale_factor add_offset _FillValue 、及び他の規約的な属性については属性の規約を参照してください。

任意のNetCDFファイルが最初に作成されてから時がたっていても属性を定義することは可能です。ですから、ファイルの作成当初に使用される可能性のある属性を全て網羅するようと悩む必要はありません。しかし、既存のファイルに新しい属性を加えることはファイルをコピーするのと同じ作業量が必要となる場合があります。より詳しい議論は9 - NetCDFファイルの構造と性能にあります。


Up|<<Prev|Next>>