李 杰,張立海,陳飛翔,許 福,耿 騰
(1.國土資源實(shí)物地質(zhì)資料中心,河北 三河065201;2.北京林業(yè)大學(xué)信息學(xué)院,北京100083)
鉆孔資料是地質(zhì)勘探中極為重要的一類數(shù)據(jù),是地質(zhì)資料中主要成果的重要基礎(chǔ)性資料。長期以來,我國大量地質(zhì)礦產(chǎn)資料記錄在紙質(zhì)表格上,分散保存在不同的部門、單位和個(gè)人手中,其保存條件和管理水平也有很大差異,不僅占用大量空間,而且共享不便,經(jīng)常導(dǎo)致所需的成果資料無法及時(shí)找到,或同樣的數(shù)據(jù)要進(jìn)行多次統(tǒng)計(jì),造成不必要的人力、物力和財(cái)力浪費(fèi),更談不上進(jìn)一步統(tǒng)計(jì)分析為設(shè)計(jì)人員和相關(guān)領(lǐng)導(dǎo)提供決策支持。
作為“十二五”重要地質(zhì)鉆孔數(shù)據(jù)庫建設(shè)的重要工作任務(wù)之一,鉆孔數(shù)據(jù)庫建設(shè)對(duì)提高地質(zhì)鉆孔資料的服務(wù)利用效率,加強(qiáng)地質(zhì)鉆孔資料的匯交,降低地質(zhì)工作風(fēng)險(xiǎn),減少重復(fù)工作和資金浪費(fèi),并為社會(huì)經(jīng)濟(jì)發(fā)展和找礦突破戰(zhàn)略行動(dòng)提供服務(wù)具有重要意義。
目前,國外發(fā)達(dá)國家應(yīng)用現(xiàn)代高新技術(shù)和先進(jìn)的管理模式,建立了各類地質(zhì)礦產(chǎn)基礎(chǔ)數(shù)據(jù)庫,并開展了網(wǎng)上元數(shù)據(jù)和目錄發(fā)布,并提出了一站式服務(wù)的理念。我國目前這方面的工作相對(duì)滯后,各地質(zhì)工作類型的鉆孔資料,在著錄項(xiàng)目、著錄格式、字段定義表述上不盡相同,制約了地質(zhì)鉆孔資料信息交流和資源共享。本文在這方面做了一些探索性工作,重點(diǎn)介紹了鉆孔數(shù)據(jù)庫采集系統(tǒng)軟件的設(shè)計(jì)。本研究已在我國一些地質(zhì)保管單位開展了試點(diǎn)應(yīng)用工作,為優(yōu)化地質(zhì)鉆孔資料管理模式,提高信息化管理與服務(wù)水平提供了有益借鑒。
圖1給出了鉆孔屬性庫軟件系統(tǒng)的體系架構(gòu)設(shè)計(jì),包括數(shù)據(jù)錄入、數(shù)據(jù)查詢、數(shù)據(jù)匯總、數(shù)據(jù)導(dǎo)入和導(dǎo)出、數(shù)據(jù)上報(bào)、系統(tǒng)維護(hù)、報(bào)表打印和系統(tǒng)幫助8個(gè)主要部分。
1)數(shù)據(jù)錄入。將數(shù)據(jù)錄入到鉆孔屬性表中,包括五類表格:保管單位表、項(xiàng)目信息表、鉆孔重要信息表、鉆孔屬性表和鉆孔巖芯屬性表。支持手工錄入和Excel錄入兩種形式。
2)數(shù)據(jù)查詢。支持基本查詢、高級(jí)查詢、按鉆孔類型查詢、按鉆孔目錄樹查詢四種形式,通過多種手段查找鉆孔信息。
3)數(shù)據(jù)匯總。用于上級(jí)主管部門(省廳及國家部委)匯總其管轄地區(qū)的鉆孔信息,支持按保管單位、按項(xiàng)目、按鉆孔三類形式匯總。
4)數(shù)據(jù)導(dǎo)入、導(dǎo)出。支持從Excel中導(dǎo)入數(shù)據(jù),便于充分利用已有的電子成果,避免繁瑣的手工錄入。同時(shí),也支持將數(shù)據(jù)導(dǎo)出到Excel,便于數(shù)據(jù)的交流和共享。
5)數(shù)據(jù)上報(bào)。各保管單位利用此模塊向上級(jí)主管部門匯交數(shù)據(jù),支持完整匯交,也支持增量匯交。匯交的信息不僅包括鉆孔的屬性信息,還包括配套的圖件信息。
圖1 系統(tǒng)體系架構(gòu)圖
6)系統(tǒng)維護(hù)。提供系統(tǒng)數(shù)據(jù)的備份、恢復(fù)及數(shù)據(jù)追加功能,保證數(shù)據(jù)的安全性,提供必要時(shí)的災(zāi)難恢復(fù)(如磁盤損壞)機(jī)制。
7)報(bào)表打印。打印單條記錄及匯總記錄,支持打印匯總表和資料移交清單等功能。
Woodruff顧客價(jià)值層次模型認(rèn)為顧客感知價(jià)值具有3個(gè)不同層次,即基于產(chǎn)品屬性的價(jià)值感知,基于使用結(jié)果的價(jià)值感知與基于使用目的的價(jià)值感知,3種價(jià)值感知之間存在層次影響關(guān)系,且具有“自上而下”與“自下而上”兩種影響關(guān)系,“自下而上”主要應(yīng)用于對(duì)產(chǎn)品屬性的完善以達(dá)到消費(fèi)者使用結(jié)果,從而強(qiáng)化消費(fèi)者的需求[18]853。本文主要對(duì)“自下而上”即“屬性-結(jié)果-目的”層次關(guān)系進(jìn)行實(shí)證研究,并且基于游客感知視角,依據(jù)感知價(jià)值層次模型的關(guān)聯(lián)程度提供完善鄉(xiāng)村旅游地游客中心的功能的對(duì)策。
8)系統(tǒng)幫助。提供chm格式的用戶手冊(cè)。
考慮到基層單位部署使用方便,本系統(tǒng)支持WindowsXP、Vista、Windows7、Windows 8等主流操作系統(tǒng),鉆孔數(shù)據(jù)庫系統(tǒng)采用Access(支持Access 2003以上版本),支持表單模式、仿Excel模式兩類屬性數(shù)據(jù)采集形式。
地質(zhì)鉆孔信息數(shù)據(jù)采集范圍是:地勘單位歸檔保管的除油氣、放射性以外的區(qū)域地質(zhì)、礦產(chǎn)地質(zhì)、水文地質(zhì)、工程地質(zhì)(大型以上項(xiàng)目)、環(huán)境地質(zhì)、災(zāi)害地質(zhì)勘查等形成的地質(zhì)鉆孔數(shù)據(jù)信息。通過對(duì)全國地質(zhì)鉆孔資料的調(diào)研分析,形成了鉆孔資料分層次建設(shè)數(shù)據(jù)庫的思路。根據(jù)地質(zhì)鉆孔數(shù)據(jù)屬性特征,將數(shù)據(jù)文件分為兩大類:①基本信息表。包括:保管單位信息表、項(xiàng)目信息表、鉆孔重要信息表;②鉆孔基礎(chǔ)屬性信息表,包括鉆孔屬性表和鉆孔巖芯屬性表。
基本信息表中的三張數(shù)據(jù)表關(guān)系如下:全國與各?。ㄊ?、區(qū))為1:n關(guān)系,各省與鉆孔資料保管單位為1:n關(guān)系,保管單位信息表與項(xiàng)目信息表為1:n關(guān)系,項(xiàng)目信息表與鉆孔信息表為1:n關(guān)系。行政區(qū)劃代碼、組織機(jī)構(gòu)代碼、項(xiàng)目名稱、原始資料檔號(hào)、鉆孔編號(hào)為數(shù)據(jù)文件的主關(guān)鍵字。
鉆孔基礎(chǔ)屬性信息表包括:固體礦產(chǎn)、水文地質(zhì)、工程地質(zhì)、煤田地質(zhì)鉆孔基礎(chǔ)屬性信息表四類。
1)固體礦產(chǎn)鉆孔基礎(chǔ)信息屬性數(shù)據(jù)表包括:鉆孔基本信息表,鉆孔回次數(shù)據(jù)表,鉆孔孔深校正及彎曲測量數(shù)據(jù)表,鉆孔結(jié)構(gòu)數(shù)據(jù)表,鉆孔分層數(shù)據(jù)表,鉆孔地質(zhì)綜合數(shù)據(jù)表,鉆孔巖石花紋對(duì)照數(shù)據(jù)表,鉆孔標(biāo)本采樣數(shù)據(jù)表,鉆孔劈心樣數(shù)據(jù)表,鉆孔基本化學(xué)分析數(shù)據(jù)表,鉆孔物相分析數(shù)據(jù)表,鉆孔體重測定數(shù)據(jù)表,鉆孔組合分析數(shù)據(jù)表,鉆孔巖石樣品全分析數(shù)據(jù)表,鉆孔樣品分析結(jié)果數(shù)據(jù)表,鉆孔測井曲線層數(shù)據(jù)表和鉆孔測井曲線點(diǎn)數(shù)據(jù)表。
2)水文地質(zhì)鉆孔基礎(chǔ)屬性數(shù)據(jù)表包括:鉆孔(井)基本信息表,鉆孔(井)地層巖性數(shù)據(jù)表,鉆孔(井)結(jié)構(gòu)數(shù)據(jù)表,鉆孔(井)抽水試驗(yàn)數(shù)據(jù)表,鉆孔(井)水質(zhì)分析數(shù)據(jù)表和鉆孔(井)電測井?dāng)?shù)據(jù)表。
4)煤田地質(zhì)鉆孔基礎(chǔ)信息屬性數(shù)據(jù)表包括:鉆孔地質(zhì)記錄表,鉆孔信息記錄表,鉆孔煤層記錄表,鉆孔煤質(zhì)分析信息表,鉆孔煤樣試驗(yàn)記錄表,鉆孔孔深校正及彎曲測量數(shù)據(jù)表,鉆孔測井曲線層數(shù)據(jù)表和鉆孔測井曲線點(diǎn)數(shù)據(jù)表。
考慮到我國地質(zhì)鉆孔屬性庫目前還未形成統(tǒng)一的規(guī)范標(biāo)準(zhǔn),因此在項(xiàng)目實(shí)施過程中不可避免地要經(jīng)常對(duì)鉆孔屬性表的種類、字段等進(jìn)行頻繁的修改,并及時(shí)發(fā)放給基層單位進(jìn)行試點(diǎn)應(yīng)用。為避免上述修改帶來復(fù)雜的軟件修改和維護(hù)開銷,項(xiàng)目組精心設(shè)計(jì)了屬性采集引擎,能靈活地適應(yīng)屬性表的動(dòng)態(tài)變化,這也是本文的重要研究動(dòng)機(jī)。
本文設(shè)計(jì)的屬性數(shù)據(jù)采集引擎,可以根據(jù)元數(shù)據(jù)動(dòng)態(tài)生成屬性數(shù)據(jù)的錄入界面,能快速適應(yīng)屬性表的種類、字段等的調(diào)整,從而有效簡化軟件修改工作。采用上述動(dòng)態(tài)生成策略的優(yōu)勢在于:①數(shù)據(jù)表種類和字段發(fā)生變化,界面無需重新設(shè)計(jì);②能自動(dòng)生成功能邏輯代碼,并支持?jǐn)?shù)據(jù)的有效性和合法性校驗(yàn);③系統(tǒng)擴(kuò)展性高、通用性好,維護(hù)成本相對(duì)較低,開發(fā)周期較短。
動(dòng)態(tài)生成界面,首先要選擇合適的界面渲染引擎。本研究采用Html+CSS繪制界面,采用VC++實(shí)現(xiàn)功能代碼。采用Html+CSS的好處是界面容易調(diào)整,容易自動(dòng)生成。傳統(tǒng)上,一般通過瀏覽器控件(如IE WebBrowser)來渲染界面。但不同版本的瀏覽器控件,其渲染機(jī)制往往有差異,在不同計(jì)算機(jī)上可能得到不同的運(yùn)行結(jié)果,兼容性存在問題,且瀏覽器控件本身較為笨重,體積較大。
本研究采用了不同的設(shè)計(jì)思路,利用Htmlayout作為Html+CSS的渲染引擎。Htmlayout是一個(gè)輕量級(jí)的瀏覽器引擎,大小僅900k,以動(dòng)態(tài)鏈接庫形式提供API接口,便于集成到各種主流開發(fā)環(huán)境中。Htmlayout可以高效的解析和渲染HTML網(wǎng)頁,幾乎支持所有的HTML元素和CSS3標(biāo)準(zhǔn),且界面與邏輯分離,通過其特殊擴(kuò)展的behaviorcss屬性可以方便的交互或者擴(kuò)展、自定義控件。采用Htmlayout的優(yōu)點(diǎn)是,Html頁面在不同的操作系統(tǒng)上渲染完全一致,兼容性好,并具備良好的VC++集成能力,便于后端功能代碼的開發(fā)。同時(shí),該渲染引擎運(yùn)行速度快,占用內(nèi)存低,性能也很高效。
能動(dòng)態(tài)適應(yīng)屬性表的種類調(diào)整和屬性表中的字段調(diào)整,且不用修改界面代碼和功能邏輯代碼是本研究設(shè)計(jì)的屬性采集引擎的最大特點(diǎn)。該引擎包括四個(gè)主要處理步驟。
1)通過元數(shù)據(jù)表統(tǒng)一描述屬性表種類和表格中的字段。為此,系統(tǒng)設(shè)計(jì)了SysTableInfo表,該表定義了每張屬性表的表名,每張表的各個(gè)字段名以及這些字段名對(duì)應(yīng)的中文名,字段是否為空,字段的數(shù)據(jù)類型,字段在界面上采用的控件類型,字段的長度,顯示控件的長度,字段的校驗(yàn)正則表達(dá)式等(圖2)。
2)根據(jù)元數(shù)據(jù)表中的字段定義,映射成合適的Html控件。以圖3中的“(固體)鉆孔孔深校正及彎曲度測量數(shù)據(jù)表”為例,其中,校測孔深、誤差率、天頂角等是數(shù)值型,記錄日期、檢查日期是日期時(shí)間類型,可以將上述字段類型分別映射成Html中的文本框、下拉框。為了提高系統(tǒng)性能,系統(tǒng)會(huì)檢查是否已生成了相應(yīng)的界面代碼。如果已生成了,則直接使用該界面代碼。否則,則從圖2中讀取該數(shù)據(jù)表的定義,生成界面代碼。這樣,在保證系統(tǒng)靈活性的同時(shí),有效提升了系統(tǒng)的性能。
圖2 SysTableInfo元數(shù)據(jù)表
圖3 (固體)鉆孔孔深校正及彎曲度測量數(shù)據(jù)表定義
3)調(diào)用Htmlayout解析和渲染界面代碼。處理流程是,由Htmlayout加載步驟(2)生成的Html代碼,解析其中的Html標(biāo)簽代碼和CSS定義,從而繪制出最終的用戶界面。
需要指出的是,采集引擎必須能對(duì)數(shù)據(jù)字段進(jìn)行合法性和有效性檢查。為此,本研究利用正則表達(dá)式,給Htmlayout增加了相應(yīng)的過濾器機(jī)制。比如,整數(shù)和浮點(diǎn)數(shù)的字段,其過濾器的定義如下:整數(shù):filter="0~9"novalue="[整數(shù)值]"style="color:#4B0082";浮 點(diǎn) 數(shù):filter="-0~9."novalue="[數(shù)值]"style="color:#8B2323"。
借助上述機(jī)制,就可以對(duì)界面中錄入的數(shù)據(jù)進(jìn)行檢查,確保采集到的屬性數(shù)據(jù)的合法性和有效性。
4)數(shù)據(jù)獲取及消息處理。當(dāng)用戶輸入文字,或者點(diǎn)擊按鈕等控件時(shí),會(huì)觸發(fā)相應(yīng)的事件,調(diào)用Htmlayout的behavior來響應(yīng)用戶。借助該機(jī)制,可以獲取步驟(3)中錄入的數(shù)據(jù),并將其保存到Access數(shù)據(jù)庫??紤]到鉆孔屬性數(shù)據(jù)量很大,為減小錄入開銷,加快輸入速度,系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了快速錄入功能,如“保存”、“重置”、“拷貝上一條記錄”、“保存并繼續(xù)填寫”、“退出”等功能。其中,點(diǎn)擊“保存”按鈕,將保存當(dāng)前錄入的內(nèi)容;“重置”按鈕,將當(dāng)前的表單內(nèi)容置空;“拷貝上一條記錄”按鈕,將上一條輸入的數(shù)據(jù),拷貝填充至當(dāng)前錄入界面;“保存并繼續(xù)填寫”按鈕,保存當(dāng)前輸入信息,將錄入界面初始化為下一條填報(bào)信息,同時(shí)自動(dòng)填寫部分已知信息。比如,在同一個(gè)鉆孔下連續(xù)輸入多條鉆孔屬性信息時(shí),單擊“保存并繼續(xù)填寫”,會(huì)存儲(chǔ)當(dāng)前信息,將錄入界面初始化為下條信息,并自動(dòng)填入上條鉆孔屬性信息所屬的鉆孔。
考慮到用戶很熟悉Excel的數(shù)據(jù)錄入形式,且有些保管單位的鉆孔屬性數(shù)據(jù)已經(jīng)存儲(chǔ)在了Excel電子表格中,本文設(shè)計(jì)的屬性采集引擎除了支持通過上述自動(dòng)生成的表單采集數(shù)據(jù)外,還設(shè)計(jì)了一套類Excel的屬性數(shù)據(jù)采集機(jī)制,其典型功能特征如下所示。
1)界面錄入:可創(chuàng)建類Excel表格錄入界面,用戶可手工將各項(xiàng)信息逐項(xiàng)輸入。
除手工輸入外,也支持從Excel中拷貝一行或多行數(shù)據(jù)(需保證Excel中的字段順序與采集引擎中的字段順序一致),也支持從屬性引擎界面中直接拷貝粘貼。這樣,可以使屬性錄入更加高效,避免同一屬性值反復(fù)手動(dòng)錄入的繁瑣。
Excel錄入模式也設(shè)計(jì)了友好的信息提示功能,避免誤操作帶來的返工。
2)信息提示:在數(shù)據(jù)錄入的過程中,當(dāng)錄入的鉆孔屬性數(shù)據(jù)不符合要求時(shí),系統(tǒng)給出了詳細(xì)的提示信息,錄入各種數(shù)據(jù)項(xiàng)時(shí),有詳細(xì)的選項(xiàng)列表供用戶選擇參考;比如,錄入時(shí)間項(xiàng)數(shù)據(jù)、角度、深度時(shí),系統(tǒng)自動(dòng)提示相應(yīng)信息,保證了錄入數(shù)據(jù)的正確性。系統(tǒng)還能夠顯示當(dāng)前正在編輯的總記錄條數(shù)、當(dāng)前記錄號(hào)、當(dāng)前地質(zhì)鉆孔資料信息,給用戶錄入和修改數(shù)據(jù)提供了方便,提高了數(shù)據(jù)錄入質(zhì)量和錄入速度。
3)數(shù)據(jù)檢查和數(shù)據(jù)校驗(yàn):在Excel模式下,同樣具有完善的數(shù)據(jù)檢查和數(shù)據(jù)校驗(yàn)機(jī)制。在用戶錄入鉆孔屬性數(shù)據(jù)時(shí),系統(tǒng)在規(guī)范著錄格式要求的基礎(chǔ)上,對(duì)錄入的重要數(shù)據(jù)項(xiàng)提供了校驗(yàn)機(jī)制,對(duì)不符合著錄要求的數(shù)據(jù)給出錯(cuò)誤提示,避免了用戶填寫錯(cuò)誤。比如,地質(zhì)勘查單位的組織機(jī)構(gòu)代碼、項(xiàng)目名稱、資料檔號(hào)、鉆孔編號(hào)等數(shù)據(jù)項(xiàng)采集時(shí)不能為空,鉆孔類別與工作程度的正確對(duì)應(yīng)及其它常用數(shù)據(jù)的取值及范圍校驗(yàn)等。
針對(duì)鉆孔屬性庫系統(tǒng)設(shè)計(jì)中的典型場景,如數(shù)據(jù)表多、字段多、需要經(jīng)常調(diào)整等,筆者經(jīng)過認(rèn)真的調(diào)研和反復(fù)的比較,摸索出采用動(dòng)態(tài)生成策略的方法來解決此類問題。經(jīng)試點(diǎn)應(yīng)用,該策略高效地完成了屬性數(shù)據(jù)的采集任務(wù),降低了軟件的維護(hù)開銷。實(shí)際上,本文的方法具有較高的通用性,不僅適用于地質(zhì)鉆孔屬性數(shù)據(jù)的采集,在其它類似的場景中,比如油氣、林地、化工、海洋等其他行業(yè)也可以靈活運(yùn)用。
[1] 馮敏,郭建文.地質(zhì)鉆孔信息形化管理系統(tǒng)框架設(shè)計(jì)與關(guān)鍵技術(shù)研究[J].冰川凍土,2005(2):304-309.
[2] 武俊紅,汪云甲,謝義林.礦山地理信息系統(tǒng)中的鉆孔信息管理[J].礦業(yè)工程,2007,5(1):60-63.
[3] 王斌,梁銀平,韓健,等.地質(zhì)鉆孔基本信息數(shù)據(jù)庫建設(shè)及今后工作建議[J].中國礦業(yè),2014,23(S2):370-373.
[4] 王斌,張立海,劉向東,等.基于VB鉆孔基本信息數(shù)據(jù)采集系統(tǒng)的研究與應(yīng)用[J].科技創(chuàng)新導(dǎo)報(bào)2012(6):30-31.
[5] 劉向東,張立海,趙立鴻,高立.地質(zhì)鉆孔基本信息數(shù)據(jù)庫建設(shè)及其意義[J].國土資源科技管理,2012(2):100-106.
[6] 袁春.縣級(jí)土地利用總體規(guī)劃數(shù)據(jù)庫建設(shè)方法研究 ——以山西省蒲縣為例[D].北京:中國地質(zhì)大學(xué)(北京),2013.
[7] 李宏澤,郭為國.礦井地質(zhì)鉆孔數(shù)據(jù)庫管理系統(tǒng)的建立與應(yīng)用[J].江蘇煤炭,1998(3):19-20.