一种基于数字孪生的流域建模方法技术

技术编号:37302503 阅读:10 留言:0更新日期:2023-04-21 22:48
本发明专利技术公开了一种基于数字孪生的流域建模方法,包括如下步骤:步骤S1:获取流域所在区域的地理数据,在建模软件Unity中对地理数据进行处理,确定地形表面的曲面拟合函数,得到地形表面的曲面信息;步骤S2:在步骤S1中获取的地形表面的曲面上绘制目标河流网格;步骤S3:给目标河流网格添加着色器,模拟出目标流域。本发明专利技术通过坐标变化、划分网格、拟合样条曲线、样条曲面和添加着色器等,在目前流域模拟过程中,GIS插件中生成的地形能够很好地与河流相配合,使河流能够精确显示在对应的地形区域中。本发明专利技术完成了河床地形的建模,并且与水产生了良好的交互。对于后续实现洪水淹没,雨情预报预警奠定了基础。情预报预警奠定了基础。情预报预警奠定了基础。

【技术实现步骤摘要】
一种基于数字孪生的流域建模方法


[0001]本专利技术属于水文建模
,具体涉及一种基于数字孪生的流域建模方法。

技术介绍

[0002]水文监测是水文工作的重要组成部分,对我国水利规划、水工程建设管理、防汛抗早、水资源管理与保护具有重要意义。近年来,随着通信技术、人工智能技术等新技术的发展,以及全国中小河流水文监测系统工程、全国水文基础设施建设规划等重点项目的实施,我国水文水资源监测能力得到显著提升。
[0003]在对流域水文研究中,对流域进行模拟、分析也尤为重要。现有技术中,数字化流域的生成主要分为两部分,一部分为直接在Unity中添加GIS插件,另一种是设计者手工通过笔刷进行创建流域。对于GIS插件,显示的场景都是一块一块的面片拼凑而成,随着视口空间中裁剪平面远近的改变,其大小会发生改变,无法在数字孪生流域中与水产生视觉效果较好的交互;比如,在流域模拟过程中,GIS插件中生成的地形不能与河流相配合,导致河流不能显示在对应的地形区域中,或者河流出现在河道以外的区域。对于人工笔刷创建的地形,精度不够,与实际中的河床有较大出入,进行河流淹没和洪水预报时效果不理想。

技术实现思路

[0004]本专利技术提供了一种基于数字孪生的流域建模方法,解决现有技术在流域模拟建模过程中,Unity的GIS插件中显示的场景都是一块一块的面片拼凑而成,会随着视口空间中裁剪平面远近的改变,其大小会发生改变,无法在数字孪生流域中与其他物体产生视觉效果较好的交互的技术问题。
[0005]为了解决上述技术问题,本专利技术采用如下方案实现:一种基于数字孪生的流域建模方法,包括如下步骤:步骤S1:获取流域所在区域的地理数据,在建模软件Unity中对地理数据进行处理,确定地形表面的曲面拟合函数,得到地形表面的曲面信息;步骤S2:在步骤S1中获取的地形表面的曲面上绘制目标河流网格;步骤S3:给目标河流网格添加着色器,模拟出目标流域。
[0006]进一步优化,所述步骤S1中,具体包括如下步骤:步骤S1.1:获取流域所在区域的地理数据:通过GIS获取流域所在区域的地理数据,包括流域所在区域的地形图,以及不同位置的经纬度信息和高程信息,即不同位置点在世界坐标系中坐标信息。
[0007]步骤S1.2:数据处理:在Unity中建立三维直角坐标系OXZY,记为模拟坐标系;选择XOZ面为水平面,Y轴方向表示为地形高度,从垂直XOZ平面的方向观察,流域所在区域地形图在XOZ平面中为矩形,将地形图左下角的端点设置为坐标原点O,将流域所在区域内各点在世界坐标系中的坐标值换算为模拟坐标系中的坐标值,然后将经过坐标变换后的数据整合为XLSX格式的表格
文件。
[0008]步骤S1.3:确定曲面拟合函数:S1.3.1:根据步骤S1.2中整合后的坐标数据,选取X轴坐标值相同的一组点的坐标拟合得到一条B样条曲线,选取另外一组X轴坐标值相同的一组点的坐标拟合得到另一条B样条曲线,依次拟合,得到(m+1)条在X轴方向的B样条曲线;采用同样的方法,拟合出(n+1)条在Z轴方向的B样条曲线;m、n均为大于3的正整数。
[0009]S1.3.2:将上述步骤S1.3.1中得到的B样条曲线在 X、Z 两个方向上多次构建拟合成B样条曲面,具体为:(m+1)条在X轴方向的B样条曲线与(n+1)条在Z轴方向的B样条曲线相交,得到(m+1)
×
(n+1)个控制点,由这(m+1)
×
(n+1)个控制点构成一张控制网格,则X、Z两个方向的参数节点矢量分别为X=[x0,x1,

,x
m+k+1
],Z=[z0,z1,

,z
n+l+1
];B样条曲面的方程如下:;式中F
i,j
为控制点集,即三维点云中的点集,i=0,1

