基于VB的断面法冲淤计算编程实现与应用

2021-05-11 08:15梅同单张智敏甘坤袁野
城市勘测 2021年2期
关键词:淤积冲刷水位

梅同单,张智敏,甘坤,袁野

(长江水利委员会水文局西南诸河水文水资源勘测局,云南 昆明 650051)

1 引 言

为保证水电站的正常、高效运行,掌握库区的冲刷淤积情况,电厂往往投入大量资源对库区的泥沙和淤积情况进行监测。地形法、断面法和输沙量平衡法是库区冲刷淤积计算最常应用的三种方法[1]。地形法需要对全库或者部分地区进行地形测量,采用地形数据制作DEM分析冲刷淤积情况,其优点是分析数据精确,能直观地反映库区冲淤的空间变化,但测量时间长,投入成本较高,且需要周期性的测量分析,分析精度受测图比例尺大小影响,比例尺越大分析精度越高。断面法往往建立在地形测量的基础上,根据河道形状等布设河道横断面,周期性地测量横断面来分析冲刷淤积情况,其优点是测量时间短,投入成本低,但是受到断面位置代表性、断面间距大小、分析方法等影响,结果分析精度难以控制[2]。工程应用中往往采用缩小断面间距的方法来提高分析精度。输沙量平衡法是采用入库和出库水文、泥沙监测情况,分析全库的出入库泥沙情况,来分析库区的冲淤情况,其优点是在了解冲刷淤积数量的同时还可以掌握泥沙特性等情况,但是水文、泥沙监测投入成本较高,难以掌握冲刷淤积的空间分布情况,且精度受监测数据影响较大。相比之下,断面法计算冲淤量是最常用的办法,其监测成本相对较低,适合周期性监测,精度易把控,能基本掌握冲刷淤积的空间分布情况。

断面法计算冲淤量原理简单,市场当中应用的程序很多,但是往往只输出一个冲淤结果,无法得到断面间冲淤变化的纵向分布情况,难以分析冲淤量的可靠性,无法核定计算结果的影响因素,比如断面长度不一致造成面积差过大、断面间距影响结果精度等。本文主要采用基于对象的程序设计语言Visual Basic(简称VB),通过将断面测量成果数据(点名、起点距、高程)导入计算程序,判断断面的长度,人为给出断面的间距,计算断面间总槽蓄量和各高程值对应的槽蓄量,得到断面间的冲刷淤积量及纵向分布情况。同时,通过计算的断面面积、槽蓄量等,分析冲淤量的可靠性,通过部分人为干预或调整,进一步提高计算结果的精度。

2 断面法计算冲淤量

断面法计算冲淤量,主要是通过测量河道横断面,计算断面面积、相邻断面间距,将相邻断面间的几何形态近似为台体或椎体,采用梯形法或锥形法计算相邻断面间在同一水位下的槽蓄量(即容积),通过两个测量周期计算的槽蓄量,得到两相邻断面间的冲淤变化量,累计各断面间的冲淤量即可得到全库的冲淤变化总量[3]。

断面法计算冲淤量具体步骤如下:

(1)根据河道形状等布设横断面,采用一定的测量手段测量断面数据(X,Y,Z),实测水位或根据沿程水位变化情况推算水位值H。

(2)整理断面数据,算出断面起点距D和高程Z,计算确定的水位下各断面的面积S。公式如下:

Sj=∑(Zji+Zji+1)×|Dji+1-Dji|÷2

(1)

式中:Sj——第j条断面的面积;

Zji——第j条断面第i点的高程;

Dji——第j条断面第i点的起点距。

(3)确定相邻断面间距L,一般采用河道中心线或深泓线量算。

(4)采用梯形法或椎体法计算相邻断面间的槽蓄量V。

相邻横断面槽蓄量计算公式如式下[4]:

(2)

式中:Vj——相邻断面间(第j条与第j+1条)槽蓄量;

Lj——相邻断面间(第j条与第j+1条)的距离;

Sj——第j条横断面面积;

Sj+1——第j+1条横断面面积。

当两相邻断面的面积相近,可将相邻两断面间的形态看似梯形;当两相邻断面的面积差距较大时,锥形体更能代表两相邻断面间的形态。

(5)不同测次间的相邻断面间槽蓄量即为相邻断面间的冲淤变化量△V。

断面法计算冲淤量,其结果精度主要受断面代表性、测量精度和断面间距影响[1]。测量精度主要影响断面特征点的高程值,影响断面面积进而影响到冲淤量的精度;断面间距一般采用河道中心线或深泓线量算,在平直河道影响不大,但在弯曲河道会存在较大差异,从而影响断面间的槽蓄量。断面的布设位置代表性也会对冲淤结果产生影响。

采用断面法计算冲淤量还要求两个测次采用同一水位值,不同测次的同一断面具有相同的长度,这样对结果影响较小。断面布设越近,越能代表冲淤变化的空间特征。

3 编程实现

