首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java GRIB文件打开器

Java GRIB文件打开器
EN

Stack Overflow用户
提问于 2015-03-24 23:59:44
回答 2查看 768关注 0票数 1

我目前正在从事一个移动应用程序的项目,它可以在地图上显示天气预报(例如,PocketGrib)。我决定使用GRIB文件,但我不知道如何解码它们。我找到了一个库JGRIB来打开这些,但我还没有弄清楚如何使用它。对我来说最好的方法是将GRIB数据转换为txt,并以我的方式进一步解析它以获得所需的值。

有人有这方面的经验吗?任何小贴士都会很感激。为我糟糕的英语感到抱歉。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-25 17:35:55

票数 2
EN

Stack Overflow用户

发布于 2015-05-07 18:29:33

好的,我用NetCDF做了一些东西。对我来说,这似乎就足够了。当然,对于每一个格里布变量都是不同的。

代码语言:javascript
复制
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();
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29245148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档