VB 6.0实现Surfer自动绘制降水等值线图方法.docVIP

VB 6.0实现Surfer自动绘制降水等值线图方法.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB 6.0实现Surfer自动绘制降水等值线图方法

VB 6.0实现Surfer自动绘制降水等值线图方法摘要:Surfer 是美国Golden软件公司的产品,主要用于绘制等值线图及相应的三维图形。本文主要讨论了采用Visual Basic 6.0为开发工具,来实现对Surfer自动绘制等值线的二次开发,并给出实现操作的关键程序代码。VB与Surfer的有效结合,可大大提高工作效率。 关键词:Visual Basic;Surfer;等值线;降水 中图分类号:TP311.5 文献标识码:A 文章编号: 1 引言 雨量等值线是指某一给定时间内的降雨量相等各点连成的平滑曲线。由于等值线可以将离散的台站数据或野外观测数据进行空间插值处理[1],结合了数据图形,能反映雨量的时空分布特征,比较直观,因而在防汛、水文等部门得到广泛使用。 传统的手工绘制雨量等值线图时,需要首先将各雨量数据点数值点绘到需要绘制等值线的底图上,确定暴雨中心,然后通过人工计算暴雨中心与周边雨量点的数值差值将雨量点与暴雨中心的连线等分,进而绘制出降水等值线图。这种方法绘制速度慢、精度不高,已经无法满足防汛工作的时效性,必将影响水情防汛工作。 本文介绍利用Visual Basic 6.0编制VBA程序嵌入一个小型实用的空间插值绘图软件Surfer 8中,利用计算机快速绘制已知数据的等值线图的方法,可以大大的提高工作效率。 2 数据的空间插值方法 Surfer进行数据空间插值时会用到几种方法,了解这几种常用的插值方法对于我们针对不同数据选择适当的插值方法和相关参数是很重要的。 2.1 距离倒数加权法 该方法以数据点与网络点的距离平方倒数作为权值,距离越大权值越小,反之则越大。在具体应用时,既可以把它当作精确估值,又可当作平滑估值。 距离倒数加权法其优点在于算法简单,易于实现。在进行插值时其结果出在用于插值数据的最大和最小值之间。缺点是距离加权法没有考虑数据场在空间的分布,往往会因为采样点的分布不均而使估值结果产生偏差。另外,由于插值结果肯定介于估值点的最大和最小值之间,因此会因为采样点的不均而对空间场产生错误的估计。 2.2 最小曲率法 该法构造出具有最小曲率的曲面,使其穿过空间场的每一点,并尽可能使曲面变得光滑。最小曲率法是平滑插值。 2.3 三角剖分线性插值法 此法是把数据点用线相连,在平面中形成许多三角形,并满足三角形间互不穿切。这样,整个空间场就可以看成由这些小三角平面构成,每个三角形的顶点都为样品点所代替。插值时,将落在小三角平面投影中的网格点用三角平面上的值来代替。这种方法是精确插值,较为忠实原始数据点,但是此法设计三角剖分、平面拟合以及投点等几个步骤,因而计算量很大。 3降雨等值线的绘制 3.1前期准备工作 绘制降雨等值线图前,必须做好前期准备工作。如地区地图、地图区域的空白文件、降雨量文件等。地区地图是用作区域等值线图的背景图,所以这里需要事先准备好地图,这里的地图为map.BMP。底图区域的空白文件是为了删除行政地图map.BMP的边界以外的等值线,它是*.bln文件由Surfer的数字化命令创建,其文件格式如下: 标志行,标识符 X1,Y1 X2,Y2 ...... Xn,Yn 其中Xn、Yn是闭合闭合多边形的坐标数据,标志行为闭合多边形上点坐标的个数。这里需要注意的是标识符值为1时,所选的区域里面的等值线将被删除,标识符值为0时,所选的区域外边的等值线将被删除。这里创建map.bln空白文件,其中标识符值为0。 降雨量文件由雨量站点的地理坐标和时段降雨量组成,降雨量可由水情数据库中提取,然后和站点经纬度组成降雨量文件,降雨量文件为Excel,表内格式如下: X1,Y1,Z1 X2,Y2,Z2 ...... Xn,Yn,Zn Xn、Yn为雨量站点的地理坐标,Zn为雨量站点的降雨量。准备好的文件应放入所编写程序中引用的相应目录,本次从简便出发选择的为D盘根目录,创建以唐山某一场降雨量为例的降雨量文件rainfall.xls,即“D:\rainfall.xls”。 3.2 程序主代码 VB 6.0调用Surfer 8进行编程的原理和方法为:在VB应用程序中创建Surfer 8 的Active X对象,即在客户应用程序中与Surfer 8服务器程序实现通讯,这样就可以使用这个对象所包含的各种方法和属性来实现对Surfer 8的调用。[3] 在VB的集成开发环境中,通过“工程”菜单中的“引用”命令,将其中的Surfer 8 Type Library选中(如图1),就可实现VB 6.0对Surfer 8的调用。这样就可

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档