路婧
摘 要 在地震資料處理中,SEGY數(shù)據(jù)格式是最常用的數(shù)據(jù)格式,作者通過編程在計算機上實現(xiàn)了SEGY格式與文本文件格式的互相轉(zhuǎn)換,為后續(xù)的地震數(shù)據(jù)分析提供基礎(chǔ)。文中對該原理與程序的有關(guān)技術(shù)問題和應用情況作了分析和闡述。
關(guān)鍵詞 地震數(shù)據(jù) 格式轉(zhuǎn)換 SEGY格式
中圖分類號:P631.44 文獻標識碼:A
0引言
在石油地震勘探中,采集的數(shù)據(jù)常使用SEGY格式存儲,該格式使用二進制存儲,只能通過些商業(yè)軟件圖形化表現(xiàn)出來。為了將SEGY中所包含的信息,如幅值,相位值等,更加清晰的展現(xiàn)在我們面前,需要將其轉(zhuǎn)換為一種可以編輯的文本格式,在這里選用文本格式,方便后續(xù)處理與分析。為了滿足兩種格式數(shù)據(jù)之間的轉(zhuǎn)換,必須清楚兩種存儲格式的存儲結(jié)構(gòu),編程實現(xiàn)SEGY文件和文本(DAT)文件之間的互相轉(zhuǎn)換。
1數(shù)據(jù)格式分析說明
1.1 SEGY文件流結(jié)構(gòu)介紹
SEGY格式由勘探地球物理學協(xié)會(Society of Exploration Geophysics, SEG)制定,是地震勘探中最常用的數(shù)據(jù)格式,廣泛應用于石油勘探工業(yè)界。該文件格式后綴為sgy或segy,數(shù)據(jù)采用二進制存儲,屬于典型的流形式文件,其數(shù)據(jù)按照字節(jié)順序挨個存放,每個字節(jié)有其特定的含義。
SEGY格式可分為標準SEGY與非標準SEGY。標準SEGY總型式為:卷頭,道記錄塊1,……,道記錄塊n。非標準SEGY的型式無卷頭,其余不變。
可以看出,標準的SEGY記錄由卷頭與道記錄塊組成。卷頭部分包括ASCII區(qū)(3200字節(jié))以及二進制數(shù)區(qū)(400字節(jié))。道記錄塊部分包含道頭字區(qū)(240字節(jié))與數(shù)據(jù)段區(qū)(4字節(jié)*采樣點數(shù))。這部分通常包括記錄采樣點數(shù)、采樣間隔、CDP號、XLine號、Line號以及坐標等信息。
1.2 文本文件(DAT)格式介紹
DAT文件屬于ASCII文件,其后綴為dat,又稱為文本文件或字符文件,它的每個字節(jié)放一個ASCII代碼,代表一個字符。這種文本是純文本,沒有數(shù)據(jù)屬性結(jié)構(gòu)方面的信息,可以用記事本、UltraEdit等文本工具打開。
2數(shù)據(jù)格式轉(zhuǎn)換的程序?qū)崿F(xiàn)
2.1轉(zhuǎn)換原理
(1)SEGY向DAT轉(zhuǎn)換時,在輸入時,選擇要轉(zhuǎn)換的SEGY文件,并且輸入道間距和首道坐標,從SEGY文件中可以讀出記錄的采樣率與采樣點數(shù)。在輸出時,得到的DAT文件內(nèi)有三列數(shù),分別為坐標x,時間值t,幅值A(chǔ)。幅值A(chǔ)是從SEGY文件中讀到的數(shù)據(jù)。坐標x與時間值t的求取公式為:x=x0+i*d (i=1,2,…,n),其中x0為首道坐標,d為道間距,n為總道數(shù)。t=j*f (j=1,2,….,p),其中f為采樣率,p為采樣點數(shù)。
(2)DAT向SEGY轉(zhuǎn)換時,在輸入時,選擇要轉(zhuǎn)換的DAT文件,并且輸入道間距和采樣率。輸入的DAT文件為三列數(shù),分別為道號x、時間t或深度值h、幅值A(chǔ)。輸出文件即為以SEGY格式存儲的關(guān)于幅值的文件。
2.2程序?qū)崿F(xiàn)
程序使用C++語言進行算法的實現(xiàn),配合使用圖形用戶界面應用程序開發(fā)框架Qt,實現(xiàn)了程序的界面化??梢詫崿F(xiàn)以下兩種功能,(1)SEGY文件轉(zhuǎn)換為DAT文件。(2)DAT文件轉(zhuǎn)換為SEGY文件。
3應用實例
為了測試程序的正確性,通過數(shù)據(jù)文件來測試程序的正確性。
SEGY向DAT進行轉(zhuǎn)換時,如圖1左圖為一SEGY格式地面地震記錄,填寫道間距與首道坐標后,輸出結(jié)果,并配有進度條提示運行進度。得到的DAT文件(圖1右)用UltraEdit打開后,為三列數(shù),分別為坐標x,時間值t,幅值A(chǔ)。后續(xù)可以對輸出的幅值進行分析,例如針對某一時窗內(nèi)的數(shù)據(jù)進行最大值、最小值、平均值以及均方根值的統(tǒng)計等。
圖1:SEGY轉(zhuǎn)DAT轉(zhuǎn)換 圖2:DAT轉(zhuǎn)SEGY轉(zhuǎn)換
前后圖 前后圖
DAT向SEGY進行轉(zhuǎn)換時,輸入的DAT文件為三列數(shù)(如圖2左),分別為道號x、時間t或深度值h、幅值A(chǔ)。圖中所示的數(shù)據(jù)來說,t或h值并不是等間距分布的,這樣的數(shù)據(jù)用SEGY文件格式存儲時會出現(xiàn)錯誤。因此需要輸入道間距和采樣率對其進行等間距的重新插值,同時,對幅值也進行重新插值,具體插值方法為根據(jù)空缺處前后的數(shù)值求平均值。最后將插值完的結(jié)果輸出為SEGY格式。從而得到一個以SEGY格式存儲的屬性值的剖面。
4結(jié)論
綜上所述,編程實現(xiàn)了SEGY和文本文件兩種存儲格式之間的互相轉(zhuǎn)換,可以快速的從SEGY文件中獲取需要的信息,從而為后續(xù)的數(shù)據(jù)分析提供依據(jù)。
參考文獻
[1] 李慶忠.走向精確的勘探道路[M].北京:石油工業(yè)出版社出版,1993.
[2] 陸基孟.地震勘探原理[M].山東:中國石油大學出版社,1993.
[3] Stanley B.Lippman.C++ Primer中文版[M].北京:人民郵電出版社,2006.