Main Content

ncwriteatt

netCDF ファイルに属性を書き込む

    説明

    ncwriteatt(filename,location,attname,attvalue) は、filename で指定された netCDF ファイル内の location で指定されたグループまたは変数の attname で指定された属性を作成するか変更します。書き込まれる属性の値は、attvalue の MATLAB® データ型に最良に適合する netCDF データ型の値です。MATLAB による最良の適合の判別方法の詳細については、MATLAB から NetCDF へのデータ型の変換を参照してください。

    ncwriteatt(filename,location,attname,attvalue,"Datatype",dtype) は、attvaluedtype で指定されたデータ型として書き込みます。たとえば、dtype"string" として指定すると、attvalue の値が string として書き込まれます。

    すべて折りたたむ

    example.nc ファイルの書き込み可能なローカル コピーを作成し、そのグローバル属性 creation_date の値を調べます。

    copyfile(which("example.nc"),"myfile.nc")
    fileattrib("myfile.nc","+w")
    creationDate = ncreadatt("myfile.nc","/","creation_date")
    creationDate = 
    '29-Mar-2010'
    

    modification_date 属性を作成して現在の日付に設定し、その値を確認します。

    ncwriteatt("myfile.nc","/","modification_date",datestr(datetime("now")))
    modificationDate = ncreadatt("myfile.nc","/","modification_date")
    modificationDate = 
    '29-Aug-2023 23:31:09'
    

    example.nc ファイルの書き込み可能なローカル コピーを作成し、peaks 変数の description 属性の値を調べます。

    copyfile(which("example.nc"),"myfile.nc")
    fileattrib("myfile.nc","+w")
    oldDescription = ncreadatt("myfile.nc","peaks","description")
    oldDescription = 
    'z = peaks(50);'
    

    属性を更新し、その新しい値を確認します。

    ncwriteatt("myfile.nc","peaks","description","Output of PEAKS")
    newDescription = ncreadatt("myfile.nc","peaks","description")
    newDescription = 
    'Output of PEAKS'
    

    example.nc ファイルの書き込み可能なローカル コピーを作成します。

    copyfile(which("example.nc"),"myfile.nc")
    fileattrib("myfile.nc","+w")

    変数 /grid1/temp の新しい属性 Units の値として、string 配列 ["°F" "°C"] を書き込みます。この配列には、netcdf4 形式のファイルでのみサポートされる非 ASCII の string データが含まれています。

    ncwriteatt("myfile.nc","/grid1/temp","Units",["°F" "°C"])

    新しい属性の値を確認します。

    ncreadatt("myfile.nc","/grid1/temp","Units")
    ans = 1x2 string
        "°F"    "°C"
    
    

    Calendar という名前の変数を含む netCDF-4 形式のファイルを作成します。次に、データ型を "string" として指定することにより、文字ベクトル 'July'NC_STRING 型として Months という名前の属性に書き込みます。既定では、ncwriteatt は、スカラー テキスト データを NC_CHAR 型として書き込みます。

    nccreate("myfile.nc","Calendar","Format","netcdf4")
    ncwriteatt("myfile.nc","Calendar","Months",'July',"Datatype","string")

    新しい属性の値とデータ型を確認します。

    ncreadatt("myfile.nc","Calendar","Months")
    ans = 
    "July"
    

    入力引数

    すべて折りたたむ

    既存の netCDF ファイルのファイル名。string スカラーまたは文字ベクトルとして指定します。

    netCDF ファイルが存在しない場合は、まず関数 nccreate を使用して作成します。

    例: "myFile.nc"

    netCDF ファイル内の変数またはグループの場所。string スカラーまたは文字ベクトルとして指定します。グローバル属性を書き込むには、location"/" (スラッシュ) に設定します。

    例: "myVar"

    例: "/myGrp/mySubGrp/myNestedVar"

    例: "myGrp"

    例: "/myGrp/mySubGrp"

    書き込む属性の名前。string スカラーまたは文字ベクトルとして指定します。

    例: "myAttribute"

    属性値。数値配列またはテキストとして指定します。

    メモ

    attvalue に複数の次元がある場合、関数 ncwriteattattvalue を列優先の順序でフラットにしてから属性値を書き込みます。たとえば、attvalue[1 2 3; 4 5 6] として指定した場合と、attvalue[1 4 2 5 3 6] として指定した場合とでは、どちらでも同じ効果が得られます。

    データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | char | string

    属性を書き込むときに使用する MATLAB データ型。次の表の値のいずれかとして指定します。ncwriteatt で netCDF ファイルに属性を作成するか変更するときに、対応する netCDF データ型が使用されます。

    dtype の値NetCDF 属性型
    "double"NC_DOUBLE
    "single"NC_FLOAT
    "int32"NC_INT
    "int16"NC_SHORT
    "int8"NC_BYTE
    "char"NC_CHAR
    "int64" (*)NC_INT64
    "uint64" (*)NC_UINT64
    "uint32" (*)NC_UINT
    "uint16" (*)NC_USHORT
    "uint8" (*)NC_UBYTE
    "string" (*)NC_STRING

    (*) これらの dtype の値は netcdf4 形式のファイルでのみ使用可能です。

    例: "int16"

    データ型: string | char

    詳細

    すべて折りたたむ

    MATLAB から NetCDF へのデータ型の変換

    netCDF 関連の MATLAB 関数は、次の表に従って、MATLAB データ型に最良に適合する netCDF データ型を自動的に選択します。

    MATLAB データ型NetCDF データ型
    doubleNC_DOUBLE
    singleNC_FLOAT
    int32NC_INT
    int16NC_SHORT
    int8NC_BYTE
    charNC_CHAR
    string スカラーNC_CHAR
    int64 (*)NC_INT64
    uint64 (*)NC_UINT64
    uint32 (*)NC_UINT
    uint16 (*)NC_USHORT
    uint8 (*)NC_UBYTE
    string ベクトル (*)NC_STRING

    (*) これらの MATLAB データ型は netcdf4 形式のファイルでのみ使用可能です。

    バージョン履歴

    R2011a で導入

    すべて展開する