地球物理数据三维可视化实现方法

2020-05-30 14:18李向宝朱怀亮王申屾
矿产与地质 2020年1期
关键词:测线绘图网格化

李向宝,朱怀亮,王申屾,罗 丽,赵 侃

(天津地热勘查开发设计院,天津 300250)

0 引言

目前地球物理成果主要以二维图形的方式展示,也有一些三维反演方法的研究,但目前还处于理论阶段,还没有广泛应用于实际工作中。为了能够实现地球物理成果的三维可视化,笔者研发团队在测试了一些三维绘图软件后,发现由美国Tecplot公司推出的Tecplot系列软件,具有功能强大的数据分析和可视化处理能力,而且该软件界面友好操作简单。Tecplot系列软件具有强大的绘图功能,可以绘制多种形式图形,包括曲线图、二维平面图及三维立体图。经过对该软件的绘图原理、绘图所需文件数据格式的详细分析与研究后,充分掌握了该软件绘图所需的数据文件格式。为了能快速高效的进行数据文件格式转换,笔者研发团队利用C++编程语言和Surfer automation技术结合Surfer软件,编写了专门用于数据提取和三维网格文件生成的程序。

笔者研发团队参考了国内大量相关文献[1-4],并首次将Tecplot系列软件应用于地球物理领域,最后以内蒙古自治区乌拉特前旗白彦花地区和江苏东海县桃林镇两个项目的可控源音频大地电磁测深数据为例,来展示本次三维可视化研究成果。

1 地球物理成果三维可视化实现方法

三维可视化是用于显示和描述空间现象特征的一种工具,是现实世界在计算机内的三维显示,实现三维可视化有助于人们对抽象事物的理解。

本次实现地球物理成果的三维可视化主要从以下两个方面出发:

1)三维可视化的数据准备。

2)利用Tecplot软件进行绘图并对其进行相应操作,如制作三维图、切片图、动画等。

1.1 三维可视化的数据准备

数据是三维可视化的基础,数据的质量和数量决定了三维图的质量。理论上说,数据量越大绘制的三维图会更加细腻。地球物理原始采集数据经过一系列处理后形成最终解释成果数据。以电磁法为例,野外一般以剖面的形式进行测量,处理数据一般以剖面为一个单位进行,每条剖面形成一个二维空间的三维数据体模型,由图1可见,图上的节点是剖面上离散点经差值后获得。而整个工作区是由多条剖面组成的,这样就形成了多组二维数据模型,将工作区内的所有二维数据模型中的离散点再进行网格化处理,就形成了一个三维空间的四维数据体模型(图2)。

Tecplot软件使用的数据类型包括有序数据和有限元数据。本次使用的是有序数据类型,数据文件格式见图3。数据的前三行分别是标题行、变量名称、三维数组的点数,第四行起是数据内容,四列数据分别是X坐标、Y坐标、Z坐标和变量值。

图1 二维数据模型

图3 绘制三维图数据格式

由于网格化后的数据量会增大数倍,因此,这里利用C++编制程序进行数据的提取与合并,并使用Surfer软件的网格化功能,对空间离散点进行网格化。本次实现的是对GDP32Ⅱ可控源音频大地电磁测深的反演文件数据提取的程序,对于其他地球物理方法,可以分别编制相应的数据提取程序。程序的总体思路:利用VC++编程软件建立基于对话框的应用程序,然后编写批量处理程序用于提取多条剖面文件中的同一深度的X、Y、Z坐标、视电阻率的数据。对每个同深度的X、Y、Z坐标、视电阻率分别进行网格化,最后把所有同深度的网格文件合并为一个四维的数据文件“dat”,用于Tecplot软件的三维图绘制,程序界面见图4右侧三维文件制作程序栏。为了便于读者理解,下面给出程序的部分源代码。

图4 程序界面图

首先利用VC++的ClassWizard工具导入Surfer提供的封装了COleDispatchDriver类方法的类库。然后在OnInitDialog函数中添加初始化SurferActiveX服务器的代码。m_surfer.CreateDispatch("Surfer.Application");//启动Surfer进程。

m_surfer.Set-Visible(TRUE);//显示Surfer窗口[5-9]。

下面给出调用Surfer软件网格化的方法。

首先在头文件中定义Surfer导入的类IApplication 的对象m_surfer,然后在函数内定义变量VARIANT vDefaultArg。

vDefaultArg.vt = VT_ERROR; //变量默认值

vDefaultArg.scode=DISP_E_PARAMNOT-FOUND;

COleVariant vtXCol(1L); // 网格化文件的第一列为X。

COleVariant vtYCol(2L); // 网格化文件的第二列为Y。