m,j=0,1

n;N
i,k
(x)和N
j,l
(z)为B样条曲面基函数,式中k和l表示样条曲线的幂次,下标i和j表示B样条曲线的序号;步骤S1.4:在Unity数字孪生流域模拟平台中进行流域所在区域地形表面创建:在模拟坐标系中,地形图沿X方向每行有xSize个点,沿Z方向每列有zSize个点,共有xSize* zSize个点,赋予每个点对应的X坐标和Z坐标,其中左下角顶点在XOZ中坐标值为(0,0);将每个点的XOZ坐标值代入B样条曲面函数中,获取对应的Y坐标,即得到地形表面对应位置在Unity数字孪生流域平台中的坐标信息,并进行存储;然后采用三角形定义法得到流域所在区域地形表面曲面。
[0010]进一步优化,将流域所在区域内地形上的点在世界坐标系中的坐标值换算为模拟坐标系的坐标值,具体包括如下步骤:设定地形图上A点的位置与模拟坐标系中的原点O重合,则A点在模拟坐标系XOZ平面上的坐标为(0,0);地形图上其他点在模拟坐标系中X轴的坐标值为该点与A点在世界坐标系中X

轴的坐标值之差;同样,地形图上其他点在模拟坐标系中Z轴的坐标值为该点与A点在世界坐标系中Z

轴的坐标值之差。
[0011]对于Y轴坐标值,找出地形图上所有点在世界坐标系中Y

轴坐标值的最小值D,然后将每个点在世界坐标系中Y

轴的坐标值减去D作为其在模拟坐标系中Y轴的坐标;至此得到流域所在区域内地形图上各点在模拟坐标系中的三维坐标值。
[0012]进一步优化,采用三角形定义法得到流域所在区域地形表面曲面,具体包括如下步骤:xSize* zSize个网格顶点按如下规律排列:第一行网格点索引为0~xSize,第二行网格点索引为xSize~2*(xSize+1)

1,
……
,最后一行网格点索引为(zSize

1)*(xSize+1)

1~zSize*(xSize+1)

1。
[0013]三角形通过顶点索引数组定义,按顺时针方向排列,则三角形被视为向前且可见,逆时针三角形被丢弃;每个网格曲面由两个三角形生成,则地形图上左下角顶点处相靠近两个三角形对应的6个顶点索引如下:
triangles[0] = 0;triangles[1] = xSize + 1;triangles[2] = 1;triangles[3] = 1;triangles[4] = xSize + 1;triangles[5] = xSize + 2;按照上述索引方式,循环遍历所有网格,生成大的地形网格。
[0014]进一步优化,所述步骤S2中,绘制目标河流网格,具体包括如下步骤:步骤S2.1:选取多个控制点生成与目标河流形状相同的Catmull

