VB调用surfer画等值线问题(急啊!)

[复制链接]
查看11 | 回复1 | 2010-7-11 17:12:44 | 显示全部楼层 |阅读模式
我用VB做了个调用surfer画等值线的程序,各个步骤都可以通过,也没有语法错误,可是就是通不过。那位高手帮我看看啊!不胜感激。我贴出我的代码:
Dim objSurfer As Object
Dim objPlot As Object
Dim objMapFrame As Object
Dim temp As Boolean
……
strGridFile = Left(strInFile, Val(InStrRev(strInFile, ".")) - 1) + ".grd" '把扩展名改为.grd
Set objSurfer = CreateObject("Surfer.Application") '创建surfer对象
'创建对象(CreateObject)是Vb提供的一个方法,它表示CreateObject方法在系统注册表里查找"Surfer.APPhcafion"项并自动激活Surfer服务
objSurfer.Visible = False 'surfer软件本身不在前台显示
temp = objSurfer.GridData(DataFile:=strInFile, DupMethod:=srfDupNone, xMin:=119.5, xMax:=120.88, yMin:=41.7, yMax:=43.03, Algorithm:=srfKriging, OutGrid:=strGridFile, showReport:=False)
'用Kriging法将资料内插到网格点上,并确定网格点的最大(小)经纬度,等值线图边界大小。outgrid为数据插值之后输出的文件名。
temp = objSurfer.GridBlank(Ingrid:=strGridFile, blankfile:="D:\Datafile\Blank\bj.bln", OutGrid:="D:\Datafile\Gridstroe\out.grd")
'用闭合区域底图bz1.bln文件去掉边界外的插值后的数据,为绘制区域等值线做准备。
Set Plot = objSurfer.Documents.Add(srfDocPlot) '创建srf文件
Set ContourMapFrame = Plot.Shapes.AddContourMap("D:\Datafile\Gridstroe\out.grd") '绘制等值线图,并添加到文档
'生成一个等值线图,并指定其文件名为ContourMapFrame。
ContourMapFrame.axes(1) = LabelFormat.postfix = "E"
ContourMapFrame.axes(3) = LabelFormat.postfix = "N"
Plot.Export FileName:=Left(strInFile, Val(InStrRev(strInFile, ".")) - 1) + ".bmp"
'输出bmp
Picture1.Picture = LoadPicture(Left(strInFile, Val(InStrRev(strInFile, ".")) - 1) + ".bmp")
'显示bmp
Set objSurfer = Nothing
End Sub

回复

使用道具 举报

千问 | 2010-7-11 17:12:44 | 显示全部楼层
程序里面的plot变脸没有命名,如果没错的话应该是上面定义的objplot.我调试了一下,可以通过。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行