亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Forward平臺底層WellBase的應(yīng)用程序開發(fā)

        2013-01-01 00:00:00張福明王金茂
        計算機時代 2013年4期

        摘 要: Forward是目前各油田廣泛應(yīng)用的勘探開發(fā)一體化測井評價商業(yè)軟件,其底層平臺開發(fā)工具包WellBase SDK更是為用戶進行應(yīng)用軟件開發(fā)提供了統(tǒng)一的數(shù)據(jù)格式WIS、各種接口函數(shù)類庫和開發(fā)工具。在對該平臺底層簡介基礎(chǔ)上,主要介紹了基于WellBase的應(yīng)用程序開發(fā)基本方法,并重點通過Visual C++環(huán)境下的開發(fā)實例說明了開發(fā)環(huán)境的設(shè)置、WIS數(shù)據(jù)和接口函數(shù)的調(diào)用等。結(jié)果表明利用該底層進行專業(yè)工具和應(yīng)用軟件開發(fā)具有高效、方便的特點,值得推廣和應(yīng)用。

        關(guān)鍵詞: Forward; 開發(fā)工具包; 測井; 應(yīng)用程序

        中圖分類法:TP311.52 文獻標志碼:B 文章編號:1006-8228(2013)04-15-03

        Application development based on Forward Wellbase SDK

        Zhang Fuming1, Wang Jinmao1,2

        (1. School of Geosciences, China University of Petroleum, Qingdao, Shandong 266580, China; 2. Shengli Well Logging Co. Sinopec)

        Abstract: FORWARD is a commercial software for oil-gas well logging evaluation used by many oilfields. Its WellBase SDK (Software Development Kit) provides users with uniform data format WIS, application program interface functions and developing tools. Starting from a brief introduction of Wellbase SDK, the methods of application program development based on WIS and SDK under Visual C++ environment are discussed, and an application example is given for demonstration. The result shows that it can develop application programs efficiently and conveniently.

        Key words: Forward; software development kit; well-logging; application program

        0 引言

        Forward(Formation OilGas Reservoir Well-logging Analysis Research Development)是北京石大油軟技術(shù)有限公司開發(fā)的我國第一套商業(yè)化功能比較齊全的石油測井評價軟件。目前是我國許多油田測井評價的最常用軟件平臺,在測井數(shù)據(jù)管理、測井解釋和各種成果圖件輸出等方面為用戶提供了極大的方便。但任何軟件平臺都不可能完全滿足用戶的各種需求,提供相應(yīng)的開發(fā)工具包,使用戶能進一步擴充和開發(fā)以實現(xiàn)各種定制功能已是目前軟件發(fā)行的重要趨勢,F(xiàn)orward的WellBase SDK即是這樣一個高效的測井解釋程序開發(fā)工具包[1]。

        用戶使用WellBase SDK開發(fā)工具包在Forward平臺上能方便地外掛各種分析應(yīng)用程序,可以充分利用Forward系統(tǒng)的圖形顯示、消息響應(yīng)機制等良好功能。但外掛程序也有某些開發(fā)局限,如只能在Forward平臺上使用,輸人輸出格式固定等[2],有時難以滿足用戶的各種需求。WellBase SDK提供了多個接口函數(shù)類庫,如果能在軟件開發(fā)中直接應(yīng)用這些庫,則將大大簡化用戶的軟件編程,提高開發(fā)效率。本文重點介紹如何利用Forward開發(fā)工具包和底層數(shù)據(jù)接口函數(shù)類庫開發(fā)用戶自己的應(yīng)用程序。

        1 Forward開發(fā)工具包WellBase SDK簡介

        Forward測井解釋平臺底層WellBase作為構(gòu)成Forward、Watch等測井解釋評價系統(tǒng)的底層,具有測井數(shù)據(jù)輸入、測井資料預(yù)處理、測井資料基本處理、測井解釋成果輸出等功能,為軟件開發(fā)人員提供了一個在統(tǒng)一的平臺底層上開發(fā)各種測井解釋工具軟件的廣闊空間,對于勘探、開發(fā)一體化數(shù)據(jù)處理具有明顯的優(yōu)勢,其主要由平臺數(shù)據(jù)底層和平臺工具兩部分組成。

        1.1 WellBase平臺數(shù)據(jù)底層

        WellBase采用根據(jù)我國勘探開發(fā)測井數(shù)據(jù)的特點設(shè)計的WIS格式。數(shù)據(jù)底層為程序開發(fā)人員提供了大量的輸入輸出接口函數(shù)。

        WIS文件能存放三種類型的對象,根據(jù)對象的類型分為通道對象、表對象和流對象。通道對象一般用來存放采集數(shù)據(jù)和處理結(jié)果(如測井曲線),表對象用來存放二維表數(shù)據(jù)(如解釋結(jié)論),流對象用來存放二進制數(shù)據(jù)塊(如解釋參數(shù)、用戶數(shù)據(jù))。利用WIS格式可記錄和存儲各種類型的測井數(shù)據(jù),如深度連續(xù)的常規(guī)測井曲線,深度不連續(xù)的點測井斜曲線,深度連續(xù)、時間連續(xù)、時間范圍相同的波形數(shù)據(jù),深度離散、時間連續(xù)、時間范圍不定的地層測試數(shù)據(jù)等??偠灾蓪⒛壳耙延械臏y井數(shù)據(jù)和將來可能出現(xiàn)的各種測井數(shù)據(jù),甚至處理參數(shù)卡等數(shù)據(jù)利用一個數(shù)據(jù)文件采用WIS格式保存起來,以便于數(shù)據(jù)管理和調(diào)用。

        1.2 WellBase的平臺工具

        為滿足用戶對WIS測井數(shù)據(jù)處理的需要,WellBase提供了豐富的數(shù)據(jù)輸入、輸出、預(yù)處理和應(yīng)用開發(fā)工具,這些工具按其功能可分為數(shù)據(jù)管理、數(shù)據(jù)預(yù)處理、成果輸出和應(yīng)用工具四部分。WellBase具有多種先進的平臺特性,包括面向?qū)ο蟛僮?、?shù)據(jù)一致性、參數(shù)可視編輯、分層精細解釋、支持繪圖模板等[3],建立在WellBase之上的測井處理程序無需額外的編程便可自動具備這些特性。

        為便于用戶快速開發(fā)測井處理程序,WellBase的軟件開發(fā)工具包SDK提供了大量的Fortran和C++輸入輸出接口函數(shù),并分類進行了面向?qū)ο蠓庋b。

        2 基于WellBase的應(yīng)用程序開發(fā)基本方法

        2.1 WellBase提供的用戶程序開發(fā)方案

        為了使用戶便于在Forward平臺工具基礎(chǔ)上進行擴展,開發(fā)自己的應(yīng)用工具,滿足不同用戶的不同應(yīng)用,WellBase提供了幾種不同的程序編制和運行方式。

        ⑴ 測井處理框架應(yīng)用。通過底層函數(shù),應(yīng)用程序可以訪問所有的圖形對象、修改圖形的顯示方式、控制鼠標動作、加入自己的圖形對象,是一個真正的應(yīng)用程序。

        ⑵ 動態(tài)庫。動態(tài)庫是一種外掛式的測井數(shù)據(jù)處理及應(yīng)用模塊,開發(fā)人員利用動態(tài)庫來完成測井信息的處理(數(shù)據(jù)解編、預(yù)處理、計算及解釋等)過程,由WellBase提供的測井處理框架進行動態(tài)調(diào)用,并實現(xiàn)圖形操作、數(shù)據(jù)同步、參數(shù)編輯等過程,通過調(diào)用動態(tài)庫的功能模塊完成整個處理過程。

        ⑶ 生成Fortran應(yīng)用程序??衫肍ortran語言對WellBase平臺進行二次開發(fā),編譯生成WellBase應(yīng)用。這主要是考慮到早期的測井應(yīng)用程序絕大多數(shù)是利用Fortran語言開發(fā)的,這種機制下基本不需要修改即可直接掛接到Forward平臺使用。

        以上是WellBase本身提供并推薦的應(yīng)用程序開發(fā)方法,可以滿足大多數(shù)用戶的需要,具體的實現(xiàn)方法在《WellBase技術(shù)開發(fā)手冊》中有實例說明[1],這里不作介紹。在實際應(yīng)用中未必一定按照以上方式,并且WellBase只是提供了公共數(shù)據(jù)底層和接口類函數(shù),是一個開放的平臺工具,并不限定用戶采取哪種方式開發(fā)。比如有時如果僅僅是為了在其他相關(guān)應(yīng)用軟件中實現(xiàn)某一功能,只需簡單利用WellBase的WIS數(shù)據(jù)底層和相應(yīng)的接口操作函數(shù)即可。下面通過Visual C++環(huán)境下的實例重點說明這類應(yīng)用程序的開發(fā)方法。

        2.2 VC++環(huán)境下基于WellBase開發(fā)應(yīng)用程序所需的主要文件

        ⑴ 頭文件及基本接口函數(shù)類

        為便于用戶開發(fā)自己的應(yīng)用程序,WellBase提供了各種數(shù)據(jù)操作的接口函數(shù)[1],根據(jù)功能可分為基本輸入輸出類、缺省表管理類、測井數(shù)據(jù)輸入輸出類、測井處理對象類、參數(shù)常量讀寫類、不同機器類型轉(zhuǎn)換函數(shù)類、靜態(tài)信息類、動態(tài)信息類和測井解編對象類等,能夠滿足各種操作需要。其中常用的幾種主要函數(shù)類及其定義頭文件為:

        wisio.h:定義基本輸入輸出操作類CWisIO。該類為所有對WIS 文件操作的基本類,完成對WIS 文件定義的通道、表、流對象的讀寫操作。

        defaulttable.h:定義Forward缺省表管理操作。該類完成對WIS 缺省表信息的操作。

        logio.h:定義了對測井數(shù)據(jù)讀寫操作的類CLogIO,是CWisIO的繼承類,主要完成曲線對象、波形對象、地層測試對象等的讀寫操作。

        logProcess.h:定義了類CLogProcess,是CLogIO的繼承類,提供對測井數(shù)據(jù)處理的公共操作。

        ⑵ 編譯及程序運行所需的庫文件

        用戶程序編譯時需要連接的庫包括:Wis20.lib、WellBase20.lib、WisInput20.lib、WisOutput20.lib、LogProcess20.lib和Plot20.lib等。

        程序運行所需的動態(tài)庫文件是與以上lib文件對應(yīng)的,主要包括Wis20.dll、WellBase20.dll、WisInput20.dll等。

        2.3 VC++開發(fā)環(huán)境設(shè)置

        在VC++開發(fā)環(huán)境中,可通過設(shè)置相應(yīng)的開發(fā)環(huán)境或環(huán)境變量使用WellBase的接口類庫,并利用它們開發(fā)有關(guān)數(shù)據(jù)文件操作的應(yīng)用程序。

        ⑴ 工程設(shè)置

        以Visual C++ 6.0環(huán)境下應(yīng)用程序開發(fā)為例[4],在Project菜單的“Settings…”對話框中完成基本的工程設(shè)置:

        ① “C/C++”標簽下的“Category”選擇“Code Generation”、“Use run-time library”選擇“Multithreaded”;

        ② “Link”標簽下的“Category”選擇“Input”、“Object/library modules”下面的文本框中加入Wis20.lib等所需的WellBase SDK庫文件。

        ⑵ 編譯和運行環(huán)境設(shè)置

        把以上所列常用的頭文件(后綴.h)單獨放在一個用戶所建的include目錄下,編譯所需的庫文件(后綴.lib)單獨放在一個用戶所建的lib目錄下,然后,在VC++主界面的Tools菜單下“Options”對話框中,在“Show directories for:”中依次選擇“Include files”和“Library files”,并在下面的“Directories”中添加以上建立的相應(yīng)路徑即可。

        對于用戶程序運行時所需的動態(tài)庫文件(后綴.dll),建議放在Windows系統(tǒng)默認的“Windows\system32”目錄下,當然也可直接放在當前用戶工程目錄下,或者通過Windows的環(huán)境設(shè)置指定相應(yīng)位置。

        3 開發(fā)應(yīng)用實例分析

        借助于WellBase SDK,以WIS格式為底層數(shù)據(jù)格式,可以利用Visual C++開發(fā)一些實用的工具,作為Forward軟件平臺的重要補充。SDK提供的接口函數(shù)有很多,下面以獲取用戶選定測井曲線的極值和均值為例介紹基本的程序開發(fā)技術(shù)。

        3.1 測井曲線數(shù)值統(tǒng)計程序的功能設(shè)計

        用戶選定并打開WIS格式的井數(shù)據(jù)文件,然后讀取其中的測井曲線、深度、采樣間隔等信息;用戶選定曲線并指定深度段后,統(tǒng)計出該深度段內(nèi)選定曲線的最大值、最小值和平均值并通過信息窗口顯示出來。

        3.2 主要步驟

        ⑴ 利用VC++向?qū)Ы⒁粋€基本的MFC工程[5]。主菜單項包括文件(File)、編輯(Edit)、程序處理(Process)等幾個,如圖1所示。

        ⑵ 利用File中的Open菜單項選定并打開一個WIS格式數(shù)據(jù)文件,獲取其中包含的測井曲線。主要步驟:

        定義一個CWisIO類變量mwis,用其成員函數(shù)Open()打開WIS文件,用成員函數(shù)FindObjectName()獲取其中包含的所有測井曲線名。

        ⑶ 在Process菜單下建立菜單項“曲線處理”,由該菜單項實現(xiàn)設(shè)計功能。主要步驟:

        利用CComboBox控件將上一步得到的曲線名列表顯示,供用戶選擇其中的測井曲線以進行數(shù)值統(tǒng)計;

        定義一個CLogIO類指針變量plog,利用其成員函數(shù)OpenCurve()獲取用戶選定曲線的所有信息,特別是起始和終止深度、深度采樣間隔等;

        利用plog的成員函數(shù)ReadCurve()讀取用戶所選曲線指定深度段內(nèi)的測井數(shù)值,然后統(tǒng)計出該深度段內(nèi)曲線的最大值、最小值、平均值,最后利用VC++的MessageBox()向用戶呈現(xiàn)這些信息。圖2是運行效果示意圖。

        4 結(jié)束語

        利用Forward系統(tǒng)底層平臺開發(fā)工具包不僅可以開發(fā)測井分析程序,而且可以用來開發(fā)其他測井資料處理支持軟件和各種應(yīng)用工具。由于WIS文件系統(tǒng)設(shè)計先進,可以滿足目前各種測井資料的存儲和應(yīng)用[6],而SDK提供了各種平臺底層接口函數(shù)類庫,因此用戶可以容易地開發(fā)以WIS文件為數(shù)據(jù)對象的應(yīng)用程序。

        通過本文的應(yīng)用實例開發(fā),說明了該軟件平臺工具包具有接口豐富、易于應(yīng)用等特點,該工具包能夠為專業(yè)工具和應(yīng)用軟件開發(fā)提供高效、便捷的編程環(huán)境,具有很好的行業(yè)應(yīng)用前景,建議多加推廣和利用。當然,本文的方法只是作為WellBase技術(shù)開發(fā)手冊中應(yīng)用程序開發(fā)方法的一個簡單補充,實際應(yīng)用中用戶可以有更多可選的開發(fā)方案。

        參考文獻:

        [1] 中國石油天然氣集團公司油氣勘探部等編.測井解釋平臺底層Well Base技術(shù)開發(fā)手冊[M].石油工業(yè)出版社,2000.

        [2] 王勤華,張勇,李淑英等.關(guān)于Forward的幾個開發(fā)應(yīng)用技巧[J].測井技術(shù),2003.27(3):261-264

        [3] 金勇,張世剛,顧列剛,杜國兵.Forward測井解釋平臺中使用的先進技術(shù)[J].測井技術(shù),2000.24(1):64-70

        [4] 阮宇編著.Visual C++6.0基礎(chǔ)教程[M].清華大學(xué)出版社,2005.

        [5] 呂軍,楊琦.Visual C++與面向?qū)ο蟪绦蛟O(shè)計教程(第2版)[M].高等教育出版社,2003.

        [6] 吳建文,唐文江,朱春紅,劉擁軍.FORWARD測井解釋系統(tǒng)的功能開發(fā)與完善[J].石油工業(yè)計算機應(yīng)用,2004.12(4):39-40

        国产码欧美日韩高清综合一区| 免费观看的av毛片的网站| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 欧美成人免费看片一区| 国产麻豆成人精品av| 久久久久无码中文字幕| 三级国产自拍在线观看| 国产精品女同久久久久电影院| 国精无码欧精品亚洲一区| 国产在线不卡免费播放| 日本最新一区二区三区免费看| 久久99久久久精品人妻一区二区| 国产黄污网站在线观看| 亚洲成av人在线播放无码| 一本色道av久久精品+网站| 国产美女免费国产| 国产伦理自拍视频在线观看| 少妇精品偷拍高潮少妇在线观看| 国产无套乱子伦精彩是白视频| 夜夜高潮夜夜爽夜夜爱爱| 国产精品国产三级国产专区5o| 国产一区二区三区中出| 亚洲日韩在线中文字幕综合| 麻豆精品国产精华精华液好用吗 | 亚洲av综合av一区| 人人做人人妻人人精| 日本国产在线一区二区| 国产精品精品国产色婷婷| 天堂а√在线最新版中文在线 | 国产一级黄色录像| 白白色日韩免费在线观看| 肥老熟女性强欲五十路| 中文字幕在线亚洲日韩6页| 麻豆AⅤ精品无码一区二区| 国产伦奸在线播放免费| 亚洲人成精品久久久久| 无码成人aaaaa毛片| 四虎影视亚洲精品| av天堂一区二区三区精品| 国产成人自拍视频播放| 色avav色av爱avav亚洲色拍|