王書亮 薛 亮 劉永亮
為適應水利建設及國民經濟發展對水文服務的需求,保持水文資料系列的連續性,2015年江蘇省水文水資源勘測局(以下簡稱省水文局)決定對已停刊1989~2005年的5卷4冊與6卷19、20冊水文年鑒的進行復刊。
年鑒復刊以南方片整匯編軟件(以下簡稱南方片)輸出的文本數據作為排版數據文件。南方片基于《水文資料整編規范》(SL247-2012)編寫,復刊期間匯編相關符號及《水文年鑒匯編刊印規范》(SL460-2009)未涉及的表項則執行《水文年鑒編印規范》(SD244-87)。采用以新規范為基礎編寫的軟件來復刊按照老規范整編的數據,除了新老規范相關符號及數據精度的差異外,復刊軟件與南方片的銜接也存在一些缺陷。6卷20冊的引排水(潮)量統計表就是問題比較多的表項之一,由于復刊時只錄入成果數據而沒有重新對原始數據進行計算,導致南方片對復刊的引排水(潮)量統計表支持不完善,每次都需要對生成的匯編文件進行人工干預。
(1)多空行多基面名稱,排版時需要手工刪除,見圖1。
(2)以1989年為例,當引排水匯編文件中起始數據為旬統計,且旬統計中僅有其他水量數據時,用南方片匯編輸出的引排水排版文件中的旬、月統計數據都會丟失,且首次出現的旬統計月份信息會丟失。
由圖2、圖3、圖4可知,匯編數據文件中缺少2、3月的月統計,且4月的月份信息也沒有,都需要人工添加。

圖1 多余數據示意圖

圖2 數據庫中旬數據示意圖

圖3 數據庫中月數據示意圖

圖4 旬月匯編數據文件示意圖

圖5 成果表中數據示意圖

圖6 月匯編數據文件示意圖

圖7 格式錯誤成果表示意圖

圖8 格式正確成果表示意圖

圖9 生成匯編文件查詢語句示意圖

圖10 生成引排水排版文件部分代碼示意圖
(3)當引排水匯編文件中間數據為旬統計,且旬統計數據中僅有其他水量數據時,用南方片匯編輸出的引排水排版文件中旬統計的月份丟失。由圖5可知,匯編數據文件中需人工添加9、10月的月份信息。
(4)月統計中有其他引水量數據時,引水、排水數據不能自動分成兩行,見圖 6~8。
上述問題在匯編文件中采用手工添加的方法都可以解決,但是人工干預得越多,出現錯誤的機率就越大,到最后只會增加不必要的工作量,因此在南方片匯編軟件暫時沒改正前,采用自編程序來解決這些問題。
由南方片數據文件生成匯編文件主要就是圖9的四條查詢語句,這四條語句分別得到逐日引排水、旬引排水、月引排水、年引排水數據,有了這些數據后,首先進行日、旬引排水日期判斷,確保旬數據不丟失。解決好日、旬的先后順序后,剩下的無非就是選擇、判斷等一些細節問題,圖10為生成引排水排版文件的部分代碼。
本文以1989年6卷20冊引排水匯編文件為例,簡要分析了南方片生成的數據表的缺陷,并提出了相應的改進方法,為后續年鑒復刊工作中的引排水匯編、修改、刊印提供參考