顏小華 任曉東 唐曉春
水文年鑒復(fù)刊中引排水(潮)量數(shù)據(jù)的快速校核方法
顏小華任曉東唐曉春
由于歷史原因,江蘇省負(fù)責(zé)匯編刊印的5卷4冊(cè)與6卷19、20冊(cè)水文年鑒從1989~2005年根據(jù)上級(jí)要求,停止了匯編刊印。為適應(yīng)水利建設(shè)及國(guó)民經(jīng)濟(jì)發(fā)展對(duì)水文服務(wù)的需求,保持水文資料系列的連續(xù)性,江蘇省水文水資源勘測(cè)局決定對(duì)主編卷冊(cè)??哪觇b進(jìn)行復(fù)刊,蘇州分局作為主編單位,承擔(dān)了6卷20冊(cè)水文年鑒匯編刊印工作。作為江蘇省特有的引排水(潮)量統(tǒng)計(jì)表,6卷20冊(cè)包含了13個(gè)水文站的數(shù)據(jù),而省局從數(shù)據(jù)庫(kù)中導(dǎo)出并提供的CSV中又沒(méi)有包含這些數(shù)據(jù),這就需要在年鑒復(fù)刊軟件中采用人工方式對(duì)引排水(潮)量過(guò)程表、旬、月、年統(tǒng)計(jì)表進(jìn)行錄入。這其中引排水(潮)量過(guò)程表的錄入及校核是一項(xiàng)繁重的工作,雖然兩人背靠背錄入方式能減少入庫(kù)錯(cuò)誤的發(fā)生,但最后生成的成果表總會(huì)有意想不到的問(wèn)題出現(xiàn)。通過(guò)多年來(lái)對(duì)引排水(潮)量過(guò)程表數(shù)據(jù)的檢查過(guò)程的實(shí)踐積累,嘗試將年鑒復(fù)刊軟件生成的hjs文件通過(guò) VB.NET讀取到 Excel中,在Excel中根據(jù)引排水推流公式采用Visual Basic forApplication(以下簡(jiǎn)稱VBA)編程方式對(duì)提取的引排水?dāng)?shù)據(jù)進(jìn)行校核。
分析hjs文件可知,采用年鑒復(fù)刊程序生成的hjs文件,是將DataSet記錄序列化后,以字符編碼為UTF-16,保存的XML文件。因此要完成引排水(潮)量數(shù)據(jù)的校核,就要首先將hjs反序列化,以下為反序列化部分代碼。
MessageBox.Show("反序列化時(shí)出錯(cuò)!")
反序列化后,再將數(shù)據(jù)導(dǎo)出到Excel文件中,以下為導(dǎo)出到Excel部分代碼。
圖1為將hjs文件中的數(shù)據(jù)導(dǎo)出到Excel中后的成果表,數(shù)據(jù)導(dǎo)入到Excel后,就可以用VBA編程方式對(duì)導(dǎo)入的數(shù)據(jù)進(jìn)行校核。
江蘇沿江感潮堰閘站按潮引水或排水,采用“一潮推流法”定線推流?!耙怀蓖屏鞣ā币话阋杂行Рǜ?、開閘開始水位與一次開閘的漲潮流或落潮流流量相關(guān),建立通用關(guān)系式:
式中:Q—漲潮流或落潮流流量,m3/s;
根據(jù)“一潮推流法”的定義,圖1中的第六列一潮水量由第四、五列根據(jù)公式(1)乘以第二、三列的歷時(shí)所得,最后一列一潮最大流量由第四、五列根據(jù)公式(1)計(jì)算所得。因此,校核錄入數(shù)據(jù)正確與否,就只要看由公式計(jì)算出來(lái)的結(jié)果同最后兩列的差值是否為零。具體操作步驟如下:
1.首先在Excel的N、O、P列分別輸入引排水平均流量、最大流量的K、α、β系數(shù),如圖2所示;
2.然后切換到VBA,點(diǎn)擊運(yùn)行按鈕。以下為部分計(jì)算代碼:
圖1 hjs數(shù)據(jù)到Excel表成果圖
圖2 引排水系數(shù)圖
圖3 數(shù)據(jù)檢查結(jié)果圖
3.運(yùn)行后,在Excel的I、J、K、L列得到相應(yīng)數(shù)據(jù),其中,I、K列分別為水量計(jì)算值、最大流量計(jì)算值,J、L列為計(jì)算值與人工錄入數(shù)據(jù)的差值;
4.最后再檢查J、K兩列的數(shù)值,如果結(jié)果不為零,則人工錄入數(shù)據(jù)有可能就有誤,圖3為檢查結(jié)果示例。
本文通過(guò)VB.NET將年鑒復(fù)刊軟件生成的hjs導(dǎo)出到Excel中,根據(jù)引排水量推流公式,用VBA編程的方法,計(jì)算得到水量、最大流量,實(shí)現(xiàn)了對(duì)人工錄入的引排水時(shí)間、水位、水量、流量的電算化校核,極大減輕了數(shù)據(jù)校核人員的工作強(qiáng)度,提高了工作效率,為快速查找人工錄入的引排水(潮)量過(guò)程表數(shù)據(jù)的錯(cuò)誤提供了一種高效且可行的方法■
(作者單位:江蘇省水文水資源勘測(cè)局蘇州分局215000)