王書亮 薛 亮 劉永亮
為適應(yīng)水利建設(shè)及國民經(jīng)濟發(fā)展對水文服務(wù)的需求,保持水文資料系列的連續(xù)性,2015年江蘇省水文水資源勘測局(以下簡稱省水文局)決定對已???989~2005年的5卷4冊與6卷19、20冊水文年鑒的進行復(fù)刊。
年鑒復(fù)刊以南方片整匯編軟件(以下簡稱南方片)輸出的文本數(shù)據(jù)作為排版數(shù)據(jù)文件。南方片基于《水文資料整編規(guī)范》(SL247-2012)編寫,復(fù)刊期間匯編相關(guān)符號及《水文年鑒匯編刊印規(guī)范》(SL460-2009)未涉及的表項則執(zhí)行《水文年鑒編印規(guī)范》(SD244-87)。采用以新規(guī)范為基礎(chǔ)編寫的軟件來復(fù)刊按照老規(guī)范整編的數(shù)據(jù),除了新老規(guī)范相關(guān)符號及數(shù)據(jù)精度的差異外,復(fù)刊軟件與南方片的銜接也存在一些缺陷。6卷20冊的引排水(潮)量統(tǒng)計表就是問題比較多的表項之一,由于復(fù)刊時只錄入成果數(shù)據(jù)而沒有重新對原始數(shù)據(jù)進行計算,導(dǎo)致南方片對復(fù)刊的引排水(潮)量統(tǒng)計表支持不完善,每次都需要對生成的匯編文件進行人工干預(yù)。
(1)多空行多基面名稱,排版時需要手工刪除,見圖1。
(2)以1989年為例,當(dāng)引排水匯編文件中起始數(shù)據(jù)為旬統(tǒng)計,且旬統(tǒng)計中僅有其他水量數(shù)據(jù)時,用南方片匯編輸出的引排水排版文件中的旬、月統(tǒng)計數(shù)據(jù)都會丟失,且首次出現(xiàn)的旬統(tǒng)計月份信息會丟失。
由圖2、圖3、圖4可知,匯編數(shù)據(jù)文件中缺少2、3月的月統(tǒng)計,且4月的月份信息也沒有,都需要人工添加。
圖1 多余數(shù)據(jù)示意圖
圖2 數(shù)據(jù)庫中旬?dāng)?shù)據(jù)示意圖
圖3 數(shù)據(jù)庫中月數(shù)據(jù)示意圖
圖4 旬月匯編數(shù)據(jù)文件示意圖
圖5 成果表中數(shù)據(jù)示意圖
圖6 月匯編數(shù)據(jù)文件示意圖
圖7 格式錯誤成果表示意圖
圖8 格式正確成果表示意圖
圖9 生成匯編文件查詢語句示意圖
圖10 生成引排水排版文件部分代碼示意圖
(3)當(dāng)引排水匯編文件中間數(shù)據(jù)為旬統(tǒng)計,且旬統(tǒng)計數(shù)據(jù)中僅有其他水量數(shù)據(jù)時,用南方片匯編輸出的引排水排版文件中旬統(tǒng)計的月份丟失。由圖5可知,匯編數(shù)據(jù)文件中需人工添加9、10月的月份信息。
(4)月統(tǒng)計中有其他引水量數(shù)據(jù)時,引水、排水?dāng)?shù)據(jù)不能自動分成兩行,見圖 6~8。
上述問題在匯編文件中采用手工添加的方法都可以解決,但是人工干預(yù)得越多,出現(xiàn)錯誤的機率就越大,到最后只會增加不必要的工作量,因此在南方片匯編軟件暫時沒改正前,采用自編程序來解決這些問題。
由南方片數(shù)據(jù)文件生成匯編文件主要就是圖9的四條查詢語句,這四條語句分別得到逐日引排水、旬引排水、月引排水、年引排水?dāng)?shù)據(jù),有了這些數(shù)據(jù)后,首先進行日、旬引排水日期判斷,確保旬?dāng)?shù)據(jù)不丟失。解決好日、旬的先后順序后,剩下的無非就是選擇、判斷等一些細(xì)節(jié)問題,圖10為生成引排水排版文件的部分代碼。
本文以1989年6卷20冊引排水匯編文件為例,簡要分析了南方片生成的數(shù)據(jù)表的缺陷,并提出了相應(yīng)的改進方法,為后續(xù)年鑒復(fù)刊工作中的引排水匯編、修改、刊印提供參考