爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3726|回复: 1

vb调用surfer11的问题

[复制链接]

新浪微博达人勋

发表于 2015-7-22 10:39:16 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
这个是用surfer8写的,但是现在用11了,如何进行修改,请大神帮帮忙。
Set SurferApp = CreateObject("Surfer.Application") '创建surfer对象   --------提示出错
    SurferApp.Visible = False   'surfer软件不在前台显示,如改为ture就会看到sufer软件处理过程,不美观
   
   SurferApp.GridData DataFile:="D:\出图程序\温度、雨量\Rainfall_60min\datfile\温度.dat", xCol:=1, yCol:=2, zCol:=3, Algorithm:=2, DupMethod:=2, ShowReport:=False, OutGrid:=App.Path & "\差值后.grd", xMin:=105.589, xMax:=106.125, yMin:=28.95, yMax:=29.56, NumCols:=1500, NumRows:=1500
    'SurferApp.GridData DataFile:="D:\web\hrw\Rainfall_10min\datfile\雨量.dat", xCol:=1, yCol:=2, zCol:=3, Algorithm:=2, DupMethod:=2, ShowReport:=False, OutGrid:=App.Path & "\差值后.grd", xMin:=105.589, xMax:=106.125, yMin:=28.95, yMax:=29.56, NumCols:=1500, NumRows:=1500
    '是利用 VB 代码控制 Surfer 来绘制等值线,生成一个空白的绘图页。用Kriging(克里格)法将资料内插到网格点上,并定义网格的最大(小)经纬度,Datefile为包含路径的文件名,这里为雨量数据文件,Outgrid 为数据插之后的输出文件。
     SurferApp.GridBlank InGrid:=App.Path & "\差值后.grd", BlankFile:=App.Path & "\永川边界.bln", OutGrid:=App.Path & "\差值后.grd"
    '用.bln 文件白化等值线,去掉边界外的插值, 并重新保存,为后面绘制等值线做准备。
   
    Set Plot = SurferApp.Documents.Add(1)
    Set ContourMapFrame = Plot.Shapes.AddContourMap(App.Path & "\差值后.grd ")
   
    '生成一个空白的绘图页,并在空白绘图页上生成白化后的等值线图,并指定其文件名为ContourMapFrame。
    'Set ContourMapFrame = plot.Shapes.AddContourMap("D:\dat.grd") '生成一个等值线图
           Set ContourMap = ContourMapFrame.Overlays(1)
     ContourMap.Levels.LoadFile (App.Path & "\温度.lvl")
    '降水等级文件可根据实际情况调整,以绘出较为美观的图形。
   
   
     ContourMap.SmoothContours = 4
    ContourMap.ShowColorScale = True
      ContourMap.FillContours = True
    '载入等值线等级文件,并平滑等值线,设置显示色标,最后,填充等值线。
   
    ContourMapFrame.Axes(1).Visible = False    '设置是否显示坐标轴
    ContourMapFrame.Axes(3).Visible = False
    ContourMapFrame.Axes(2).Visible = False
    ContourMapFrame.Axes(4).Visible = False
   
    ContourMap.ShowColorScale = True   '显示色标
    ContourMap.ColorScale.FrameLine.Width = 0#
    ContourMap.ColorScale.Left = ContourMap.Width + ContourMap.Left - 0.9
    ContourMap.ColorScale.Width = 0.6
    ContourMap.ColorScale.Height = 2.1
    ContourMap.ColorScale.Top = ContourMap.Top - (ContourMap.Height - ContourMap.ColorScale.Height) / 1.1
    ContourMap.ColorScale.LabelFont.Size = 8
    '等值线数值标注的字体和大小
    ContourMap.LabelFont.Size = 5
   
   
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-7-22 17:17:44 | 显示全部楼层
创建surfer应用程序对象出错,就是没有正确安装 Surfer,重新安装一次。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-12-27 17:31:21 | 显示全部楼层
感觉好乱
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表