【问题标题】:How do I write many parameters to an hdf5 file intelligently?如何智能地将多个参数写入 hdf5 文件?
【发布时间】:2016-11-04 14:32:23
【问题描述】:

我正在尝试使用 hdf5 写出由分子动力学模拟产生的 (x,y,z) 坐标。 API 非常清楚如何做到这一点。我的问题是关于编写模拟的参数。我需要在 hdf5 文件中写入大量常量,比如大约 100 个。我认为这就是属性的用途。那是对的吗?我的问题是属性 API 对此有些麻烦。我必须创建大量的标量属性,指定它们的类型和维度(大多数时候是 1),然后编写它们。我不得不写很多代码。常量可以是intfloatunsigned int,有时也可以是我创建的一些自定义类型。

有没有更好的方法来做到这一点?

【问题讨论】:

    标签: c++ c hdf5


    【解决方案1】:

    是的,属性是编写此信息的方法。

    API 看起来相当复杂,因为属性与数据集共享大部分语义。您可以在可以通过数据集指定的属性中使用任何类型或形状。关于唯一没有的属性属性是压缩和分块。 (同样属性不能包含属性!)

    为了减少编码的麻烦,您可以创建一个辅助函数。如果您知道(例如)所有属性都是 4 字节 little-endian 标量,那么您的辅助函数只需要父 ID、名称和值。

    【讨论】:

    • 我担心会是这样 :(。谢谢你的帮助!
    猜你喜欢
    • 2021-06-14
    • 2015-11-14
    • 1970-01-01
    • 2022-07-06
    • 1970-01-01
    • 2012-03-26
    • 2019-10-19
    • 2017-06-11
    • 2017-05-20
    相关资源
    最近更新 更多