洪水的淹没分析人们往往想到三维的洪水淹没分析,但实际上更有实用价值的应该是二维的淹没分析,原因有下面几点:
(1)目前所说的三维不是真正的三维,严格地说应该是2.5维,即用二维的表现设备来表现三维,这种条件下的三维往往受视角和视点的影响,视觉效果并不如人意,不能满足实际的应用需求。虽然现在市场上出现了一些真三维的观察显示设备,但其在价格,对硬件性能的要求,实用性上尚不能达到普遍使用的目的。
(2)二维来表现我们三维的现实世界是我们概化问题一贯的处理方法,特别是对于场一类的事物用二维来表现具有直观、简单、明了的优点。
(3)目前洪水模拟演进、洪涝灾害评估等实用模型大都是基于二维的,所以采用二维的洪水淹没分析能够更好地与成熟的模型结合。
基于格网模型的洪水淹没分析就是一种二维的淹没分析方法。
四、基于格网模型的淹没分析思想基于dem的洪水淹没分析可以解决上述两种洪水最终淹没范围和水深分布的问题,但由于dem数据量大,对于较大范围的洪水淹没分析,在目前的计算机硬件技术水平上还不能较快地计算出结果,这对于防洪减灾决策实施等方面,这种计算速度是不能忍受的。格网模型的思想很早就已经提出,并且在各个领域得到广泛的应用,如有限元计算的离散单元模型,目前所能见到的较先的洪水模拟演进模型(如陆吉康教授的水动力洪水演进模型)也是一种格网化的模型。基于空间展布式社会经济数据库的洪涝灾害损失评估模型也是基于格网模型的思想(见李纪人等人的相关文章)。由于格网本身对模型概化的优越性,同时考虑到与洪水演进和洪涝灾害损失评估模型更好地结合,所以采用基于格网的洪水淹没分析模型是比较好的选择。
由dem可以较方便地生成tin模型。生成的tin模型,其三角网格的大小分布情况反映了高程的变化情况,即在高程变化小的区域其三角网格大,在高程变化大的区域其三角网格小,这样的三角格网在洪水淹没分析方面具有以下优点:
(1)洪水淹没的特性与三角格网的这种淹没特性是一致的,即在平坦的地区淹没面积大,在陡峭的区域淹没面积小,所以采用这种格网更能模拟洪水的淹没特性。
(2)洪水的淹没边界和江河边界等都是非常不规则的,采用三角形格网模型比规则的四边形格网模型等更能够模拟这种不规则的边界。
(3)三角形格网大小疏密变化不一致,既能满足模型物理意义上的需求,也能节省计算机的存储空间,提高计算速度。
五、基于三角格网模型的淹没分析方法针对一个特定地区的洪水淹没分析,为了减少数据量和便于分析,一般根据洪水风险,预先圈定一个最大的可能淹没范围,并且将沿江两岸分成左右两半分别进行处理分析,靠江边的边界处理为淹没区的进水边界。这样处理对于防洪减灾来说是合理的,一般在防洪区域,沿江两岸堤防建设的洪水保证率是不一样的,有重点地保护一些地区和放弃一些地区,所以需要将两岸分开处理。
目前国家测绘局能够提供七大江河周边地区1:1万的dem数据,在实际应用中需要根据特定的防洪区域的微地形修正该dem数据,以保证地形数据的准确,根据实测微地形(如堤防、水利工程等)数据修正dem的grid栅格高程值。将一系列实测数据进行自动快速修正grid的程序已经在arcinfo desktop 8.1 平台上开发完成,可以直接进行交互式使用。将修正后的dem数据用上面提到的洪水最大可能淹没范围进行剪裁,得到的区域就是所需要进行淹没分析研究的范围。
将dem转换为tin模型,提取三角格网,并对每个三角格网赋高程值,高程值按三个顶点从grid上取得的高程值的取平均求得。该三角格网就是要进行洪水淹没分析的格网模型,如下图1所示。

图1 三角形格网模型
5.1给定洪水水位(h)下的淹没分析选定洪水源入口,设定洪水水位、选出洪水水位以下的三角单元,从洪水入口单元开始进行三角格网连通性分析,能够连通的所有单元即组成淹没范围,得到连通的三角单元,对连通的每个单元计算水深w,即得到洪水淹没水深分布,如下图2所示。

图2 三角单元水深分布图
单元水深的计算公式如下式(1)。
w=h-e (1)
式中:
w—单元水深;
h—水位;
e—单元高程。
5.2洪水淹没连通区域算法对洪水淹没区域连通性的考虑,在一些淹没分析软件中,仅考虑高程平铺的问题,即在任何地势低洼的区域都同时进水,实际上从洪水本身淹没的角度来说这是不准确的,洪水首先是从洪水源处开始向外扩散淹没,只有水位高程达到一定程度之后,洪水才能越过某一地势较高的区域到达另一个洼地。洪水淹没的连通性算法可以从投石问路法的原理来理解。
假定有一个探险家,他带着一个高程标准(水位高程)需要将这一高程以下所有能够相互连通的区域探寻出来,假定这片区域由不同大小的格网组成,格网是由边数一样多(当然也可以不一样多,但那样会使问题更复杂)的多边形组成,这里为讨论问题的方便我们假定为四边形(其他格网单元的多边形可作类似考虑),探险家前进的方向即为投石问路的石子,探险家背着一个袋子,袋子里装着前进方向的石子。开始,探险家只有一颗石子,某一个表明能够进入的边界单元的石子,能够从这一边界单元进入的条件是,他所带的高程标准表明这一单元的高程比高程标准低。探险家投出这颗石子从这一边界单元进入,进入该单元后(对该单元做标记,表明已经走过),又得到三颗石子,即三个可能前进的方向,需要对这三颗石子检验是否可以继续用于投石问路,首先检验石子指明方向的单元是否具有已走过的标志,如果有则丢弃之,如果没有则保留,继续下一步检验。继续检验的条件是石子指明前进方向的单元高程比所带的高程标准是高还是低,如果高则该石子不合格,丢弃之,是低则合格,放入袋子中,袋中石子个数自动增加。检验完后,判断袋子中的石头个数,如果不为零,则可以继续往下探寻,再从袋子中取出一颗石子(袋中石子个数减一),继续投石问路,直到袋子中没有石子为止。这样就能遍历整个区域,找出与入口单元相连的满足高程标准的连通区域。
从问题的收敛性上来看,这种算法是完全可以收敛的,因为探险家开始的本钱只有一颗石子,每前进一步,得到得石子个数可能为0,1,2,3(别的多边形数目可能不一样,一定包括零),但他一定得消耗一颗用于探路的石子,所以如此不断探寻下去,最后石子用完,连通区域也就找出来了。