期刊专题 | 加入收藏 | 设为首页 12年实力经营,12年信誉保证!论文发表行业第一!就在400期刊网!

全国免费客服电话:
当前位置:首页 > 免费论文 > 经济论文 > 世界经济 >

三维虚拟地球洪水淹没分析算法

1地形瓦片间遍历

有源洪水淹没分析的过程实际上是从淹没种子点开始搜索全部淹没点的过程,因此找出分析区域内的淹没种子点是分析的关键。在有源洪水淹没中,造成淹没的主要原因是大坝决口或者漫堤导致下游区域被淹没,因此可以选择区域内溃坝或漫堤发生处的地形高程点作为初始淹没种子点。现假定分析区域内存在溃坝点o,通过o点经纬度计算得知o点位于地形瓦片A内,以o点作为初始淹没种子点,根据式(1)式(2),由o点的经纬度坐标可以计算出瓦片A的行列号(iA,jA),也可以确定A的邻接关系和邻接瓦片的行列号。同时每个瓦片都定义8个布尔型的邻域标记符,分别对应8个相邻方向,开始分析前将邻域标记符初始化为假(FALSE)。算法过程如下:1)由初始种子点o的经纬度坐标(Bo,Lo)计算出o点所在地形瓦片A的行列号(iA,jA);2)建立用于存储地形瓦片A的淹没点的临时数据集,由o点沿8个相邻方向进行邻域高程点的搜索,对搜索过程中某个高程点d,若其高程值hd小于当前水位h水,则将点d加入该临时记录集,并对点d进行邻域高程点搜索,否则直接返回。3)在A中沿一个方向dir(dir表示8个相邻方向中的一个,其反方向为op_dir)进行搜索,当搜索到A中dir方向边界上的淹没点p时,找到A的dir方向上的邻接瓦片B,判断B中op_dir方向的邻域标记,如果为真,则返回;否则在该邻接瓦片B中找到点p的dir方向的邻域高程点q,判断点q是否符合淹没条件,若是,则将点q加入B的淹没种子点集合,否则返回。4)对A中dir方向边界上的所有淹没点都进行过邻域搜索之后,将B中op_dir方向的邻域标记为真。同时以B的淹没种子点为起点向A沿op_dir方向搜索,找出A在dir方向边界上的淹没种子点,并加入A的淹没种子点集合,搜索完后将A中表示dir方向的邻域标记置为真。5)沿顺时针方向改变dir所示方向,重复步骤3),4),当A中8个相邻方向邻域标记全部为真时清空临时记录集,此时即得到A的全部淹没种子点。6)以瓦片A的邻接瓦片B为待搜索瓦片,淹没种子点为初始种子点,执行步骤2)~5)。7)遍历完区域内所有瓦片之后,结束搜索。瓦片A的淹没种子点集合的搜索过程如图2所示:由初始种子点o开始在A内沿8个方向搜索淹没点,假定A的东边邻接瓦片为B,当搜索到A、B边界时,找到瓦片A内的边界淹没点p,判断B的西边邻域标记W以确定p点是否可以继续向东进入瓦片B进行搜索。若为真,则表示之前已经从B的西边邻接瓦片A进入B中搜索过,不需要再进入B中搜索;否则由点p继续向B内搜索,找到B内与点p直接相邻的边界点q,若q符合淹没条件,将点q加入到瓦片B的淹没种子点集合中,否则返回,搜索完所有种子点后将W标记设置为真。同时由B向A反向搜索。需要注意的是,在搜索过程中,只需要记录找到的淹没种子点,而除此之外的蔓延淹没点并不需要额外记录,这是因为在之后进行单个瓦片的淹没分析的时候,可以通过淹没种子点进行搜索,找出A的完整淹没区域。在瓦片间的搜索过程中,可以通过设置递归步长以达到控制搜索深度的目的。当从某个瓦片A开始搜索时,设置搜索深度变量nDepth为1,进入瓦片A的相邻瓦片B时nDepth变为2,由瓦片B进入B的非A邻接瓦片时,nDepth变为3,而由瓦片B返回瓦片A时nDepth恢复为1。由于搜索瓦片A时,只需搜索到与它直接相邻的8个瓦片即可通过邻接瓦片的反向搜索计算出瓦片A的所有淹没种子点,所以可以将搜索步长控制为1,控制搜索深度nDepth的最大值为2,将对瓦片的递归遍历转换为迭代遍历,避免搜索扩散到瓦片B的非A邻接瓦片进而造成内存的大量消耗。