Visual Basic(简称VB)是一种通用的基于对象的程序设计语言,该语言不但可以达到结构化程序所设计的多项对象这一设计语言需求,而且还兼具图形用户接口,方便向设计程序语言方面创造更优质的服务[5]。

3.1 主要需要解决的问题

(1)断面的长度须一致,计算水位采用同一水位值。

常规计算软件往往忽略断面长度对面积的影响,使得断面长度对冲淤量的影响被无视。本程序采用编辑整理后的断面数据,程序自动分析断面的长度,截取相同的断面长度。根据两不同测次相同断面的起点距大小进行判断,读取两不同测次相同断面的起点距最大值和最小值,程序自动进行截取,使得两不同测次断面有相同的长度(即有效分析长度)。如若需分析的断面长度固定,测量长度无法满足需求时也可通过线性内插得到部分点的起点距和高程。

计算水位采用相同水位值进行,避免了因水位不同造成的误差。

(2)冲淤量的纵向分布难以看出,冲淤厚度情况难以掌握。

常规计算软件采用一个水位值计算,仅得到一个总的冲淤量,无法看出冲淤变化的纵向分布。本程序设计采用相同水位值计算,程序自动分析断面的最高点、最低点、深泓点、中间点等,计算得到高程变化区间,可根据实际需求设定冲淤变化分析高程区间,计算不同的高程区间的槽蓄量,得到不同测次两相邻断面间的冲淤量在纵向的分布情况。同时,也可计算出冲刷面积和淤积面积。

常规计算软件往往只输出一个冲淤总量,无法得到冲淤厚度的数值。冲淤变化在平面上的分布主要通过冲刷面积、淤积面积、平均冲刷厚度、平均淤积厚度等值来表示。本程序根据断面槽蓄量的计算、断面间面积的确定以及断面纵向的冲淤变化分布,可以计算出冲刷面积、淤积面积、平均冲刷厚度、平均淤积厚度等值。

3.2 程序设计流程图(图1):

图1 程序设计流程图

4 应用实例

在澜沧江中游某电站测量项目中,需要对河道进行河道演变分析和冲淤分析评价。外业测量采用SONIC 2024多波束测深系统进行,采集测区水下的高密度点云数据。从点云数据中每10m布设一条断面,提取断面数据进行编辑整理,采用程序计算冲淤量,输出需要的断面长度、断面间面积、槽蓄量、冲淤量、冲淤厚度等数据,得到需求的结果。

程序计算得到该区域淤积了 1 027.3 m3,面积为 417.3 m2,平均淤积厚度为 2.46 cm,总冲淤量计算结果如表1所示:

断面法计算冲淤量结果 表1

断面间纵向冲淤变化情况如表2(此表仅列出冲淤量,按 5 m间距分析,冲淤面积、冲淤厚度等暂未列出):

断面间冲淤变化纵向分析结果 表2

采用不同测次的多波束测深系统采集的高密度点云数据,生成地形图,导入ArcGIS 10.2,通过格式转换、生成TIN、生成RASTER等步骤,分析两不同测次的冲刷淤积量,得到该区域淤积了 1 058.1 m3,面积为 420.6 m2,平均淤积厚度为 2.51 cm。计算结果较为接近,程序计算结果与ArcGIS地形法分析误差为3%,说明程序计算结果可靠。

5 结 语

(1)本程序在断面数据分析方面,实现了程序的自动判断,减少了人为对数据整理的步骤,减小了劳动强度、缩短了作业时间、提高了作业效率。

(2)本程序采用断面法计算冲淤量,可以消除断面长度不同造成分析精度低等问题,直接输出冲刷淤积量,分析区域内的冲刷面积、淤积面积、平均冲刷厚度、平均淤积厚度等值,以及纵向的冲刷淤积情况。具有操作方便、计算结果可靠、成果丰富等优点。

(3)本程序计算的断面长度、断面面积、断面深泓点数据、断面间面积、槽蓄量等数据,生产实践中还有很多应用价值。生产当中可采用断面长度等数据进行测量工作量统计,断面深泓数据等可作为河道演变分析的依据,断面间槽蓄量的计算方法也可应用到库容计算等领域,不同高程级的槽蓄量、面积计算等也可作为库容-水位(高程)、面积-水位(高程)曲线关系计算的依据,在水库、河道、湖泊等水利项目中具有一定的应用价值。

此程序也有一定的局限。在成果展示方面还难以实现,无法像ArcGIS或其他三维显示软件等进行三维展示,成果仅限于数据表格等形式。在工程实际中如只需要简单的成果数据,本程序是能满足需求的。

猜你喜欢
淤积冲刷水位
淤积性皮炎知多少
妊娠期肝内胆汁淤积症
透射槽波探测技术对煤层冲刷带的研究与应用
气泡对点蚀状态管道冲刷腐蚀的数值模拟
基于MFAC-PID的核电站蒸汽发生器水位控制
水库坝区冲刷漏斗的形成机理
淤积与浚疏:清朝时期福州西湖的治理史
胆汁淤积性肝病问题解答
堤防工程冲刷深度的计算探讨