李向?qū)?,朱懷亮,王申屾,羅 麗,趙 侃
(天津地?zé)峥辈殚_發(fā)設(shè)計院,天津 300250)
目前地球物理成果主要以二維圖形的方式展示,也有一些三維反演方法的研究,但目前還處于理論階段,還沒有廣泛應(yīng)用于實際工作中。為了能夠?qū)崿F(xiàn)地球物理成果的三維可視化,筆者研發(fā)團隊在測試了一些三維繪圖軟件后,發(fā)現(xiàn)由美國Tecplot公司推出的Tecplot系列軟件,具有功能強大的數(shù)據(jù)分析和可視化處理能力,而且該軟件界面友好操作簡單。Tecplot系列軟件具有強大的繪圖功能,可以繪制多種形式圖形,包括曲線圖、二維平面圖及三維立體圖。經(jīng)過對該軟件的繪圖原理、繪圖所需文件數(shù)據(jù)格式的詳細分析與研究后,充分掌握了該軟件繪圖所需的數(shù)據(jù)文件格式。為了能快速高效的進行數(shù)據(jù)文件格式轉(zhuǎn)換,筆者研發(fā)團隊利用C++編程語言和Surfer automation技術(shù)結(jié)合Surfer軟件,編寫了專門用于數(shù)據(jù)提取和三維網(wǎng)格文件生成的程序。
筆者研發(fā)團隊參考了國內(nèi)大量相關(guān)文獻[1-4],并首次將Tecplot系列軟件應(yīng)用于地球物理領(lǐng)域,最后以內(nèi)蒙古自治區(qū)烏拉特前旗白彥花地區(qū)和江蘇東??h桃林鎮(zhèn)兩個項目的可控源音頻大地電磁測深數(shù)據(jù)為例,來展示本次三維可視化研究成果。
三維可視化是用于顯示和描述空間現(xiàn)象特征的一種工具,是現(xiàn)實世界在計算機內(nèi)的三維顯示,實現(xiàn)三維可視化有助于人們對抽象事物的理解。
本次實現(xiàn)地球物理成果的三維可視化主要從以下兩個方面出發(fā):
1)三維可視化的數(shù)據(jù)準備。
2)利用Tecplot軟件進行繪圖并對其進行相應(yīng)操作,如制作三維圖、切片圖、動畫等。
數(shù)據(jù)是三維可視化的基礎(chǔ),數(shù)據(jù)的質(zhì)量和數(shù)量決定了三維圖的質(zhì)量。理論上說,數(shù)據(jù)量越大繪制的三維圖會更加細膩。地球物理原始采集數(shù)據(jù)經(jīng)過一系列處理后形成最終解釋成果數(shù)據(jù)。以電磁法為例,野外一般以剖面的形式進行測量,處理數(shù)據(jù)一般以剖面為一個單位進行,每條剖面形成一個二維空間的三維數(shù)據(jù)體模型,由圖1可見,圖上的節(jié)點是剖面上離散點經(jīng)差值后獲得。而整個工作區(qū)是由多條剖面組成的,這樣就形成了多組二維數(shù)據(jù)模型,將工作區(qū)內(nèi)的所有二維數(shù)據(jù)模型中的離散點再進行網(wǎng)格化處理,就形成了一個三維空間的四維數(shù)據(jù)體模型(圖2)。
Tecplot軟件使用的數(shù)據(jù)類型包括有序數(shù)據(jù)和有限元數(shù)據(jù)。本次使用的是有序數(shù)據(jù)類型,數(shù)據(jù)文件格式見圖3。數(shù)據(jù)的前三行分別是標題行、變量名稱、三維數(shù)組的點數(shù),第四行起是數(shù)據(jù)內(nèi)容,四列數(shù)據(jù)分別是X坐標、Y坐標、Z坐標和變量值。
圖1 二維數(shù)據(jù)模型
圖3 繪制三維圖數(shù)據(jù)格式
由于網(wǎng)格化后的數(shù)據(jù)量會增大數(shù)倍,因此,這里利用C++編制程序進行數(shù)據(jù)的提取與合并,并使用Surfer軟件的網(wǎng)格化功能,對空間離散點進行網(wǎng)格化。本次實現(xiàn)的是對GDP32Ⅱ可控源音頻大地電磁測深的反演文件數(shù)據(jù)提取的程序,對于其他地球物理方法,可以分別編制相應(yīng)的數(shù)據(jù)提取程序。程序的總體思路:利用VC++編程軟件建立基于對話框的應(yīng)用程序,然后編寫批量處理程序用于提取多條剖面文件中的同一深度的X、Y、Z坐標、視電阻率的數(shù)據(jù)。對每個同深度的X、Y、Z坐標、視電阻率分別進行網(wǎng)格化,最后把所有同深度的網(wǎng)格文件合并為一個四維的數(shù)據(jù)文件“dat”,用于Tecplot軟件的三維圖繪制,程序界面見圖4右側(cè)三維文件制作程序欄。為了便于讀者理解,下面給出程序的部分源代碼。
圖4 程序界面圖
首先利用VC++的ClassWizard工具導(dǎo)入Surfer提供的封裝了COleDispatchDriver類方法的類庫。然后在OnInitDialog函數(shù)中添加初始化SurferActiveX服務(wù)器的代碼。m_surfer.CreateDispatch("Surfer.Application");//啟動Surfer進程。
m_surfer.Set-Visible(TRUE);//顯示Surfer窗口[5-9]。
下面給出調(diào)用Surfer軟件網(wǎng)格化的方法。
首先在頭文件中定義Surfer導(dǎo)入的類IApplication 的對象m_surfer,然后在函數(shù)內(nèi)定義變量VARIANT vDefaultArg。
vDefaultArg.vt = VT_ERROR; //變量默認值
vDefaultArg.scode=DISP_E_PARAMNOT-FOUND;
COleVariant vtXCol(1L); // 網(wǎng)格化文件的第一列為X。
COleVariant vtYCol(2L); // 網(wǎng)格化文件的第二列為Y。
COleVariant vtZCol(4L); // 網(wǎng)格化文件的第四列為Z。
COleVariant vtShowReport((long)FALSE, VT_I4); // 不顯示網(wǎng)格化結(jié)果報告。
網(wǎng)格化函數(shù)GridData參數(shù)如下:
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號參數(shù)是輸出的文件名,4L,51號參數(shù)是輸出的文件格式,"4L"是文本格式。共57個參數(shù)。
通過編程可以快速完成數(shù)據(jù)的提取以及網(wǎng)格化,并形成最終Tecplot軟件繪圖的文件格式,為三維可視化做好充足的數(shù)據(jù)準備。
在完成數(shù)據(jù)準備后,會形成一個后綴名為“dat”的文件,通過Tecplot軟件即可完成三維可視化,其方法如下:
從“File”菜單中選擇“Load Data”子菜單,在彈出的文件打開對話框中瀏覽到已經(jīng)生成的后綴為“dat”的文件,數(shù)據(jù)加載后通過軟件左側(cè)的功能窗口完成相應(yīng)的操作,如Contour是繪制等值線,Slices是制作不同方向切片,軟件界面見圖5。
內(nèi)蒙古白彥花可控源項目工作區(qū)位于內(nèi)蒙古自治區(qū)巴彥淖爾市烏拉特前旗東部,東臨包頭市,西距烏拉特前旗烏拉山鎮(zhèn)約50 km,距巴彥淖爾市臨河區(qū)約180 km,東距包頭市昆都侖區(qū)市約50 km。此次可控源音頻大地電磁測深工作,共布設(shè)點距200 m、線距4 km的測線6條,測線總長度59.6 km,完成測點數(shù)共計304個,詳細測線信息見圖6。
經(jīng)過對6條測線數(shù)據(jù)的反演,提取反演結(jié)果進行三維數(shù)據(jù)的網(wǎng)格化,最終利用Tecplot軟件繪制了三維立體圖(圖7)。在圖7中可以清晰地劃分地質(zhì)界線和地層界線,給解釋工作帶來便利,使解釋成果更加清晰易懂。通過對三維立體圖的不同方向切片來進一步分析地質(zhì)構(gòu)造,圖8是其東西方向切片,利用圖8可清晰地劃分地質(zhì)界線和分析構(gòu)造特征等操作。
江蘇東??h桃林鎮(zhèn)可控源工作區(qū)位于秦嶺—大別造山褶皺系的東延部分,郯廬斷裂帶東側(cè),蘇魯造山帶南緣超高壓變質(zhì)帶上。區(qū)內(nèi)基底地層為古元古界的東海群變質(zhì)巖系,蓋層主要有分布于郯廬斷裂帶斷陷盆地內(nèi)的中生代上白堊統(tǒng)王氏組(K2w)、下白堊統(tǒng)青山組(K2q)等。巖漿巖多為燕山晚期中酸性侵入巖,主要有花崗巖、花崗斑巖及閃長巖、石英閃長巖等。
此次可控源音頻大地電磁測深工作,共布設(shè)測線9條,測線總長度15.75 km,完成測點數(shù)共計280個,詳細測線信息及地質(zhì)情況見圖9。通過繪制三維立體圖(圖10),清晰可見桃林巖體的地質(zhì)界線、巖體的厚度、地層的分布情況等。
1)本次地球物理三維可視化的實現(xiàn),主要是基于Tecplot軟件繪圖平臺與Surfer軟件數(shù)據(jù)網(wǎng)格化平臺,采用C++語言編寫程序提取數(shù)據(jù),形成三維繪圖數(shù)據(jù)文件,最終實現(xiàn)了地球物理勘探數(shù)據(jù)的三維可視化。
圖5 Tecplot軟件界面圖
圖6 內(nèi)蒙古白彥花地區(qū)可控源音頻大地電磁測深實際材料圖
圖7 三維成果圖
2)通過對內(nèi)蒙古白彥花和江蘇東??h桃林鎮(zhèn)兩個項目的數(shù)據(jù)三維可視化表現(xiàn)效果來看,無論是對地質(zhì)界線的把握,還是地層界線的劃分,都更加清晰明了;而且通過制作切片圖,可以進一步分析地質(zhì)構(gòu)造特征等。
圖8 東西向切片圖
3)利用本方法實現(xiàn)的地球物理數(shù)據(jù)三維可視化,可以把地球物性特征的空間分布描繪得更加形象與具體,三維立體圖相對于二維剖面圖更加形象具體,這為目標地質(zhì)體的分析解釋提供了更加有效的表現(xiàn)形式,為地球物理最終成果解釋工作提供便利條件。
圖9 江蘇東??h桃林鎮(zhèn)可控源實際材料圖
圖10 三維成果圖