樊亦涵,王 靜,馬吉讓
(黃河水利委員會 山東水文水資源局,山東濟南 250100)
基本水文資料整編是水文工作的重要組成部分,整編時需錄入全年的水位、流量、含沙量數據,工作量大,容易出錯,且資料校核工作繁瑣,需要投入大量的人力及時間。當今社會對水文資料時效性提出了更高的要求,傳統的工作模式已經適應不了工作的需要,結合工作實際,黃委山東水文局研發了“水沙月報及整編數據轉換系統”。該軟件具有水位數據的自動采集功能,具有圖形繪制功能,可套繪上下游站水位、流量、含沙量過程線,可繪制水位~流量關系線,能滿足測站日常水沙月報制作及測驗數據合理性分析需求,年底可將全年月報數據轉換為整編數據,直接用于整編,不再需要錄入水沙數據,減少了工作環節,提高了工作效率。
系統采用模塊化軟件開發的架構,采用C++編程語言、嵌入式數據庫、計算機圖形技術,綜合運用多種編程技術實現了軟件的研發。為了將目前計算機的性能發揮出來,提升計算效率,系統代碼基于64 位開發,可在Windows 7/8/10 等操作系統上運行。系統采用良好的人機交互技術,數據更新及時顯現,有批處理功能,通過多線程技術設計,擴大了系統性能,可調用長系列水文資料。本系統采用開源、免費、嵌入式的SQLite 數據庫。SQLite 數據庫以文件形式保存到硬盤上,擴展名以.db 結尾,對該數據庫文件的大部分操作都可以在本系統內完成。
系統界面采用Qt 編程語言開發,網絡接口采用C#語言開發。分析用戶的需求,主要集中在數據管理、繪圖分析、輸出整編格式、統計評價4個功能模塊,系統功能框架見圖1。分析數據的采集與調用,主要集中在遠程讀取、編輯數據、繪圖分析、統計評價四個功能模塊,數據流程見圖2。

圖1 系統功能框架

圖2 數據流程
系統需訪問Web 接口下載數據,因此需借助網絡進行水位數據下載,進行在線數據下載時,系統會有相關提示,點擊確定后,進入數據處理界面。遙測數據Web 接口訪問的是PG 數據庫,遙測數據摘錄表前端已根據測站設置的測站水位上下限,經過數據過濾、篩選、平滑處理,保證了無異常值、數據可靠。系統自動根據水位數據轉折變化摘取數據,確保摘錄數據合理控制了變化過程,同時避免數據量過大而影響整編性能。
接口采用C#語言編程。首先用戶操作通過網絡帶參數訪問Web 接口,Web 接口根據參數對數據庫數據進行讀取,根據山東局水文站、水位站任務書中關于水位摘錄的要求,首先對水位變幅進行判斷,進而決定摘錄密度,最后返回一個Json 文件,利用網絡回傳。系統接收到回執后,若返回值無誤,則將數據寫入表格供用戶使用。數據庫查詢數據后,將數據存儲在三維數組,最后將符合要求的數據累加成Json 文件返回。
點擊月報制作后,進入月報表制作界面,根據提示,可以選擇新建或使用已有數據進行數據整理。數據的導入可以采用手動輸入、Dat 或JD文件導入、從數據庫讀取數據這幾種方式,左側表格為線號、年月日、水位流量等數據,右側表格為推流節點數據,可根據功能按鈕實現行的插入、上下移動、清空等功能。
進入數據表計算界面,點擊水位按鈕,可進行日平均水位的計算;點擊計算按鈕,可進行瞬時流量、日平均流量的計算、單樣含沙量的插補以及日平均含沙量、輸沙率的計算。
能夠進行水位、流量、含沙量過程線的套繪工作。在水位的套繪過程中,各站水位高程可以加上常數,實現了過程線的上下平移,克服了各站實際水位值相差太大繪制在同一圖紙上過程較平起伏不明顯的缺點。
可實現測站水沙量特征值統計表及測驗次數統計表的自動生成,用于編制水沙測驗簡報,進行測驗質量控制,檢查測驗次數是否滿足任務書的要求,上下游水量是否相應。導出的數據文件儲存在上級目錄“output”里,可進入文件夾進行相關文件的查看和讀取。水沙量特征值統計格式見表1。

表1 2022 年1 月份測站特征值統計
本系統充分利用月報及遙測數據簡化了整編過程,減少了整編的工作量和勞動強度,月報數據直接轉換為整編數據,提高了數據的利用效率。各種過程線的對照工作全部在計算機上完成,關系線的調整方便快捷。
系統還實現了統計表格的自動編制功能,自動生成水沙量特征值統計表和測驗次數統計表,便于進行測驗質量控制,檢查測驗次數是否滿足任務書的要求,上下游水量是否相應等。
該程序在山東測區投入應用后取得了良好的效果,經過檢驗,系統運行良好,大幅度提高了工作效率及水文資料整編質量,達到了程序開發的預期目標,滿足了現代水文對資料準確性及時效性的要求,獲得了良好的社會效益。