浅谈MeteoInfo—气象数据显示的新平台

2014-10-22 19:30:20焦方成武雯
电脑知识与技术 2014年27期
关键词:数据格式

焦方成 武雯

摘要:该文首先是通过对MeteoInfo软件基本概念、地图数据、气象数据等作简要介绍分析,然后详述利用MeteoInfo类库设计自己的界面程序步骤, 旨在更加方便完善我们的气象业务需求。

关键词: MeteoInfo;数据格式;界面程序

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)27-6513-02

Abstract: This paper first briefly introduce and analyze the basic concept of MeteoInfo software, map data, meteorological data, and then amplified using MeteoInfo class library interface design procedures of their own, to more convenient and improve our demand of meteorological service.

Key words: MeteoInfo; data formats; interface program

1 MeteoInfo简介

MeteoInfo是一个免费的气象数据显示、分析软件,具有较强的综合数据图形显示、分析能力,操作简便、图形美观。软件支持多种常用气象数据格式,具备一些基本的GIS功能。MeteoInfo还可以通过编写IronPython脚本程序自动运行,具备强大的数据分析功能。MeteoInfo的核心是它的类库MeteoInfoC.dll,使用该类库可以方便快捷地开发气象数据显示分析类软件。利用类库可以在Microsoft的.Net环境中可以用C#语言开发自己的气象信息显示界面。

MeteInfo的免费下载网址是 http://www.meteothinker.com。下载后将安装文件解压成.exe可执行文件。软件安装过程十分简单,只需要点击‘下一步即可完成安装。软件安装后在安装目录下有‘Map和‘Sample子目录,‘Map子目录中包含了一些常用的地图数据,‘Sample子目录下有一些示例数据可用于软件学习。

Windows操作系统中MeteoInfo软件必须有.Net Framework 3.5 SP1的支持,如果你的计算机中没有.Net Framework 3.5 SP1,需要安装它以后MeteoInfo才能正常使用。软件安装后在电脑桌面自动生成快捷按钮,双击可以运行MeteoInfo.

在其它操作系统中,如Linux,安装了mono以后也可以使用MeteoInfo。

2 MeteoInfo支持的数据格式

2.1 目前MeteoInfo支持以下格式的地图数据

1) ESRI的shape格式数据(点、线、面)。

2) GrADS格式的地图数据。

3) MICAPS格式的地图数据。

4) wmf格式的地图数据(MeteoInfo自定义的地图数据格式,能够用‘输出地图数据功能输出该格式的地图数据)。

2.2 目前MeteoInfo支持下列气象数据格式

1) NetCDF格点数据;2) GRIB 1和2格式数据;3) GrADS二进制格点和站点数据;4) HDF EOS5 Grid和Swath数据;5) ARL格式气象数据;6) HYSPLIT模式输出数据:Concentration(浓度)Particle(颗粒)、Trajectory(气团轨迹);7) METAR格式站点数据 (目前针对NOAA的cycle METAR数据格式;8) NOAA ISH数据;9) MICAPS第1、3、4、7、11、13类格式数据;10) ESRI ASCII格点数据;11) Surfer ASCII格点数据;12) AWX格式数据。

3 利用MeteoInfo类库设计自己的界面程序

利用MeteoInfo类库设计自己的界面程序最基本的要引用MeteoInfo类库和添加LayersLegend、MapView和MapLayout控件。上述3个控件是MeteoInfo类库里最重要的控件,LayersLegend是管理MapFrame和Layer的(还有Group),MapView是地图显示控件,MapLayout是图形版面管理控件。使用过MeteoInfo桌面软件应该很容易理解这几个控件的用途。最新MeteoInfo类库(MeteoInfoC.dll),可以在MeteoInfo软件中找到。下面简单介绍一下利用类库开发自己的界面程序的基本步骤。

1) 新建桌面程序项目,并引用MeteoInfo类库,添加MeteoInfo类库中的控件,并添加主要控件。

