1. 概述
本项目通过对富金坝航运枢纽库容进行复核计算,验证库容计算方法的可行性,富金坝航电枢纽位于重庆市合川区太和镇上游约2 km处,是涪江干流重庆段航运自下而上梯级开发的第三级,富金坝航电枢纽坝址以上流域面积29,415 km2,总库容2.2亿m3,电站厂房为河床式,安装3台贯流式机组,总装机容量为60 mw,多年平均发电量约2.579亿kw∙h;泄洪冲砂闸18孔,最大下泄流量36,000 m3/s。船闸设计最大船舶吨级为300吨,年单向通过能力为137.3万吨[7]。
传统的库容曲线计算方法通常基于实测地形图通过断面法或等高线法计算获得,断面法计算库容是将水库沿水流流程从库尾到坝址分割成多个梯形体或椎体,等高线法计算库容是将水库按不同等高线从下到上分割成多个梯形体或椎体,通过各梯形体或椎体体积求和得到水库库容[1]。断面法、等高线法计算的库容精度与分割的断面个数或等高线间距密切相关,是一种库区的概化,同时,在无实测地形图资料时存在失灵的现象[2],而通过构建高精度的数字高程模型dem,结合arcgis软件,使用for循环迭代器可以快速自动地进行库容计算,减少了人为误差因素,大大提高了计算成果的精度和可靠性[3]。
2. 库容曲线计算模型选择
库容曲线计算方法主要有三类:概化模型法、dem法和地形资料测算法,如图1所示。
figure 1. storage capacity curve calculation model [4]
图1. 库容曲线计算模型[4]
本项目采用dem法进行库容计算,数字高程建模dem法主要采用不规则三角形网法和方格网法。三角形网法是用三角形面尽可能与实际、真实的水下地形曲面吻合,从而建立水下地形三角形曲面模型,曲面模型和水域某高程面相交形成水域库容的实体模型,由三角形各顶点向计算高程面引垂线,把实体模型分为n个三棱锥柱,通过对每个三棱锥求积及n个三棱锥体积求和,得到计算高程的库容量[4]。
方格网法一般是利用现有的水下地形图设置方格网,根据等高线确定各方格顶点的高程,因此,地形图的精度及格网的密度直接影响库容计算的精度。
由于不规则三角网法能够更好地适应复杂的地形变化、更准确地表示地形的细节、提供更精确的高程信息,使得对库容的分析更加直观和准确,因而库容计算一般采用不规则三角网法[5]。
3. 数字高程模型dem构建
figure 2. lbuild irregular triangulation
图2. 构建不规则三角网
figure 3. dem outcome chart
图3. dem成果图
数字高程模型dem的建模方法主要有:基于不规则三角网(tin)的建模方法、基于格网(grid)的建模方法和混合的建模方法[6]。其中,基于tin和grid的建模方法是2种常用的方法,生成dem的核心问题就是插值计算,插值方法的选择直接影响到dem的精度、质量及其应用。dem插值是由选定的若干已知点的高程求出未知点高程值的过程,原理是基于地形起伏的连续性,即空间自相关性(spatial autocorrelation),认为距离越近的事物越相似,插值时影响权重越大。因此,dem 的生成就转化为如何利用等高线等数据插值生成高精度、高质量的dem [7]。
基于arcgis软件的3d analyst工具中通用的基于矢量的建模方法tin、idw、kriging和natural neighbors进行dem的构建。通过arcgis的3d analyst工具栏中“create tin from features”工具可以在原始等高线数据基础上建立tin,如图2所示,再根据不规则三角网插值生成dem [8],如图3所示。
4. arcgis库容自动计算工具构建
(a)
(b)
figure 4. schematic diagram of the automatic storage capacity calculation tool
图4. 库容自动计算工具示意图
我们利用arcgis的python脚本工具,采用for循环迭代器,制作一个库容自动计算的脚本工具,在脚本工具中使用numpy库中的arange函数,使用for循环多次调用arcpy库中的surfacevolume函数来计算不同水位下的库容[9] (图4)。
在制作python脚本工具这里,可以新建一个工具箱,右击添加→脚本,然后在常规选项里对名称和标签进行命名,并在源里指定脚本所在路径,在参数里面,根据python脚本中,需要获取的变量,在参数显示名称依次键入显示名称和相对应的数据类型,脚本根据getparameterastext函数参数的序号,获取对应的变量,对于每一参数,还需要定义参数属性,主要注意一下方向,是输入值还是输出值,然后点击确定。
5. 库容计算成果
1) 通过利用实测的地形高程点,采用不规则三角网(tin)的建模方法,生产高精度的数字高程模型dem,结合编制的arcgis库容自动计算工具[10],完成富金坝航电枢纽库容计算,计算结果如表1和图5所示。
table 1. calculation results of fujinba power station
表1. 富金坝电站库容计算成果表
 
  
    | 水位(m) | 面积(km2) | 库容(万m3) | 水位(m) | 面积(km2) | 库容(万m3) | 
  
    | 202.0 | 0.00 | 0 | 224.0 | 7.71 | 3897 | 
  
    | 202.5 | 0.00 | 1 | 224.5 | 8.05 | 4284 | 
  
    | 203.0 | 0.01 | 1 | 225.0 | 8.81 | 4672 | 
  
    | 203.5 | 0.01 | 1 | 225.5 | 8.86 | 5097 | 
  
    | 204.0 | 0.01 | 1 | 226.0 | 9.50 | 5523 | 
  
    | 204.5 | 0.01 | 2 | 226.5 | 9.53 | 5981 | 
  
    | 205.0 | 0.02 | 3 | 227.0 | 9.98 | 6439 | 
  
    | 205.5 | 0.02 | 4 | 227.5 | 10.00 | 6919 | 
  
    | 206.0 | 0.04 | 5 | 228.0 | 10.12 | 7399 | 
  
    | 206.5 | 0.04 | 7 | 228.5 | 10.14 | 7884 | 
  
    | 207.0 | 0.06 | 9 | 229.0 | 10.32 | 8369 | 
  
    | 207.5 | 0.07 | 12 | 229.5 | 10.35 | 8863 | 
  
    | 208.0 | 0.10 | 15 | 230.0 | 10.63 | 9357 | 
  
    | 208.5 | 0.10 | 20 | 230.5 | 10.65 | 9865 | 
  
    | 209.0 | 0.16 | 25 | 231.0 | 11.02 | 10,373 | 
  
    | 209.5 | 0.17 | 32 | 231.5 | 11.05 | 10,898 | 
  
    | 210.0 | 0.26 | 40 | 232.0 | 11.50 | 11,424 | 
  
    | 210.5 | 0.27 | 53 | 232.5 | 11.53 | 11,973 | 
  
    | 211.0 | 0.40 | 66 | 233.0 | 12.07 | 12,521 | 
  
    | 211.5 | 0.42 | 86 | 233.5 | 12.11 | 13,096 | 
  
    | 212.0 | 0.59 | 106 | 234.0 | 12.71 | 13,672 | 
  
    | 212.5 | 0.60 | 134 | 234.5 | 12.75 | 14,278 | 
  
    | 213.0 | 0.82 | 163 | 235.0 | 13.44 | 14,883 | 
  
    | 213.5 | 0.84 | 203 | 235.5 | 13.48 | 15,523 | 
  
    | 214.0 | 1.10 | 243 | 236.0 | 14.16 | 16,163 | 
  
    | 214.5 | 1.13 | 297 | 236.5 | 14.20 | 16,837 | 
  
    | 215.0 | 1.44 | 351 | 237.0 | 14.86 | 17,512 | 
  
    | 215.5 | 1.47 | 421 | 237.5 | 14.90 | 18,219 | 
  
    | 216.0 | 1.87 | 492 | 238.0 | 15.54 | 18,926 | 
  
    | 216.5 | 1.91 | 583 | 238.5 | 15.59 | 19,665 | 
  
    | 217.0 | 2.44 | 674 | 239.0 | 16.27 | 20,404 | 
  
    | 217.5 | 2.48 | 793 | 239.5 | 16.32 | 21,178 | 
  
    | 218.0 | 3.18 | 913 | 240.0 | 17.07 | 21,952 | 
  
    | 218.5 | 3.23 | 1067 | 240.5 | 17.12 | 22,763 | 
  
    | 219.0 | 4.01 | 1223 | 241.0 | 17.95 | 23,574 | 
  
    | 219.5 | 4.07 | 1418 | 241.5 | 18.00 | 24,426 | 
  
    | 220.0 | 4.75 | 1615 | 242.0 | 18.82 | 25,279 | 
  
    | 220.5 | 4.80 | 1845 | 242.5 | 18.88 | 26,172 | 
  
    | 221.0 | 5.49 | 2076 | 243.0 | 19.74 | 27,065 | 
  
    | 221.5 | 5.54 | 2342 | 243.5 | 19.80 | 28,001 | 
  
    | 222.0 | 6.23 | 2609 | 244.0 | 20.61 | 28,938 | 
  
    | 222.5 | 6.28 | 2911 | 244.5 | 20.67 | 29,914 | 
  
    | 223.0 | 7.05 | 3214 | 245.0 | 21.52 | 30,891 | 
  
    | 223.5 | 7.10 | 3555 | 245.5 | 21.58 | 31,910 | 
 figure 5. storage capacity curve result diagram of fujinba power station
图5. 富金坝航电枢纽库容曲线成果图
6. 结语
1) 高精度的数字高程模型是保证库容计算成果精度的基础,优先采用不规则三角网(tin)的建模方法,能最大程度的贴合实际地形,保证模型的精确性。
2) 通过构建arcgis库容自动计算工具,借助for循环迭代器,创建一个能够自动计算库容的脚本工具。在该脚本工具中,运用numpy库中的arange函数,并通过for循环多次调用arcpy库中的surfacevolume函数,相比以往常规方法,能快速自动的进行库容计算,减少人为因素的误差,同时减轻劳动强度,提高成果的可靠性[11]。
3) 自动化计算的脚本工具展现出了极高的灵活性和可拓展性。其在实际应用中,能够依据不同的特定需求进行有针对性的修改。这意味着,无论是面对复杂多变的业务场景,还是在不同的行业领域中,该脚本工具都能通过调整和优化来适应各种独特的要求。