NASACDF (.cdf)

予備知識

    • MIMEタイプ:application/x-cdf
    • CDFデータファイル形式.
    • 多次元データを保管するための,汎用の自己記述型形式.
    • 科学データおよび画像の保管,管理,交換に使われる.
    • CDFはCommon Data Formatの頭字語である.
    • 1985年よりNASAの国立宇宙科学データ・センターにおいて開発された.
    • バイナリファイル形式.
    • netCDFと関係があるが,互換性はない.

ImportとExport

  • Import["file.cdf"]はCDFファイルをインポートし,ファイルに保管されているデータ集合の名前を返す.
  • Export["file.cdf",expr]は配列またはGraphicsオブジェクトをCDFファイルにエキスポートする.
  • Import["file.cdf"]はファイルに含まれている全データ集合の名前を表す文字列のリストを返す.
  • Export["file.cdf",{expr1,},{"Datasets",{"/dataset1",}}]はCDFファイルを作成し,配列またはGraphicsオブジェクト{expr1,}を別々のデータとして保管する.
  • Import["file.cdf",elem]はCDFファイルから指定された要素をインポートする.
  • Import["file.cdf",{elem,suba,subb,}]はサブ要素をインポートする.
  • Import["file.cdf",{{elem1,elem2,}}]は複数の要素をインポートする.
  • インポート形式はImport["file","NASACDF"]またはImport["file",{"NASACDF",elem,}]で指定できる.
  • Export["file.cdf",expr, elem]expr が要素 elem を指定してるとしてNASA CDFファイルを作成する.
  • Export["file.cdf",{expr1,expr2,},{{elem1,elem2,}}]は各 expri が対応する elemi を指定しているとして扱う.
  • Export["file.cdf",expr,opt1->val1,]は指定の値を持つ指定のオプション要素で expr をエキスポートする.
  • Export["file.cdf",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使ってエキスポートする要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"配列のリストとしてインポートされるすべてのデータ集合
    "Datasets"すべてのデータ集合の名前
  • CDF形式ではImportはデフォルトで"Datasets"要素を使う.
  • データセットの指定と選択:
  • "Datasets",nn 番目のデータセット
    "Datasets",dataset名前付きデータセット
  • "DataFormat"の可能な値:
  • "Date"DateList指定として与えられる日付
    "Integer8"8ビット整数
    "Integer16"16ビット整数
    "Integer32"32ビット整数
    "UnsignedInteger8"符号なし8ビット整数
    "UnsignedInteger16"符号なし16ビット整数
    "UnsignedInteger32"符号なし32ビット整数
    "Real32"IEEE単精度数
    "Real64"IEEE倍精度数
    "String"ASCII文字の文字列
  • メタ情報要素:
  • "Annotations"それぞれのデータ集合のメタ情報
    "DataEncoding"各データ集合がどのように圧縮されるかを指定する
    "DataFormat"それぞれのデータ集合を表すのに使われるタイプ
    "Dimensions"それぞれのデータ集合のデータサイズ
    "Metadata"規則のリストとしての一般的なメタ情報
  • "DataEncoding"の可能な値:
  • Noneデータ圧縮は使われない
    "AdaptiveHuffman"適応型ハフマン(Huffman)符号
    "GZIP"GZIP圧縮
    "Huffman"ハフマン符号
    "RLE"ランレングス符号

オプション

  • Exportオプション:
  • "Append"False既存のファイルに追加するかどうか
    "LargeFileSupport"False64ビットNASA CDFファイルをエキスポートするかどうか
  • デフォルトの設定"LargeFileSupport"->Falseでは,エキスポートされたファイルにはCDF形式のバージョン2.7に適合する32ビットデータ表現が使用される.
  • 64ビット拡張CDF 3.1ファイルは"LargeFileSupport"->Trueで作成できる.

例題

  (7)

データ集合の名前を取得する:

例題ファイルで利用できるインポート要素を示す:

メタ情報をすべて読み取る:

"LATITUDE""LONGITUD"のデータセットをインポートする:

"EPOCH"データセットをインポートすると,DateListで与えられた形式で日付が返される:

例題ファイルからデータ配列を読取り,MatrixPlotを使ってそれを描画する:

上で使ったグラフィックスをラスタライズし,色の値の配列としてNASA CDFにエキスポートする:

整数のリストを,データ集合名を指定してNASA CDFにエキスポートする:

生成されたNASA CDFファイルをインポートする: