Micaps3.2二次开发实例教程-1

 

本人非Micaps系统开发人员,仅凭兴趣对Micaps进行研究,如有不对或不妥及错误之处,请见谅。

 


第一节        Micaps二次开进化发史

第二节        什么是插件

第三节        Micaps3.2与SharpDevelop

第四节        准备开发环境

第五节        实例一:Hello World

第六节        HelloWorld讲解

第七节        实例二:Micaps全屏插件

第八节        实例三:浮动窗口开发

第九节        实例四:换掉Micaps的数据检索插件

第十节        实例五:自定义视图开发

第十一节        实例六:让Micaps支持新数据类型-BLN地图数据

第十二节        实例七:让Micaps直接连接数据库显示数据

第十三节        实例八:让Micaps的综合图菜单自动生成

第十四节        实例十:重新编写Micaps3.2.exe(SharpDevelop/Micaps启动源码分析)

第十五节        实例十一:让Micaps变成离线PPS

第十六节        实例十一:移植Sharpdevelop插件到Micaps


第一节        Micaps二次开进化发史

1、 Micaps1.0

    二十年前,随着中国气象局9210工程的实施,气象数据的传输发生重大变革。气象数据从以前的广播、电传、传真方式逐步向卫星、网络方式过渡,气象数据实现了数字化传输,到2000年前,气象数据接收系统已部署到县级台站。

收到大量数据如何快速处理分析?那就需要有一套气象数据处理、处理、分析、显示平台。中国气象局在1996年推出了Micaps1.0系统,它集数据处理分析显示于一体,带动了预报业务的重大变革。预报业务由以前全人工的报务-填图-绘图分析工作流程转变为计算机综合处理,预报工作效率有了十倍甚至百倍的提高。Micaps1.0不仅是一套软件,它还将各种气象数据进行了分类,定义了一套(18种)数据格式和标准,该标准一直沿用至今,成为了事实上的中国气象数据标准格式。

Micaps1.0使用C语言,可运行于Windows3.1、Windows95等平台,甚至有工作站版,对系统硬件需求低,兼容性好,运行速度快,一经推出,深受广大业务人员喜爱,很短时间就得到全国推广应用。

在Micaps的使用过程中,广大业务人员并不满足显示卫星广播数据和Micaps系统生成的数据,常想分析显示自己的数据,于是,自己编程处理数据,将数据按Micaps要求的数据格式写入文件,然后在Micaps中显示,生成自己的产品,这个过程俗称Micaps二次开发。严格意义上来讲,Micaps1.0是不具备二次开发功能的,但由于这种方法简单实用,直到今天,还在广泛使用。

2、           Micaps2.0

       2002年,中国气象局推出了Micaps2.0系统。该版本在Micaps1.0基础上做了较大升级,最大的改变就是采用MFC框架开发,界面更加友好,增加了一些配置选项,用户可根据需要调整显示样式和效果。另一个是支持COM方式进行二次开发,用户可自行开发功能模块,与Micaps系统无缝结合,实现个性化模块。

       Micaps2.0与前版本相比,功能上并无太大增加,并且由于使用MFC框架,运行效率有所降低,虽然通过多次培训推广,业务人员使用的积极性并不高,大部分业务人员仍坚持使用Micaps1.0。对于我来说,仅感觉Micaps2.0新增的上下层翻页功能很好用,其它方面感觉变化不明显。

       Micaps2.0的COM(Component Object Model )方式二次开发,实际上是一种很先进的技术,Microsoft的许多技术,如ActiveX, DirectX以及OLE等都是基于COM而建立起来的。用户可通过开发COM组建形式对Micaps的功能进行扩展,如Micaps2.0的数据检索功能。但由于气象部门使用VC+MFC进行开发的人员较少,知道COM的更是寥寥无几,仅有个别牛人在Micaps2.0上进行二次开发。

3、           Micaps3

       2007年,我第一次见到了Micaps3.0系统,该系统全部重新架构开发,采用.NET框架,实现了各个功能模块的分离,动态加载,使用SharpMap、Proj4等知名开源库,增加了大量数据格式,功能大大增强。

       但是,由于功能过多过杂,加之结构设计不尽合理,Micaps3.0的运行效率极低,在当时的硬件条件下,基层台站的多数计算机上无法运行,或是速度极慢。中国气象局在听取业务人员意见后,很快推出了Micaps3.1。Micaps3.1主要针对运行效率低的问题进行改进,将显示部分由GDI+全部改为OpenGL渲染,充分利用OpenGL的顶点缓冲等先进功能,大大提高了显示速度。并且优化模块加载了代码,提高了系统启动速度。但由于使用了OpenGL的新型特性,部分集成显卡、老显卡不支持,造成一些计算机上显示不正常。

       2012年,Micaps3.2推出,它抛弃了以前的程序框架,使用了一个叫做SharpDevloper插件式框架,SharpDevelop是一个开源的集成环境,功能类似Visual studio,架构类似于Eclipes,拥有一套强大的插件架构,是.NET下功能最强大的插件式程序框架。Micaps3.2基于SharpDevelop框架,将 Micaps3.1的功能移植上去。

       由于使用开源插件框架,有大量的开发资源可参考,二次开发相对要容易的多。SharpDeveloper框架采用插件树方式。通过开发插件来实现各部分功能。二次开发中, 你能扩充修改包括软件界面、包括修改Micaps菜单、工具条、对话框等;增加数据类型支持等很多功能,如显示自己本地数据。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值