爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: ♂雨已~○

meteoinfo地面填图问题

[复制链接]

新浪微博达人勋

 楼主| 发表于 2013-8-9 13:44:01 | 显示全部楼层

      王老师,还是不行的,我发觉用normal形式的可以,但是换成垂直或者水平的方式就只会放大文本,而图例没有放大,如下图:我随便弄了一个站点图绘制,然后想把它改成垂直放置图例的方式,一放大就成这种了,希望王老师能改改呢·····

                                                            捕获.PNG
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-9 15:55:43 | 显示全部楼层
♂雨已~○ 发表于 2013-8-9 13:44
王老师,还是不行的,我发觉用normal形式的可以,但是换成垂直或者水平的方式就只会放大文本,而图 ...

修改图例的Height属性就可以了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-10 14:45:26 | 显示全部楼层
MeteoInfo 发表于 2013-8-9 15:55
修改图例的Height属性就可以了。

我试了Height,但是只改变了图例的高度,没有改变图例的宽度,那个width实质上没有改变那个图例的宽度而是使整个图框变宽了,比如说做一个2000*1200这样的大图,图例相对而言就很小,调节Height和文本字体大小,图例图例就显得很细,很窄,而文本就很大。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-13 17:11:34 | 显示全部楼层
MeteoInfo 发表于 2013-8-9 15:55
修改图例的Height属性就可以了。

王老师,我用meteoinfo下面的netcdf.dll读取这种缺省值是“_"的咋个读呢?截取ncdump生成的txt文件一部分如下:,

_, _, _, -66, _, _, _, _, _, _, _, _, _, _, 103, _, _, 86, _, _, 76, _, 66,
    67, _, _, 59, 75, _, _, 59, 73, 59, 57, 75, 72, 78, _, _, _, 75, _, 75,
    _, _, _, 42, 46, 64, 66, 38, 39, 42, 51, 38, 55, _, _, _, _, 45, _, 40,
    _, _, _, 40, 54, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
    _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _,
    _, _, _, _, _, _, _, _, _, _, _, _, 52, 56, _, _, _, _, _, 47, _, _, _,

这种存储,咋个声明数组啊,求王老师指导指导·····
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-21 21:09:03 | 显示全部楼层
MeteoInfo 发表于 2012-8-17 08:41
你下载最新版本的MeteoInfo,安装后如果还不行,可以在安装目录中找到这个字体文件,把它拷贝到c盘Window ...

王老师,我又来问问题了,嘿嘿·····我想用以下方式进行绘图,然后直接存成图片,但是好像不支持raster方式绘制,希望王老师能解答呢?
                    MIApp MyApp = new MIApp();
                    GridData grb = new GridData();
                    MyApp.OpenGRIBData(Application.StartupPath + "\\test.dat");
                    ``````
                   MyApp.SetDrawType("Raster");
                    MyApp.Display(grd);
                    MyApp.SaveFigure(“test.png”);
我用stationPoint,Grid_Fill的方式都能行,但是Raster和image的方式都不行,这种方式在平时二次开发直接绘图很好用,希望王老师帮帮加上这两种方式哇?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-8-26 14:55:36 | 显示全部楼层
♂雨已~○ 发表于 2013-8-21 21:09
王老师,我又来问问题了,嘿嘿·····我想用以下方式进行绘图,然后直接存成图片,但是好像不支持rast ...

参考此帖:站点降水数据绘制等值线图新脚本
http://bbs.06climate.com/forum.p ... 695&fromuid=106


生成RasterLayer可以用DrawMeteoData类的静态方法:
public static RasterLayer CreateRasterLayer(GridData GridData, string LName, LegendScheme aLS)

几个参数都很容易理解,就不多说了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-8-26 21:29:16 | 显示全部楼层
MeteoInfo 发表于 2013-8-26 14:55
参考此帖:站点降水数据绘制等值线图新脚本
http://bbs.06climate.com/forum.php?mod=viewthread&tid=15 ...

恩,谢谢王老师咯,原来要用DrawMeteoData类,以前那种方法中不支持这个啊
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-9 12:07:45 | 显示全部楼层
牛逼,学习了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-9-17 17:02:41 | 显示全部楼层
我也来学习了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-6-16 15:26:12 | 显示全部楼层
本帖最后由 ♂雨已~○ 于 2015-6-16 15:36 编辑
参考此帖:站点降水数据绘制等值线图新脚本
http://bbs.06climate.com/forum.php?mod=viewthread&tid=15 ...


  1. private void UV_speed(string file)
  2.         {
  3.             string formName;
  4.             string title;
  5.             formName = Path.GetFileNameWithoutExtension(file);
  6.             MeteoDataInfo aDataInfo = new MeteoDataInfo();
  7.             string aFile = file;
  8.             aDataInfo.OpenMICAPSData(aFile);
  9.             StationData wdData = aDataInfo.GetStationData("WindDirection");
  10.             StationData wsData = aDataInfo.GetStationData("WindSpeed");
  11.             LegendScheme aLS = new LegendScheme(ShapeTypes.Point);
  12.             aLS.ImportFromXMLFile( "windspeed.lgs");
  13.             VectorLayer aLayer = DrawMeteoData.CreateSTBarbLayer_old(wdData, wsData, wsData, aLS, true, "UVbarb", false);
  14.             title = formName.Substring(0, 2) + "年" + formName.Substring(2, 2) + "月" + formName.Substring(4, 2) + "日" + formName.Substring(6, 2) + "时" + "自动观测风向杆填图";
  15.             aLayer.IsMaskout = true;
  16.             int aLayerHandle = layersLegend1.ActiveMapFrame.AddLayer(aLayer, 0);
  17.             aLayer.LayerName = "UV_speed";
  18.             label3.Text = label3.Text + "\n" + title;
  19.             layersLegend1.Refresh();
  20.            layersLegend1.MapLayout.PaintGraphics();            
  21.         }



1.jpg

请问王老师,我想通过上述代码实现自动观测站中风速监测的功能,就是大于给定的值风杆用红色表示,小于给定的值风杆蓝色显示,但是每次编译出来总是提示有错误,说一个强制转换的问题,请问王老师,这个功能代码应该怎么改呢?麻烦王老师给予帮助啊,下面附近是自动观测的数据,请王老师帮忙改改呢~~~
自动观测数据: 15061615.000 (22.44 KB, 下载次数: 0)
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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