顾及水面比降的河道水面三维可视化方法

2019-10-23 08:52232323
长江科学院院报 2019年10期
关键词:边界点测站多边形

232323

(1. 长江勘测规划设计研究有限责任公司,武汉 430010; 2.长江空间信息技术工程有限公司(武汉),武汉 430010;3.湖北省水利信息感知与大数据工程技术研究中心, 武汉 430010)

1 研究背景

水面三维可视化是综合利用计算机图形学、数字图像处理、计算几何等手段对水体表面进行三维真实感表达的一种技术,主要应用于3D游戏[1]、数字流域[2]、数字城市[3]等领域。相对于二维数值仿真,对水面进行三维可视化,符合人们对于客观世界的认知习惯,具有更好的直观性和逼真度[4]。

而进行大尺度、流域级的河道水面三维可视化时,河道上下游或库首库尾的水面比降十分显著,如果不考虑水面比降,河道水位高程表达与河道两岸水面淹没的准确性将受到很大影响,特别是在淹没分析、洪水推演等对水位表达有一定精度要求的应用场合。

本文分析了水面比降对流域级河道水面三维可视化的影响,并采用空间插值、三维渲染等方法,重点研究了基于河道水位过程数据和水面边界数据进行河道水位的连续变化插值算法,最后通过三峡库区真实水位过程数据进行了三维可视化验证。

2 水面比降对水面三维可视化的影响

水面比降是沿河道水流方向,单位水平距离的水面高程差,以千分率或万分率表示,可用式(1)计算[5]。

(1)

式中:I为水面比降;D为上下游断面间的河道距离(m);Lu,Ld分别为该河段上下游断面水位值(m)。

正因为水面比降的存在,河道上游往下游的水位高程是逐步下降的,因而在进行流域级的河道水面三维可视化时,河道水面不能简单近似为水平面。

现有关于水面三维可视化的方法主要分2类:第1类为纹理水,主要通过动态纹理、凹凸纹理、投影纹理等技术,模拟水面的反射、折射、波光等视觉效果[6-7]。这种方法效率较高,但该方法只能在一个固定的平面上进行水面可视化,无法体现水体的波浪起伏,主要应用在洪水演进[8]、水文仿真[9]与流域可视化[10-11]等方面。第2类为顶点水,主要通过波谱模拟、傅里叶变换、函数组合、流体动力学等数学方法来模拟水体格网顶点高程的变化,进而体现水面的波浪起伏效果[12]。这种方法起伏效果真实,但是计算量较大,效率不高,往往应用于海浪的三维可视化[13-14]及海战场景仿真[15]等领域。而且,这2类方法都是在同一高程平面上进行渲染,都没有考虑天然河道上游水位高、下游水位低,即存在水面比降的特性,因而难以适用于流域级的水位过程三维可视化。

3 顾及水面比降的河道水面插值

天然河道的水面比降直接体现在河道水文测站的水位过程数据,它直观地表达了河道水位随时间的变化。因此,为了解决传统河道水面三维可视化方法不能体现水面比降特性的缺陷,本文基于河道不同水文测站的水位过程数据对水面边界多边形三角化后的顶点高程进行插值与调整,进而实现贴合天然河道水位的水面三维可视化。关键流程如图1所示。

图1 河道水面插值流程示意图

3.1 数据准备与预处理

准备河道水面边界多边形数据、河道沿线水文站水位过程线数据,如图1(a)所示,多边形为河道水面边界,圆点为沿河道水文站。河道沿线测站水位过程线数据包含:测站编号、xy坐标、水位、时间。其中,测站编号按照从上游到下游的顺序从0依次增加。

预处理包含2步:①通过设置增密点间距或目标点数量,增加水面边界点数量,如图1(b)所示;边界点数量越多,水面边界多边形三角化后的三角形越多,进而三维水面越逼近真实水位、显示效果越平滑。②将增密后的多边形三角化为一系列三角网集合,如图1(c)所示。

水面边界多边形三角网生成之后,即可基于河道沿线水文测站的水位过程数据对多边形三角网的顶点高程进行插值和动态调整,如图1(d)所示。

3.2 基于水位过程线的边界点水位高程插值

以相邻2个站点水位高程的线性插值为例,算法流程如下:

(1)遍历增密后的三角网边界点P。

(2)计算与当前边界点P距离最近的测站Si,其编号为i,对应某一时刻的水位Li。

(3)根据测站Si及相邻测站Si-1,Si+1的水位计算边界点P的插值后水位Lp。具体分3类情况:

①如果i=0,则站点Si为起始测站,无上游测站, 下游测站为Si+1,如图2所示。

图2 i=0情况示意图

