我的团队已获得 HDF5 文件可供阅读。它们包含带有无符号变量的结构化数据。我和我的团队欣喜若狂地找到了 NetCDF 库,它允许纯 Java 读取 HDF5 文件,尽管使用的是 NetCDF 数据模型。
没问题——我们认为我们只需从 NetCDF 数据模型转换为我们想要的任何模型。只要我们把数据拿出来。然后我们尝试从 HDF5 文件中读取一个无符号的 32 位整数。我们可以加载 HDFView 2.9 并看到该变量是一个无符号的 32 位整数。但是......事实证明,NetCDF-3 不支持无符号值!
雪上加霜,NetCDF-3 建议您“扩大数据类型”或使用_Unsigned = "true"
属性(我不是在编造这个)来指示应将 32 位视为无符号值。
好吧,如果我从头开始创建 NetCDF 数据,也许这些组合会很有效,但是我如何使用 NetCDF 检测现有 HDF5 文件中的 32 位值应该被解释为无符号?
更新:显然NetCDF-4 确实支持无符号数据类型。所以这就引出了一个问题:如何确定 NetCDF Java 库中的值是有符号还是无符号?”我在ucar.ma2.DataType
.