爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: ♂雨已~○

NetCDF数据中变量中如何进行高度层次的提取

[复制链接]

新浪微博达人勋

发表于 2012-2-12 21:55:39 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-2-12 21:58:38 | 显示全部楼层
♂雨已~○ 发表于 2012-2-12 14:27
谢谢楼主的耐心解答,经过摸索,这个问题我已经解决了哈,嘿嘿

解决了要说解决方法的哦,哈哈,这样下次别人看到了就不用再次提问啦
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-2-13 21:47:01 | 显示全部楼层
mofangbao 发表于 2012-2-12 21:58
解决了要说解决方法的哦,哈哈,这样下次别人看到了就不用再次提问啦

就是要用王老师提供的新的MeteoInfo类库,我用了那个老版本的,所以没办法解决 ~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-2-13 21:50:55 | 显示全部楼层
mofangbao 发表于 2012-2-12 21:58
解决了要说解决方法的哦,哈哈,这样下次别人看到了就不用再次提问啦

NetCDFDataInfo aDataInfo = new NetCDFDataInfo();
            OpenFileDialog aDlg = new OpenFileDialog();
            aDlg.Filter =  "NetCDF (*.nc)|*.nc";
            int num_1=0;
            int num_2=0;
            int numLev=0;
       //     int ckey = 0;
            if (aDlg.ShowDialog() == DialogResult.OK)
            {
                //Read shape or image file
                comboBox1.Items.Clear();
                comboBox2.Items.Clear();
                comboBox3.Items.Clear();

                aFile = aDlg.FileName;
                aDataInfo.ReadDataInfo(aFile);
                while (num_1 < aDataInfo.varList.Count)
                {
                    if (Equals(aDataInfo.varList[num_1].varName, "lat") || Equals(aDataInfo.varList[num_1].varName, "lon") || Equals(aDataInfo.varList[num_1].varName, "time") || Equals(aDataInfo.varList[num_1].varName, "lev") || Equals(aDataInfo.varList[num_1].varName, "ilev"))
                    { }
                    else
                    {
                       comboBox1.Items.Add(aDataInfo.varList[num_1].varName);
                    }
                    num_1++;
                }
                while (num_2 < aDataInfo.times.Count)
                {
                        comboBox2.Items.Add(aDataInfo.times[num_2++]);
                }
                num_1 =0;


              while(num_1<aDataInfo.dimList.Count)
               {
                    if (Equals(aDataInfo.dimList[num_1].dimName, "lev"))
                    {
                        numLev = aDataInfo.dimList[num_1].dimLen;
                        for (int i = 0; i < numLev; i++)
                        {
                 //           comboBox3.Items.Add("第"+Convert.ToString(i+1)+"层");
                            comboBox3.Items.Add(aDataInfo.levels);
                        }
                        break;
                    }
                    num_1++;
                }
                  
这是我提取nc数据 时间、变量名和 高度层次的函数~~~~感谢王老师提供的Meteoinfo类库~~~~特贴出来供大家分享~~~~

评分

参与人数 1金钱 +10 贡献 +3 收起 理由
mofangbao + 10 + 3

查看全部评分

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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