第 31卷 第 4期
物探化探计算技术
2009年 7月
收稿日期 : 2008 - 11 - 28 改回日期 : 2009 - 02 - 24
文章编号 : 1001—1749
(
2009
)
04—0409—04
应用 Surfer Automation绘制地质等值线图
陈忠云 , 陈 华 , 张亚斌 , 方来富 , 刘大能
(
中海石油
(
中国
)
有限公司 上海分公司勘探部 ,上海 200030
)
摘 要 : 阐述了 Surfer Automation的自动绘图过程 ,并结合实例分析了绘图结果。Surfer软件绘
制等值线的功能极强 , Surfer Automation编程极大的方便了绘图人员 ,提高了绘图的效率和效
果。
关键词 : Surfer自动化 ;编程技术 ;等值线图
中图分类号 : TP 31714 文献标识码 : A
0 前言
随着计算机技术的飞速发展 ,等值线图的勾绘
也从过去的手工描制发展到现在的计算机编程自
动实现。目前 ,石油企业 ,高等院校的许多研究人
员 ,都在使用 Golden公司的 Surfer软件来绘制各
种等值线图。但是 ,很多研究人员只停留在 Surfer
的平面设计功能上 ,而没有使用 Surfer Automation
编程技术。在石油勘探研究过程中 ,往往需要绘制
许多同一类型的等值线图 ,例如绘制某一层段 100
个小层的含油饱和度等值线图 , 如果仅仅使用
Surfer的平面设计功能 ,那么绘制 100个小层的含
油饱和度等值线图就显得非常麻烦 ,需要在每次画
图都要经历“导入数据 ~绘图 ~输出图件 ”的过
程 ,需重复 100次相似的操作 ,这样绘图容易出错 ,
而且效率低。而结合 Scrip ter和 Surfer的自动化功
能 ,可以极大地扩展 Surfer的绘图能力 ,同时更可
以有效地提高绘图效率。
1 Surfer Automation编程实现过程
1. 1 Surfer调用以及绘图数据准备
在 W indows注册表中 , Surfer自动化的对象名
为“Surfer. App lication”。调用 Surfer应用程序的过
程如下 :
Dim SurferApp A s Object
Set SurferApp = CreateObject
(
" Surfer. Appli2
cation"
)
在 Scripter应用程序中 ,创建了 Surfer自动化
的对象以后 ,就可以使用这个对象包含的各种方法
和属性来实现对 Surfer的调用。
在 Scripter中 ,要生成 Mapframe等值线图 ,首
先要建立绘图数据表、绘图文档和绘图窗口。
File = SurferApp. Path + "D: \data \3 . xls"
Set W ks = SurferApp. Documents. Open
(
File +
". xls"
)
注 :数据格式为 Lotus123或 Excel。
Dim Doc A s Object
Dim Plotwindow A s Object
Set Doc = SurferApp. Documents. Add
()
Set Plotwindow = Doc. W indows
(
1
)
注 :建立绘图文档与绘图窗口。
绘制等值线图要将导入的数据网格化 :
Dim retValue as Bool
retValue = SurferApp. GridData
(
DataFile: = File
+ ". xls" , xCol: = 2, yCol: = 3, zCol: = 4,
Algorithm: = srfKriging, ShowReport: = False,
OutGrid: = File + " 3 . grd"
)
xCol、yCol表示坐标 ; zCol表示该坐标的数