
2008年第 3期青海气象74VB和 Sur fer 实 现 气 象 等 值 线的手动绘图张 1 ,周秉荣 1 ,苏献锋 2 娟 ( 1. 青海省气象科研所 ; 2. 青海省气象科技服务中心 ) :本文主要 介绍 了在 VB环境下利 用程 序控制 Surfe r软件 , 自动绘图气象等值线的方式 ,成功 实现 了客 户和服 摘 要 务器程序的无缝链接 , 为开发等值线绘图软件提供了一种简捷 、 的途 径 。 高效 关键词 :VB; Surfer; 气象等值线 ;绘制1 引言 等值线图是气象工作者常用的气象要素图形显 示方式 ,它能较直观地显示出气象要素的分布状况 , 便于剖析和推断 ,在气象工作及服务领域中 ,大量数 据及产品需绘制成等值线图以供探讨使用surfer怎么画等值线,因此及 时、 高效地绘制等值线图是业务工作及业务平台开 放中急需缓解的难题 。但因为计算机生成等值线的 插值算法较为复杂 ,自己研发等值线绘制程序势必 耗费大量的时间和精力 ,而通过成熟的商用工具则 能迅速地制作出科学简洁的等值线图 。因此怎样针 对具备等值线绘制功能的硬件进行二次开发 ,将其 无缝地链入到业务应用平台中 ,已变成气象软 件开发的热点 。
2Surfer对象模型 Surfer是中国 Golden Software公司研制开发的 基于 windows操作 系统的 二维和 三维科 技绘图 软 件 ,其除了提供了丰富的网格化和插值方式 ,还具备 强大的绘制等值线等矢量图能力 ,通过 VB 编程实 现在用户程序界面中迅速推动各类气象等值线图快 速手动绘制功能 ,完全脱离了 Surfer的主程序界面 , 并可即时更改其相关属性 ,做到了开发周期短 ,自定 义功能强 ,方便实 用 ,实现 了 Surfer功能的完美 封 装。 绘 制 等 值 线 是 surfer 的 主 要 功 能 之 一 , 而 Autom ation技术的打造为推动自动描绘图形提供了 可能 。气象上常用的有温 、 、 、 压 湿 雨量等诸多气象 要素的等值线图上叠加背景地图 ,并按必须对图形进行标注 。为了推动这种功能 ,必须借助 Surfe r提 供的应用对象 (App lication)来访问和控制其下属对 象 ,以推动图形的描绘 。 Surfer对象模 型的最顶层 是 App lica tion对 象 , 即 Surfer本 身 ,其 他对象 均为 App lication对 象的 子 对象 , 都要 直接 或 间 接 通过 App lication对象来获取 , 对象的获取需一层一级地 进 行 。

