首页 基于surfer8.0实现雨量图形可视化

基于surfer8.0实现雨量图形可视化

举报
开通vip

基于surfer8.0实现雨量图形可视化基于surfer8.0实现雨量图形可视化 基于surfer8(0实现雨量图形可视化 第32卷,第7期 2006年7月 气象 ,伍E0R0L0GICALM0NTHLY V01.32NO.7 July,2006 基于surfer8.0实现雨量图形可视化 林伙海吴陈锋 (福建省厦门市气象局,361012) 提要:介绍了VB6.0结合surfer8.0实现雨量图形可视化的基本原理,阐述了系 统软件的模块化结构设计的过程,给出了关键性技术描述,并展示了系统的主要功 能和产品结果. 关键词:VB6.0su...

基于surfer8.0实现雨量图形可视化
基于surfer8.0实现雨量图形可视化 基于surfer8(0实现雨量图形可视化 第32卷,第7期 2006年7月 气象 ,伍E0R0L0GICALM0NTHLY V01.32NO.7 July,2006 基于surfer8.0实现雨量图形可视化 林伙海吴陈锋 (福建省厦门市气象局,361012) 提要:介绍了VB6.0结合surfer8.0实现雨量图形可视化的基本原理,阐述了系 统软件的模块化结构设计的过程,给出了关键性技术描述,并展示了系统的主要功 能和产品结果. 关键词:VB6.0surfer8.0雨量图形可视化 RainfallVisualizationbasedonSurfer8.0 LinHuohaiWuChenfeng (XiarnenMeteorologicalOffice,FujianProvince361002) Abstract:Thisarticledemonstratesbasicprinciplesonhowtovisualizerainfallbyusing softwareSurfer8.0connectingwithVB6.0.Thestructureproceduresofthesoftwaresys— ternandkeytechniquesarealsointroduced,andtheimageproductsandmainfunctionsare showninit. KeyWords:VB6.0Surfer8.0rainfallvisualization 引言 2004年厦门市气象局新一代自动气象 站改造完成,但新的自动站数据查询软件仍 然以 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 方式查询,缺乏图形显示的直观 性.surfer8.0中文版是美国Golden公司自 主研究开发的制作等高线和三维地形立体图 的软件.surfer8.0具有很强的图形显示功 能,同时surferautomation提供了大量的 ActiveX对象,VB6.0可方便地对surfer automationActiveX对象进行调用,这使雨 量图形可视化编程成为可能. 收稿日期:2005年1月26日;修定稿日期:2005年11月7日 116气象第32卷 1基本原理 Surfer8.0的最主要的功能是绘制等高 线图,对 要求 对教师党员的评价套管和固井爆破片与爆破装置仓库管理基本要求三甲医院都需要复审吗 绘制等高线的数据有特殊的格 式要求,即首先要将数据文件转换成Surf— er8.0认识的grd文件 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 ,才能做等高线 绘制,然后在等高线图上加上背景地图(本 地的地形图)_1].由于自动站的设点不可能 按网格化的方式来进行布点,采集到的数据 在作图过程中要进行插值计算.最后在等高 线之间填上相对应的雨量值的颜色. 在VB6.0中对Surfer8.0进行嵌入式 编程的原理类似于调用ActiveX对象编程. Surfer8.0采用了Automation方法来公开 其接口,提供了近60种不同种类的Ac— tiveXAutomation对象,它们几乎覆盖了 Surfer8.0的所有功能.在安装Surfer8.0 之后,开发人员就可以在?程序中创建, 调用它所提供的Automation对象,用以实 现相应的数据可视化功能.更准确地说这种 编程方法是一种面向对象的嵌入式编程方 法. 2模块化结构设计 采用功能模块化结构设计,每个模块都 被独立地实现,模块在功能上独立,可根据 用户需求灵活配置.该应用软件通过调用数 据库中的自动站雨量资料实现图形可视化, 程序包括的模块见图1. 2.1数据调用模块 该模块使用VB6.0的ADO(AcitveX DataObject)对象实现数据库的连接与数 据调用,ADO作为最新的数据库访问模式, 同传统的数据对象层次(DAO和RDo)不 图1系统软件的结构图 同,ADo可以独立创建,如可以只创建一 个"Connection"对象,但是可以有多个独 立的"Recordset"对象来使用它.不同类 型的自动站观测仪器,所采集的雨量资料存 贮于多个数据库表中.在调用时段雨量数据 时,通过设置不同的参数变量,取出各个站 的雨量累加值,并将数据输出至surfer支持 的文本格式数据文件中. 2.2图形绘制模块 该模块调用surferautomationActiveX 对象,实现自动站离散站点数据的网格化, 并将网格数据白化(将地图边界以外的数据 重设为空值).由于网点数据的不均匀,采 集到的数据要进行插值计算.Surfer8.0提 供了加权反距离,克里格,最小曲率,改进 谢别德,自然邻点,最近邻点,多项式回 归,径向基函数,带线性插值的三角剖分, 移动平均,数据度量,局部多项式等12种 网格化方法,软件选取效果较好的三种方 法:加权反距离法,克里格,最小曲率法. 网格化只需调用application对象的griddata 方法,并设置相应的参数即可实现.数据等 值线绘制共分九个层次,每个层次的值代表 雨量数据的大小,等值线的取值量级和颜色 可根据实际需要进行调整.在加上背景地图 时,先对当地行政地图做数据化处理,即取 行政地图边界线的经纬度,取的点数越多, 描绘出来的数字地图就越准确. 第7期林伙海等:基于surfer8.0实现雨量图形可视化117 2.3显示控制模块印出来. 该模块提供应用程序与后台数据库的连 接界面,并可在线测试数据库的工作情况. 通过对时间段的选择,即可显示每分钟的实 时雨量,也可显示历史上任一时段的雨量分 布.在编辑菜单选项中,可随时订正自动雨 量站的经纬度,雨量值,或添加新增雨量站 并重新绘制图形.用户可以对网格化方法以 及等值线等级进行设置,可以将图形输出成 多种图像格式(如:gif,bmp,jpg,emf, jpeg,png等)进行保存. 2.4打印输出模块 利用VB为用户提供的Windows公用 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 对话框CommonDialog控件,可实现打 印屏幕上显示出来的图形内容.需要解决的 是属性匹配与窗体缩放问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 .具体过程是: 使用打印机的ScaleX和ScaleY方法,获取 以twip为单位的打印机尺寸,再利用窗体 的ScaleX和ScaleY方法将这些尺寸转换为 窗体中的坐标系统,从而实现以窗体的坐标 系统提供打印机可打印区域大小的目的.然 后,用这些尺寸作为打印机中新的Scale- Width和ScaleHeight,即可实现属性匹配. 当需要扩大或缩小窗体的大小时,要确定对 象被缩放的系数.除了在软件上直接打印图 形外,还可以通过其它图形显示软件打印保 存过的图像. 以上四个模块之间的相互关系见图1. 用户通过显示控制模块向数据调用模块发出 请求,数据调用模块根据用户需求检索数据 库中的雨量数据,并将数据输出为surfer支 持的格式数据文件.图形绘制模块根据用户 对图形要素的设置进行绘图,surfer可以将 图形直接输出成各种图像文件;也可以将图 形拷贝至clipboard,再由VB的savepicture 方法输出图像,通过打印输出模块把图像打 3关键性技术的实现 在编写嵌入Surfer对象的程序代码时, 首先要创建Surfer的应用(Application) 对象,它是这种编程方法的关键;其次,根 据数据可视化需求,调用对象的相应方法, 制作图形元产品;最后,将最终的可视化结 果拷贝至系统粘贴板中,由应用程序的显示 模块调用显示. 以下说明利用VB6.0调用Sufer8.0进 行嵌入式编程的代码实现过程. 3.1创建surfer8.0应用程序对象 Dimsurfappasobject Setsurfapp=creatobject ("surfer.application") 其中CreateObject是VisualBasic提供 的一个方法,它创建并返回一个对ActiveX 对象的引用.CreateObject方法在系统注册 表里查找"Sufer.Application"项,并自动 激活Sufer服务. 3.2创建各种图形对象 (1)首先建立图形文档并建立shaps对 象 Setdoes=surfapp.documents Setplotdoc=docs.add(doctype:一1) Setshapes=plotdoc.shapes (2)用shapes对象的addcontourmap 方法建立等值线图对象 Setmapframe—shapes.addeontourmap (gridfilename:=grd— file) Grd— file是surfer支持的以*.grd为 后缀的格点数据格式,要得到这种格式的数 据可以用surfer8.0应用程序对象的gridda— ta方法对离散的站点资料进行网格化,该 ll8气象第32卷 方法提供了l2种不同的网格方法,在应用 程序中选择了局部多项式加权反距离法,克 里格,最小曲率法三种效果较好的方法供用 户使用. (3)用shapes对象的addbasemap方法 建立基面图对象为图形添加地图背景 Setmap{rame:shapes.addbasemap (importfilename:-----mapfile) 其中mapfile是surfer8.0支持的地图 边界文件,这里选用*.bin格式边界文件. (4)用shapes对象的addpostmap方法 建立张贴图对象为图形添加雨量及站名标注 Setmapframe—shapes.addpostmap (datafilename=stn. file) Surferautomation为用户提供了多种方 法使其可以设置各种图形对象的属性. 3.3复制图形结果到系统Clipboard 将已制作的功能部件复制到系统粘贴板 (Clipboard) Shapes.SelectAll Setselection=plotdoc.Selection Selection.copy 将系统粘贴板中的图形元产品拷贝至应 用程序的显示控件PictureBox中 PictureBox.Picture= Clipboard.GetData(2) 至此已经完成了数据等值线图形制作的 主要工作.如果需要保存数据的可视化结 果,Sufer也提供了输出图形文件的功能, 而且支持jPg,bmp,png,dxf等多种图形 格式(以上只列出了嵌入代码模块中的一些 核心部分).从数据的调用到图形的绘制, 需应用到更多的程序设计. 4小结 与表格方式查询相比,自动站雨量资料 的图形方式的查询在直观性方面有较大优 势.13常业务中,它有利于预报员及时了解 局地天气细微变化,提高预报的准确率;台 风,暴雨时,它有利于各级领导随时掌握厦 门地区降雨情况,及时采取正确的防灾措 施;人工增雨作业中,它有利于作业指挥和 作业人员根据雨情变化,适时发布正确的作 业指令和评估作业效果.随着今后自动站数 量的增加,将越来越精确地反映本地区的实 际降水情况.同时,只要修改数据调用参 数,也可完成自动站其它要素的图形显示. 参考文献 1尼建军,张学宏.surfer7.0嵌入VB6.0编程实现水文 数据快速可视化口].海洋测绘,2005,25(1):64— 66.
本文档为【基于surfer8.0实现雨量图形可视化】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_005190
暂无简介~
格式:doc
大小:21KB
软件:Word
页数:7
分类:生活休闲
上传时间:2017-10-17
浏览量:19