爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 6790|回复: 11

WRF数据显示问题

[复制链接]

新浪微博达人勋

发表于 2012-9-9 19:27:57 | 显示全部楼层 |阅读模式

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

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

x
王老师:
我用WRF模式预报数据在meteoinfo桌面显示,CTL文件如下:
DSET I:\WRFdata\HH2011111212.dat
UNDEF -2.56E33
PDEF 401 301 lcc 40.00 116.00 200 150 30.00 60.00 116.00 9000 9000
XDEF 401 linear 89.7128 0.13144
YDEF 301 linear 25.97 0.08
ZDEF 19 LEVELS 1000 975 950 925 900 850 800 700 600 550 500 450 400 350 300 250 200 150 100
TDEF 37 linear 12z12nov2011 1hr
VARS 1
HH 19 99
ENDVARS

显示结果非常正确:
I:\a1.png
I:\a2.png
但我在二次开发中,CRL中的PDEF投影与背景底图完全不能匹配,代码跟踪发现格点数据pree属性IsGlobal为false,如果是此问题,如何解决呢?请教老师!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-9-9 21:17:59 | 显示全部楼层
怎么个不匹配法?最好能给出写图。Labmbert格点数据的IsGlobal应该是false,没问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-9-9 21:47:23 | 显示全部楼层
以下是代码,直接在老师的demo里修改:
     private void TSMI_GridContour_Click(object sender, EventArgs e)
        {
            //Create a MeteoDataInfo object
            MeteoDataInfo aDataInfo = new MeteoDataInfo();

            //Open GrADS data file
            string aFile = Application.StartupPath + "\\Sample\\WRFKWCmultilayer.ctl";
            aDataInfo.OpenGrADSData(aFile);

            //Get GridData
            GridData press = aDataInfo.GetGridData("HH");

            //Create a legend scheme
            bool hasUndefData = false;
            LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(press,
                        LegendType.UniqueValue, ShapeTypes.Polygon, ref hasUndefData);

            //Create a contour layer
            VectorLayer aLayer = DrawMeteoData.CreateShadedLayer(press, aLS, "Contour_PS", "HH");
            aLayer.Expanded = true;
            //Add layer
            layersLegend1.ActiveMapFrame.AddLayer(aLayer);
            layersLegend1.ActiveMapFrame.MoveLayer(aLayer.Handle, 2);
            layersLegend1.Refresh();
}
显示结果:
1.看不到图
I:\aa.pngI:\
2.执行全图工具,看到图,但比底图大很多,底图变为点,且偏移很远
I:\bb.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-9-9 22:39:12 | 显示全部楼层

加一句 aLayer.ProjInfo = aDataInfo.ProjInfo
每个VectorLayer或RsterLayer都是有一个投影(ProjInfo)的,创建时会赋为经纬度投影。MeteoDataInfo在读数据时会将数据的投影也读出来,如果数据不是经纬度投影,需要将该投影赋给创建的VectorLayer。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-9-10 11:40:13 | 显示全部楼层
MeteoInfo 发表于 2012-9-9 22:39
加一句 aLayer.ProjInfo = aDataInfo.ProjInfo
每个VectorLayer或RsterLayer都是有一个投影(ProjInfo) ...

已解决,谢谢王老师!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-22 11:49:13 | 显示全部楼层
guoming 发表于 2012-9-10 11:40
已解决,谢谢王老师!

请问怎么解决的,我也遇到了一样的问题
加了aLayer.ProjInfo = aDataInfo.ProjInfo 之后还是显示不正常
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-22 12:01:09 | 显示全部楼层
本帖最后由 luckycomcn 于 2012-11-22 12:10 编辑

//Create a MeteoDataInfo object
MeteoDataInfo aDataInfo = new MeteoDataInfo();

//Open GrADS data file
string aFile = "D:\\test\\111.ctl";
aDataInfo.OpenGrADSData(aFile);

//Get GridData
GridData ttt = aDataInfo.GetGridData("T2");

//Create a legend scheme
bool hasUndefData = false;
LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(ttt,
              LegendType.UniqueValue, ShapeTypes.Polygon, ref hasUndefData);

//Create a contour layer
VectorLayer aLayer = DrawMeteoData.CreateShadedLayer(ttt, aLS, "Contour_T2", "T2");
//aLayer.ProjInfo = aDataInfo.ProjInfo;

//Add layer
layersLegend1.ActiveMapFrame.AddLayer(aLayer);
layersLegend1.Refresh();

添加aLayer.ProjInfo = aDataInfo.ProjInfo之后投影还是不对

MeteoInfoC.dll 版本 1.0.8.0
wContour.dll 版本  1.5.0.0

用程序打开正常的图

用程序打开正常的图

二次开发不正常的图执行全图工具后

二次开发不正常的图执行全图工具后

二次开发不正常的图

二次开发不正常的图

test.rar

8.38 MB, 下载次数: 7, 下载积分: 金钱 -5

数据文件,压缩了

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-22 13:32:47 | 显示全部楼层
程序应该是对的,设断点,看数据得到没有。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-22 13:37:14 | 显示全部楼层
guoming 发表于 2012-11-22 13:32
程序应该是对的,设断点,看数据得到没有。

初步判断是初始化的时候设置了和数据投影不一样的兰伯特投影,改成和数据文件里一样的问题似乎解决了,我再继续看看
谢谢了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-22 13:49:23 | 显示全部楼层
guoming 发表于 2012-11-22 13:32
程序应该是对的,设断点,看数据得到没有。

查出问题了,原来的地图是等经纬投影,数据添加后不显示
转到兰伯特投影就能正常显示(兰伯特投影的参数应该与数据文件中一致),再重新转回等经纬投影也能正常
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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