爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 242|回复: 6

Java二次开发读取NC文件的问题

[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我是最近刚开始接触NC文件。遇到了一类预报文件,其中没有“time”字段,只有"forecast_time",其中的值是1,2,3.....24。这种情况下,怎么读取nc文件呢。这种情况下使用meteoDataInfo.setTimeIndex(i),就不能用了。看源码的话,猜测可能和MeteoDataInfo中的_dimensionSet枚举类型有关系。但是具体再往下就看不懂了。求教各位老师。。。

nc文件内容

nc文件内容

Java代码

Java代码
密码修改失败请联系微信:mofangbao
发表于 5 天前 | 显示全部楼层
可以用MeteoDataInfo的read函数来读取数组,可以更灵活控制:MeteoInfo/meteoinfo-data/src/main/java/org/meteoinfo/data/meteodata/MeteoDataInfo.java at master · meteoinfo/MeteoInfo


                               
登录/注册后可看大图


具体也可以参考这里:NetcdfFile | netCDF-Java Documentation
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

发表于 5 天前 | 显示全部楼层
NetcdfFile ncfile = NetcdfFile.open(ncFilePath+folder+"/"+fileName);
                Variable temp_u = ncfile.findVariable("u");
                Variable temp_v = ncfile.findVariable("v");
                Variable temp_height = ncfile.findVariable("height");
                Variable temp_time = ncfile.findVariable("time");
                Variable temp_lat = ncfile.findVariable("lat");
                Variable temp_lon = ncfile.findVariable("lon");
                Array dataArray_u = temp_u.read();
                Array dataArray_v = temp_v.read();
                Array dataArray_height= temp_height.read();
可以直接读里面的属性
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
969702275 发表于 2025-7-3 08:50
NetcdfFile ncfile = NetcdfFile.open(ncFilePath+folder+"/"+fileName);
                Variable temp_ ...

可这样读出来的数据不是一个数组吗,格点数据不应该是一个二维数组吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
969702275 发表于 2025-7-3 08:50
NetcdfFile ncfile = NetcdfFile.open(ncFilePath+folder+"/"+fileName);
                Variable temp_ ...

还是说,把所有数据转至成了1行数据,需要结合经纬度格点数,转至成二维数组?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
MeteoInfo 发表于 2025-7-3 08:44
可以用MeteoDataInfo的read函数来读取数组,可以更灵活控制:MeteoInfo/meteoinfo-data/src/main/java/org/ ...

王老师,感谢您的指导,您看是这样做吗?最后生成GridData
read方法实现.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
969702275 发表于 2025-7-3 08:50
NetcdfFile ncfile = NetcdfFile.open(ncFilePath+folder+"/"+fileName);
                Variable temp_ ...

感谢回复,我大概能理解怎么做了。谢谢
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表