Rom曲线L,在Unity数字孪生流域模拟平台中将目标河流设定为一条网格带,网格带上的顶点对称的分布在曲线L的两边。
[0015]步骤S2.2: 新建本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于数字孪生的流域建模方法,其特征在于,包括如下步骤:步骤S1:获取流域所在区域的地理数据,在建模软件Unity中对地理数据进行处理,确定地形表面的曲面拟合函数,得到地形表面的曲面信息;步骤S2:在步骤S1中获取的地形表面的曲面上绘制目标河流网格;步骤S3:给目标河流网格添加着色器,模拟出目标流域。2.根据权利要求1所述的基于数字孪生的流域建模方法,其特征在于,所述步骤S1中,具体包括如下步骤:步骤S1.1:获取流域所在区域的地理数据:通过GIS获取流域所在区域的地理数据,包括流域所在区域的地形图,以及不同位置的经纬度信息和高程信息,即不同位置点在世界坐标系中坐标信息;步骤S1.2:数据处理:在Unity中建立三维直角坐标系OXZY,记为模拟坐标系;选择XOZ面为水平面,Y轴方向表示为地形高度,从垂直XOZ平面的方向观察,流域所在区域地形图在XOZ平面中为矩形,将地形图左下角的端点设置为坐标原点O,将流域所在区域内各点在世界坐标系中的坐标值换算为模拟坐标系中的坐标值,然后将经过坐标变换后的数据整合为XLSX格式的表格文件;步骤S1.3:确定曲面拟合函数:S1.3.1:根据步骤S1.2中整合后的坐标数据,选取X轴坐标值相同的一组点的坐标拟合得到一条B样条曲线,选取另外一组X轴坐标值相同的一组点的坐标拟合得到另一条B样条曲线,依次拟合,得到(m+1)条在X轴方向的B样条曲线;采用同样的方法,拟合出(n+1)条在Z轴方向的B样条曲线;m、n均为大于3的正整数;S1.3.2:将上述步骤S1.3.1中得到的B样条曲线在 X、Z 两个方向上多次构建拟合成B样条曲面,具体为:(m+1)条在X轴方向的B样条曲线与(n+1)条在Z轴方向的B样条曲线相交,得到(m+1)
×
(n+1)个控制点,由这(m+1)
×
(n+1)个控制点构成一张控制网格,则X、Z两个方向的参数节点矢量分别为X=[x0,x1,

,x
m+k+1
],Z=[z0,z1,

,z
n+l+1
];B样条曲面的方程如下:;式中F
i,j
为控制点集,即三维点云中的点集,i=0,1

m,j=0,1

n;N
i,k
(x)和N
j,l
(z)为B样条曲面基函数,式中k和l表示样条曲线的幂次,下标i和j表示B样条曲线的序号;步骤S1.4:在Unity数字孪生流域模拟平台中进行流域所在区域地形表面创建:在模拟坐标系中,地形图沿X方向每行有xSize个点,沿Z方向每列有zSize个点,共有xSize* zSize个点,赋予每个点对应的X坐标和Z坐标,其中左下角顶点在XOZ中坐标值为(0,0);将每个点的XOZ坐标值代入B样条曲面函数中,获取对应的Y坐标,即得到地形表面对应位置在Unity数字孪生流域平台中的坐标信息,并进行存储;然后采用三角形定义法得到流域所在区域地形表面曲面。3.根据权利要求2所述的基于数字孪生的流域建模方法,其特征在于,所述步骤S1.2中,将流域所在区域内地形上的点在世界坐标系中的坐标值换算为模拟坐标系的坐标值,具体包括如下步骤:
设定地形图上A点的位置与模拟坐标系中的原点O重合,则A点在模拟坐标系XOZ平面上的坐标为(0,0);地形图上其他点在模拟坐标系中X轴的坐标值为该点与A点在世界坐标系中X

轴的坐标值之差;同样,地形图上其他点在模拟坐标系中Z轴的坐标值为该点与A点在世界坐标系中Z

轴的坐标值之差;对于Y轴坐标值,找出地形图上所有点在世界坐标系中Y

轴坐标值的最小值D,然后将每个点在世界坐标系中Y

轴的坐标值减去D作为其在模拟坐标系中Y轴的坐标;至此得到流域所在区域内地形图上各点在模拟坐标系中的三维坐标值。4.根据权利要求3所述的基于数字孪生的流域建模方法,其特征在于,所述步骤S1.4中,采用三角形定义法得到流域所在区域地形表面曲面,具体包括如下步骤:xSize* zSize个网格顶点按如下规律排列:第一行网格点索引为0~xSize,第二行网格点索引为xSize~2*(xSiz...

【专利技术属性】
技术研发人员:熊佳钱燕韦露斯何力劲赵小娥张晓琳谢天云陈畅张义敏何熙希周舜轩林芯伊
申请(专利权)人:水利部珠江水利委员会水文局
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1