邵亞雄,邵燕林,何貞銘
(1.首都師范大學 資源環(huán)境與旅游學院,北京 100048;2. 長江大學 地球科學學院,湖北 武漢 430100)
XML支持下地質(zhì)柱狀圖自動成圖系統(tǒng)的實現(xiàn)
邵亞雄1,邵燕林2,何貞銘2
(1.首都師范大學 資源環(huán)境與旅游學院,北京 100048;2. 長江大學 地球科學學院,湖北 武漢 430100)

提出了利用計算機快速繪制地質(zhì)柱狀圖的方法。借助XML技術(shù),建立了地質(zhì)柱狀圖制圖模板,運用軟件工程的思想進行系統(tǒng)的總體設(shè)計與詳細設(shè)計。基于GIS二次開發(fā)平臺ArcGIS Engine,實現(xiàn)了地質(zhì)柱狀圖快速制圖。
柱狀圖;快速制圖;GIS;XML
作為油田地質(zhì)研究的核心資料之一,地質(zhì)綜合柱狀圖主要是以紙質(zhì)圖件的方式保存。即使一些項目將一部分綜合柱狀圖轉(zhuǎn)換為電子圖件,但因數(shù)據(jù)格式多樣化,很難被現(xiàn)有的GIS平臺所支持并集成[1-6]。因此,開發(fā)能夠快速繪制地質(zhì)柱狀圖,方便對圖件進行管理的獨立繪圖系統(tǒng)有著重大的現(xiàn)實意義。
1.1 系統(tǒng)架構(gòu)
系統(tǒng)由三層架構(gòu)組成,如圖1所示。表現(xiàn)層主要是通過窗體類來展示,其中frmMain窗體是系統(tǒng)主界面,frmMap窗體實現(xiàn)圖件的可視化,frmWellConfig窗體通過向?qū)问脚渲弥鶢顖D參數(shù)。邏輯層主要包含 FeatureClassOperater、WellCreater、GeoSymbol、LithSymbol4個核心類,其中WellCreater負責柱狀圖信息欄的繪制,F(xiàn)eatureClassOperater負責對數(shù)據(jù)庫中的要素進行操作,符號庫類GeoSymbol、LithSymbol主要負責繪制巖性圖斑和地質(zhì)符號。數(shù)據(jù)層主要是底層數(shù)據(jù)庫、EXCEL數(shù)據(jù)文件、文本數(shù)據(jù)文件、ArcSDE空間數(shù)據(jù)庫引擎以及數(shù)據(jù)訪問組件GeoColumnPaint.DataSelector。

圖1 巖心繪圖系統(tǒng)結(jié)構(gòu)圖
1.2 繪圖模版定制
由于地質(zhì)柱狀圖的特殊性,必須定義特殊的數(shù)據(jù)結(jié)構(gòu)來滿足柱狀圖的需求。我們利用微軟的數(shù)據(jù)訪問技術(shù)ADO.NET,其中的DataSet對象支持XML操作。利用XML定制繪圖參數(shù)模版[7],可以解決多源數(shù)據(jù)格式不同的問題,也可以保存繪圖配置文件,如圖2。

圖2 繪圖模版(xsd)
繪圖模板主要包含12張表。
1)井配置表(WellConfig):包含圖件繪圖的基本配置信息,如井號、井名字、井的別名(圖件名稱)、生成圖件的圖頭高度、圖件繪制起始井深、圖件繪制終止井深、圖件比例尺、是否根據(jù)筒次繪制圖件。
2)井信息欄表(WellColumns):包含每一欄的具體配置信息,其他信息欄通過欄序號與之關(guān)聯(lián),如井號、欄序號、該信息欄名字、繪制寬度、所繪制欄的類型。
3)地層信息表(LayerInfo):包含該井的基本地層信息。
4)地層數(shù)據(jù)表(LayerData):包含某一地層單元的詳細數(shù)據(jù)。
5)巖性數(shù)據(jù)表(LithData):包含欄序號、該部分的頂深、底深、顏色以及巖性編碼。
6)曲線信息表(LogInfo):包含每條曲線的具體配置信息。
7)曲線數(shù)據(jù)表(LogData):包含曲線的具體繪圖數(shù)據(jù),如曲線序號、曲線深度以及該深度所對應(yīng)的值。
8)筒次數(shù)據(jù)表(TubetimeData):包含欄序號、筒次數(shù)據(jù)、該筒次巖芯數(shù)據(jù)所對應(yīng)的井的頂深、底深等信息。
9)文本標記數(shù)據(jù)表(NoteData):主要是記錄巖芯描述信息。
10)圖像信息表(ImgInfo):包含鑄體照片、巖芯照片、巖芯滾少圖等圖像信息。
11)符號數(shù)據(jù)表(SymbolData):包含一些化石符號信息,其中頂深、底深代表化石所在的深度段,符號代碼表示化石符號的編碼。
12)比例尺信息表(ScalerInfo):包含深度信息的標注間隔、具體深度數(shù)據(jù)的標注頻率信息。
1.3 系統(tǒng)核心類設(shè)計
圖3顯示了地質(zhì)柱狀圖自動制圖系統(tǒng)繪制地質(zhì)柱狀圖的基本流程,其中frmMain是系統(tǒng)主界面對應(yīng)的窗體類,通過其響應(yīng)用戶命令;繪圖參數(shù)配置向?qū)rmWellConfig通過發(fā)送數(shù)據(jù)請求,數(shù)據(jù)提取組件WellInfoSelector實現(xiàn)從各類油田數(shù)據(jù)庫以及各類數(shù)據(jù)文件中提取地質(zhì)柱狀圖自動制圖所需基礎(chǔ)數(shù)據(jù),繪圖參數(shù)配置向?qū)Й@取繪圖數(shù)據(jù)后,完成自動制圖參數(shù)模板的設(shè)置,系統(tǒng)核心類WellCreator根據(jù)向?qū)Й@取的數(shù)據(jù)實現(xiàn)地質(zhì)柱狀圖的創(chuàng)建;frmMap是子窗體,主要用于顯示生成的柱狀圖。基于此圖,通過C#程序設(shè)計語言,最終編碼實現(xiàn)了地質(zhì)柱狀圖自動制圖系統(tǒng)。

