ncwriteatt
netCDF ファイルに属性を書き込む
構文
説明
ncwriteatt(
は、filename
,location
,attname
,attvalue
)filename
で指定された netCDF ファイル内の location
で指定されたグループまたは変数の attname
で指定された属性を作成するか変更します。書き込まれる属性の値は、attvalue
の MATLAB® データ型に最良に適合する netCDF データ型の値です。MATLAB による最良の適合の判別方法の詳細については、MATLAB から NetCDF へのデータ型の変換を参照してください。
例
グローバル属性の作成
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 = '25-Jan-2024 21:36:51'
変数の属性の変更
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'
非 ASCII データを属性として書き込み
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"
入力引数
filename
— ファイル名
string スカラー | 文字ベクトル
既存の netCDF ファイルのファイル名。string スカラーまたは文字ベクトルとして指定します。
netCDF ファイルが存在しない場合は、まず関数 nccreate
を使用して作成します。
例: "myFile.nc"
location
— 変数またはグループの場所
string スカラー | 文字ベクトル
netCDF ファイル内の変数またはグループの場所。string スカラーまたは文字ベクトルとして指定します。グローバル属性を書き込むには、location
を "/"
(スラッシュ) に設定します。
例: "myVar"
例: "/myGrp/mySubGrp/myNestedVar"
例: "myGrp"
例: "/myGrp/mySubGrp"
attname
— 属性名
string スカラー | 文字ベクトル
書き込む属性の名前。string スカラーまたは文字ベクトルとして指定します。
例: "myAttribute"
attvalue
— 属性値
数値配列 | テキスト
属性値。数値配列またはテキストとして指定します。
メモ
attvalue
に複数の次元がある場合、関数 ncwriteatt
は attvalue
を列優先の順序でフラットにしてから属性値を書き込みます。たとえば、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
dtype
— MATLAB データ型
"double"
| "single"
| "int32"
| ...
属性を書き込むときに使用する 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 データ型 |
---|---|
double | NC_DOUBLE |
single | NC_FLOAT |
int32 | NC_INT |
int16 | NC_SHORT |
int8 | NC_BYTE |
char | NC_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 で導入R2021b: NC_STRING
属性の書き込み
netCDF-4 ファイルに NC_STRING
属性を書き込むことができます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)