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