分别计算站点P到直线SiSi+1的垂足F0与站点Si,Si+1的距离di,di+1。设Si+1水位为Li+1,边界点P的线性插值水位Lp满足(Lp-Li)/(Lp-Li+1)=di/di+1,则有

(2)

②如果i=n,则站点Si为终止测站,无下游测站, 上游测站Si-1,参见图3。

图3 i=n的情况示意图

分别计算站点P到直线SiSi-1的垂足F0与站点Si,Si-1的距离di,di-1。设Si-1水位为Li-1,边界点P的线性插值水位Lp满足(Lp-Li)/(Lp-Li-1)=di/di-1,则有

(3)

③如果0

(a)若F1,F2分别同时落在或同时不落在线段SiSi-1,SiSi+1上,参见图4。则取

Lp=Li。

(4)

图4 垂足都落在或都不落在线段上的情况示意图

(b)若F1落在线段SiSi-1上,且F2不落在线段SiSi+1上,如图5所示。设垂足F1与站点Si,Si-1的之间距离分别为d1i,di-1,则满足(Lp-Li)/(Li-1-Lp)=d1i/di-1。此时边界点P的线性插值水位Lp为

(5)

图5 垂足仅落在与上游测站相连线段上的情况

(c)若F1不落在线段SiSi-1上,且F2落在线段SiSi+1上,如图6所示,设垂足F2与站点Si,Si+1之间的距离分别为d2i,di+1,则满足(Li-Lp)/(Lp-Li+1)=d2i/di+1。此时边界点P的线性插值水位Lp为

(6)

图6 垂足仅落在与下游测站相连接线段上的情况

(4)用Lp值更新边界点P的高程,包含边界点P的三角形顶点高程也相应更新。

(5)重复(1)—(4)步,直到增密后所有多边形边界点处理完毕。

3.3 三角网内的水面绘制

经过边界点水位高程插值与调整后,原本共面的三角网转变为贴合天然河道水位变化的三维曲面。此时,可在三维曲面的每一个三角形内,运用传统的方法如颜色半透明、纹理水或顶点水等方法绘制水面,即可形成贴合天然河道水位的三维水面,见图7。

图7 2种水体渲染效果

4 方法验证

以三峡水库水面边界线和水文站实测水位数据为基础,采用C++开发语言、GDAL进行矢量读写、以及OSG作为三维渲染引擎进行试验分析与展示。

选取三峡水库巴东二站至三斗坪坝址部分的水面边界线,并选取了2012年8月4日8时12座测站的水位作为输入,自下游到上游分别为三斗坪坝址158.42 m、太平溪158.44 m、柳林溪158.47 m、九弯溪158.52 m、新滩158.6 m、香溪158.64 m、秭归站158.68 m、沙镇溪158.72 m、泄滩镇158.75 m、谢家河158.77 m、骆驼河158.79 m、巴东二站158.81 m。测站分布点叠加在库区水面边界多边形上的效果如图8所示。

图8 三峡库区水文测站分布

经过水面边界的加密、三角化与水位高度插值调整之后,原始平面多边形变为顾及水面比降、贴合水面水位变化的三维曲面。水面插值调整后的三角网视图如图9所示。

图9 水位插值调整后的三角网视图

图10 半透明水面三维可视化效果

将插值调整后的半透明水面边界多边形叠加在三峡库区真三维地形上,效果如图10所示。可见,本方法顾及了上游至下游存在水面比降的天然特性,能够实现连续水面的三维可视化。

5 结 论

本文分析了水面比降对于河道水面三维可视化的影响以及现有方法在同一水平面完成水面三维可视化的局限性,提出了一种多边形三角网化与基于水位过程线的水位高程插值相结合的河道水面三维可视化方法,并在三峡库区三维GIS场景数据上进行了叠加显示,取得了预期效果。该方法可应用在淹没分析、洪水推演等对水位表达有一定精度要求的场合。

本文提出的水面三维可视化方法可以精确展示水面淹没的视觉效果,但是要实现大尺度河道淹没范围边界数据的提取,还需要结合三维地形数据进行精确计算。因此,进一步研究的方向在于:①相邻水文测站间河道走向过于曲折情况下的优化处理;②顾及水面比降的河道淹没边界线的提取。

猜你喜欢
边界点测站多边形
GNSS钟差估计中的两种测站选取策略分析
多边形中的“一个角”问题
WiFi室内定位测站布设优化的DOP数值分析
福海水文站气象要素对比分析
多边形的艺术
解多边形题的转化思想
多边形的镶嵌
区分平面中点集的内点、边界点、聚点、孤立点
基于降维数据边界点曲率的变电站设备识别
多阈值提取平面点云边界点的方法