作者:郭晓东 王世涛 赵斐苗
[摘要]该应用软件采用Borland公司C++Builder6和OpenGL开发软件,利用Delaunay三角形插入算法,完成了三维雨量面的模拟生成,具备三维雨量面的等雨量线和点雨量输出的基本功能。
[关键词]三维雨量面 Delaunay GIS OpenGL Bitmap
我国是一个农业大国,对自然气候依赖比较重,容易受到农业灾害的影响。农业灾害最常规的表现形式就是干旱或洪涝灾害,而干旱、洪涝灾害的重要指标之一就是面雨量。如果能及时掌握了比较准确的面雨量,对于农业的抵抗灾害、江河的抗洪能力以及水库的蓄洪规模都具有重要的意义。
随着非常规探测技术的迅猛发展,以自动气象站降水观测资料为主,结合雷达、卫星估测降水资料辅助修正模式正在形成,通过资料融合、四维同化来进行估算已成为流域面雨量估算技术的发展趋势。而以GIS为平台,实现数据分析和显示一体化管理则代表了面雨量业务系统的发展方向。通过水文模拟与水文观测的比较,可以对面雨量估算结果进行间接检验。如何将雨量和上述资料融合在一起,提高降水量精度和降水数量的预测,是一个亟待探讨和研究的重要问题。
三维雨量面,顾名思义就是固定时间段固定区域内任意一点上的降水不流失,整个区域所有点降水将形成一个立体的降水体。在不考虑地貌特征,认为地表是均匀平整的情况下,水体的上表面就是该区域某时段内的三维雨量面。构建三维雨量面要求有大量的数据支撑。
三维雨量面可以更直观的反映面雨量的分布特征,善于表现降水空间分布的复杂性,同时可以非常方便的加入或融合到GIS系统中去。如果结合GIS地理信息提供的地貌资料,风场、温度场、气压场等综合资料,可以进一步揭示空间信息与降雨之间的关系,大大提高降水量预测的精度,还可以准确估算流域的平均降水量,从而更好的预测、预警灾情,对于农业的抵抗灾害、江河的抗洪能力以及水库的蓄洪规模都具有重要的意义。
本文采用利用Borland公司的C++Builder6和OpenGL三维开发软件(如图1所示),开发设计了河南省雨量面模拟、分析软件,再现了河南省某时段的三维雨量面,现简介如下。
一、雨量面的数据支持
三维雨量面的构建必须有大量的数据作为支撑,必须选取合适的插入法。经比较,本文选取了Delaunay三角形插值法。它是气象部门和GIS研究都常用的一种插值方法,其优点如下:
1.三角形插值法可以较好地表现雨量、地形、地貌和物体表面形状特征,准确性可以满足要求;作为主要的数字地形模型表示法,它的生成算法已趋于成熟。
2.三角网保证了相同的观测站点生成的三角形插值图像唯一,可重复性好。易于更新,可适应各种分布密度的数据,减小运算量。
3.结构良好,数据结构简单,数据冗余度小,存储效率高,可以表示线性特征和迭加任意形状的区域边界。
4.三角网三角形数据可以直接用于三维物体的软件生成。
本文将河南省121个气象观测台站作为插入点,根据经纬度利用三角形插值法生成了河南省二维delaunay三角形网络。程序设计过程如下图所示。
二、三维开发软件的选择及技术开发
构建三维的雨量面,常规的程序开发软件难以实现,更难以将多个面、场叠加,最好采用专业的三维开发软件。当前最主流的三维开发软件有DirectX和OpenGL,是两款非常优秀的软件。由于气象部门数据运算需求,经常要在UNIX、LIUNX等操作系统下操作,鉴于OpenGL(Open Graphic Library)具有良好的程序通用性和可移植性,本文选择了采用OpenGL来解决面雨量的三维显示。