GR2数据的处理

读取gr2中的数据

/**
     * @param filepath  文件地址
     * @param str 变量(一个String)
     * @param origin
     * @param size
     * @return
     */
public static void main(String[] args){
	int[] origin = {0,0,0};
	int[] size = {1,430,516};
	//获取GR2中的数据
	Array  data = getDataFromNC(filepath,str,origin,size)
	//将data中的数据放入三位数组data1中
	float[][][] data1 = (float[][][]) data.copyToNDJavaArray();
}
/**
     * @param filepath  文件地址
     * @param varname 
     * @param origin
     * @param size
     * @return
     */
private static Array getDataFromNC(String filepath,String varname,int[] origin,int[] size){
		try{
			int len1 = origin.length;
			int len2 = size.length;
			
			if(len1>0 && len2>0 && (len1==len2)){
				//通过参数读取nc数据
				NetcdfFile ncfile = null;
				Array data = null;
				try{
					ncfile = NetcdfFile.open(filepath);
					Variable v = ncfile.findVariable(varname);
					if(null == v)return null;
					try{
						data = v.read(origin,size);
						return data;
					}catch(IOException ioe){
						ioe.printStackTrace();
					}
				}catch(IOException ioe){
					ioe.printStackTrace();
				}finally{
					if(null!=ncfile)try{
						ncfile.close();
					}catch(IOException ioe){
						ioe.printStackTrace();
					}
				}
			}else{
				System.out.println("输入的参数不合法");
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return null;
	}	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值