2地形瓦片内遍历

地形瓦片内遍历主要是在获得地形瓦片的淹没种子点基础上,搜索瓦片内蔓延淹没点的过程。算法步骤如下:(1)取待搜索瓦片A中的一个淹没种子点,沿8个方向进行邻域高程点的搜索,当搜索到某个高程点d时,判断d点是否被搜索过,若是则返回;否则判断d是否满足淹没条件,若满足则将d标记为可淹没,同时标记为已搜索,若不满足则返回;(2)继续搜索下一个淹没种子点,执行步骤(1),直到搜索完成,并获取瓦片内的所有蔓延淹没点。如图3所示,得到每个瓦片的淹没种子点集合后,即可独立地在瓦片内部以淹没种子点为起点对格网DEM高程点进行递归遍历,找出瓦片内所有连通的淹没点。图3(a)显示了瓦片A的淹没种子点集合,经过搜索,A的8个邻域标记全部为真,表示A的淹没种子点集合搜索完成。然后对A进行独立的淹没分析,分别从每个种子点开始,沿8个方向搜索邻域内的高程点,当搜索到某个邻接点d时,先判断d是否被搜索过,若已搜索过,则直接返回,再搜索下一个高程点;否则判断d的高程hd是否低于水位高度h水,若是则将d标记为可淹没已搜索,继续搜索d的8个邻域内的高程点,否则将d标记为已搜索后返回并搜索下一个高程点。对A中的所有淹没种子点完成搜索之后,可以得到由种子点蔓延产生的一系列蔓延淹没点,在图3(b)中以斜线单元格表示,这些蔓延淹没点和淹没种子点一起构成了A的完整淹没区域。

3实验

为了对上述方法进行验证,基于开放式三维虚拟地球集成共享平台软件GeoGlobe进行了实验,实验数据采用了全球90m分辨率STRM地形数据,构建了8级连续分辨率全球地形数据集,根据分析精度,选择了第7级,分辨率180m的地形瓦片分别进行了无源淹没和有源淹没分析的实验。表1显示了在相同的分析范围下有源淹没分析与无源淹没分析的差异。随着洪水水位的上涨,两种分析方法中的淹没种子点都在增加,但是有源淹没分析中的淹没种子点增长率要低得多。此外,定义具有连通性的淹没范围为淹没区域,有源淹没分析保持了淹没区域数目为1,而无源淹没分析的淹没区域数目从2增加到了9。从图4中可以明显地看出,在256m的相同洪水水位下和分析范围内,有源淹没的淹没范围要比无源淹没的淹没范围小得多。无源淹没的淹没范围中包含了许多彼此不连通的独立区域,而有源淹没的淹没范围是一个整体。这说明有源淹没相比于无源淹没体现出了连通性的特征。在此基础上,使用相同实验数据,对本文提出的有源淹没分析方法与文献[2]提出的有源淹没分析方法进行了实验比较,结果如表2所示。从表2可知,在同一个分析范围内,本文提出的有源淹没分析的方法在计算时间要少于传统方法。随着分析范围的扩大,传统方法的计算时间的增长速度要快得多。同时,当分析区域扩大到一定范围后,传统方法就会造成堆栈溢出,而改进的方法却能够很好地运行。

4结语

本文提出了三维虚拟地球下有源洪水淹没分析算法,并且在GeoGlobe上通过一系列实验证明了该方法的有效性。该方法弥补了传统方法只能分析小范围或特定区域的不足,为在三维虚拟地球上进行洪水淹没分析和洪水演进仿真模拟奠定了基础,可以为防洪预警和灾后评估提供决策支持。下一步将结合水文模型,研究三维虚拟地球中洪水演进仿真模拟的方法。

作者:陈静 袁思佳 曾方敏 单位:武汉大学测绘遥感信息工程国家重点实验室  


    更多世界经济论文详细信息: 三维虚拟地球洪水淹没分析算法
    http://www.400qikan.com/mflunwen/jjlw/sjjj/103020.html

    相关专题:新余学院学报 数学论文网


    上一篇:立法保护自然资源论文
    下一篇:王艮的平民观的哲学意义思索

    认准400期刊网 可信 保障 安全 快速 客户见证 退款保证


    品牌介绍