6.4 次元の名前を変更する: nc_rename_dim
関数nc_rename_dim はオープンされた書きこみ状態にあるNetCDFファイル中の次元の名前を変更します。新しい名前が古い名前よりも長い場合にはNetCDFファイルは定義モードになければなりません。他に同名の次元がある場合にはその名前に変更することはできません。
用法
int nc_rename_dim(int ncid, int dimid, const char* name);
ncid 以前のnc_open または nc_create呼び出しで返されたNetCDF ID dimid 以前のnc_inq_dimid または nc_def_dim呼び出しによって返された次元 ID name 新規の次元名
エラー
エラーが発生していない場合には関数nc_rename_dim はNC_NOERR 値を返します。それ以外の場合には返されたステータスがエラーを示します。エラーの原因としては:
・ 新規の次元名がすでに他の次元名に使用されている。
・ 指定されたNetCDFファイルに対して次元IDが無効である。
・ 指定されたNetCDFID がオープンされているNetCDFファイルを参照していない。
・ 新規の次元名が旧次元名よりも長く、さらにNetCDFファイルが定義モードに入っていない。
例
この例では nc_rename_dim を使用して既存のNetCDFファイルfoo.nc中の次元 latをlatitudeに変更します:
#include <netcdf.h>
…
int status, ncid, latid;
…
status = nc_open("foo.nc", NC_WRITE, &ncid); /* 書き込み用にオープンする */
if (status != NC_NOERR) handle_error(status);
…
status = nc_redef(ncid); /* 次元の名前を変更するために定義モードに入る */
if (status != NC_NOERR) handle_error(status);
status = nc_inq_dimid(ncid, "lat", &latid);
if (status != NC_NOERR) handle_error(status);
status = nc_rename_dim(ncid, latid, "latitude");
if (status != NC_NOERR) handle_error(status);
status = nc_enddef(ncid); /* 定義モードを抜ける */
if (status != NC_NOERR) handle_error(status);
Quadralay Corporation http://www.webworks.com Voice: (512) 719-3399 Fax: (512) 719-3606 sales@webworks.com |