问题描述
最近我一直在处理 netcdf 文件,我正在使用 this 库。我能够像这样打开和读取数据:
NetcdfFile ncfile = NetcdfFile.open(inputPath);
我能够列出变量并在数据中获取所需的变量:
List<Variable> variables = ncfile.getvariables();
Variable tcc = ncFile.findVariable("tcc_0");
我也可以获得变量的等级和形状,我可以通过这个获取表格的数据:
int[] readOrigin = new int[2];
int[] readShape = new int[2];
readOrigin[0] = desiredRow;
readOrigin[1] = 0;
readShape[0] = 1;
readShape[1] = numberOfColumns;
Array arr = tcc.read(readOrigin,readShape);
此代码获取第 'desiredRow' 行的所有值,我可以遍历 arr
并找到每列的每个特定值。
但是,我想获取列和行索引的所有值。当我想实现表的 [0][0] 值时,我可以实现。我无法获得所有行和列索引值。我需要得到 32.035,32.08,... 对于行索引值和相同的列。
感谢任何帮助。
解决方法
经过一番研究,我找到了获取它们的方法。它们被称为根组,其中包含一维数据,这正是我所需要的。
Variable rootGroupLatitudeVar = ncFile.getRootGroup().findVariableLocal("latitude");
Array latitudeArr = rootGroupLatitudeVar.read();
int latitudeArrSize = rootGroupLatitudeVar.getShape(0);
..iteration