圖3 系統(tǒng)時序圖
1.4 自動繪圖機制
通過Visual Studio中的XML Schema定制了地質(zhì)柱狀圖的模板。在系統(tǒng)運行時選擇相應(yīng)的繪圖模板,然后提取數(shù)據(jù)庫中的數(shù)據(jù)或?qū)肫渌愋偷臄?shù)據(jù),通過DataSet自身提供的WriteXml方法,可以方便地將繪圖數(shù)據(jù)保存到XML配置文件中。生成圖件時,系統(tǒng)通過DataSet的ReadXml方法,將配置文件中的數(shù)據(jù)讀取出來,再結(jié)合ArcGIS Engine繪制幾何對象的方法繪制出相應(yīng)的圖元。
基于以上設(shè)計思想,選取ArcGIS Engine二次開發(fā)平臺和Visual Studio 2008編碼平臺,定制XML繪圖模板,采用C#面向?qū)ο缶幊蹋_發(fā)出了一套地質(zhì)柱狀圖快速成圖系統(tǒng)。本文根據(jù)繪圖需求,收集了一些繪圖的基礎(chǔ)數(shù)據(jù),建立了測試數(shù)據(jù)庫,實現(xiàn)了巖芯描述綜合柱狀圖、伽馬歸位柱狀圖、沉積儲層綜合柱狀圖模板的定制和自動快速制圖。圖4顯示了該鉆井的沉積儲層綜合柱狀圖自動制圖的效果。

圖4 巖心繪圖系統(tǒng)繪制的沉積儲層綜合柱狀圖
本文基于XML定制的模板和GIS二次開發(fā)平臺ArGIS Engine,實現(xiàn)了地質(zhì)柱狀圖的快速自動制圖,并具有以下特點:①一鍵提取繪圖數(shù)據(jù);②繪制的圖件精度高,繪制速度快;③巖芯符號全部是矢量符號,方便打印不同比例的圖件;④圖件用空間數(shù)據(jù)庫保存,方便統(tǒng)一管理、共享。⑤程序只需要一個ArcGIS Runtime 就可以在任何一臺機器上運行。本系統(tǒng)實現(xiàn)了室內(nèi)計算機制作地質(zhì)柱狀圖的全自動化,提高了制圖效率,具有廣泛的應(yīng)用前景。
[1] 劉興國.利用Excel 和MapGIS快速生成地質(zhì)鉆孔柱狀圖[J].礦床地質(zhì)學,2008,27(增刊):142-150
[2] 陳峰,劉艷.用Access和MapGIS快速生成地質(zhì)鉆孔柱狀圖的方法[J].Science & Technology Information,2012(7):75-76
[3] 才向軍.巧借Excel用AutoCAD繪制地質(zhì)柱狀圖[J].礦山測量,2008(1):45-74
[4] 胡正旺,胡祥云,封曉明.基于Grapher軟件Automation功能的巖性柱狀圖繪制程序[J]. Chinese Journal of Engineering Geophysics,2007,4(5):450-454
[5] 趙應(yīng)權(quán),張劉平.自動繪制地質(zhì)柱狀圖的新方法[J].Progress in Geophysics,2009,24(4):1 507-1 515
[6] 邵燕林,許曉宏,鄭愛玲.基于GIS地質(zhì)綜合柱狀圖自動化快速成圖系統(tǒng)的設(shè)計與實現(xiàn)[J].Computer Era,2008(11):32-34
[7] Alagic S,Bernstein P A.Mapping XSD to OO Schemas[C].The 2nd International Conference,2010
P208
B
1672-4623(2014)05-0087-02
10.3969/j.issn.1672-4623.2014.05.031
邵亞雄 ,碩士,主要從事GIS應(yīng)用開發(fā)工作。
2013-09-18。
項目來源:湖北省教育廳青年基金資助項目(Q20121205)。