(江蘇省水文水資源勘測(cè)局蘇州分局 蘇州 215000)
江蘇省1989—2005年斷刊的水文年鑒復(fù)刊過程中,由于數(shù)據(jù)導(dǎo)入導(dǎo)出或原來成果庫的原因,根據(jù)南方片2.0 匯編輸出的文本文件進(jìn)行排版后生成的逐潮高低潮位表同原始底稿存在差異或不符合規(guī)范要求,主要表現(xiàn)在以下幾個(gè)方面:一是部分站部分日期的潮別信息多余;二是部分站部分日期出現(xiàn)5個(gè)潮位;三是部分站部分日期失潮時(shí)沒有按規(guī)范要求進(jìn)行空行。這些問題導(dǎo)致最后得到的逐潮高低潮位表月統(tǒng)計(jì)、潮位月年統(tǒng)計(jì)表中的月年統(tǒng)計(jì)出現(xiàn)錯(cuò)誤,手工逐一修改比較麻煩且不容易全部改全,這就需要通過對(duì)原始數(shù)據(jù)進(jìn)行重新計(jì)算才能得到正確的結(jié)果。而復(fù)刊時(shí)只是將導(dǎo)出的csv 成果庫文件進(jìn)行導(dǎo)入操作或僅補(bǔ)錄了成果數(shù)據(jù),并沒有涉及到原始數(shù)據(jù)錄入、整編計(jì)算。在原始數(shù)據(jù)無法獲得的情況下,如何從已有的成果庫或生成的逐潮高低潮位成果表得到適合南方片2.0 整編計(jì)算的逐潮高低潮位數(shù)據(jù),是解決上述缺陷的關(guān)鍵所在。
以2000年復(fù)刊南方片數(shù)據(jù)庫中的平湖(二)站為例,分別從數(shù)據(jù)庫和成果表中獲取潮位原始數(shù)據(jù),兩種方法生成的文件均以站碼+年份命名。
首先以管理員權(quán)限打開企業(yè)管理器,單擊菜單項(xiàng)“工具-SQL 查詢分析器”,在對(duì)象瀏覽器中單擊選擇“2000年復(fù)刊南方片庫”,接著在右側(cè)的查詢窗口內(nèi)輸入“Select * From HY_HLTDZ_B Where STCD='63309600' Order By TM”,該條查詢語句用于在HY_HLTDZ_B 找出站碼為63309600 的所有數(shù)據(jù),并按照時(shí)間先后順序排列,然后單擊圖1方框中的箭頭執(zhí)行以上查詢命令,最后將查詢出來的結(jié)果全選后復(fù)制粘貼到Excel 中進(jìn)行下一步處理。
圖1 執(zhí)行查詢示意圖
在Excel 中對(duì)應(yīng)第二列時(shí)間,設(shè)置單元格格式為自定義的“hh.mm”格式。接著同時(shí)選擇第二列時(shí)間、第四列潮位,將其復(fù)制到記事本中,保存為csv 文件備用。
成果表數(shù)據(jù)轉(zhuǎn)換成潮位數(shù)據(jù)主要采用VBA 編程語句來實(shí)現(xiàn),獲取的數(shù)據(jù)保存在成果表所在目錄下,后綴名為csv。分析如圖2中的表格式可知,逐潮高低潮位表每月數(shù)據(jù)表頭包含4 行、表尾包含9 行月統(tǒng)計(jì)和2 行附注,表頭加表尾總計(jì)有15 行,去掉這15 行,中間部分就是每月潮位數(shù)據(jù)有效行數(shù),因此有效行數(shù)可以通過ActiveSheet.UsedRange.Rows.Count- 15 得到;潮位和時(shí)間分成3 組,分別在第3、4 列、第9、10 列和第15、16 列,因此采用循環(huán)方法獲得。
圖2 逐潮高低潮位表每月數(shù)據(jù)示意圖
最后獲取潮位數(shù)據(jù)的主要代碼如下:
首先在南方片2.0 中的“整編-原始整編數(shù)據(jù)錄入-原始數(shù)據(jù)測(cè)站信息”里錄入平湖(二)站相應(yīng)的測(cè)站信息,然后設(shè)置控制信息,最后用記事本打開生成的文件,復(fù)制全部數(shù)據(jù),將其粘貼到南方片2.0 潮位整編數(shù)據(jù)中的逐潮高低潮位(T0G04)中。
完成數(shù)據(jù)復(fù)制后,對(duì)照錄入說明和底稿,按照南方片中的錄入說明修改數(shù)據(jù)文件。由于數(shù)據(jù)庫和成果表生成的潮位數(shù)據(jù)都是帶小數(shù)點(diǎn)的,因此,萬位信息相應(yīng)的就變?yōu)榘傥恍畔?,即原來南方片中輸入提示是“潮?10000”的,要改成以“潮位+100”的格式錄入。
對(duì)于失潮數(shù)據(jù)的錄入,同一天內(nèi),后一時(shí)間大于前一時(shí)間,跨日則在兩天時(shí)間之內(nèi),這樣執(zhí)行“重置整編時(shí)間”命令時(shí)才不會(huì)出錯(cuò)。
完成以上步驟后,就可以試著對(duì)轉(zhuǎn)換而來的潮位數(shù)據(jù)進(jìn)行整編計(jì)算。如果生成的成果表同底稿不一致,那就還需要對(duì)轉(zhuǎn)換的數(shù)據(jù)補(bǔ)充完善,直到同底稿完全一致。最后匯編輸出排版文件,交由排版單位以整體替換錯(cuò)誤的表項(xiàng)。
本文以2000年復(fù)刊南方片數(shù)據(jù)庫中的平湖(二)站為例,介紹了從數(shù)據(jù)庫和成果表中獲取滿足南方片2.0 格式要求的潮位原始數(shù)據(jù)的方法,通過采用南方片2.0 重新整編計(jì)算,為生成滿足規(guī)范要求的逐潮高低潮位表提供了一種有效的解決方案■