CN114861444A - 基于kd树的非结构网格地球系统模式观测稀疏化方法 - Google Patents

基于kd树的非结构网格地球系统模式观测稀疏化方法 Download PDF

Info

Publication number
CN114861444A
CN114861444A CN202210533143.3A CN202210533143A CN114861444A CN 114861444 A CN114861444 A CN 114861444A CN 202210533143 A CN202210533143 A CN 202210533143A CN 114861444 A CN114861444 A CN 114861444A
Authority
CN
China
Prior art keywords
pattern
tree
observation
grid
longitude
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210533143.3A
Other languages
English (en)
Other versions
CN114861444B (zh
Inventor
陈妍
曹宇
王辉赞
段博恒
王品强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202210533143.3A priority Critical patent/CN114861444B/zh
Publication of CN114861444A publication Critical patent/CN114861444A/zh
Application granted granted Critical
Publication of CN114861444B publication Critical patent/CN114861444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/005Tree description, e.g. octree, quadtree
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/02Reliability analysis or reliability optimisation; Failure analysis, e.g. worst case scenario performance, failure mode and effects analysis [FMEA]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Testing Or Calibration Of Command Recording Devices (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

本发明公开了基于KD树的非结构网格地球系统模式观测稀疏化方法,包括:获取观测位置和模式网格位置数据并进行预处理;初始化模式网格;构建KD树;针对观测的经纬度位置,查找KD树中与之距离在指定范围内的模式网格中心点,得到L个模式网格中心点;根据模式网格中心点和模式网格中心点与顶点的对应关系,获取模式网格顶点的位置;根据模式网格顶点的位置,保留距模式网格中心点最近的观测,执行上一步直到循环完成,执行下一步;遍历模式网格保留观测序号的存储数组,其保存的观测序号为稀疏化保留的观测序号。本发明与传统的穷举法比,加速效果显著,能够剔除模式网格外的观测,且能够有效去除观测冗余信息。

Description

基于KD树的非结构网格地球系统模式观测稀疏化方法
技术领域
本发明属于计算机和气象、海洋的交叉技术领域,尤其涉及基于KD树的非结构网格地球系统模式观测稀疏化方法。
背景技术
地球系统模式采用数值模拟的手段预报地球未来的大气、海洋、海冰、陆面等演变状态,对气候变化、防灾减灾、经济活动等具有重要意义。地球系统模式的预报效果依赖于初始场的质量,资料同化能够将模式背景场与观测资料相融合,从而改进初始场。为确保资料同化的有效性,当观测的空间分布相较于模式格点更为密集时,需要采用观测稀疏化方法去除观测冗余信息和观测误差相关性。
观测稀疏化方法在每个模式网格中保留至多一个观测,排除冗余观测和位于模式格点之外的观测。对于规则结构网格,模式网格采用二维数组方式存储,模式网格在东西方向和南北方向以等间距分布,能够高效实现观测稀疏化。对于非结构网格,模式网格采用一维数组方式存储,模式网格是无序排列的,目前的高效观测稀疏化方法还很少。然而,非结构网格地球系统模式能够灵活地贴合复杂不规则几何形状的岸线和陡峭的底部地形,且能够针对重点区域进行加密而无需嵌套,这些是结构网格不具备的优势。随着中小尺度过程研究的不断发展与进步,以及超级计算机计算能力不断提高带来的模式分辨率的飞速提升,工程实践对非结构网格地球系统模式观测稀疏化方法的需求也越来越迫切。
现有的观测稀疏化方法对于非结构网格通常采用穷举法。假设共有M个观测、N个模式网格和K个模式网格顶点,每个模式网格为P边形,即具有P个顶点。穷举法首先读取观测
Figure BDA0003640235480000021
(i=1,…,M)的经纬度位置
Figure BDA0003640235480000022
模式网格Gj中心点Ej(j=1,…,N)的经纬度位置
Figure BDA0003640235480000023
模式网格顶点Nk(k=1,…,K)的经纬度位置(lonk,latk),以及模式网格中心点与顶点的对应关系Rjp(j=1,…,N,p=1,…,P);然后,对于每一个观测
Figure BDA0003640235480000024
的经纬度位置
Figure BDA0003640235480000025
遍历模式网格Gj(j=1,…,N),获取该模式网格对应的顶点Rjp(p=1,…,P),则可获取这些顶点的位置
Figure BDA0003640235480000026
依此即可判断观测
Figure BDA0003640235480000027
是否位于Gj内部,若位于内部则记录下来并处理下一个观测,否则循环到下一个模式网格,若
Figure BDA0003640235480000028
不位于任一模式网格内,则直接排除
Figure BDA0003640235480000029
最后,循环处理完所有观测
Figure BDA00036402354800000210
(i=1,…,M)后,查看每个模式网格Gj(j=1,…,N)中是否有多个观测,若观测数目大于1,则计算该模式网格中所有观测与模式网格中心点的距离,保留距离最小的观测,其余观测都排除。
可见传统的观测稀疏化方法需要对观测数M和模式网格数N进行两层循环,计算时间较长,计算效率较低。而目前典型的全球地球系统模式网格点数和观测数分别可达106~107,传统的观测稀疏化方法已经难以满足当前业务预报系统的预报时效要求。
发明内容
如何提供高效、易行、稳定的观测稀疏化方法是本领域急需解决的技术问题。有鉴于此,本发明提出了基于KD树的非结构网格地球系统模式观测稀疏化方法。
本发明公开的基于KD树的非结构网格地球系统模式观测稀疏化方法,包括以下步骤:
S1:获取M个观测位置和N个模式网格位置数据数据,并对数据进行预处理;
S2:初始化模式网格保留观测序号的存储数组NEj=-1(j=1,…,N)和模式网格保留观测的距离数组Ndj=-1(j=1,…,N);
S3:根据模式网格中心点Ej(j=1,…,N)的经纬度位置
Figure BDA0003640235480000031
构建KD树T;
S4:针对观测
Figure BDA0003640235480000032
的经纬度位置
Figure BDA0003640235480000033
查找KD树T中与之距离在指定范围h内的模式网格中心点,得到L个模式网格中心点El(l=1,…,L);
S5:根据模式网格中心点El和模式网格中心点与P个顶点的对应关系Rlp(p=1,…,P),获取模式网格顶点的位置
Figure BDA0003640235480000034
S6:根据模式网格顶点的位置
Figure BDA0003640235480000035
判断观测
Figure BDA0003640235480000036
是否位于模式网格中心点El所对应的模式网格Gl中,若是则计算观测
Figure BDA0003640235480000037
位置
Figure BDA0003640235480000038
与模式网格中心点El位置
Figure BDA0003640235480000039
的距离d:若NEl<0则令NEl=i且Ndl=d,否则判断d与Ndl的大小,若d<Ndl则令NEl=i且Ndl=d;否则循环到l+1,执行第S5步,直到l=1,…,L循环完成,执行第S7步;
S7:循环到i+1执行S4步,直到i=1,…,M循环完成,执行第S8步;
S8:遍历模式网格保留观测序号的存储数组NEj(j=1,…,N),NEj>0中保存的观测序号即为观测稀疏化后保留的观测序号。
进一步的,获取观测位置和模式网格位置数据数据包括:读取观测
Figure BDA00036402354800000310
(i=1,…,M)的经纬度位置
Figure BDA00036402354800000311
模式网格Gj中心点Ej(j=1,…,N)的经纬度位置
Figure BDA00036402354800000312
模式网格顶点Nk(k=1,…,K)的经纬度位置(lonk,latk),以及模式网格中心点与顶点的对应关系Rjp(j=1,…,N,p=1,…,P)。
进一步的,所述对数据进行预处理,包括:
将观测和模式网格的经度范围调整一致,统一为[-180°W,180°E];
若观测或模式网格为循环边界,则复制经度范围在[-180°W,(-180+h)°W]之间的观测并将它们的经度值加360,复制经度范围在[(180-h)°E,180°E]之间的观测并将它们的经度值减360,其中h为指定范围。
进一步的,步骤S3包括:
S301:判断待划分的模式网格中心点集
Figure BDA0003640235480000041
是否为空集,若是,则结束构建过程并执行S4步骤,否则开始构建过程;
S302:设置分割维度D,若KD树为空则设置分割维度D为经度,否则设置当前步分割维度与上一步分割维度不同,即将分割维度D交替设置为经度、纬度;
S303:选用快速排序法对模式网格点的D维度进行排序,选取D维度上位于中位数的模式网格中心点,构造KD树的当前节点;
S304:根据当前节点,将剩余的待划分点放入左子树点集和右子树的待划分点集中,循环执行步骤S301。
进一步的,所述将剩余的待划分点放入左子树点集和右子树的待划分点集中,具体规则为将D维度值小于当前节点D维度值的待划分点放入左子树中,其他的则放入右子树中。
进一步的,步骤S4包括:
S401:以KD树T为初始节点,设置当前节ND=T;
S402:判断当前节点ND是否为空,为空则结束搜索,否则继续搜索;
S403:计算当前节点ND与观测位置
Figure BDA0003640235480000042
之间的距离d1,若d1小于等于指定范围h,则记录当前节点ND为符合要求的模式网格中心点El
S404:判断当前节点ND的分割维度D,计算当前节点ND与观测位置
Figure BDA0003640235480000043
在分割维度D上的距离d2,若d2>h意味着观测位置
Figure BDA0003640235480000044
位于ND的左子树空间内,
Figure BDA0003640235480000051
与左子树空间点的距离可能比与右子树空间点的距离更小,因此优先递归搜索ND的左子树,反之,优先搜索ND的右子树;搜索循环执行S402步骤;
S405:当搜索到叶子节点时,搜索过程开始回溯;判断观测位置
Figure BDA0003640235480000052
与当前节点ND在分割维度D上的距离是否大于指定范围h,若是,意味着当前节点ND的另一子树空间内不可能存在更近的点,则继续回溯;否则,需要执行S402步骤进一步搜索当前节点ND的另一子树空间,直到回溯到KD树根节点T结束。
本发明的有益效果如下:
本发明与传统的穷举法相比,加速效果显著,能够剔除模式网格外的观测,且能够有效去除观测冗余信息。
附图说明
图1本发明的整体流程图;
图2本发明的详细流程图;
图3本发明的构建KD树流程图;
图4本发明查找KD树中与观测距离在指定范围内的模式网格中心点的流程图。
具体实施方式
下面结合附图对本发明作进一步的说明,但不以任何方式对本发明加以限制,基于本发明教导所作的任何变换或替换,均属于本发明的保护范围。
本发明要解决的技术问题是针对现有非结构网格观测稀疏化方法存在的计算效率较低问题,提供一种高效、易行、稳定的观测稀疏化方法。当模式网格数N远大于log2N,基于KD树的观测稀疏化方法搜索效率远高于穷举法,且不受模式网格类型的影响,应用价值高、适用范围广。
本发明的技术方案如图1所示:首先读取模式网格和观测的位置信息并处理循环边界,其次针对非结构模式网格构建KD树,然后根据KD树查找观测所在的模式网格并保存其相对于模式网格中心点的距离,最后保留距模式网格中心点最近的观测。
参考图2,本发明具体技术方案包括以下步骤:
1.读取观测
Figure BDA0003640235480000061
(i=1,…,M)的经纬度位置
Figure BDA0003640235480000062
模式网格Gj中心点Ej(j=1,…,N)的经纬度位置
Figure BDA0003640235480000063
模式网格顶点Nk(k=1,…,K)的经纬度位置(lonk,latk),以及模式网格中心点与顶点的对应关系Rjp(j=1,…,N,p=1,…,P);
2.将观测和模式网格的经度范围调整一致,统一为[-180°W,180°E];
3.若观测或模式网格为循环边界,则复制经度范围在[-180°W,(-180+h)°W]之间的观测并将它们的经度值加360,复制经度范围在[(180-h)°E,180°E]之间的观测并将它们的经度值减360,其中h为指定范围。。
4.初始化模式网格保留观测序号的存储数组NEj=-1(j=1,…,N)和模式网格保留观测的距离数组Ndj=-1(j=1,…,N),-1表明尚未找到位于模式网格中的观测;
5.根据模式网格中心点Ej(j=1,…,N)的经纬度位置
Figure BDA0003640235480000064
构建KD树T,如图3所示,具体方法是:
5.1.判断待划分的模式网格中心点集
Figure BDA0003640235480000065
是否为空集,若是则结束构建过程并执行第6步,否则开始构建过程;
5.2.设置分割维度D,若KD树为空则设置分割维度D为经度,否则设置当前步分割维度与上一步分割维度不同,即将分割维度D交替设置为经度、纬度;
5.3.选用快速排序法对模式网格点的D维度进行排序,选取D维度上位于中位数的模式网格中心点,构造KD树的当前节点;
5.4.根据当前节点,将剩余的待划分点放入左子树点集和右子树的待划分点集中。具体规则为将D维度值小于当前节点D维度值的待划分点放入左子树中,其他的则放入右子树中。循环执行第5.1步;
6.针对观测
Figure BDA0003640235480000071
的经纬度位置
Figure BDA0003640235480000072
查找KD树T中与之距离在指定范围h内的模式网格中心点,得到L个模式网格中心点El(l=1,…,L),查找方法如图4所示:
6.1.以KD树T为初始节点,设置当前节ND=T;
6.2.判断当前节点ND是否为空,为空则结束搜索,否则继续搜索;
6.3.计算当前节点ND与观测位置
Figure BDA0003640235480000073
之间的距离d1,若d1小于等于指定范围h,则记录当前节点ND为符合要求的模式网格中心点El
6.4.判断当前节点ND的分割维度D,计算当前节点ND与观测位置
Figure BDA0003640235480000074
在分割维度D上的距离d2,若d2>h意味着观测位置
Figure BDA0003640235480000075
位于ND的左子树空间内,
Figure BDA0003640235480000076
与左子树空间点的距离可能比与右子树空间点的距离更小,因此优先递归搜索ND的左子树。反之,优先搜索ND的右子树。搜索循环执行第6.2步。
6.5.当搜索到叶子节点时,搜索过程开始回溯。判断观测位置
Figure BDA0003640235480000077
与当前节点ND在分割维度D上的距离是否大于指定范围h。若是,意味着当前节点ND的另一子树空间内不可能存在更近的点,则继续回溯。否则,需要执行第6.2步进一步搜索当前节点ND的另一子树空间。直到回溯到KD树根节点T结束。
7.根据模式网格中心点El和模式网格中心点与顶点的对应关系Rlp(p=1,…,P),获取模式网格顶点的位置
Figure BDA0003640235480000081
8.根据模式网格顶点的位置
Figure BDA0003640235480000082
判断观测
Figure BDA0003640235480000083
是否位于模式网格中心点El所对应的模式网格Gl中。若是则计算观测
Figure BDA0003640235480000084
位置
Figure BDA0003640235480000085
与模式网格中心点El位置
Figure BDA0003640235480000086
的距离d:若NEl<0则令NEl=i且Ndl=d,否则判断d与Ndl的大小,若d<Ndl则令NEl=i且Ndl=d;否则循环到l+1,执行第7步,直到l=1,…,L循环完成,执行第9步;
9.循环到i+1,执行第6步,直到i=1,…,M循环完成,执行第10步;
10.遍历模式网格保留观测序号的存储数组NEj(j=1,…,N),NEj>0中保存的观测序号即为观测稀疏化后保留的观测序号,其余观测即为观测稀疏化剔除的观测;
11.结束。
实施例
1.从网站https://resources.marine.copernicus.eu/product-detail/SST_ GLO_SST_L4_NRT_OBSERVATIONS_010_001/INFORMATION下载海表温度观测数据,从观测数据中读取观测
Figure BDA0003640235480000087
(i=1,…,M)的经纬度位置
Figure BDA0003640235480000088
从非结构网格有限体积海洋模式FVCOM的全球海洋模式数据中模式网格Gj中心点Ej(j=1,…,N)的经纬度位置
Figure BDA0003640235480000089
模式网格顶点Nk(k=1,…,K)的经纬度位置(lonk,latk),以及模式网格中心点与顶点的对应关系Rjp(j=1,…,N,p=1,…,3);
2.将观测和模式网格的经度范围调整一致,统一为[-180°W,180°E];
3.若观测或模式网格为循环边界,则复制经度范围在[-180°W,(-180+h)°W]之间的观测并将它们的经度值加360,复制经度范围在[(180-h)°E,180°E]之间的观测并将它们的经度值减360,其中h为指定范围。
4.初始化模式网格保留观测序号的存储数组NEj=-1(j=1,…,N)和模式网格保留观测的距离数组Ndj=-1(j=1,…,N),-1表明尚未找到位于模式网格中的观测;
5.根据模式网格中心点Ej(j=1,…,N)的经纬度位置
Figure BDA0003640235480000091
构建KD树T,如图3所示,具体方法是:
5.1.判断待划分的模式网格中心点集
Figure BDA0003640235480000092
是否为空集,若是,则结束构建过程并执行第6步,否则开始构建过程;
5.2.设置分割维度D,若KD树为空则设置分割维度D为经度,否则设置当前步分割维度与上一步分割维度不同,即将分割维度D交替设置为经度、纬度;
5.3.选用快速排序法对模式网格点的D维度进行排序,选取D维度上位于中位数的模式网格中心点,构造KD树的当前节点;
5.4.根据当前节点,将剩余的待划分点放入左子树点集和右子树的待划分点集中。具体规则为将D维度值小于当前节点D维度值的待划分点放入左子树中,其他的则放入右子树中。循环执行第5.1步;
6.针对观测
Figure BDA0003640235480000093
的经纬度位置
Figure BDA0003640235480000094
查找KD树T中与之距离在指定范围h内的模式网格中心点,得到L个模式网格中心点El(l=1,…,L),查找方法如图4所示:
6.1.以KD树T为初始节点,设置当前节ND=T;
6.2.判断当前节点ND是否为空,为空则结束搜索,否则继续搜索;
6.3.计算当前节点ND与观测位置
Figure BDA0003640235480000101
之间的距离d1,若d1小于等于指定范围h,则记录当前节点ND为符合要求的模式网格中心点El
6.4.判断当前节点ND的分割维度D,计算当前节点ND与观测位置
Figure BDA0003640235480000102
在分割维度D上的距离d2,若d2>h意味着观测位置
Figure BDA0003640235480000103
位于ND的左子树空间内,
Figure BDA0003640235480000104
与左子树空间点的距离可能比与右子树空间点的距离更小,因此优先递归搜索ND的左子树。反之,优先搜索ND的右子树。搜索循环执行第6.2步。
6.5.当搜索到叶子节点时,搜索过程开始回溯。判断观测位置
Figure BDA0003640235480000105
与当前节点ND在分割维度D上的距离是否大于指定范围h。若是,意味着当前节点ND的另一子树空间内不可能存在更近的点,则继续回溯。否则,需要执行第6.2步进一步搜索当前节点ND的另一子树空间。直到回溯到KD树根节点T结束。
7.根据模式网格中心点El和模式网格中心点与顶点的对应关系Rlp(p=1,…,3),获取模式网格顶点的位置
Figure BDA0003640235480000106
8.根据模式网格顶点的位置
Figure BDA0003640235480000107
判断观测
Figure BDA0003640235480000108
是否位于模式网格中心点El所对应的模式网格Gl中。若是则计算观测
Figure BDA0003640235480000109
位置
Figure BDA00036402354800001010
与模式网格中心点El位置
Figure BDA00036402354800001011
的距离d:若NEl<0则令NEl=i且Ndl=d,否则判断d与Ndl的大小,若d<Ndl则令NEl=i且Ndl=d;否则循环到l+1,执行第7步,直到l=1,…,L循环完成,执行第9步;
9.循环到i+1,执行第三步,直到i=1,…,M循环完成,执行第10步;
10.遍历模式网格保留观测序号的存储数组NEj(j=1,…,N),NEj>0中保存的观测序号即为观测稀疏化后保留的观测序号,其余观测即为观测稀疏化剔除的观测;
11.结束。
对传统的穷举法和基于KD树的观测稀疏化方法进行测试。FVCOM全球海洋模式采用非结构的三角网格,其网格中心点数为688991,网格顶点数为359120。针对全球1/20°的海表温度观测资料进行稀疏化,除去陆地、湖泊、河流、海冰点后,观测数为14160103。采用湖南大学国家超级计算长沙中心的天河一号,计算节点主频为2.3GHz,内存为48G。仅使用单核,传统的穷举法处理1个观测的计算时间约为218s,基于KD树的非结构网格地球系统模式观测稀疏化方法处理14160103个观测的计算时间约为15s,加速效果显著。基于KD树的非结构网格地球系统模式观测稀疏化方法能够剔除模式网格外的观测,且能够有效去除观测冗余信息。
本发明的有益效果如下:
本发明与传统的穷举法相比,加速效果显著,能够剔除模式网格外的观测,且能够有效去除观测冗余信息。
本文所使用的词语“优选的”意指用作实例、示例或例证。本文描述为“优选的”任意方面或设计不必被解释为比其他方面或设计更有利。相反,词语“优选的”的使用旨在以具体方式提出概念。如本申请中所使用的术语“或”旨在意指包含的“或”而非排除的“或”。即,除非另外指定或从上下文中清楚,“X使用A或B”意指自然包括排列的任意一个。即,如果X使用A;X使用B;或X使用A和B二者,则“X使用A或B”在前述任一示例中得到满足。
而且,尽管已经相对于一个或实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以多个或多个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的存储方法。
综上所述,上述实施例为本发明的一种实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何背离本发明的精神实质与原理下所做的改变、修饰、代替、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (6)

1.基于KD树的非结构网格地球系统模式观测稀疏化方法,其特征在于,包括以下步骤:
S1:获取获取M个观测位置和N个模式网格位置数据,并对数据进行预处理;
S2:初始化模式网格保留观测序号的存储数组NEj=-1(j=1,…,N)和模式网格保留观测的距离数组Ndj=-1(j=1,…,N);
S3:根据模式网格中心点Ej(j=1,…,N)的经纬度位置
Figure FDA0003640235470000011
构建KD树T;
S4:针对观测
Figure FDA0003640235470000012
的经纬度位置
Figure FDA0003640235470000013
查找KD树T中与之距离在指定范围h内的模式网格中心点,得到L个模式网格中心点El(l=1,…,L);
S5:根据模式网格中心点El和模式网格中心点与P个顶点的对应关系Rlp(p=1,…,P),获取模式网格顶点的位置
Figure FDA0003640235470000014
S6:根据模式网格顶点的位置
Figure FDA0003640235470000015
判断观测
Figure FDA0003640235470000016
是否位于模式网格中心点El所对应的模式网格Gl中,若是则计算观测
Figure FDA0003640235470000017
位置
Figure FDA0003640235470000018
与模式网格中心点El位置
Figure FDA0003640235470000019
的距离d:若NEl<0则令NEl=i且Ndl=d,否则判断d与Ndl的大小,若d<Ndl则令NEl=i且Ndl=d;否则循环到l+1执行第S5步,直到l=1,…,L循环完成,执行第S7步;
S7:循环到i+1执行S4步,直到i=1,…,M循环完成,执行第S8步;
S8:遍历模式网格保留观测序号的存储数组NEj(j=1,…,N),NEj>0中保存的观测序号即为观测稀疏化后保留的观测序号。
2.根据权利要求1所述的基于KD树的非结构网格地球系统模式观测稀疏化方法,其特征在于,获取观测位置和模式网格位置数据包括:读取观测
Figure FDA00036402354700000110
Figure FDA00036402354700000112
的经纬度位置
Figure FDA00036402354700000111
模式网格Gj中心点Ej(j=1,…,N)的经纬度位置
Figure FDA0003640235470000021
模式网格顶点Nk(k=1,…,K)的经纬度位置(lonk,latk),以及模式网格中心点与顶点的对应关系Rjp(j=1,…,N,p=1,…,P)。
3.根据权利要求1所述的基于KD树的非结构网格地球系统模式观测稀疏化方法,其特征在于,所述对数据进行预处理,包括:
将观测和模式网格的经度范围调整一致,统一为[-180°W,180°E];
若观测或模式网格为循环边界,则复制经度范围在[-180°W,(-180+h)°W]之间的观测并将它们的经度值加360,复制经度范围在[(180-h)°E,180°E]之间的观测并将它们的经度值减360,其中h为指定范围。
4.根据权利要求1所述的基于KD树的非结构网格地球系统模式观测稀疏化方法,其特征在于,步骤S3包括:
S301:判断待划分的模式网格中心点集
Figure FDA0003640235470000022
是否为空集,若是,则结束构建过程并执行S4步骤,否则开始构建过程;
S302:设置分割维度D,若KD树为空则设置分割维度D为经度,否则设置当前步分割维度与上一步分割维度不同,即将分割维度D交替设置为经度、纬度;
S303:选用快速排序法对模式网格点的D维度进行排序,选取D维度上位于中位数的模式网格中心点,构造KD树的当前节点;
S304:根据当前节点,将剩余的待划分点放入左子树点集和右子树的待划分点集中,循环执行步骤S301。
5.根据权利要求4所述的基于KD树的非结构网格地球系统模式观测稀疏化方法,其特征在于,所述将剩余的待划分点放入左子树点集和右子树的待划分点集中,具体规则为将D维度值小于当前节点D维度值的待划分点放入左子树中,其他的则放入右子树中。
6.根据权利要求1所述的基于KD树的非结构网格地球系统模式观测稀疏化方法,其特征在于,步骤S4包括:
S401:以KD树T为初始节点,设置当前节ND=T;
S402:判断当前节点ND是否为空,为空则结束搜索,否则继续搜索;
S403:计算当前节点ND与观测位置
Figure FDA0003640235470000031
之间的距离d1,若d1小于等于指定范围h,则记录当前节点ND为符合要求的模式网格中心点El
S404:判断当前节点ND的分割维度D,计算当前节点ND与观测位置
Figure FDA0003640235470000032
在分割维度D上的距离d2,若d2>h意味着观测位置
Figure FDA0003640235470000033
位于ND的左子树空间内,
Figure FDA0003640235470000034
与左子树空间点的距离可能比与右子树空间点的距离更小,因此优先递归搜索ND的左子树,反之,优先搜索ND的右子树;搜索循环执行S402步骤;
S405:当搜索到叶子节点时,搜索过程开始回溯;判断观测位置
Figure FDA0003640235470000035
与当前节点ND在分割维度D上的距离是否大于指定范围h,若是,意味着当前节点ND的另一子树空间内不可能存在更近的点,则继续回溯;否则,需要执行S402步骤进一步搜索当前节点ND的另一子树空间,直到回溯到KD树根节点T结束。
CN202210533143.3A 2022-05-12 2022-05-12 基于kd树的非结构网格地球系统模式观测稀疏化方法 Active CN114861444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210533143.3A CN114861444B (zh) 2022-05-12 2022-05-12 基于kd树的非结构网格地球系统模式观测稀疏化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210533143.3A CN114861444B (zh) 2022-05-12 2022-05-12 基于kd树的非结构网格地球系统模式观测稀疏化方法

Publications (2)

Publication Number Publication Date
CN114861444A true CN114861444A (zh) 2022-08-05
CN114861444B CN114861444B (zh) 2024-04-02

Family

ID=82637401

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210533143.3A Active CN114861444B (zh) 2022-05-12 2022-05-12 基于kd树的非结构网格地球系统模式观测稀疏化方法

Country Status (1)

Country Link
CN (1) CN114861444B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115935118A (zh) * 2022-12-27 2023-04-07 中科三清科技有限公司 数据处理方法、装置、存储介质及芯片

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015303A1 (en) * 2004-07-19 2006-01-19 Fang Gang P Method for generating and evaluating a table model for circuit simulation
US20140040215A1 (en) * 2011-04-12 2014-02-06 Thomson Licensing Method for encoding a mesh model, encoded mesh model and method for decoding a mesh model
CN108171793A (zh) * 2018-01-19 2018-06-15 北京建筑大学 一种探查层叠区域三角网格的方法
CN109948002A (zh) * 2019-03-14 2019-06-28 空气动力学国家重点实验室 基于平衡kd树的非结构网格最近壁面距离求解方法
CN112181991A (zh) * 2020-10-15 2021-01-05 中国人民解放军国防科技大学 基于快速构建kd树的地球模拟系统网格重映射方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060015303A1 (en) * 2004-07-19 2006-01-19 Fang Gang P Method for generating and evaluating a table model for circuit simulation
US20140040215A1 (en) * 2011-04-12 2014-02-06 Thomson Licensing Method for encoding a mesh model, encoded mesh model and method for decoding a mesh model
CN108171793A (zh) * 2018-01-19 2018-06-15 北京建筑大学 一种探查层叠区域三角网格的方法
CN109948002A (zh) * 2019-03-14 2019-06-28 空气动力学国家重点实验室 基于平衡kd树的非结构网格最近壁面距离求解方法
CN112181991A (zh) * 2020-10-15 2021-01-05 中国人民解放军国防科技大学 基于快速构建kd树的地球模拟系统网格重映射方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郭中州;何志强;夏陈超;陈伟芳;: "高效计算网格壁面距离的KD树方法", 国防科技大学学报, no. 04, 28 August 2017 (2017-08-28) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115935118A (zh) * 2022-12-27 2023-04-07 中科三清科技有限公司 数据处理方法、装置、存储介质及芯片
CN115935118B (zh) * 2022-12-27 2023-11-14 中科三清科技有限公司 数据处理方法、装置、存储介质及芯片

Also Published As

Publication number Publication date
CN114861444B (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
CN102663028B (zh) 一种适用于全球数字高程模型和遥感影像数据快速空间索引的方法
CN111475597B (zh) 非刚性网格编码、空间对象唯一标识、查询方法及装置
CN112699623A (zh) 基于非结构网格规则化重构技术的高精度热流计算方法
CN116030218A (zh) 四面体网格划分方法、装置、系统及存储介质
CN111552694A (zh) 一种自适应地理空间网格索引方法
CN114861444B (zh) 基于kd树的非结构网格地球系统模式观测稀疏化方法
CN113610983A (zh) 一种离散点空间曲面三角网格自动剖分方法
CN113902872A (zh) 非结构基质网格与裂缝连接性的检测方法、装置及介质
CN115438081A (zh) 一种海量船舶位置点云多级聚合与实时更新方法
CN114510775A (zh) 一种复杂模型三维空间曲网格划分方法
CN114404984A (zh) 游戏场景的数据处理方法、装置、计算机设备及介质
Azri et al. Review of spatial indexing techniques for large urban data management
CN116258834B (zh) 区域海洋scvt网格的生成方法、计算机设备及介质
Weiss et al. The PR-star octree: A spatio-topological data structure for tetrahedral meshes
CN113342999B (zh) 一种基于多层跳序树结构的变分辨率点云简化方法
CN109827585B (zh) 一种快速填补栅格地图中凹形区域的方法
Huang et al. A grid and density based fast spatial clustering algorithm
Gold et al. Voronoi hierarchies
CN116310109A (zh) 一种基于北斗网格的空间三维模型网格填充方法
CN114119882B (zh) 飞行器动态流场分析中高效的嵌套网格宿主单元搜索方法
Dannelongue et al. Efficient data structures for adaptive remeshing with the FEM
CN113946584A (zh) 面向海量矢量数据检索的qrb树索引方法
CN114241026A (zh) 基于平坦度划分的点云精简算法和装置
CN114219911A (zh) 一种基于立体剖分框架的空域网格化建模方法
CN113901156A (zh) 三维自适应网格r+树混合索引构建、维护、查询方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant