Вы можете использовать GRIB2Tools, см. https://github.com/philippphb/GRIB2Tools. После чтения в файле GRIB2 из InputStream, например
RandomAccessGribFile gribFile = new RandomAccessGribFile("", "");
gribFile.importFromStream(inputstream, 0);
, вы можете получить доступ к данным файла GRIB на основе широты / долготы:
double longitude = ... // in degrees
double latitude = ... // in degrees
float val = gribFile.getValueAt(0, GribFile.degToUnits(latitude), GribFile.degToUnits(longiude));
Вы также можете получить интерполированные данные для положений широты / долготы, которые не находятся точно в сетке:
double longitude = ... // in degrees
double latitude = ... // in degrees
float val = gribFile.interpolateValueAt(0, GribFile.degToUnits(latitude), GribFile.degToUnits(longiude));