获取netcdf变量的起始偏移量

时间:2014-10-02 07:43:30

标签: java netcdf

我正在使用netcdf-java来访问netcdf文件和变量。我想知道如何获得每个变量的起始偏移量并直接寻找该偏移量。以下是我当前的代码,我从方法findVariable

获取变量
NcHdfsRaf raf = new NcHdfsRaf(file, job.getConfiguration());
NetcdfFile ncfile = WRFFile.openFile(raf, path.toString()); 
Variable timesVar = ncfile.findVariable("Temperature");

1 个答案:

答案 0 :(得分:0)

咦。你为什么这么想?这可能是一个糟糕的主意。您已经有一个用于读取数据的界面,该界面可以使您与任何基础文件格式更改隔离。此外,请记住netcdf是一种可移植的文件格式:如果从给定的偏移量读取1000个字节,那些字节可能不是您所期望的 - 该库将处理字节序转换以及必须发生的任何可能的类型转换。

尽管如此,如果出于某些愚蠢的原因你想获得偏移量,我在Java类中看不到任何可以让你这样做的东西:

http://www.unidata.ucar.edu/software/thredds/current/netcdf-java/javadoc/ucar/nc2/Variable.html

如果您是在C库中,在公共API下面进行此操作,您可以查看NC_Var的类型:'开始'结构的成员是数据开始的地方:

https://github.com/Unidata/netcdf-c/blob/master/include/nc3internal.h#L159