GeoReveal(極睿)解釋平臺集成開發(fā)技術(shù)

摘 要

GeoReveal解釋平臺解決了川慶鉆探工程有限公司測井公司多年來研究成果的軟件化和集成化問題,能以較低的成本和用戶使用風(fēng)險、在較短的時間內(nèi)完成測井解釋專業(yè)軟件平臺的集成開發(fā)工作。

摘要:集成開發(fā)技術(shù)是當(dāng)前軟件工程領(lǐng)域的一個熱點。為了適應(yīng)測井現(xiàn)場及解釋基地的需要,川慶鉆探工程有限公司測井公司通過多年的軟件集成研發(fā)技術(shù)的探索,開發(fā)了一套從4 mm磁帶讀寫、數(shù)據(jù)格式解編、數(shù)據(jù)預(yù)處理、專業(yè)解釋處理、測井綜合分析到測井圖形輸出等一系列功能齊全的測井資料處理解釋軟件包——GeoReveal(極睿)解釋平臺2010?,F(xiàn)場應(yīng)用效果表明:該平臺在系統(tǒng)數(shù)據(jù)管理上較好地解決了常見格式測井?dāng)?shù)據(jù)向解釋平臺的轉(zhuǎn)換和存儲問題;在專業(yè)分析方面,以簡單直觀的流程鏈操作方式,實現(xiàn)了測井解釋工作的完全屏幕化和電算化;在系統(tǒng)圖形繪制能力方面,以面向?qū)ο鬄榛A(chǔ)的測井資料復(fù)合型文檔新概念,實現(xiàn)了各類測井處理成果同通用辦公軟件的無縫對接,統(tǒng)一、規(guī)范了測井解釋圖件。GeoReveal解釋平臺解決了川慶鉆探工程有限公司測井公司多年來研究成果的軟件化和集成化問題,能以較低的成本和用戶使用風(fēng)險、在較短的時間內(nèi)完成測井解釋專業(yè)軟件平臺的集成開發(fā)工作。
  關(guān)鍵詞:測井;資料解釋;集成開發(fā)技術(shù);GeoReveal解釋平臺;軟件;管理
  軟件集成開發(fā)是一項實實在在的技術(shù)[1],當(dāng)今微軟的Windows操作系統(tǒng)、Office辦公系統(tǒng)能在個人計算機(jī)上占據(jù)主導(dǎo)地位,軟件集成開發(fā)是其做得最優(yōu)秀的技術(shù)之一。為了適應(yīng)測井現(xiàn)場及解釋基地的需要,川慶鉆探工程有限公司測井公司通過多年的軟件集成研發(fā)技術(shù)的探索,開發(fā)了一套從4mm磁帶讀寫、數(shù)據(jù)格式解編、數(shù)據(jù)預(yù)處理、專業(yè)解釋處理、測井綜合分析到測井圖形輸出等一系列功能齊全的測井資料處理解釋軟件包——GeoReveal(極睿)解釋平臺2010。
  1 平臺集成管理技術(shù)
  LogShell為GeoReveal解釋平臺的集成管理軟件,由井資源管理、解釋服務(wù)管理和網(wǎng)絡(luò)數(shù)據(jù)傳輸3大功能模塊構(gòu)成。具體完成4 mm磁帶讀寫、測井?dāng)?shù)據(jù)格式轉(zhuǎn)換、平臺內(nèi)部數(shù)據(jù)管理、數(shù)字處理方法快速啟動、圖形分析模板及成果文檔管理、平臺用戶間數(shù)據(jù)傳輸?shù)戎饕ぷ?。如圖1所示,在用戶界面上可以清晰地分兩大區(qū)域,共13個屬性夾方式的層疊窗口,上部為資源管理,下部為解釋服務(wù)管理;常駐內(nèi)存的NetShell完成用戶間在局域網(wǎng)內(nèi)點對點的通訊和井資源傳輸,實現(xiàn)平臺用戶間的網(wǎng)絡(luò)數(shù)據(jù)共享。
  1.1 井資源管理
  在圖1中,集成管理軟件界面上半部分4個窗口完成用戶工區(qū)管理、單井管理、測井項目管理和普通文件管理等工作。在井資源管理模塊中實現(xiàn)單井、測井項目、測井曲線的快速拷貝、復(fù)制、粘貼功能,用戶可以方便地實現(xiàn)測井項目的合并及預(yù)處理前的數(shù)據(jù)備份。
  1.1.1 用戶工區(qū)管理
  在集成管理軟件左上部“工區(qū)地圖”層疊窗口中,以表單形式顯示出用戶工區(qū)中所有單井資源。利用鼠標(biāo)右鍵,彈出菜單來啟動單井資源的各項管理功能。
  1.1.2 單井資源管理
  在“工區(qū)地圖”中設(shè)置當(dāng)前工作的目標(biāo)井后,集成管理軟件右上角會以目錄樹的形式顯示出目標(biāo)井中所有的測井項目。
  “目標(biāo)井資源”窗口完成該井中所有測井項目的管理,也是“測井曲線”及“成果文檔”窗口的導(dǎo)航目錄樹。在該窗口中,利用鼠標(biāo)選中某一測井項目后,單擊鼠標(biāo)右鍵,彈出菜單啟動單項目或多項目的各項處理功能。
  “測井曲線”窗口完成某一測井項目中所有測井曲線的屬性查詢及各項處理功能。在該窗口中,利用鼠標(biāo)選中曲線后,右鍵彈出菜單來啟動單曲線或多曲線的各項處理功能。
  1.2 解釋服務(wù)管理
  在平臺擴(kuò)展開發(fā)技術(shù)支撐下,目前完成了7個方面共80個模塊的軟件集成研發(fā)工作,均以解釋服務(wù)子項目的方式進(jìn)行管理,解釋服務(wù)子項目實現(xiàn)了專業(yè)處理方法與相關(guān)的圖形分析模板一并進(jìn)行分類管理。圖1底部為平臺中的全波處理服務(wù)子項,它包括了新建綜合繪圖、全波處理流程管理、全波信提取、井眼補(bǔ)償處理、環(huán)向異性分析、地層滲透率反演及相關(guān)質(zhì)量控制和圖形分析模板。
  解釋平臺完全注冊后,按測井解釋工作所面臨的主要任務(wù),缺省情況由8個解釋服務(wù)子項進(jìn)行管理,即數(shù)據(jù)In/Out、常規(guī)數(shù)據(jù)預(yù)處理、常規(guī)數(shù)據(jù)分析、裸眼井儲層評價、工程測井評價、成像資料處理、全波資料處理、輔助工具。用戶可根據(jù)需要來增減或修改服務(wù)子項,例如:作一個區(qū)塊評價項目時,用戶可以將擴(kuò)展開發(fā)的適應(yīng)這個區(qū)塊的專用處理程序和新的一些圖形分析或數(shù)據(jù)交會分析模板一起新建一個解釋服務(wù)子項,這樣用戶就可以方便地在該服務(wù)子項中完成近期的解釋評價工作。
  2 平臺擴(kuò)展開發(fā)技術(shù)
  平臺擴(kuò)展開發(fā)技術(shù)是整個軟件工程中最關(guān)鍵的部分,它不但決定項目的研發(fā)進(jìn)度,而且關(guān)系軟件平臺的穩(wěn)定性,同樣影響以后軟件平臺的推廣使用范圍。對C++開發(fā)人員比較成熟的是動態(tài)鏈接庫技術(shù)[2],它即可以讓項目研究人員減少重復(fù)工作、實現(xiàn)軟件成果共
  享,又能較好地解決技術(shù)保密的問題。
  2.1 C++用戶擴(kuò)展開發(fā)
  表1為用戶擴(kuò)展開發(fā)中常用函數(shù)庫,這5類函數(shù)庫都進(jìn)行了面向?qū)ο蠓庋b,可以較好地滿足各種層次開發(fā)人員的編程需要。表1中簡單地列出了單條曲線(常規(guī)、陣列)管理的基礎(chǔ)類CFIDi0和常規(guī)處理程序數(shù)據(jù)接口函數(shù)類Cl。ogProcess,以及用于測井繪圖和數(shù)據(jù)分析的函數(shù)類;C++程序開發(fā)人員可以按照Microsoft Visual Studio.net規(guī)則調(diào)用其中的類或函數(shù)來輕松完成用戶所需要的二次開發(fā)。
  2.2 Fortran用戶擴(kuò)展開發(fā)
  對較早的一些使用Fortran語言開發(fā)的成果,以及解釋平臺的主體用戶,提供可視化、簡潔獨(dú)立的Fortran語言開發(fā)工具是一個較完整的測井解釋平臺所必不可少的任務(wù)。
  LogFortran測井解釋處理程序開發(fā)環(huán)境,能將川慶測井公司原有DOS下開發(fā)的解釋處理程序直接編譯鏈接,生成Windows圖形環(huán)境下的執(zhí)行程序,主要包括以下幾方面。
  2.2.1 Fortran擴(kuò)展庫
  Fortran擴(kuò)展庫LogSys.lib主要是針對常規(guī)測井資料處理而開發(fā)的多曲線輸入、輸出、多參數(shù)輸入的一系列子程序包,又稱為Fortran程序數(shù)據(jù)接口。
  CONST:按照所處理的深度在緩沖區(qū)中讀取參數(shù)變量值。
  IN:按照程序所定義的輸入曲線情況將該深度點的數(shù)據(jù)讀入緩沖區(qū)中,并對應(yīng)匹配給程序的曲線變量。
  OUT:按照程序所定義的輸出曲線情況將該深度點的輸出曲線變量值寫入緩沖區(qū),并將緩沖區(qū)輸出塊數(shù)據(jù)寫回用戶區(qū)該井所在磁盤目錄中。
  2.2.2 LogFortran開發(fā)環(huán)境
  LogFortran是一個利用標(biāo)準(zhǔn)Fortran90編澤器將Fortran代碼編澤成目標(biāo)代碼后,自動鏈接所需要的測井處理圖形界面和Fortran擴(kuò)展庫LogSys.lib數(shù)據(jù)接口,形成能獨(dú)立運(yùn)行的測井解釋處理程序。
  2.2.3 新建解釋處理程序向?qū)?/div>
  LogFortran開發(fā)環(huán)境為用戶提供了新建程序向?qū)?,啟動新建子項后,開發(fā)人員可以在向?qū)У膸椭?,輕松地完成新建一測井處理程序的所有工作。
  3 平臺綜合繪圖技術(shù)
  平臺綜合繪圖軟件LogPlot繼承了國內(nèi)外主流測井處理系統(tǒng)的多井繪圖思路,以面向?qū)ο鬄榛A(chǔ),將各種測井資料、地質(zhì)資料、錄井資料、巖心分析資料等信息設(shè)計成圖形對象,分別定義對象的屬性及其相互間關(guān)系來完成圖形排列和制圖。用戶可以輕松地將各種資料(測井曲線、成果剖面、交會圖、頻譜圖、傾角成果圖、聲電成像圖、波形變密度圖、質(zhì)量控制圖……)任意組合形成復(fù)合型測井繪圖文檔。
  3.1 類的劃分和繼承
  一個多功能的繪圖軟件,就可以是一項龐大的工程,測井繪圖的研究較為成熟,但以前的繪圖軟件功能相對單一,針對不同目的都開發(fā)了各自獨(dú)立的軟件,這些圖件很難組合到一起,更不用說多井對比圖形的繪制。
  要解決這些問題,采用面向?qū)ο蟪绦蛟O(shè)計理念是最佳的選擇[3]。在圖2軟件主要類的劃分及繼承關(guān)系圖中,CDrawObj類是直接從CObject繼承而來的所有測井圖形類的基類,主要保存著圖形對象的繪圖區(qū)域(m_Rect)和當(dāng)前繪圖文檔的指針(*pDoc),完成光標(biāo)在屏幕上的滾動DoScroll(CScrollView*pView),保存、顯示當(dāng)前光標(biāo)所在位置等功能,它是測井繪圖軟件所有對象動態(tài)識別的入口。
  3.2 程序?qū)崿F(xiàn)方法
  LogPlot采用多文檔多視(MultiDocument-MultiView)框架,文檔類從OLE文檔類繼承而來(class CLogPlotDoc:public ColeDocument),支持對象嵌入。整個繪圖文檔采用3個對象鏈表類(CObList)來管理,圖頭對象管理類m_HeadList,與深度有關(guān)對象管理類m_TrackList,標(biāo)注對象管理類m_RemObjList。鏈表類支持動態(tài)空間分配,用戶可以根據(jù)自己的需要來任意組合復(fù)雜的圖件。
  繪圖設(shè)備的映射模式采用MM_ANISOTROPIC模式,SetMapMode函數(shù)可以輕松地實現(xiàn)圖件的靈活縮放功能。
  3.2.1 屏幕上圖形平滑過渡
  為實現(xiàn)屏幕圖形的平滑滾動及對象操作時圖形的平滑過渡,LogPlot采用了雙設(shè)備描述表,在內(nèi)存中定義一個與顯示設(shè)備完全兼容的設(shè)備描述表m_MemDC,實現(xiàn)用戶的所有操作,再利用CDC類的BitBlt功能將剪裁框內(nèi)的圖像拷貝到顯示設(shè)備上。
  3.2.2 保存為超長位圖文件
  生成測井行業(yè)的超長圖形文件,按通常的方法很難實現(xiàn)。LogPlot采用了將繪圖設(shè)備中的內(nèi)容分塊讀出,然后按位圖文件格式寫入磁盤文件,這樣既可以解決超長位圖的問題,又可以靈活改變圖形的灰度,減少文件大小。如單色、16色、16位色、24位色等位圖文件。
  3.2.3 形成Unix系統(tǒng)下的光柵文件
  Unix系統(tǒng)下的光柵文件可以利用系統(tǒng)的CAT命令在GS612、XEROX等繪圖儀上輸出,Unix系統(tǒng)下的光柵文件它實際上是單色圖形點陣,一字節(jié)對應(yīng)繪出8個點,1代表著色,0代表不著色,LogPlot是在磁盤上形成單色位圖文件后,將位圖文件里位圖點陣區(qū)的數(shù)據(jù)讀出,對二進(jìn)制數(shù)據(jù)的每位取反(“~”操作),寫入光柵文件。
  4 平臺應(yīng)用情況
  目前該軟件平臺正擔(dān)負(fù)著川慶鉆探工程有限公司測井公司內(nèi)外部市場主要測井解釋處理任務(wù),為測井解釋技術(shù)成果集成提供了有形化的平臺。在川慶鉆探工程有限公司地質(zhì)研究院、中國石油西南油氣田公司等10家二級單位相關(guān)專業(yè)人員的近百臺計算機(jī)上廣泛使用,取得了較好的應(yīng)用效果。平臺的全面推廣使用,最大限度地提高了測井解釋人員的工作效率和工作質(zhì)量,并為多專業(yè)中間技術(shù)成果共享提供很好的技術(shù)支撐。
  5 結(jié)束語
  集成開發(fā)技術(shù)使GeoReveal(極睿)解釋平臺具有較好的穩(wěn)定性和擴(kuò)展性。在系統(tǒng)數(shù)據(jù)管理能力方面,較好地解決了常見格式的測井?dāng)?shù)據(jù)向解釋平臺的轉(zhuǎn)換和存儲;在專業(yè)分析能力方面,簡單直觀的流程鏈操作方式,實現(xiàn)了測井解釋工作的完全屏幕化和電算化,極大地減少了測井解釋人員日常繁瑣的事務(wù);在系統(tǒng)圖形繪制能力方面,以面向?qū)ο鬄榛A(chǔ)的測井資料復(fù)合型文檔新概念,實現(xiàn)了各類測井處理成果同通用辦公軟件的無縫對接,統(tǒng)一規(guī)范的測井解釋圖件,最大限度地提高了測井解釋人員的工作效率和工作質(zhì)量。
  參考文獻(xiàn)
  [1] 胡廣書.數(shù)字信號處理——理論、算法與實現(xiàn)[M].北京:清華大學(xué)出版社,1999.
  [2] 官章全,劉加明.Visual C++ 6.0類庫大全[M].北京:電子工業(yè)出版社,1999.
  [3] 蘭蕓.Visual C++ 6.0編程實例精解[M].北京:北京希望電子出版社.2000.
  (本文作者:趙中明 齊寶權(quán) 張樹東 川慶鉆探工程有限公司測井公司)