爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 14170|回复: 33

MeteoInfo二次开发教程(十)

[复制链接]

新浪微博达人勋

发表于 2012-10-23 22:04:25 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 MeteoInfo 于 2012-10-23 22:05 编辑

因为有网友问到MICAPS云图(第13类数据)的用法,这里做个讲解。旧版本的MeteoInfo类库会将云图生成ImageLayer,新版本改为RasterLayer,这样可以进行格点计算、投影等。MICAPS云图数据通常是Lambert投影,在添加云图RasterLayer之前要把MapView投影为云图的投影。
Image00932.png

代码如下:
  1.        private void TSMI_MICAPS13_Click(object sender, EventArgs e)
  2.         {
  3.             //Create a MeteoDataInfo object
  4.             MeteoDataInfo aDataInfo = new MeteoDataInfo();

  5.             //Open GrADS data file
  6.             string aFile = Application.StartupPath + "\\Sample\\cloud_1009271330.000";
  7.             aDataInfo.OpenMICAPSData(aFile);

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

  10.             //Create raster layer
  11.             string palFile = Application.StartupPath + "\\Sample\\I-01.pal";
  12.             RasterLayer aLayer = DrawMeteoData.CreateRasterLayer(cloud, "Raster_Cloud", palFile);
  13.             aLayer.ProjInfo = aDataInfo.ProjInfo;

  14.             //Porject mapview
  15.             layersLegend1.ActiveMapFrame.MapView.ProjectLayers(aDataInfo.ProjInfo);

  16.             //Add layer
  17.             layersLegend1.ActiveMapFrame.AddLayer(aLayer);
  18.             layersLegend1.ActiveMapFrame.MoveLayer(aLayer.Handle, 0);
  19.             layersLegend1.Refresh();            
  20.             layersLegend1.ActiveMapFrame.MapView.ZoomToExtent(aLayer.Extent);

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

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



本帖被以下淘专辑推荐:

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

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-10-24 08:44:29 | 显示全部楼层
一直对13类数据有种恐惧感...
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-10-24 09:59:03 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-19 18:51:16 | 显示全部楼层
micaps数据用得不多,数据从demo里拷来的
直接交作业
20121119184256.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-19 21:25:00 | 显示全部楼层
本帖最后由 孤蓝et 于 2012-11-19 21:27 编辑

好久没有上论坛了。。。
版主的教程都写了10多集了。。。meteoinfo越来越强大了。

借问下,meteoinfo支持星地通下发的卫星云图吗?文件后缀我记得是*.gpf
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-19 22:14:13 | 显示全部楼层
孤蓝et 发表于 2012-11-19 21:25
好久没有上论坛了。。。
版主的教程都写了10多集了。。。meteoinfo越来越强大了。

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

新浪微博达人勋

发表于 2012-11-21 14:49:31 | 显示全部楼层
谢谢王老师
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-16 12:07:54 | 显示全部楼层
luckycomcn 发表于 2012-11-19 18:51
micaps数据用得不多,数据从demo里拷来的
直接交作业

看你做得简单 但很酷  能不能共享下你的程序包,我QQ275551265
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-16 15:38:55 | 显示全部楼层
浅水 发表于 2012-12-16 12:07
看你做得简单 但很酷  能不能共享下你的程序包,我QQ275551265

原来的程序没有备份,在这之后我自己改动比较多,可能不好懂了
建议直接下载王老师的demo包
http://www.meteothinker.com/Downloads.aspx
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-20 14:42:03 | 显示全部楼层
luckycomcn 发表于 2012-12-16 15:38
原来的程序没有备份,在这之后我自己改动比较多,可能不好懂了
建议直接下载王老师的demo包
http://www ...

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

本版积分规则

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

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

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