(唐山市水利規(guī)劃設(shè)計(jì)研究院,河北 唐山 063000)
近年來(lái)由于計(jì)算機(jī)技術(shù)迅猛發(fā)展,以及“3S”(GIS、RS和GPS)技術(shù)的引入,水位~庫(kù)容曲線計(jì)算方法一般是通過(guò)航測(cè)獲得水庫(kù)DEM (Digital Elevation Model,即數(shù)字高程模型),然后利用ArcGIS進(jìn)行分析計(jì)算。主要計(jì)算方法是利用ArcToolbox中的相關(guān)工具,如柵格計(jì)算器、填挖方工具、表面體積計(jì)算工具等。ArcGIS作為一款成熟的商業(yè)地理信息系統(tǒng)分析軟件,可完全勝任此分析計(jì)算,但當(dāng)計(jì)算分析水位間距較小時(shí),操作步驟較復(fù)雜,人工輸入重復(fù)較多,耗時(shí)較長(zhǎng)。
本文以上關(guān)水庫(kù)為例,采用與ArcGIS相同計(jì)算原理,將水庫(kù)DEM數(shù)據(jù)導(dǎo)出excel能夠識(shí)別的數(shù)據(jù)格式,然后通過(guò)運(yùn)行編寫的相應(yīng)VBA代碼,一次性全部獲得水位~庫(kù)容計(jì)算數(shù)值。
數(shù)字高程模型DEM(Digital Elevation Model)是用一組有序數(shù)值陣列形式表示地面高程的一種實(shí)體地面模型,在測(cè)繪、水文、工程建設(shè)等領(lǐng)域有著廣泛的應(yīng)用。DEM分辨率是作為刻畫地形精確程度的一個(gè)重要指標(biāo),主要是指DEM最小的單元格的長(zhǎng)度。因?yàn)镈EM是離散數(shù)據(jù),所以(X,Y)坐標(biāo)其實(shí)是一個(gè)一個(gè)的小方格,每個(gè)小方格上標(biāo)識(shí)出其高程。每個(gè)方格單元的高程為方格面積范圍內(nèi)的地形擬合高程hi。假設(shè)用獲取的方格寬度為d的DEM來(lái)計(jì)算給定高程H水位的庫(kù)容,在給定高程水位的范圍內(nèi)形成三維立體表面,每個(gè)格網(wǎng)單元到給定高程水面的形狀為四棱柱,則每個(gè)格網(wǎng)的下面為地面,上面為給定高程的水面,分別計(jì)算出每個(gè)四棱柱單元的體積(計(jì)算公式如下),然后累加即成為給定高程水位的總庫(kù)容。在上述規(guī)則方格DEM立體模型中,分別用不同的高程面進(jìn)行切割,便可計(jì)算出任意高程水位的庫(kù)容。
四棱柱體積公式:Vi=d2×(H-hi)
總庫(kù)容公式:V總=ΣVi
順便可知當(dāng)前給定高程水位的水面面積的計(jì)算公式為:S總=d2×選中柵格數(shù)[1]
DEM轉(zhuǎn)換成的Excel可識(shí)別的ASCII數(shù)據(jù)格式:
式中 i,j分別為DEM數(shù)據(jù)的列、行數(shù);(x,y)為DEM頂角坐標(biāo);d為DEM的分辨率;9999代表DEM方格單元為空;h(j,i)為DEM每個(gè)方格的高程值,其所有數(shù)據(jù)組成為一個(gè)j×i的高程矩陣。
對(duì)應(yīng)于上述格式,水位~庫(kù)容曲線計(jì)算代碼:
需要替換輸入所求庫(kù)容對(duì)應(yīng)的相應(yīng)水位范圍(h0~ht),DEM的行列數(shù)(nrows和ncols)和分辨率d,即可完成計(jì)算。
本次利用上關(guān)水庫(kù)DEM數(shù)據(jù),采用上述方法進(jìn)行庫(kù)容曲線計(jì)算。
上關(guān)水庫(kù)位于河北省遵化市的魏進(jìn)河上,壩址位于遵化市西北部的鯰魚(yú)關(guān),壩址以上控制流域面積175km2,壩頂高程148.2m,寬6m。本次上關(guān)水庫(kù)DEM獲得,水面以上地形數(shù)據(jù)采用航測(cè),水下地形數(shù)據(jù)采用水深儀人工實(shí)測(cè),具體如圖1上官水庫(kù)數(shù)字正射影像圖 (DOM)和圖2上官水庫(kù)數(shù)字高程模型圖(DEM)。
圖1 上官水庫(kù)數(shù)字正射影像(DOM)
圖2 上官水庫(kù)數(shù)字高程模型(DEM)
首先,為避免庫(kù)區(qū)以外的柵格單元參與計(jì)算造成錯(cuò)誤,將DOM和DEM進(jìn)行疊加顯示,利用ArcGIS等值線功能在DEM上圈出水庫(kù)壩高高程包絡(luò)范圍,然后根據(jù)DOM的影像資料進(jìn)行局部修整、裁切,刪除水庫(kù)范圍之外的柵格,處理后的上官水庫(kù)數(shù)字高程模型如圖3(DEM)。
圖3 上官水庫(kù)數(shù)字高程模型圖(DEM)(處理后)
將處理過(guò)的DEM數(shù)據(jù)利用ArcToolbox的由柵格轉(zhuǎn)出工具,轉(zhuǎn)為ASCII數(shù)據(jù)格式,然后用windows自帶的記事本打開(kāi),查看DEM柵格屬性,其中行數(shù)1183,列數(shù)2704,分辨率2m,然后將高程矩陣復(fù)制黏貼進(jìn)excel對(duì)應(yīng)單元格,用DEM柵格屬性值賦值于VBA代碼中相應(yīng)常量值,所求庫(kù)容對(duì)應(yīng)的水位范圍115.2~148.2m,步長(zhǎng)0.1m,運(yùn)行VBA代碼,即可完成計(jì)算。
利用VBA對(duì)水位~庫(kù)容曲線進(jìn)行計(jì)算完成后,水位及對(duì)應(yīng)庫(kù)容值將自動(dòng)填入相應(yīng)單元格,excel折線圖繪制水位庫(kù)容曲線如圖4。
圖4 水位庫(kù)容曲線
利用VBA對(duì)水位~庫(kù)容曲線計(jì)算,可有效避免繁瑣重復(fù)的人工輸入,方便快捷,且整個(gè)過(guò)程數(shù)據(jù)、代碼透明,發(fā)現(xiàn)問(wèn)題便于隨時(shí)修改、更正,得到的結(jié)果與ArcGIS相應(yīng)工具計(jì)算得到的結(jié)果完全一致,但效率較ArcGIS提高很多,可完全滿足工程規(guī)劃設(shè)計(jì)需要。
參考文獻(xiàn):
[1]王媛媛,段建剛,孫連洪.基于規(guī)則格網(wǎng)DEM計(jì)算水庫(kù)庫(kù)容方法研究[J].2013(11):9-10,19.
[2]趙新華,王沛,等.基于航空攝影測(cè)量的新安江水庫(kù)水域面積及庫(kù)容變化分析[J].大壩與安全, 2016,26(4):74-76.
[3]楊中華,陳琳.基于GIS的水庫(kù)庫(kù)容測(cè)量方法的研究與實(shí)踐[J].測(cè)繪通報(bào),2002(11).
[4]馬文祥.基于GIS的中小水庫(kù)地形和庫(kù)容測(cè)量實(shí)踐[J].測(cè)繪通報(bào),2006(8): 66-68.
[5]張建新,程琳,王光謙,等.堰塞湖最大庫(kù)容及庫(kù)容曲線分析計(jì)算[J].水文,2009,5(29): 63-66.