首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种水库水下数字高程模型的构建方法_威海水利工程集团有限公司_202410322844.1 

申请/专利权人:威海水利工程集团有限公司

申请日:2024-03-21

公开(公告)日:2024-06-18

公开(公告)号:CN117932974B

主分类号:G06F30/20

分类号:G06F30/20;G06F16/901;G06F113/08

优先权:

专利状态码:有效-授权

法律状态:2024.06.18#授权;2024.05.14#实质审查的生效;2024.04.26#公开

摘要:本发明提供一种水库水下数字高程模型的构建方法,涉及数据处理技术领域,所述方法包括:根据自适应分辨率的格网索引,识别包含水深数据点的非空边界格网;根据非空边界格网以及地形特征线,通过三角剖分法对所有水深数据点进行三角剖分,生成初始的三角网;识别并处理未被初始的三角网覆盖的孤立水深数据点;将孤立水深数据点插入到初始的三角网中,并相应的更新三角网的结构,以得到更新的三角网;对更新的三角网进行局部优化处理,以得到初步的数字高程模型;对初步的数字高程模型进行验证,以得到最终的数字高程模型。本发明提高了数据处理和模型构建的效率。

主权项:1.一种水库水下数字高程模型的构建方法,其特征在于,所述方法包括:根据水深数据的密度和变化率在二维平面上建立自适应分辨率的格网索引;根据自适应分辨率的格网索引,识别包含水深数据点的非空边界格网;根据非空边界格网以及地形特征线,通过三角剖分法对所有水深数据点进行三角剖分,生成初始的三角网;识别并处理未被初始的三角网覆盖的孤立水深数据点;将孤立水深数据点插入到初始的三角网中,并相应的更新三角网的结构,以得到更新的三角网;对更新的三角网进行局部优化处理,以得到初步的数字高程模型;对初步的数字高程模型进行验证,以得到最终的数字高程模型;根据水深数据的密度和变化率在二维平面上建立自适应分辨率的格网索引,包括:对水深数据进行评估,确定水深数据的空间分布和密度;根据水深数据的密度,设定一个初始格网;在每个初始格网内,计算水深数据的变化率;计算水深数据的变化率与预设的阈值之间的差值;根据差值,动态调整初始格网的大小,以得到自适应分辨率格网;构建用于存储自适应分辨率格网的索引;所述索引包含每个格网的位置信息、大小、包含的水深数据点;根据自适应分辨率的格网索引,识别包含水深数据点的非空边界格网,包括:创建一个空的集合,用于存储识别出的非空边界格网;从自适应分辨率的格网索引中开始遍历每个格网;对于每个遍历到的格网,检查格网是否包含水深数据点;如果一个格网包含水深数据点,则检查格网是否至少有一条边与数据区域的外部边界相邻的格网;如果一个格网的任何一个邻接格网不包含水深数据点,则当前格网被视为边界格网;根据非空边界格网以及地形特征线,通过三角剖分法对所有水深数据点进行三角剖分,生成初始的三角网,包括:获取所有非空边界格网中的水深数据点,以及地形特征线数据;根据地形特征线数据构建约束边集合;创建一个空的三角网数据结构,用于存储和管理生成的三角形面片;根据所有水深数据点计算凸包,根据凸包的边界构建初始的三角网框架;从尚未处理的水深数据点集中获取插入数据点,并在当前的三角网中找到包含插入数据点的三角形;将找到的三角形分裂成多个新的三角形,使得插入数据点成为新的三角形的顶点之一;对新的三角形进行局部优化,重复操作,直到所有数据点都被插入到三角网中,最终生成初始的三角网;识别并处理未被初始的三角网覆盖的孤立水深数据点,包括:遍历所有的水深数据点;对于当前正在处理的水深数据点,使用循环的空间索引结构遍历三角网中的所有三角形;对于每个三角形,判断当前点是否在三角形内,若是,则终止内部循环;若在遍历完所有三角形后,当前的水深数据点未被任何三角形所包含,则将当前的水深数据点标记为未被覆盖的孤立点;当完成对当前的水深数据点的处理后,继续遍历下一个水深数据点,并重复操作,直至遍历完所有的水深数据点,以得到一个包含了所有未被三角网覆盖的孤立点列表;将孤立水深数据点插入到初始的三角网中,并相应的更新三角网的结构,以得到更新的三角网,包括:从孤立点列表中选取一个点作为插入点;使用空间查询算法在当前的三角网中找到当前三角形;将当前三角形分裂成多个新三角形,以使插入点成为新三角形的顶点之一;将新三角形添加到三角网的数据结构中,并更新相关的邻接关系和空间索引;重复操作,直到所有孤立的水深数据点都被插入到三角网中,在每次迭代中,均选择一个新的孤立点进行插入,并对三角网进行更新;根据所有水深数据点计算凸包,根据凸包的边界构建初始的三角网框架,可以包括:在所有的水深数据点中选择一个起始点,以起始点为中心,根据其他数据点与起始点之间的极角进行排序,极角为从x轴正方向逆时针到连接起始点和该点的线段所形成的角度;如果两个点与起始点的极角相同,则根据它们到起始点的距离进行排序,距离较近的点排在前面;排序后的点集将按照顺时针方向围绕起始点排列;创建一个栈来存储凸包上的点,将起始点、排序后的第一个点和第二个点依次压入栈中,这些点构成了凸包的初始部分;从排序后的第三个点开始,依次遍历剩余的点,对于每个遍历到的点,执行以下操作:弹出栈顶的点,并将其记为top;检查栈中倒数第二个点记为second_top、top和当前遍历到的点记为current,是否构成一个向右转的弯,具体包括:假设有三个点:second_top、top和current,它们分别代表栈中倒数第二个点、栈顶点和当前遍历到的点,可以定义两个向量:向量从second_top指向top:;向量从top指向current,;计算叉积在二维空间中是一个标量值,计算公式为: ;其中,和分别是向量的x和y分量,和分别是向量的x和y分量;如果0,则说明从second_top到top再到current构成了一个向左转的弯;如果0,则说明构成了一个向右转的弯;如果=0,则说明这三个点共线,其中,若是向右转的弯,则意味着当前点current不在凸包上,需要继续检查栈中的点;每次遍历到一个新的点current,都会与栈顶的两个点second_top和top进行叉积计算,如果计算结果显示构成了一个向右转的弯,就会持续弹出栈顶的点,直到满足凸性条件或者栈中只剩下两个点为止;将当前遍历到的点current压入栈中;当遍历完所有的点之后,栈中存储的点就构成了凸包上的顶点,这些点按照它们被压入栈的顺序连接在一起,就形成了包围所有数据点的最小凸多边形;将找到的三角形分裂成多个新的三角形,使得插入数据点成为新的三角形的顶点之一,具体包括,将插入数据点与包含它的三角形的三个顶点分别相连,形成三条新的边,这三条新边与原始三角形的三条边相交,将原始三角形分割成三个新的三角形,每个新三角形都有一个共同的顶点,即插入数据点;对新的三角形进行局部优化,重复操作,直到所有数据点都被插入到三角网中,最终生成初始的三角网,具体包括,根据三角形的边长比确定需移动的点;对于每个需移动的点,通过分析需移动的点与其相邻点之间的关系计算移动方向和距离;根据移动方向和距离,将需移动的点移动到新的位置;当移动点之后,更新三角网的数据结构;多次迭代执行点移动,直到达到终止条件。

全文数据:

权利要求:

百度查询: 威海水利工程集团有限公司 一种水库水下数字高程模型的构建方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。