在 vb 中 创 建 App lication 对 象 的 方 法 是 : surferApp = C reateObjec t( “surfer app lication” ; . ) surfer 已 启 动 , 可 通 过 surfer App = ) GetActiveObject ( surfer application ” 来 获 取 “ . App lication对象 。 创建 App lica tion对象之后就可以使用这个对象 所包括的各类技巧和属性来推动对 surfer的调用 。 访问次级的对象 ,需要 Application对象提供的 2个 重要集合 Docum ents和 W indows来实现 。 Documents collection对象 :是一个基类对象 ,不 能直接使用 。可以借助 已定义的 surferapp 对象获 得 :如代码 Docum ents = surfe rapp. Documents; 从 其 可 派 生 出 具 体 的 Docum ents 对 象 , 如 p lotdocum ent, wksdocum ent 等 。 获 得 Docum ents collection对象后 ,通过此对象“Add” 方法 (M ethod ) 即可获取更深一层的对象 。
如可以借助一下代码增 加一个 p lotdoment对象 : Plot = document add ( srfdocp lot) . 该 对 象 包 括 drawellipse、draw line、draw text、 p rint、 、 save savea s等方式 。 Shape 对象 :绘图元素对象的数组 。 Surfer中的 绘图元素众多 ,如坐标轴 、 等值线 、 色标 、 网格线 、 底 若84 图、 文本等 。 3Sur fer 相关的界限文件格式及空间内插方式 3. 1 相关的边界文件格式青海气象2008年第 3期Surfer支 持 大 量的 边 界 文 件 格 式 , 如 Golden Soft are 的 白 化 文 件 (. BLN ) 、 图 边 界 文 件 (. w 地 BNA ) 、 I P otCall文件 (. PLT)等文本文件 , 另外还支 持如 形 文 件 (. shp ) , AUT OCAD 的 绘 图 文 件 (. DXF) 、 ARC I FO的 输出格式文 件 (. E00 )、 N 图元 文 件 (. WM F ) ,增强图元文件 (. E F ) 、 M 位图 (. Bmp ) 、 压缩位图 (. J PG ) 等许多外部文 件。

文本文件易于 编辑 ,导入便捷 ,因而应用较广。 3. 2 空间内插方式 等值线绘制优劣的关键点之一是空间内插法的 选取 ,目前较为成熟的插值法有许多种 ,根据其基本 假设可分为几何方法 、 统计方式 、 函数办法和化学模 型方式等 ;根据数学本质又可分为局部函数法和逐 点内插法 2种 。在不同的时空尺度内 ,每个步骤对 不同变量估计的偏差是不一样的 。对于不同的空间 变量 ,在不 同的地 域和不 同的 时空尺 度内 所谓 的 “ 最优 ” 内插法是相对的 。在台站分布 密集的区域 不同空间内插方式之间差距较小 ,在台站分布稠密 的区域则变化较大 。常用的几种空间内插方式有 : 反距离加权插值法 、 最小曲率法 、 三角剖分线性插值 法、 克里金插值法等 。在本案例中运用的空间内插 法是克里金插值法 。 4 技术推动与关键代码 等值线图必须要由三维格网数据生成 ,而气象 站点数据都是离散数据 ,在这些状况下 ,必须先对这 些离散数据进行预处理 ,即对原始数据进行格网化 插值 。 Surfe r提供了格网插 值函数 GridD ata, 它能 将 TXT、 、 DAT XLS等格式的原始离散数据文件插值 成为 Surfer格网文件 ( Grd) 。
GridData函数包括 57 项参数 ,用户可以指定任意的数据列和数据范围进 行内插 。Surfer提供 12种插值方式 ,这 12种插值方 法分为精确插值和平滑插值 ,用户可按照需要选用 不同的插值方式 ,并修改其相关参数 。地理图层信 息可以预先用 Su rfe r进行收集 , 保存成模板 3 . srf, 包括地理县界 、 水体 、 公路、 铁路等地理信息 。图 1surfezr autom ation技术应用流程 本案例为《地理信息系统在气象灾害预测中的 应用 》 开发的一套气象要素 等值 线自动绘制系统 , surfer autom ation技术应用步骤如图 1所示 。在本实 例中实现了气温等值线的绘制和降水 等值线的绘 制。 4. 1 资料处理 Surfe r常用的文件有文本 ( data )或数据文件 ,从 文本文件生成格点文件 ( grd) ,再由格点文件生成我 们所必须的等值线文件 ( contour) ,同时也有地图文 件和要素文件 ,各种文件 的数据传输格式 都不同 。 将从气象台获 取的 3 . dat (降水 ) 文件 及 3 . txt (气 温 ) 文件中的区站号通过程 序转 换成经纬度表示 , 将降水量为空的站点行删除 ,并将降水量中带有括 号的部分删除 ,输出含有经度、 纬度 ,降水量或湿度 三列的文本文档 。
4. 2 vb与 surfe r相结合实现气象等值线显示 以 vb作为研发软件 ,首先需要在其环境中引用 与 surfe r有关的库 ,使 vb能够调控 surfer及其下属 对象 。在 vb的集成 开发环境中 ,通过“ 工程 ” 菜单 中的“ 引用 ” 命令 , 将所要用 的库 选中 ,并且可以在 vb的对象浏览器中查看对象库 、 、 类 属性 、 方法及其 事件 。引用 Surfer的 App lica tion对象surfer怎么画等值线,才能在用户 程序中与 Surfer服务器通讯 。输入引用 App lica tion 对象的代码 , 就完成了对 Surfer的 App lica tion对象 的引用 , 其它层次的对象就可以借助这个根对象来 间接逐层引用 ,从而推动了与 Surfe r服务器的通信 。 通过 GridData插值函数将离散的站点资料插值成格 网数据文件 ,然后读取 Surfer 的添加等值线图层功 能 ,导入生成的网格数据文件 ,就在绘图窗口生成了 等值线图 。绘制过程在 S urfer 后台程序中进行 ,最2008年第 3期青海气象 Plot Se lec tion. O verlayM aps ’ . 合并以上图层94后将绘制结果显示在用户应用程序界面中 。
代码片 断: D im surfapp A s Object’ 声明对象数组 Set surfapp = CreateObject ( ” surfer . ) 创建 SUR FER 应用程序 application” ’ 实例 Surfapp. V isible = False Set Plot = surfapp. Docum ents. Open ( App. Path + ” sur\ qsdzx \底图 geo. srf” ’ \ ) 打开 S URFER 工程 文件 Surfapp. GridData DataFile: =App. Path + ” sur \ \ qsdzx\ js. txt” xCol: = 1, , yCol: = 2, zCol: = 3, xM in: = 89, xM ax: = 104, yM in: = 30, yM ax: = 40, A lgorithm: = srfKriging, ShowReport: = False, OutGrid: =App. Path + ” sur\ qsdzx\ js. grd”插值函数 \ ’ surfapp。
GridSplineSmooth InGrid: = App. Path +‘\ sur\ qsdzx \ js. grd’ 。 nRow: = 10, nCol: = 10, M ethod: = srfSpL. ine Insert, 0utGrid: =App. Path + ” sur\ qsdzx\ js grd” 0utFm t: = srfGridFm tS7’ \ . , 样条平滑 surfapp. GridBLank InGrid: = App. Path + ”\ stur\ qsdzx\ js grd”, . B 1ankFile: = App. Pa th + ”\ sur \ qsdzx \ pro. bln” OutGrid: =App. Path + , ” sur \ qsdzx \ js grd” 0utFm t: = srfGridFm tS7’ \ . , 白化 Contour apfram e m (App. Path + AddContour ap M 件 Set Con tour ap: Contourmapfram e. O verlays ( ” M ) 显示等值线图层 contours” ’ Contour ap. SmoothContours = srfConSmoothHi M gh ’ 平滑等值线 Contour ap. ShowCoL orScale = F alse ’ M 是否显示 图例 Plot. Shapes. SelectA ll ’ 全选以上图层 Set = P lot. Shapes.Contour ap对象 本身还提 供了很 多属性 和方 M 法 ,通过对这种属性 、 方法的设定 ,可以便于地改变 等值线图的相应显示 。
如设置等值线的间隔 、 等值 线的线型及线宽 、 等值线间的填充样式和方式 、 等值 线的标注等等 ,从而定制出方式多样的等值线 。 所生成的等值线图是一个矩形区域的图层 ,而 人们常常想要的是在本地区界限范围内的图形 ,这 就涉及到对等值线图层的裁切 。 Surfer中提供的白 化 (B lank)功能无法裁剪掉边界以外的格点数据 ,但 有个特点就是如果格点数据太疏就会导致边界线与 等值线图层不能严格吻合 ;而太密则会导致运行速 度太慢 ,即使将网格点加得很密 ,也还是不能完全避 免在界限附近发生的漏洞 ,这只是这种工具对栅格 类图层裁剪的通病 。因此 ,应采取基面图遮盖来解 决这一难题 ,从而显示或输出美观的等值线图 。 4. 3 温度 、 降水填充图的描绘 填充图是在等值线绘制成功的前提下给图像赋 予一定的底色 。填充图的描绘方式和流程与等值线 的描绘类似 ,所不同的是 ,在描绘好的等值线的基础 上给图像填充了颜色 ,能够更直观的反应出频率和 降水的区域及态势。绘制填充图引入的色标文件是 中国国家气象局统一下发的气象预报和服务产品色 标规范 。运用 Surfer与 vb的结合 ,可以增加绘制气 象等值线的强度 ,更好的为气象事业服务 。
4. 4 系统主要界面及用途 4. 4. 1 系统主要界面 。 系统主要界面见图 2、 3。 图) 添加等值线网格数据文 ” sur\ qsdzx\ js. grd” ’ \图 2 青海省降水等值线填充图绘制界面05青海气象2008年第 3期改变等值线的疏密程度 ;可以给图像添加标题 ,更直 观的反应图像 ;可以按照客户不同的意愿改变等值 线的色调。填充图是运用的国家局统一下发的色标 标准绘制的 ,可以更好的服务社会。 4. 5 出图 所生成的图像有两种 ,共 8幅图像 。其中气温 和降雪等值线图像有全国和西部农业区各 4幅 ,气 温和降水等值线填充图像有省内和西部农业区各 4 幅。 5 结束语图 2 全省气温等值线填充图描绘界 面4. 4. 2 各部分功能介绍 (1)主程序功能 : 选择调用各子窗 口及帮助文 件。 ( 2 )降水等值线的绘制界面及气温等值线的绘 制界面功能 :该界面可实现对降水数据以及气温数 据的等值线绘制 ,包括对全国及海东地区的等值线 绘制 、 全省及海东地区的填充图的描绘 。采用了两 种选择文件的方法 ,分别是对话框形式和数据文件 浏览显示方式 ;在界面上可以借助选择数据间隔来 通过实际运行说明 , vb与 Surfe r结合气象绘制 等值线 ,方法简练 ,图形优美 ,线条光洁 ,具有十分强 的实用性。
参考文献 :〔〕 1 杨朝辉 ,党立华 . 基于 Surfe r Automa tion 技术的 三维立 体 渲染图的勾画 〔 〕 J . 海洋测绘 , 2003∶ 26. 〔〕 2 熊文兵 ,用 Surfer7. 0 绘制 气象等 值线图 〔 〕广西 气象 , J .2003 ∶ 43.〔 〕 建 光 , 赵 连 锋 , 郑 圻 森 , 数 据 可 视 化 中 的 Delphi 与 3 唐Surfer接 口技术〔 〕 J . 计算机应用 , 2002 ∶ 127.
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-127024-1.html
现在美国佬派出3艘驱逐舰是来干扰的