王书亮 薛 亮 刘永亮
为适应水利建设及国民经济发展对水文服务的需求,保持水文资料系列的连续性,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册引排水汇编文件为例,简要分析了南方片生成的数据表的缺陷,并提出了相应的改进方法,为后续年鉴复刊工作中的引排水汇编、修改、刊印提供参考