我目前正在开发一个可以在 Map 上显示天气预报的移动应用程序项目(例如PocketGrib) . 我决定使用GRIB文件,但我不知道如何解码它们 . 我发现了一个库JGRIB来打开它们,但我还没弄明白如何使用它 . 对我来说最好的方法是将GRIB数据转换为txt并以我的方式进一步解析以获得所需的值 .
有人有经验吗?任何提示都表示赞赏 . 抱歉我的英语不好 .
可以使用NetCDF-java库打开GRIB文件:https://www.unidata.ucar.edu/software/thredds/current/netcdf-java/documentation.htm
好的,我用NetCDF制作了一些东西 . 对于我的使用它似乎就足够了 . 当然对于每个grib变量都会有所不同 .
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(); }
2 回答
可以使用NetCDF-java库打开GRIB文件:https://www.unidata.ucar.edu/software/thredds/current/netcdf-java/documentation.htm
好的,我用NetCDF制作了一些东西 . 对于我的使用它似乎就足够了 . 当然对于每个grib变量都会有所不同 .