楊冬黎,富 宇,楊 雪
(1.大慶石油學(xué)院計(jì)算機(jī)與信息技術(shù)學(xué)院,黑龍江大慶163318;2.牡丹江醫(yī)學(xué)院影像診斷系,黑龍江牡丹江157011)
隨著油田開發(fā)及動態(tài)分析工作的不斷深入,地質(zhì)動態(tài)分析人員每天需要查詢各類油田開發(fā)動態(tài)和靜態(tài)數(shù)據(jù)資料.目前動態(tài)分析人員進(jìn)行油水井措施方案編制時(shí)所涉及的井位圖、沉積相帶圖、小層數(shù)據(jù)、射孔數(shù)據(jù)、完井?dāng)?shù)據(jù)、施工總結(jié)、油水井生產(chǎn)數(shù)據(jù)、各項(xiàng)監(jiān)測資料等十余種相關(guān)資料還處于人工查找、借閱階段;后期進(jìn)行單井注水方案設(shè)計(jì)、方案實(shí)施情況跟蹤及實(shí)施效果統(tǒng)計(jì)匯總時(shí)也靠人工統(tǒng)計(jì),這種工作方式工作強(qiáng)度大、效率低,因此,如何提高對注水井分散數(shù)據(jù)的查詢統(tǒng)計(jì)是亟待解決的問題.
針對這些問題,本文開發(fā)了注水井分散數(shù)據(jù)統(tǒng)一管理平臺.該平臺實(shí)現(xiàn)了動態(tài)分析工作需要的數(shù)據(jù)和資料都可以在網(wǎng)上查詢、應(yīng)用,使油田動態(tài)分析技術(shù)人員清楚掌握年度發(fā)放的各類方案,同時(shí)及時(shí)跟蹤方案實(shí)施情況,并進(jìn)行實(shí)施后的效果統(tǒng)計(jì)分析與報(bào)表輸出,減輕動態(tài)分析人員工作強(qiáng)度,提高管理和運(yùn)行效率.
注水井方案調(diào)整涉及的數(shù)據(jù)繁多而且相對比較分散,其中靜態(tài)數(shù)據(jù)、動態(tài)數(shù)據(jù)、油田檢測、井下作業(yè)各十余種.并且目前分散在不同oracle服務(wù)器上由不同專業(yè)人員管理.這種數(shù)據(jù)源模式利用復(fù)雜,數(shù)據(jù)同步更新較差,所以數(shù)據(jù)的統(tǒng)一管理和利用有著至關(guān)重要的作用.
通過油田注水井用戶對各種動態(tài)分析數(shù)據(jù)及檔案資料進(jìn)行查詢,首先確定了注水井方案的設(shè)計(jì)流程,明確了各個(gè)設(shè)計(jì)階段的工作任務(wù)及所需要查詢和處理的數(shù)據(jù),工作流程圖如圖1所示.
圖1 工作流程圖
平臺由開采現(xiàn)狀圖查詢、油水井效果統(tǒng)計(jì)、油井基本信息查詢、水井基本信息查詢、連通關(guān)系維護(hù)等部分構(gòu)成.借助于.NET技術(shù)、遠(yuǎn)程訪問技術(shù)、SVG技術(shù)和數(shù)據(jù)庫等技術(shù)實(shí)現(xiàn)具體功能.下面僅以基于SVG技術(shù)實(shí)現(xiàn)的“開采現(xiàn)狀圖查詢”這個(gè)模塊為例,說明一下平臺中關(guān)鍵技術(shù)的運(yùn)用與實(shí)現(xiàn).
SVG是Scalable Vector Graphics的縮寫,是一種基于XML描述二維圖形的圖形應(yīng)用的語言[1].通過采用SVG技術(shù),摒棄了傳統(tǒng)GIS系統(tǒng)成本高、對安裝客戶數(shù)量有限制、安裝維護(hù)困難的缺點(diǎn).采用SVG使系統(tǒng)具有很高的靈活性和運(yùn)行速度,即能實(shí)現(xiàn)按區(qū)塊動態(tài)構(gòu)造井位圖,又能實(shí)現(xiàn)開采現(xiàn)狀信息的動態(tài)顯示.
在SVG的縮寫中,S代表Scalable即可伸縮,其意思是指可以不受單一固定的像素大小的限定增加或減小圖片.V代表Vector即矢量,一個(gè)帶有坐標(biāo)與方向的數(shù)學(xué)名詞.矢量圖形由基本圖形對象如直線和曲線構(gòu)成.其幾何的意義是從一個(gè)點(diǎn)移動到另一個(gè)點(diǎn),在空間中的表現(xiàn)就是在2維或是3維空間中的一條直線.相比于存儲圖形每一個(gè)像素點(diǎn)信息的柵格格式圖像如PNG和JPEG來說,矢量有很大的靈活性.G代表Graphics即圖形,它是真實(shí)世界對象的圖形表示.在W3C規(guī)范中闡明,SVG由3種對象組成:矢量圖形(如由直線和曲線構(gòu)成的路徑)、圖像和文本.圖形對象能夠被分組、樣式化、轉(zhuǎn)移和與先前的渲染對象組合.SVG支持復(fù)雜的圖形操作如嵌套、剪切路徑、Alpha版、濾鏡效果、模板對象和動畫效果.使用SVG Document Object Model(DOM)可以實(shí)現(xiàn)復(fù)雜的交互的SVG應(yīng)用.DOM提供了訪問SVG所有元素及其屬性、性質(zhì).
利用SVG可以實(shí)現(xiàn)如下功能:
1)平移/縮放:SVG圖像能夠被平移/縮放而不必返回服務(wù)器端請求另一幅圖像并且不會損失圖像質(zhì)量.這是SVG地圖應(yīng)用在網(wǎng)絡(luò)上的優(yōu)點(diǎn).
2)交互:SVG地圖特征在瀏覽器端可以被選擇與交互.用戶在選定的一幅地圖中,選擇對象以及操作所有的圖層而不必返回到服務(wù)器.腳本語言可以實(shí)現(xiàn)與數(shù)據(jù)庫的聯(lián)接,這樣當(dāng)鼠標(biāo)點(diǎn)擊地圖上的對象時(shí),就可以鏈接到數(shù)據(jù)庫中相應(yīng)的表.同樣能通過鼠標(biāo)點(diǎn)擊完成對空間信息的查詢,地圖上特征對象的識別等.
3)選擇元素顯示:結(jié)合腳本語言SVG允許交互的選擇顯示信息.
4)動畫:只使用SVG語言就可以實(shí)現(xiàn)動畫,就像通過腳本語言和DOM來實(shí)現(xiàn)一樣.
1)地圖的縮放、漫游
地圖的縮放[2]、漫游是SVG地圖瀏覽器的重要功能,為達(dá)到通過工具條中的按鈕來控制地圖縮放、漫游的目的,可將所有的地圖數(shù)據(jù)組織在一個(gè)地圖分組元素下(該元素的ID屬性可設(shè)為Map),即將整個(gè)地圖作為一個(gè)復(fù)合圖形組來看待.在這種情況下,就可通過設(shè)置該分組元素的transform屬性來實(shí)現(xiàn)地圖的縮放、漫游.transform屬性包含6個(gè)參數(shù),分別控制圖形的6種變形,即橫向縮放、縱向縮放、橫向傾斜、縱向傾斜、橫向移動和縱向移動.其中對于縮放、移位參數(shù)的設(shè)置可分別通過比例Scale(XscaleYscale)和移位translate(Xmove,Ymove)實(shí)現(xiàn).在具體實(shí)施時(shí),需注意的是通過比例Scale和移位translate對transform屬性的設(shè)置效果是一次性的而不是累加的.此外,通過比例Scale所進(jìn)行的地圖縮放是以地圖的左上角為基點(diǎn)實(shí)施的.因此,要想實(shí)現(xiàn)對地圖的縮放、漫游就需要對地圖同時(shí)進(jìn)行比例Scale和移位translate操作.
2)屬性數(shù)據(jù)的查詢
屬性信息的查詢是地圖瀏覽的一項(xiàng)重要功能,要實(shí)現(xiàn)這個(gè)功能,首先需要了解屬性數(shù)據(jù)是如何在SVG文檔中進(jìn)行組織的.一般來說,屬性數(shù)據(jù)采用2種方法與圖形進(jìn)行連接,即外聯(lián)法和內(nèi)嵌法[3].
外聯(lián)法是指屬性數(shù)據(jù)與圖形數(shù)據(jù)分開存儲,SVG文檔中僅包含地物的圖形數(shù)據(jù),而屬性數(shù)據(jù)存放在服務(wù)器端的數(shù)據(jù)庫中,兩者通過地物標(biāo)識號進(jìn)行連接.當(dāng)在客戶端進(jìn)行屬性數(shù)據(jù)查詢時(shí),客戶端可通過地物標(biāo)識采用相應(yīng)的技術(shù)在服務(wù)器端從數(shù)據(jù)庫中提取相應(yīng)的數(shù)據(jù)在客戶端進(jìn)行顯示.
內(nèi)嵌法則是將屬性數(shù)據(jù)與圖形數(shù)據(jù)包含同一個(gè)SVG文件中.
3)圖層的開關(guān)
由于在SVG地圖瀏覽器中所操作的SVG地圖是以分層的方式進(jìn)行組織的,在該數(shù)據(jù)組織模式中,屬于一個(gè)圖層的地理特征數(shù)據(jù)組織在同一個(gè)分組元素下,且該分組元素的ID屬性設(shè)置為圖層的名稱,這樣對圖層的顯示控制就比較容易.如圖2所示.
圖2 地理空間數(shù)據(jù)層次組織模式
SVG中提供了 <g>元素,代表 “Group”(組),用來將一批特征類似的圖像元素定義為一個(gè)集合,這與地圖圖層管理的概念是不謀而合的.用戶可以在客戶端通過JavaScript腳本語言來對不同“圖層”的圖像元素來進(jìn)行操作.
其基本的操作是在 <g>中加入一個(gè)屬性數(shù)據(jù)visibility,然后在JavaScript中定義一個(gè)功能函數(shù),利用其來控制 <g>的屬性visibility,將其設(shè)成visib le時(shí),就顯示該圖層,將其設(shè)成hidden時(shí),就來隱藏該圖層.
“開采現(xiàn)狀圖”是注水井方案編制人員非常常用的輔助工具,以前開發(fā)動態(tài)人員使用的“開采現(xiàn)狀圖”是用AutoCAD等工具繪制出來的靜態(tài)圖紙,它的缺點(diǎn)是:①“開采現(xiàn)狀圖”上的信息是靜態(tài)的,不能反映有關(guān)井最新的生產(chǎn)狀況;②“開采現(xiàn)狀圖”本身是靜態(tài)的,不能按用戶的需求隨意生成.
為了方便開發(fā)動態(tài)人員在設(shè)計(jì)注水井方案時(shí)可以方便快捷地生成和查詢有關(guān)信息,我們利用SVG技術(shù)實(shí)現(xiàn)了動態(tài)構(gòu)造“開采現(xiàn)狀圖”.
在“開采現(xiàn)狀圖”顯示界面,用戶可以選擇一個(gè)或多個(gè)區(qū)塊、選擇開采現(xiàn)狀的對比時(shí)間,系統(tǒng)即可為用戶查詢相應(yīng)的數(shù)據(jù)并動態(tài)生成相應(yīng)的“開采現(xiàn)狀圖”,在此圖中,不同井別的數(shù)據(jù)顯示在不同的圖層上,并且設(shè)計(jì)相應(yīng)的操作界面允許用戶進(jìn)行圖層的打開和關(guān)閉操作,以便在井?dāng)?shù)過多、顯示信息過密的情況下簡化顯示信息.
圖3為放大了的“開采現(xiàn)狀圖”,可以清晰地看出,不同類型的井用不同的顏色表示,油井的開采現(xiàn)狀信息由“液、油、含水、沉沒度”組成,水井的開采現(xiàn)狀信息由“油壓、套壓、配注、實(shí)注”組成,為了便于用戶對比,對于油井的四種信息還給出了箭頭描述的趨勢信息.每口井的開采現(xiàn)狀信息還包括壓力信息,油井和水井的開采現(xiàn)狀信息分別如圖4、5所示.
為了便于用戶工作,“開采現(xiàn)狀圖”上還顯示了斷層線、油水分界線等信息.通過“開采現(xiàn)狀圖”,用戶可以直觀地了解井位信息以及直接獲取重要的開采現(xiàn)狀信息,但用戶常常還需要進(jìn)一步查詢相關(guān)井的其它信息,為了便于用戶操作,“開采現(xiàn)狀圖”還具有選擇井的功能,用戶可以通過點(diǎn)擊選擇油井或水井,然后點(diǎn)擊“選定井詳細(xì)信息查看”按鈕,即會出現(xiàn)圖6所示的用戶界面,在此界面下,用戶可以直接點(diǎn)擊查詢選定井的相關(guān)信息,相應(yīng)的查詢窗口會出現(xiàn),“井號”信息已經(jīng)填好,用戶可以直接進(jìn)行相應(yīng)的查詢.這樣的界面設(shè)計(jì),使得“開采現(xiàn)狀圖”成為用戶選擇相關(guān)問題井的核心界面,減少了用戶的輸入量、極大地方便了用戶的操作.
以油田應(yīng)用為背景,建立了注水井分散數(shù)據(jù)統(tǒng)一管理平臺,對分散的數(shù)據(jù)起到了管理作用.并對采油二廠注水井方案調(diào)整實(shí)際生產(chǎn)工作做以輔助,取得了良好的成果.
[1]蔡安寧.基于SVG的旅游電子地圖設(shè)計(jì)與發(fā)布[J].測繪與空間地理信息,2009,32(5):74-75.
[2]張 妍,奚 玲.實(shí)現(xiàn)大地圖快速縮放和實(shí)時(shí)顯示的一種有效方法[J].圖像微處理,2006,22(1):193-195.
[3]文必龍,劉學(xué)爽,張頌早.基于XML油田井場數(shù)據(jù)加載軟件的設(shè)計(jì)與實(shí)現(xiàn)[J].哈爾濱商業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2009,25(2):174-177,186.