COleVariant vtZCol(4L); // 网格化文件的第四列为Z。

COleVariant vtShowReport((long)FALSE, VT_I4); // 不显示网格化结果报告。

网格化函数GridData参数如下:

m_surfer.GridData(filename,vtXCol.lVal,vtYCol.lVal,vtZCol.lVal,vDefaultArg,vDefaultArg,vDefaultArg,vDefaultArg,vDefaultArg,vDefaultArg,vDefaultArg,vDefaultArg,vDefaultArg,vDefaultArg,vDefaultArg,vtShowReport,vDefaultArg,…..,strpath + "zhisanwei" + strcengshu + "out.dat",……); // 50号参数是输出的文件名,4L,51号参数是输出的文件格式,"4L"是文本格式。共57个参数。

通过编程可以快速完成数据的提取以及网格化,并形成最终Tecplot软件绘图的文件格式,为三维可视化做好充足的数据准备。

1.2 三维可视化的实现

在完成数据准备后,会形成一个后缀名为“dat”的文件,通过Tecplot软件即可完成三维可视化,其方法如下:

从“File”菜单中选择“Load Data”子菜单,在弹出的文件打开对话框中浏览到已经生成的后缀为“dat”的文件,数据加载后通过软件左侧的功能窗口完成相应的操作,如Contour是绘制等值线,Slices是制作不同方向切片,软件界面见图5。

2 成果展示

内蒙古白彦花可控源项目工作区位于内蒙古自治区巴彦淖尔市乌拉特前旗东部,东临包头市,西距乌拉特前旗乌拉山镇约50 km,距巴彦淖尔市临河区约180 km,东距包头市昆都仑区市约50 km。此次可控源音频大地电磁测深工作,共布设点距200 m、线距4 km的测线6条,测线总长度59.6 km,完成测点数共计304个,详细测线信息见图6。

经过对6条测线数据的反演,提取反演结果进行三维数据的网格化,最终利用Tecplot软件绘制了三维立体图(图7)。在图7中可以清晰地划分地质界线和地层界线,给解释工作带来便利,使解释成果更加清晰易懂。通过对三维立体图的不同方向切片来进一步分析地质构造,图8是其东西方向切片,利用图8可清晰地划分地质界线和分析构造特征等操作。

江苏东海县桃林镇可控源工作区位于秦岭—大别造山褶皱系的东延部分,郯庐断裂带东侧,苏鲁造山带南缘超高压变质带上。区内基底地层为古元古界的东海群变质岩系,盖层主要有分布于郯庐断裂带断陷盆地内的中生代上白垩统王氏组(K2w)、下白垩统青山组(K2q)等。岩浆岩多为燕山晚期中酸性侵入岩,主要有花岗岩、花岗斑岩及闪长岩、石英闪长岩等。

此次可控源音频大地电磁测深工作,共布设测线9条,测线总长度15.75 km,完成测点数共计280个,详细测线信息及地质情况见图9。通过绘制三维立体图(图10),清晰可见桃林岩体的地质界线、岩体的厚度、地层的分布情况等。

3 结语

1)本次地球物理三维可视化的实现,主要是基于Tecplot软件绘图平台与Surfer软件数据网格化平台,采用C++语言编写程序提取数据,形成三维绘图数据文件,最终实现了地球物理勘探数据的三维可视化。

图5 Tecplot软件界面图

图6 内蒙古白彦花地区可控源音频大地电磁测深实际材料图

图7 三维成果图

2)通过对内蒙古白彦花和江苏东海县桃林镇两个项目的数据三维可视化表现效果来看,无论是对地质界线的把握,还是地层界线的划分,都更加清晰明了;而且通过制作切片图,可以进一步分析地质构造特征等。

图8 东西向切片图

3)利用本方法实现的地球物理数据三维可视化,可以把地球物性特征的空间分布描绘得更加形象与具体,三维立体图相对于二维剖面图更加形象具体,这为目标地质体的分析解释提供了更加有效的表现形式,为地球物理最终成果解释工作提供便利条件。

图9 江苏东海县桃林镇可控源实际材料图

图10 三维成果图

猜你喜欢
测线绘图网格化
“禾下乘凉图”绘图人
堤防工程质量评价方法及应用研究
农业农村部部署推进乡镇农产品质量安全网格化管理
地震勘探野外工作方法
城镇燃气管道网格化动态后果评估方法研究
大疆精灵4RTK参数设置对航测绘效率影响的分析
智慧社区视野下网格化社会服务客体研究
垂涎三尺
八一煤矿采空区测线断面成果图分析评价
河北发力网格化监管信息化