米勝信,肖世偉,姚聿濤,王 琳,高志新
(1.國土資源實(shí)物地質(zhì)資料中心,河北 三河065201;2.中國地質(zhì)調(diào)查局發(fā)展研究中心,北京100037)
地質(zhì)資料信息是經(jīng)濟(jì)社會(huì)發(fā)展的重要基礎(chǔ)資源之一,是地質(zhì)找礦成果的載體和基礎(chǔ)要素,而巖芯便是地質(zhì)資料最重要的組成部分。巖芯服務(wù)主要因素體現(xiàn)在圖像和描述信息上,巖芯圖像的觀察在確定巖性、推斷沉積環(huán)境以及地質(zhì)特征綜合研究中,具有不可替代的作用。以往工作中,由于受多種因素影響,在巖芯的保存、觀察、取樣分析及資料的綜合研究利用等方面,存在較多問題,不利于研究工作的深入開展。近年來,伴隨計(jì)算機(jī)信息技術(shù)的飛速發(fā)展,巖芯掃描圖像作為一項(xiàng)巖芯觀察分析的新技術(shù),逐漸得到推廣應(yīng)用并逐步完善,將巖芯圖像信息在互聯(lián)網(wǎng)發(fā)布提供服務(wù),這極大地提高了巖芯圖像觀察的利用率。為此,國家實(shí)物地質(zhì)資料館開發(fā)了重要巖芯圖像服務(wù)系統(tǒng),將國家館采集的重要礦山巖芯數(shù)字化成果,在中國實(shí)物地質(zhì)資料信息網(wǎng)發(fā)布,及時(shí)向社會(huì)提供專業(yè)的巖芯圖像服務(wù)。
在系統(tǒng)開發(fā)過程中,如何將巖芯圖像在瀏覽器客戶端頁面上清晰流暢的顯示,是我們攻克的主要問題之一。
巖芯圖像信息是指利用巖芯掃描儀,對巖芯表面進(jìn)行平面滑動(dòng)掃描而生成的JPEG標(biāo)準(zhǔn)壓縮格式的圖片。鉆孔巖芯掃描圖見圖1。將這些具有高保真度的巖芯圖片作為核心數(shù)字信息存儲(chǔ)在計(jì)算機(jī)中,進(jìn)行永久保存并通過網(wǎng)絡(luò)提供服務(wù),在一定程度上節(jié)約了保管成本,提高了服務(wù)效率。
圖1 鉆孔巖芯掃描圖
國家實(shí)物地質(zhì)資料館引進(jìn)的是YXCJ-VZZ型圖像高分辨率巖芯掃描儀,掃描的分辨率的350dpi,單張巖芯圖像掃描長度為1m(行業(yè)通用的巖芯盒長度為1m),寬度為5~10cm(巖芯直徑),平均每張巖芯圖像的大小在5M~10M之間。
由于瀏覽器的緩存是有限的,一般客戶端配置在50M~100M之間。因此如果將一個(gè)鉆孔的所有巖芯圖像直接加載,很容易造成瀏覽器卡死現(xiàn)象。
固體礦產(chǎn)的鉆孔深度一般在100~2000m之間,如果將巖芯圖像從起始深度到終止深度進(jìn)行全孔掃描,巖芯圖像將會(huì)達(dá)到100~2000張,而為了讓巖芯圖像自下而上的連貫顯示,這樣整孔的巖芯圖像將會(huì)使瀏覽頁面非常長。如果在HTML頁面中使用幾百乃至上千個(gè)<img src=”圖像路徑”>這樣的方法顯示圖像,在頁面第一次加載時(shí),瀏覽器就要下載這幾百張圖片,就可能將瀏覽器卡死,這樣做既不能保證頁面加載速度,又不符合用戶瀏覽習(xí)慣。
巖芯圖像能很好的反應(yīng)鉆孔所在地的地質(zhì)特征,但是有些地質(zhì)特征不僅僅是通過肉眼就能分辨的,如果在瀏覽觀察巖芯圖像的同時(shí),配以巖石名稱和巖性描述信息,則就能更好的對巖性進(jìn)行理解和把握。但是由于巖芯圖像的深度是根據(jù)回次來界定的,而巖性描述深度則是根據(jù)巖性分層的深度來界定,這就造成了巖芯圖像深度和巖性描述深度不統(tǒng)一的問題,為用戶觀察瀏覽帶來不便。
為了解決以上問題,我們通過研究和利用WebService技術(shù)、圖片在瀏覽器中的“Lazy-Load”技術(shù)等綜合方法,來實(shí)現(xiàn)巖芯圖像在客戶端清晰流暢的瀏覽查詢,并且給瀏覽者以很好的用戶體驗(yàn)。
Web Service技術(shù)是應(yīng)用程序通過互聯(lián)網(wǎng)發(fā)布和利用軟件服務(wù)的一種標(biāo)準(zhǔn)機(jī)制。它提供了一套分布式的計(jì)算技術(shù),在Internet或Intranet上通過使用標(biāo)準(zhǔn)的XML協(xié)議和信息格式提供應(yīng)用服務(wù)。Web Service實(shí)現(xiàn)的功能可以是響應(yīng)客戶一個(gè)簡單的請求,也可以是完成一個(gè)復(fù)雜的業(yè)務(wù)流程,一旦一個(gè)Web Service配置好后,其它應(yīng)用程序和其它Web Service就可以直接發(fā)現(xiàn)和調(diào)用該服務(wù)。
由于鉆孔巖芯的采集和數(shù)字化管理都是依托項(xiàng)目來完成,按照實(shí)物地質(zhì)資料傳統(tǒng)的查詢方式,即從案卷級(jí)到文件級(jí)信息的逐級(jí)查詢,全國重要巖芯圖像服務(wù)系統(tǒng)先加載鉆孔巖芯所在項(xiàng)目信息,包括該項(xiàng)目的摘要、行政區(qū)劃、所有鉆孔等信息。然后點(diǎn)擊其中的一個(gè)鉆孔信息(如ZK007),將顯示這個(gè)鉆孔的巖芯圖像、巖性描述、巖性化學(xué)分析結(jié)果等信息,如圖2巖芯圖像頁面所示。
該系統(tǒng)的前臺(tái)巖芯圖像顯示Drill_Show.a(chǎn)spx頁面中,主題區(qū)域有三部分組成,A區(qū)域顯示深度標(biāo)尺,B區(qū)域顯示巖芯圖像,C區(qū)域顯示巖性描述信息。
在Drill_Show.a(chǎn)spx這個(gè)頁面中,充分應(yīng)用了WebService技術(shù)和Javascript的圖片“Lazy-Load”技術(shù),并使用了 Telerik公司的 UI For Asp.net Ajax控件。在頁面加載時(shí),首先從頁面的URL“CGSIBiz/Drill_Show.a(chǎn)spx?DrillID=1072”中獲得鉆 孔 ID,然 后,調(diào) 用 DrillInfo info = cs.GetBasicDrillInfoByID (DrillID)和 ProjectInfo pinfo=cs.GetCGSIProjectInfoByDrillID(DrillID)方法,從數(shù)據(jù)庫中獲得鉆孔和鉆孔所在項(xiàng)目的簡要信息。
根據(jù)鉆孔對象的屬性“鉆孔編號(hào)”,再調(diào)用IList<CoreImageInfo>imgs=cs.GetCoreImageOfDrill(info.JH)和IList<CoreDESCInfo>Descs= cs.GetCoreDESCOfDrill(info.JH)方法,從后臺(tái)數(shù)據(jù)庫中獲取這個(gè)鉆孔的巖芯圖像集合與巖性描述集合,這樣為實(shí)現(xiàn)該頁面數(shù)據(jù)顯示準(zhǔn)備好了數(shù)據(jù)。接下來使用這些數(shù)據(jù),利用控件構(gòu)造能夠讓瀏覽器交互查詢的圖像顯示界面。
圖2 巖芯圖像頁面(Drill_Show.a(chǎn)spx)
如果將一個(gè)鉆孔所有的巖芯圖像在瀏覽器屏幕上滾動(dòng)顯示,將會(huì)增加瀏覽器的緩存壓力和滾動(dòng)頁面的長度,不利于用戶觀察。
為此,利用Telerik公司的Ruler控件,設(shè)置巖芯長度標(biāo)尺。鉆孔巖芯圖像集合每條記錄都有起始深度、終止深度,根據(jù)這兩個(gè)屬性,計(jì)算出整個(gè)巖芯記錄的起始深度和終止深度,把這兩個(gè)值作為左側(cè)標(biāo)尺的起始刻度與終止刻度。
然后根據(jù)巖芯長度的不同,將巖芯平均分段,每段巖芯圖像在瀏覽器屏幕內(nèi)滾動(dòng)顯示,這樣使巖芯圖像清晰流暢的顯示。
由于鉆孔巖芯長度不一,如果用使用統(tǒng)一的標(biāo)尺間隔,就會(huì)出現(xiàn)標(biāo)尺刻度特別密集或者特別稀疏的情況。根據(jù)用戶瀏覽器尺寸和分辨率綜合因素,設(shè)置如表1所示的標(biāo)尺,這樣幾乎涵蓋所有深度范圍的鉆孔巖芯,很好的解決了長短不一的標(biāo)尺顯示問題。
表1 顯示標(biāo)尺間隔/m
在圖2中B區(qū)域,顯示巖芯圖像信息。在表格控件ImageTable中,將加載圖片的HTML代碼,調(diào)用巖芯圖片。
由于巖芯掃描原始圖像較大,在巖芯上傳前,將所有的巖芯圖像進(jìn)行了統(tǒng)一縮放。在B區(qū)域中調(diào)用的圖片路徑為壓縮后的圖片。經(jīng)過多次測試,發(fā)現(xiàn)圖像的像素設(shè)置為65dpi,240像素最為合適,同時(shí)滿足瀏覽速度和觀察清晰度的要求。為滿足用戶對原始圖像的需求,同時(shí)設(shè)置了原始圖像的瀏覽和下載功能。
然后利用圖像顯示的“Lasy-Load”技術(shù),實(shí)現(xiàn)圖像的加載顯示?!癓azy-load”是通過延遲加載來實(shí)現(xiàn)按需加載,達(dá)到節(jié)省資源,加快瀏覽速度的目的。就是瀏覽器中一系列滾動(dòng)的圖片,一開始并不把這些圖片加載進(jìn)來,而是當(dāng)用戶拉動(dòng)上下滾動(dòng)條時(shí),圖片到了瀏覽器顯示的位置,這時(shí),瀏覽器中的Javascript代碼執(zhí)行加載動(dòng)作,把圖片從服務(wù)器端下載到瀏覽器中并顯示。為實(shí)現(xiàn)此目的,在頁面代碼圖像的src屬性設(shè)置一個(gè)固定的值loading.gif,而data-original屬性才是真的圖像路徑。
<img src=”/style/image/loading.gif”class=”lazy”data-original=”" + SImagePath + "”width=”240”/>",這段代碼意義在于,當(dāng)用戶將頁面滑動(dòng)到這個(gè)圖像時(shí),頁面中的javascript把src屬性的值,修改為data-original屬性的值,實(shí)現(xiàn)圖像的lazy-load,即邊看邊加載。
在上圖C區(qū)域中,顯示巖性描述信息。當(dāng)我們拉動(dòng)左側(cè)標(biāo)尺中的游標(biāo)時(shí),將觸發(fā)左側(cè)標(biāo)尺javascript事件OnClientValueChanged,然后調(diào)用函數(shù)OnClientValueChanged="ScrollCoreImages-DESCs",這個(gè)javascript函數(shù)首先取得標(biāo)尺的當(dāng)前位置,然后通過Ajax異步通信,使用json格式,把鉆孔編號(hào)DrillID和巖性描述的深度DEEP兩個(gè)參數(shù)傳輸?shù)椒?wù)器端的Web Service:
/CGSIBiz/Drill_Show.a(chǎn)spx/GetDrillCoreImageList,獲得同樣json格式傳回來的巖芯圖像集合result(這個(gè)圖像集合,只包含游標(biāo)的當(dāng)前位置例如261m開始,一個(gè)標(biāo)尺間隔30m的圖像集),使用這個(gè)圖像集合構(gòu)造好新的圖像HTML代碼,即ImageHtml,再把這個(gè)ImageHtml代碼,通過MYM("#ImageContainer").html(ImageHtml),賦值給中列的#ImageContainer,這樣,中列的圖片就換成了游標(biāo)的當(dāng)前位置到下一個(gè)標(biāo)尺刻度的圖像。
C區(qū)域中的巖性描述是以深度為單位進(jìn)行單條存儲(chǔ)的,表格的每一行都賦予了一個(gè)ID(trow1.ID="DESC"+ CoreDESCID.ToString()),例如對應(yīng)于236.4~273.61m的這條記錄的表格行在數(shù)據(jù)庫存儲(chǔ)的ID就是 #DESC3205。利用ScrollCoreImagesDESCs函數(shù),再和服務(wù)器端的里Web方法/CGSIBiz/Drill_Show.a(chǎn)spx/GetCoreDESCID通訊,根據(jù)DrillID和深度DEEP的值,獲得這個(gè)深度對應(yīng)的巖性描述記錄的ID,如圖2所示,261m深度位于深度位于236.4~273.61m這條巖性描述記錄之間,那么獲得了這條記錄的ID(例如這條記錄的ID是3205)。這樣巖芯圖像深度和巖性描述深度就通過標(biāo)尺的深度進(jìn)行了有效的統(tǒng)一,同時(shí)在頁面中進(jìn)行顯示。
最后,為了使用戶更直觀的觀察巖芯圖像與之對象深度的巖性描述信息,利用ScrollCore-ImagesDESCs函數(shù),將該行的巖性描述信息做高亮顯示。根據(jù)表格行的ID(如#DESC3205),滾動(dòng)這個(gè)行到頂端的位置,把表格中所有行的背景變?yōu)榘咨?,再把這個(gè)表格行的背景變?yōu)榛疑ǎDD)。
利用Telerik slider控件,在頁面左側(cè)建立四個(gè)“滑動(dòng)門”,分別顯示資料信息、巖芯巖礦分析數(shù)據(jù)及下載、其他相關(guān)鉆孔和幫助信息。在頁面加載時(shí),根據(jù)鉆孔編號(hào)DrillID,調(diào)用相關(guān)過程,從數(shù)據(jù)庫中取得相應(yīng)信息,使用戶輕易檢索查詢。
在國土資源部辦公廳即將下發(fā)的《關(guān)于進(jìn)一步加強(qiáng)實(shí)物地質(zhì)資料管理的通知》中要求,國土資源主管部門和實(shí)物地質(zhì)資料館藏機(jī)構(gòu)要建立和完善相關(guān)機(jī)制,提高向全社會(huì)提供實(shí)物地質(zhì)資料服務(wù)的能力。進(jìn)一步加強(qiáng)實(shí)物地質(zhì)資料數(shù)據(jù)庫建設(shè),開發(fā)服務(wù)產(chǎn)品,豐富服務(wù)內(nèi)容,夯實(shí)服務(wù)基礎(chǔ)。
目前,重要巖芯圖像服務(wù)系統(tǒng)只是發(fā)布的國家館采集整理過的鉆孔巖芯,隨著全國各省實(shí)物地質(zhì)資料館的興建,將有更多的鉆孔巖芯被采集掃描等數(shù)字化工作。到目前為止,已有安徽、廣東、河南、四川、遼寧、黑龍江等省市已經(jīng)建立或準(zhǔn)備建立實(shí)物地質(zhì)資料館。解決好將各省館的分散采集保管的圖像信息進(jìn)行分布式存儲(chǔ),然后建立統(tǒng)一的服務(wù)平臺(tái),實(shí)現(xiàn)鉆孔巖芯圖像的統(tǒng)一發(fā)布和共享服務(wù)這一問題,將在提高實(shí)物地質(zhì)資料服務(wù)水平和資源節(jié)約等方面發(fā)揮重要作用。
隨著高光譜掃描技術(shù)在地質(zhì)領(lǐng)域的應(yīng)用,為巖芯數(shù)據(jù)服務(wù)又提供了一個(gè)平臺(tái)。高光譜巖芯掃描圖像主要原理是,以主要吸收譜帶、譜帶組合特征、譜帶精細(xì)特征和譜帶變異特征為基礎(chǔ),對礦物進(jìn)行分層識(shí)別,建立礦物識(shí)別分層譜系,從而可以更客觀的判定礦物的巖性特征。
高光譜巖芯圖像在地學(xué)服務(wù)研究方面的優(yōu)勢表現(xiàn)為增加巖芯圖像數(shù)據(jù)維數(shù),拓展服務(wù)領(lǐng)域;生成長期有效的數(shù)字化巖芯檔案和影像,提高地質(zhì)巖芯編錄的效率、客觀性和一致性,并與前人的巖性描述信息進(jìn)行對比分析。
國家地質(zhì)資料館與中國地質(zhì)調(diào)查局油氣中心合作,利用澳大利亞Hychips高光譜巖芯掃描儀開展工作。我們將研究如何將Web Service技術(shù)與高光譜掃描技術(shù)結(jié)合,開發(fā)出具有定制特征的產(chǎn)品,體現(xiàn)服務(wù)的差異化。
巖芯巖礦分析數(shù)據(jù)是通過化學(xué)方法,對巖芯進(jìn)行系統(tǒng)的理化測量,獲取其礦物元素組成含量結(jié)果,是對巖芯最客觀的認(rèn)識(shí)研究方法。巖芯巖礦分析數(shù)據(jù)也是根據(jù)深度信息為單位進(jìn)行記錄和存儲(chǔ)的,但是由于鉆孔所在地的地質(zhì)環(huán)境不同,造成各鉆孔測試的主元素和伴生元素的種類、數(shù)量也不相同,在建立數(shù)據(jù)庫時(shí)存在一定的難度。下一步將研究如何利用Ruler控件,使其與巖芯圖像和描述信息同步顯示。
Web Service技術(shù)是作為互聯(lián)網(wǎng)發(fā)布一種標(biāo)準(zhǔn)機(jī)制,利用它開發(fā)的系統(tǒng)具有可重構(gòu)、可移植性好,開發(fā)周期短,系統(tǒng)升級(jí)維護(hù)方便等優(yōu)點(diǎn),并能充分利用網(wǎng)絡(luò)資源,真正做到了資源共享,并且在平臺(tái)兼容性、穩(wěn)定性和安全性方面,性能優(yōu)越。
利用Web Service技術(shù),很好的解決了巖芯圖像加載速度、頁面顯示長度和深度不統(tǒng)一等問題,在重要巖芯圖像服務(wù)系統(tǒng)開發(fā)過程中發(fā)揮了重要作用。雖然有一些問題需要解決,但在現(xiàn)有的條件下開,已經(jīng)最大程度的發(fā)揮了巖芯圖像的服務(wù)特點(diǎn)。
到目前為止,利用該系統(tǒng)共發(fā)布400個(gè)鉆孔十多萬米巖芯圖像信息,充分體現(xiàn)了國家實(shí)物地質(zhì)資料館的行業(yè)地位,為國家實(shí)物地質(zhì)資料館在線實(shí)物地質(zhì)資料信息服務(wù)提供了便利,在經(jīng)濟(jì)發(fā)展、政府決策、地質(zhì)找礦和地質(zhì)科普等領(lǐng)域發(fā)揮了至關(guān)重要的影響。
[1] 姚華軍,賀冰清.推進(jìn)地質(zhì)資料信息服務(wù)集群化和產(chǎn)業(yè)化的研究[J].中國國土資源經(jīng)濟(jì),2009(9):4-7.
[2] 劉躍,吳曉紅.基于多分辨率圖像融合算法的巖芯圖像拼接[J].太赫茲科學(xué)與電子信息學(xué)報(bào),2014(2):290-294,298.
[3] 劉寧.巖芯掃描圖像分析及其應(yīng)用研究[J].石油實(shí)驗(yàn)地質(zhì),2004(5):500-504.
[4] 連?。珖刭|(zhì)資料目錄服務(wù)中心總體設(shè)計(jì)研究[J].中國地質(zhì),2013(5):1675-1682.
[5] 黃燕菊 張林杰.鉆探巖芯高光譜數(shù)據(jù)管理與分析系統(tǒng)的構(gòu)建[J].世界核地質(zhì)科學(xué),2010(3):159-163.