本站小編為你精心準備了微測井數據處理軟件開發參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1軟件開發
軟件設計流程如圖2所示,主要包括三大模塊:數據輸入、處理、微測井解釋輸出。程序主要類與函數介紹如表1所示。各模塊具體功能實現與編制方法介紹如下文所述。軟件數據輸入模塊包括地震數據加載、初至時間拾取和微測井參數輸入。地震數據格式按照國際公認的SEG-Y格式數據進行讀寫,讀取的主要數據包括采樣間隔(3217~3218字節,單位μs)、采樣點數(3221~3222字節)和實際地震道數據。Qt提供一個QDataStream類用來儲存地震倒數,需要對地震道數據進行處理時,只需從QDataStream類中讀取所需處理數據所在位到數據結束位位置。對初至時間的拾取通過用戶觸發鼠標點擊事件mousePressEvent()和mouseReleaseEvent(),判斷鼠標所在坐標位置,對應的縱軸刻度即為單道初至時間。微測井參數輸入通過彈出用戶對話框,由用戶輸入參數值,點擊確定完成參數設置,對應的信號與槽函數關系為發送者(Sender)為okBtn,信號函數(Signal)為clicked(),接收者(Receiver)為參數對話框weicejingDlg,槽函數(Slot)為okSlot()。在okSlot()函數中將參數值按照程序需要調整為int型或float型變量。數據處理模塊的主要功能是完成微測井解釋結果計算以及對地震數據可視化進行運算。微測井解釋函數WeicejingSlot()中按照(4)式調用初至時間數組mTime[i],對應的道深度按照用戶輸入的首道深度減去i獲得,通過循環運算將計算結果保存至mVelocity[i]數組中來完成。
微測井解釋輸出模塊的主要用于顯示微測井解釋結果。包括與用戶交互的地層劃分窗口和微測井解釋窗口。每一個地震道對應一個初至時間值和深度值,將此坐標點繪制在直角坐標系中,通過用戶擬合坐標點拉線段完成。常用的擬合算法由很多種,各有優缺點,人工拉線擬合雖然沒有算法計算精確,但它的優勢在于可以通過人工判斷排除異常點,避免異常點參與運算、增大誤差。微測井解釋窗口結果主要繪制在十字坐標的三、四象限,縱軸為深度坐標,左橫軸為地層速度坐標,右橫軸為初至時間坐標。首先要確定象限范圍,通過循環比較找出深度、速度和初至時間最大值,選定最大值所在像素點位置,剩余刻度按照均分進行填充。用戶擬合線段具有可以是直線也可以是直線段,直線表示地下地層速度一直,直線段表示地下由多個速度層組成。直線的斜率即為該層速度值,線段拐點對應深度為地層分界面。
程序各窗口設計通過Qt設計師完成,Qt具有強大的界面設計功能,為開發者提供各種界面控件,開發人員只需通過拖選控件至所需位置即可完成,這種設計方法比早先完全有程序員編寫控件屬性代碼完成界面設計更加方便、美觀。控件的功能實現即通過信號與槽機制完成人機交互。所有窗口的繪制通過Qt提供的QPaint類完成,QPaint類通過程序員書寫繪制指令完成界面像素點之間的連線,語句簡單、結構清晰、效果良好,滿足多種圖形繪制[7]。
2應用實例
為了驗證軟件的各項功能,在野外對軟件進行實際試驗。采用敲擊錘激發地震波,井下檢波器采集地震數據,采集道數為28道,首道深度為0m,道間距1m,激發點距接收井水平距離為10m。實驗采用地表激發、井中接收的方式,降低環境造成的干擾,信噪比高,初至明顯,地震數據及初至拾取如圖3所示,用戶手動拾取初至為圖中紅色線段所示,比自動拾取更加準確、靈活。微測井參數設置如圖4所示。將拾取初至時間與檢波器深度繪制在時間-深度坐標系中,通過用戶手動選取同一速度層擬合直線(如圖5所示)。微測井解釋結果如圖6所示,實驗工區地表第一層厚度為16m,速度為1303,第二層速度為2115,結算結果準確,達到預期目的。
3結論
微測井是表層結構調查的主要手段之一。基于Qt的微測井數據處理軟件可以跨平臺編譯,擴展性強等優點滿足物探軟件高效、精確、便捷、支持多平臺運行的要求。軟件計算快速、準確,界面友好,操作簡單,運行穩定,對于減少生產工期、提高勘探精度、降低生產成本都有一定的改善。
作者:強南 曹軍濤 楊杰 唐子涵 單位:西安石油大學地球科學與工程學院 中國石油塔里木油田勘探開發研究院