2) 添加MeteoInfo类库中的主要控件:在主窗体中添加菜单栏、工具栏、状态栏,以及一个SplitContainer和一个TabControl,将tabControl1的两个TabPage分别改名为Map和Layout。将LayersLegend控件加入SplitContainer的左边(layersLegend1) ,将MapView控件添加到tabControl1的Map页面中(mapView1) ,将MapLayout控件添加到tabControl1的Layout页面中(mapLayout1) ,控件的Dock属性设置为Fill。为了将这三个控件相互关联起来,首先要给layersLegend1添加一个MapFrame,点击layersLegend1属性中的MapFrames属性,在弹出的对话框中增加一个MapFrame。将刚添加的MapFrame的MapView属性设置为mapView1,Active属性设置为True。将layersLegend1的MapLayout属性设置为mapLayout1。

3) 实现MapView和MapLayout切换。

在tabControl1_SelectedIndexChanged事件中添加如下代码:

1. private void tabControl1_SelectedIndexChanged(object sender, EventArgs e)

2. { if (tabControl1.SelectedIndex == 1) //Map Layout

3. { layersLegend1.IsLayoutView = true;

4. mapLayout1.PaintGraphics();

5. mapLayout1.Refresh();}

6. else if (tabControl1.SelectedIndex == 0) //Map view

7. { layersLegend1.IsLayoutView = false;

8. mapView1.IsLayoutMap = false;

9. mapView1.ZoomToExtent(mapView1.ViewExtent); } }

4) 添加图层。在工具栏中加一个添加图层按钮,并在其Click事件中添加如下代码:

1. private void TSB_AddLayer_Click(object sender, EventArgs e)

2. { OpenFileDialog aDlg = new OpenFileDialog();

3. aDlg.Filter = "Supported Formats|*.shp;*.wmp;*.bln;*.bmp;*.gif;*.jpg;*.tif;*.png|Shape File (*.shp)|*.shp|WMP File (*.wmp)|*.wmp|BLN File (*.bln)|*.bln|" +

4. "Bitmap Image (*.bmp)|*.bmp|Gif Image (*.gif)|*.gif|Jpeg Image (*.jpg)|*.jpg|Tif Image (*.tif)|*.tif|Png Iamge (*.png)|*.png|All Files (*.*)|*.*";

5. if (aDlg.ShowDialog() == DialogResult.OK)

6. { string aFile = aDlg.FileName;

7. MapLayer aLayer = MapDataManage.OpenLayer(aFile);

8. layersLegend1.ActiveMapFrame.AddLayer(aLayer);

9. layersLegend1.Refresh();} }

5) 设置MapView和MapLayout的初始鼠标工具。

在主窗体的创建函数中在InitializeComponent()后加入如下代码:

1. mapView1.MouseTool = MouseTools.Pan;

2. mapLayout1.MouseMode = MouseMode.Select;

运行程序,显示运行结果。

4 结束语

MeteoInfo作为一款国产免费的气象信息综合处理显示软件,再日常的气象业务应用中可以作为替代大型GIS平台的工具。一方面可以减少成本,另一方面,方便完善的气象信息支持也为我们开发气象业务应用软件提供了便捷。

参考文献:

[1] http://www.meteothinker.com/.

[2] 樊荣,朱卫星,冯志伟.基于MeteoInfo的雷电可视化软件设计与实现[C].第30届中国气象学会年会论文集,2014.

猜你喜欢
数据格式
在智能交通系统中PLC数据格式转换方法的研究
电子测试(2018年1期)2018-04-18 11:52:49
基于RFID的电能计量设备电子封印管理系统的设计与实现
软件(2017年7期)2018-01-24 21:43:41
基于水利标准数据格式的BIM数据管理和水利BIM生态探索
气象自观系统(AWOS)灯光信息接入解决方案
世界首个可记录物体内部结构等复杂信息的3D打印数据格式问世
出版与印刷(2016年3期)2016-08-15 00:45:53
论子函数在C语言数据格式输出中的应用
DWG与SHP数据格式互转换方法研究——以龙岩规划测绘数据为例
基于特征库的测井数据格式自动识别与转换方法
测井技术(2014年1期)2014-12-03 10:31:10
秸秆沼气制取管理系统的研究
基于ArcGIS的规划数据格式转换研究