2015-03-24 3 views
1

В настоящее время я работаю над проектом мобильного приложения, которое может отображать прогноз погоды на карте (например, PocketGrib). Я решил использовать файлы GRIB, но я не знаю, как их декодировать. Я нашел библиотеку JGRIB, чтобы открыть ее, но я еще не понял, как ее использовать. Лучшим способом для меня было бы преобразовать данные GRIB в txt и проанализировать его дальше, чтобы получить необходимые значения.Java GRIB files openener

У кого-нибудь есть опыт? Любые советы приветствуются. Извините за моего бедного английского.

+1

Вы еще не ознакомились с API? – Alexander

+0

Какой API? Я их не нашел. –

+0

Есть службы, такие как http://data.planetos.com/datasets/noaa_gfs_global_sflux_0.12d, которые предоставляют API-интерфейсы для моделей погоды, рассмотрели ли вы? – kakk11

ответ

1

Ok, я сделал что-то с помощью NetCDF. Для моего использования это кажется достаточно. Конечно, для каждой решетки переменные будут разными.

try { 
      NetcdfFile ncf = NetcdfFile.open("gribfilename.grb"); //loading grib file 
      System.out.println("Variable names are:"); 
      List<Variable> vars = ncf.getVariables(); //listing variables 
      for (Variable var : vars) { 
      System.out.println(var.getName()); 
      } 

      Variable Uwind = ncf.findVariable("u-component_of_wind_height_above_ground"); 
      Variable Vwind = ncf.findVariable("v-component_of_wind_height_above_ground"); 
      Variable lat = ncf.findVariable("lat"); 
      Variable lon = ncf.findVariable("lon"); 
      Variable time = ncf.findVariable("time"); 
      Variable reftime = ncf.findVariable("reftime"); 
      Variable reftime_ISO = ncf.findVariable("reftime_ISO"); 
      Variable height_above_ground = ncf.findVariable("height_above_ground"); 
      Variable height_above_ground1 = ncf.findVariable("height_above_ground1"); 
      Variable Temperature_height_above_ground = ncf.findVariable("Temperature_height_above_ground"); 
      Variable Pressure_reduced_to_MSL_msl = ncf.findVariable("Pressure_reduced_to_MSL_msl"); 



      Array u_data = Uwind.read(); //reading variables to Array type 
      Array v_data = Vwind.read(); 
      Array lat_data = lat.read(); 
      Array lon_data = lon.read(); 
      Array time_data = time.read(); 
      Array reftime_data = reftime.read(); 
      Array reftime_ISO_data = reftime_ISO.read(); 
      Array height_above_ground_data = height_above_ground.read(); 
      Array height_above_ground1_data = height_above_ground1.read(); 
      Array Temperature_height_above_ground_data = Temperature_height_above_ground.read(); 
      Array Pressure_reduced_to_MSL_msl_data = Pressure_reduced_to_MSL_msl.read(); 

      ncf.close(); 


    } 
    catch (Exception exc) { 
     exc.printStackTrace(); 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^