【问题标题】:HDF5 - Creating attributes for groups via codeHDF5 - 通过代码为组创建属性
【发布时间】:2016-05-18 20:01:45
【问题描述】:

我目前正在学习 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"));

【问题讨论】:

    标签: c++ hdf5 hdf


    【解决方案1】:

    对附加到文件、组、数据集等的属性的操作是H5Location 类的成员函数。为了在您的组中编写一个名为“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);
    

    如果您使用更复杂的数据空间,则可以使用更复杂的属性。

    【讨论】:

      猜你喜欢
      • 2015-05-14
      • 2011-11-22
      • 2020-05-27
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 1970-01-01
      • 2023-03-02
      • 2021-11-13
      相关资源
      最近更新 更多