Я пытаюсь прочитать файл NetCDF с 4 параметрами ( Время, Глубина, Широта, Долгота ), я хочу прочитать файл с постоянным временем и глубиной.
Сейчас я читаю весь файл и затем получаю значения в 4D сетке , а затем анализирую сетку, чтобы получить значения с постоянной глубиной и временем в 2D массиве
//I have read the values of time and depth in TimeArr and depthArr respectively
int depthIndex = binarySearchInArray(depthArr, d);
int timeIndex = binarySearchInArray(timeArr, d);
ArrayFloat.D4 tempArr = (ArrayFloat.D4) v.read();
float[][] grid = new float[(int) latArr.getSize()][(int) lonArr.getSize()];
for (int i = 0; i < latArr.getSize(); i++) {
for (int j = 0; j < lonArr.getSize(); j++) {
grid[i][j] = tempArr.get(timeIndex, depthIndex, i, j);
}
}
return grid;
Строка ArrayFloat.D4 tempArr = (ArrayFloat.D4) v.read();
занимает много времени, чтобы прочитать файл, если он слишком большой.
Кроме того, бессмысленно читать все измерения, когда мне нужно только одно.
Есть ли способ непосредственного чтения файла только по двум измерениям (с двумя измерениями, временем и глубиной, с постоянным значением)?
Заранее большое спасибо.