0

私は現在 HDF5 を学習しており、C++ を使用して空のグループに属性を追加する方法を理解する必要があります。HDFView を介してそれを行う方法は知っていますが、単純なグループに属性を追加することに関するドキュメントが見つからないようです。データセットのみです (これは可能ですか?)。

HDFView で、グループを追加し、そのグループを右クリックして [プロパティの表示] を選択すると、[一般] と [属性] のタブを含む新しいウィンドウがポップアップ表示されます。「属性」タブでは、複数の属性を追加できます。私は基本的にこれをやりたいのですが、コードを使用しています。

以下のコードは、単一のグループを新しい H5 ファイルに追加します。

//Create a new file using default properties
H5File file("NewH5.h5", H5F_ACC_TRUNC);

//Create PLATFORM_t and SONAR_t groups in the file
Group groupPlatform(file.createGroup("/PLATFORM_t"));
4

1 に答える 1

1

ファイル、グループ、データセットなどに添付された属性に対する操作は、H5Locationクラスのメンバー関数です。グループに double 型の「some_attribute」という名前の属性を書き込むには、次のように呼び出します。

double value=42;
DataSpace dspace(H5S_SCALAR);
Attribute att = groupPlatform.createAttribute("some_attribute",PredType::NATIVE_DOUBLE,dspace);
att.write(PredType::NATIVE_DOUBLE,&value);

より複雑なデータスペースを使用すると、より複雑な属性が可能になります。

于 2016-02-24T10:12:33.467 に答える