劉建軍,邢小麗,郭寶群,田文君
(黃河水利委員會水文局,河南 鄭州 450000)
水文年鑒數(shù)據(jù)入庫方法介紹
劉建軍,邢小麗,郭寶群,田文君
(黃河水利委員會水文局,河南 鄭州 450000)
選用水文年鑒電子書作為水文數(shù)據(jù)庫源數(shù)據(jù),采用模塊化方式設(shè)計了水文年鑒數(shù)據(jù)入庫軟件,最大限度的保證了水文數(shù)據(jù)庫和水文年鑒數(shù)據(jù)的一致性.2015年黃委水文局,采用水文年鑒數(shù)據(jù)入庫軟件完成了2013年、2014年度黃河流域水文年鑒黃委資料入庫工作.水文年鑒數(shù)據(jù)入庫軟件設(shè)計方法和當(dāng)前的水文資料整匯編工作模式相符,在黃委水文局基礎(chǔ)水文數(shù)據(jù)庫管理工作中得到了應(yīng)用.
水文年鑒;數(shù)據(jù)源;一致性;資料入庫;應(yīng)用
水文整編成果數(shù)據(jù)的入庫存儲有多種途徑,比如人工錄入、數(shù)字化成果轉(zhuǎn)換、整匯編軟件數(shù)據(jù)庫轉(zhuǎn)儲等,從水文資料整匯編工作流程來看,選用水文年鑒數(shù)據(jù)入庫存儲是最準(zhǔn)確、最直接的一種方式,避免了水文資料整匯編過程中的數(shù)據(jù)修改對水文數(shù)據(jù)庫的影響,能夠最大限度保證入庫整編成果數(shù)據(jù)的完整性、準(zhǔn)確性.
黃河流域水文年鑒排版采用基于方正排版系統(tǒng)的專用軟件排版,具有資料表類多、信息量大、專業(yè)性強(qiáng)、版面結(jié)構(gòu)復(fù)雜等特點.水文年鑒數(shù)字成果為電子書,采用方正排版系統(tǒng)輸出功能,電子書可以生成帶方正排版控制符的文本文件(以下簡稱方正格式文本),選擇方正格式文本作為入庫的源數(shù)據(jù).
水文年鑒數(shù)據(jù)入庫軟件采用開發(fā)工具M(jìn)icro?soft Visual Studio,按照模塊化方式設(shè)計,設(shè)計流程如圖1.
軟件模塊主要包括環(huán)境設(shè)置、公用函數(shù)、各種表類標(biāo)準(zhǔn)格式轉(zhuǎn)換、各種表類標(biāo)準(zhǔn)格式數(shù)據(jù)入庫等,水文行業(yè)對數(shù)據(jù)的準(zhǔn)確性要求是首位的,必須確保數(shù)據(jù)在處理流程中不遺漏、數(shù)值正確.由于方正格式文本格式不盡統(tǒng)一,存在特例情況,為方便人工檢查、修正及滿足其它系統(tǒng)的應(yīng)用需求,采用分段流程控制,生成有標(biāo)準(zhǔn)格式的中間數(shù)據(jù)文件.同時設(shè)計了完善的錯誤陷阱和操作提示,最大程度的實現(xiàn)數(shù)據(jù)處理的自動化、智能化.
方正格式文本由有效數(shù)據(jù)、字體控制符、字號控制符、列位置控制符、行控制符、表格控制符、標(biāo)題行控制符、分隔符、換行控制符、換頁控制符、以及一些特殊控制符號(比如人工造字控制符)等組成.數(shù)據(jù)主要采用以下方式排列:常規(guī)排列方式,按日期、時間的順序排列、按日期(月、日)的距陣排列、按序號排列;行列混排方式,一段數(shù)據(jù)由橫向幾個數(shù)據(jù)塊組成;蝴蝶頁排列方式,上下兩段數(shù)據(jù)為同一個數(shù)據(jù)塊的左右部分.
方正格式文本分為58種表類,各表類文本格式、標(biāo)識符、控制符不盡相同,采用循環(huán)行讀、數(shù)組記錄、數(shù)據(jù)拆分、組合對接等技術(shù)手段,自動提取方正格式文本中有效數(shù)據(jù),如站次、河名、水系、站名、表類、水文要素單位、顆分粒徑級、日期時間、水文要素、注釋等數(shù)據(jù),轉(zhuǎn)換生成標(biāo)準(zhǔn)格式文件,標(biāo)準(zhǔn)格式文件名采用水文年鑒排版文件命名規(guī)則,由英文字母和數(shù)字組成,表示"水文、卷冊、年份以及表類"等信息.
圖1 軟件設(shè)計流程圖
完成標(biāo)準(zhǔn)格式轉(zhuǎn)換的各表類文本格式不同,除一些公用函數(shù)外,針對各表類設(shè)計單獨處理模塊,為確保數(shù)據(jù)的一致性,如存在相同記錄時,處理模式是先刪除后添加(測站一覽表除外),一個表類文件通常對應(yīng)多個數(shù)據(jù)庫表.
首先完成測站一覽表信息的入庫,由標(biāo)準(zhǔn)格式文件名獲取的表類信息匹配相應(yīng)的表類處理模塊,采用站名、河名、水系、站別等信息在測站一覽表中獲取對應(yīng)站碼,行讀標(biāo)準(zhǔn)格式文件數(shù)據(jù),對讀取的數(shù)據(jù)進(jìn)行格式補(bǔ)全、排序、日期拆分組合及跨越年、月、日時間處理、數(shù)字文本分離、格式轉(zhuǎn)換、計量單位統(tǒng)一等處理,處理完成后將各類水文要素記錄寫入數(shù)據(jù)庫,軟件可批量或單獨處理標(biāo)準(zhǔn)格式文件.
軟件與數(shù)據(jù)庫連接采用ADO,通過ODBC方式連接,ODBC可通用外部管理工具設(shè)置.軟件只需要設(shè)置ODBC名稱,經(jīng)數(shù)據(jù)庫管理員授權(quán)的用戶名、口令,即可連接水文數(shù)據(jù)庫.
水文年鑒數(shù)據(jù)入庫軟件為工具軟件,界面按簡潔、操作方便原則設(shè)計.界面由工具菜單、文件列表框、文本框、富文本框、命令按鈕、標(biāo)簽、皮膚等控件組成.主界面圖略.
采用文件框、列表框等控件實現(xiàn)數(shù)據(jù)文件的顯示,用命令按紐控件實現(xiàn)數(shù)據(jù)文件的單選、多選,用富文本框控件顯示數(shù)據(jù)處理過程及提示信息.
黃委水文局基礎(chǔ)水文數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng),采用ORACLE 11g,ORACLE 11g是以分布式關(guān)系數(shù)據(jù)庫為核心的軟件產(chǎn)品,是目前成熟的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一,數(shù)據(jù)庫表結(jié)構(gòu)采用(SL 324-2005)《基礎(chǔ)水文數(shù)據(jù)庫表結(jié)構(gòu)及標(biāo)識符標(biāo)準(zhǔn)》.
2015年黃委水文局在完成對水文年鑒數(shù)據(jù)入庫軟件的全面測試后,采用水文年鑒數(shù)據(jù)入庫軟件對2013,2014年度黃河流域水文年鑒4卷1~8冊黃委資料進(jìn)行了處理,入庫資料涉及30種表類,共3 408個站表數(shù)據(jù),入庫數(shù)據(jù)和水文年鑒人工對照檢查結(jié)果顯示入庫數(shù)據(jù)完整,數(shù)值正確.
水文年鑒數(shù)據(jù)入庫軟件,選用水文資料整匯編最終成果-水文年鑒電子書作為入庫源數(shù)據(jù),避免了水文資料整匯編過程中的數(shù)據(jù)修改對水文數(shù)據(jù)庫的影響,能夠最大限度的保證水文數(shù)據(jù)庫和水文年鑒數(shù)據(jù)的一致性.
水文年鑒數(shù)據(jù)入庫軟件設(shè)計充分考慮了水文業(yè)務(wù)實際需要,按照模塊化設(shè)計,采用分段流程控制,作為水文業(yè)務(wù)工具軟件,力求做到功能完善、界面簡潔、方便實用.
水文年鑒數(shù)據(jù)入庫軟件設(shè)計方法和當(dāng)前的水文資料整匯編工作模式相符,在黃委水文局基礎(chǔ)水文數(shù)據(jù)庫管理工作中得到了應(yīng)用,取得了良好的效果.
TP39 < class="emphasis_bold">[文獻(xiàn)標(biāo)識碼]B
B
1002-0624(2017)11-0067-02
2017-08-15