(唐山市水利规划设计研究院,河北 唐山 063000)
近年来由于计算机技术迅猛发展,以及“3S”(GIS、RS和GPS)技术的引入,水位~库容曲线计算方法一般是通过航测获得水库DEM (Digital Elevation Model,即数字高程模型),然后利用ArcGIS进行分析计算。主要计算方法是利用ArcToolbox中的相关工具,如栅格计算器、填挖方工具、表面体积计算工具等。ArcGIS作为一款成熟的商业地理信息系统分析软件,可完全胜任此分析计算,但当计算分析水位间距较小时,操作步骤较复杂,人工输入重复较多,耗时较长。
本文以上关水库为例,采用与ArcGIS相同计算原理,将水库DEM数据导出excel能够识别的数据格式,然后通过运行编写的相应VBA代码,一次性全部获得水位~库容计算数值。
数字高程模型DEM(Digital Elevation Model)是用一组有序数值阵列形式表示地面高程的一种实体地面模型,在测绘、水文、工程建设等领域有着广泛的应用。DEM分辨率是作为刻画地形精确程度的一个重要指标,主要是指DEM最小的单元格的长度。因为DEM是离散数据,所以(X,Y)坐标其实是一个一个的小方格,每个小方格上标识出其高程。每个方格单元的高程为方格面积范围内的地形拟合高程hi。假设用获取的方格宽度为d的DEM来计算给定高程H水位的库容,在给定高程水位的范围内形成三维立体表面,每个格网单元到给定高程水面的形状为四棱柱,则每个格网的下面为地面,上面为给定高程的水面,分别计算出每个四棱柱单元的体积(计算公式如下),然后累加即成为给定高程水位的总库容。在上述规则方格DEM立体模型中,分别用不同的高程面进行切割,便可计算出任意高程水位的库容。
四棱柱体积公式:Vi=d2×(H-hi)
总库容公式:V总=ΣVi
顺便可知当前给定高程水位的水面面积的计算公式为:S总=d2×选中栅格数[1]
DEM转换成的Excel可识别的ASCII数据格式:
式中 i,j分别为DEM数据的列、行数;(x,y)为DEM顶角坐标;d为DEM的分辨率;9999代表DEM方格单元为空;h(j,i)为DEM每个方格的高程值,其所有数据组成为一个j×i的高程矩阵。
对应于上述格式,水位~库容曲线计算代码:
需要替换输入所求库容对应的相应水位范围(h0~ht),DEM的行列数(nrows和ncols)和分辨率d,即可完成计算。
本次利用上关水库DEM数据,采用上述方法进行库容曲线计算。
上关水库位于河北省遵化市的魏进河上,坝址位于遵化市西北部的鲶鱼关,坝址以上控制流域面积175km2,坝顶高程148.2m,宽6m。本次上关水库DEM获得,水面以上地形数据采用航测,水下地形数据采用水深仪人工实测,具体如图1上官水库数字正射影像图 (DOM)和图2上官水库数字高程模型图(DEM)。
图1 上官水库数字正射影像(DOM)
图2 上官水库数字高程模型(DEM)
首先,为避免库区以外的栅格单元参与计算造成错误,将DOM和DEM进行叠加显示,利用ArcGIS等值线功能在DEM上圈出水库坝高高程包络范围,然后根据DOM的影像资料进行局部修整、裁切,删除水库范围之外的栅格,处理后的上官水库数字高程模型如图3(DEM)。
图3 上官水库数字高程模型图(DEM)(处理后)
将处理过的DEM数据利用ArcToolbox的由栅格转出工具,转为ASCII数据格式,然后用windows自带的记事本打开,查看DEM栅格属性,其中行数1183,列数2704,分辨率2m,然后将高程矩阵复制黏贴进excel对应单元格,用DEM栅格属性值赋值于VBA代码中相应常量值,所求库容对应的水位范围115.2~148.2m,步长0.1m,运行VBA代码,即可完成计算。
利用VBA对水位~库容曲线进行计算完成后,水位及对应库容值将自动填入相应单元格,excel折线图绘制水位库容曲线如图4。
图4 水位库容曲线
利用VBA对水位~库容曲线计算,可有效避免繁琐重复的人工输入,方便快捷,且整个过程数据、代码透明,发现问题便于随时修改、更正,得到的结果与ArcGIS相应工具计算得到的结果完全一致,但效率较ArcGIS提高很多,可完全满足工程规划设计需要。
参考文献:
[1]王媛媛,段建刚,孙连洪.基于规则格网DEM计算水库库容方法研究[J].2013(11):9-10,19.
[2]赵新华,王沛,等.基于航空摄影测量的新安江水库水域面积及库容变化分析[J].大坝与安全, 2016,26(4):74-76.
[3]杨中华,陈琳.基于GIS的水库库容测量方法的研究与实践[J].测绘通报,2002(11).
[4]马文祥.基于GIS的中小水库地形和库容测量实践[J].测绘通报,2006(8): 66-68.
[5]张建新,程琳,王光谦,等.堰塞湖最大库容及库容曲线分析计算[J].水文,2009,5(29): 63-66.