爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 阿阿飞飞

二次开发中,切换不同时次图层控制的问题

[复制链接]

新浪微博达人勋

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

新浪微博达人勋

发表于 2012-12-21 16:27:06 | 显示全部楼层
MeteoInfo 发表于 2012-12-21 16:19
你下载最新的MeteoInfoC.dll文件试试(见置顶帖子)。

王老师,拿最新的库试过了,还是没图形出来,只有色标呢。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-21 16:36:30 | 显示全部楼层
MeteoInfo 发表于 2012-12-21 16:19
你下载最新的MeteoInfoC.dll文件试试(见置顶帖子)。

用您的软件就能打开。。。。。太奇怪了,代码也没觉得哪儿有问题啊
meteoinfo.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-21 18:07:45 | 显示全部楼层
本帖最后由 MeteoInfo 于 2012-12-21 18:08 编辑
wbriver 发表于 2012-12-21 13:26
数据之前发过,再把数据发一下吧,呵呵,麻烦王老师了~

我刚用你的数据试了试,没有发现问题。
Image00954.png

  1.                 private void TSMI_Test_Click(object sender, EventArgs e)
  2.         {
  3.             //Create a MeteoDataInfo object
  4.             MeteoDataInfo aDataInfo = new MeteoDataInfo();

  5.             //Open GrADS data file
  6.             string aFile = "D:\\Temp\\GrADS\\WRF2012121100_d02.ctl";
  7.             aDataInfo.OpenGrADSData(aFile);

  8.             //Get GridData
  9.             GridData press = aDataInfo.GetGridData("RH2");

  10.             //Create a legend scheme
  11.             bool hasUndefData = false;
  12.             LegendScheme aLS = LegendManage.CreateLegendSchemeFromGridData(press,
  13.                         LegendType.GraduatedColor, ShapeTypes.Polygon, ref hasUndefData);

  14.             //Create a contour layer
  15.             VectorLayer aLayer = DrawMeteoData.CreateShadedLayer(press, aLS, "Shaded_RH2", "RH2");
  16.             aLayer.ProjInfo = aDataInfo.ProjInfo;
  17.             aLayer.IsMaskout = true;

  18.             //Add layer
  19.             layersLegend1.ActiveMapFrame.AddLayer(aLayer);
  20.             layersLegend1.ActiveMapFrame.MoveLayer(aLayer.Handle, 0);
  21.             layersLegend1.Refresh();

  22.             //Change title of the layout
  23.             LayoutGraphic aTitle = mapLayout1.GetTexts()[0];
  24.             aTitle.SetLabelText("MeteoInfo Class Library Demo - Shaded Layer");

  25.             //Add or change the legend in layout
  26.             LayoutLegend aLegend;
  27.             if (mapLayout1.GetLegends().Count > 0)
  28.                 aLegend = mapLayout1.GetLegends()[0];
  29.             else
  30.                 aLegend = mapLayout1.AddLegend(650, 100);
  31.             aLegend.LegendStyle = LegendStyleEnum.Bar_Vertical;
  32.             aLegend.LegendLayer = aLayer;
  33.             if (tabControl1.SelectedIndex == 1)
  34.                 mapLayout1.PaintGraphics();
  35.         }        


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

新浪微博达人勋

发表于 2012-12-22 01:40:31 | 显示全部楼层
MeteoInfo 发表于 2012-12-21 18:07
我刚用你的数据试了试,没有发现问题。

王老师您好,复制您的代码过去不行呢,还是不能显示。。。发现这样就可以正常显示了:点击Projection→Lambert_Conformal,再选择Geographic就可以正常显示出来了。。。故在代码后面加了一下几句话:
  1.   string ProjStr = "+proj=lcc" +
  2.                 "+lat_1=30" +
  3.                 "+lat_2=60" +
  4.                 "+lat_0=0" +
  5.                 "+lon_0=110" +
  6.                 "+x_0=0" +
  7.                 "+y_0=0";
  8.             ProjectionInfo aProjInfo = new ProjectionInfo(ProjStr);
  9.             layersLegend1.ActiveMapFrame.MapView.ProjectLayers(aProjInfo);

  10.             aProjInfo = KnownCoordinateSystems.Geographic.World.WGS1984;
  11.             layersLegend1.ActiveMapFrame.MapView.ProjectLayers(aProjInfo);
  12.             mapView1.ZoomToExtent(118.5, 121.2, 29.9, 31.8);
复制代码
请王老师讲分析下,呵呵
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-22 17:06:28 | 显示全部楼层
wbriver 发表于 2012-12-22 01:40
王老师您好,复制您的代码过去不行呢,还是不能显示。。。发现这样就可以正常显示了:点击Projection→La ...

你确认用了最新的类库吗?之前我也发现过这样的问题,专门更新了类库已经解决了,我这里尝试也没有问题。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-23 22:45:35 | 显示全部楼层
MeteoInfo 发表于 2012-12-22 17:06
你确认用了最新的类库吗?之前我也发现过这样的问题,专门更新了类库已经解决了,我这里尝试也没有问题。

王老师您好,类库是最新的呢。。。
已经把程序发您Gmai邮箱了,烦您帮忙看看,以前没遇到这种情况啊?呵呵~谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-24 09:51:48 | 显示全部楼层
wbriver 发表于 2012-12-23 22:45
王老师您好,类库是最新的呢。。。
已经把程序发您Gmai邮箱了,烦您帮忙看看,以前没遇到这种情况啊?呵 ...

貌似没有收到。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-24 14:37:17 | 显示全部楼层
MeteoInfo 发表于 2012-12-24 09:51
貌似没有收到。

额,昨天发的邮件被退回来了,没注意,不好意思。。。又给您重新发送了下,呵呵~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-24 16:38:09 | 显示全部楼层
wbriver 发表于 2012-12-24 14:37
额,昨天发的邮件被退回来了,没注意,不好意思。。。又给您重新发送了下,呵呵~

是MapView投影初始化的问题。在主窗体的构造函数中加入:
mapView1.Projection.ProjInfo.Transform.Init(mapView1.Projection.ProjInfo);
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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