CN116361516A - 一种基于多级矩形分块查询目标点所属单元的搜索方法 - Google Patents

一种基于多级矩形分块查询目标点所属单元的搜索方法 Download PDF

Info

Publication number
CN116361516A
CN116361516A CN202310647586.XA CN202310647586A CN116361516A CN 116361516 A CN116361516 A CN 116361516A CN 202310647586 A CN202310647586 A CN 202310647586A CN 116361516 A CN116361516 A CN 116361516A
Authority
CN
China
Prior art keywords
rectangular block
sub
target point
rectangular
level
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
CN202310647586.XA
Other languages
English (en)
Other versions
CN116361516B (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.)
Tianjin Research Institute for Water Transport Engineering MOT
Original Assignee
Tianjin Research Institute for Water Transport Engineering MOT
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 Tianjin Research Institute for Water Transport Engineering MOT filed Critical Tianjin Research Institute for Water Transport Engineering MOT
Priority to CN202310647586.XA priority Critical patent/CN116361516B/zh
Publication of CN116361516A publication Critical patent/CN116361516A/zh
Application granted granted Critical
Publication of CN116361516B publication Critical patent/CN116361516B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于多级矩形分块查询目标点所属单元的搜索方法,属于数据检索技术领域。其中,搜索方法包括:确定第一级分块信息;根据第一级分块信息进行分割处理得到第一级子矩形块;利用所述第一级子矩形块进行四叉树分割处理得到第一级子矩形块四叉树分割结果;根据第一级子矩形块四叉树分割结果获取目标点的搜索结果。发明通过建立多级分块模式将网格单元进行分割,每个子矩形块对应存储各自覆盖的单元。每个子矩形块的坐标范围计算简单,能非常快速的定位点在哪个子矩形块中随着矩形分块数的增多,子矩形块内的搜索量也能成倍的减少,搜索效率也因此随着分块数增多成倍数提高,对于大范围相对均一的网格单元能达到快速搜索的效果。

Description

一种基于多级矩形分块查询目标点所属单元的搜索方法
技术领域
本发明属于数据检索技术领域,尤其是一种基于多级矩形分块查询目标点所属单元的搜索方法。
背景技术
目前的搜索算法,对网格内的所有单元进行遍历,然后逐个单元进行点与三角形空间关系的判断。该方法根据单元序号逐个单元进行遍历,该点与三角形单元的任意两顶点分别组成3个三角形,然后计算这三个三角形的面积之和,是否等于该三角形单元的面积,若是则说明点位于三角形内,反之点位于三角形外。若该点与单元两顶点围成的面积为0,说明点在三角形这两个顶点组成的边上。或者,通过对网格内的所有单元节点的x和y坐标分别进行排序,寻找与离散点坐标最接近的三个节点,然后判断该离散点是否位于节点所属的三角形单元内。坐标排序有较为成熟的算法,并可以通过二分法寻找与离散点最接近的节点。
就现有技术而言,仅适用于单元数量较少的情况,当所属的三角形单元较大时,存在一个邻近的较小的三角形单元,其节点距离目标离散点更近,此时通过最小距离找到的三角形单元并不是点所属单元,此时将无法正确找到所属单元,且算法对所有节点的x和y坐标进行排序,搜索效率低。
发明内容
发明目的:提供一种基于多级矩形分块查询目标点所属单元的搜索方法,以解决现有技术存在的上述问题。
技术方案:一种基于多级矩形分块查询目标点所属单元的搜索方法,包括:
S1、确定第一级分块信息;
S2、根据所述第一级分块信息进行分割处理得到第一级子矩形块;
S3、利用所述第一级子矩形块进行四叉树分割处理得到第一级子矩形块四叉树分割结果;
S4、根据第一级子矩形块四叉树分割结果获取目标点的搜索结果。
进一步的,所述根据第一级分块信息进行分割处理得到第一级子矩形块包括:
根据第一级分块信息创建初始第一级子矩形块组;
基于矩形块算法将各三角形单元添加到各自对应的初始第一级子矩形块中得到第一级子矩形块;
其中,所述初始第一级子矩形块为包含所有节点的外包矩形。
进一步的,所述基于矩形块算法将各三角形单元添加到各自对应的初始第一级子矩形块中得到第一级子矩形块包括:
获取所述三角形单元的外包矩形;
根据所述外包矩形在初始第一级子矩形块组中获取三角形单元对应的初始第一级子矩形块;
利用三角形单元与对应的初始第一级子矩形块进行添加处理得到第一级子矩形块;
其中,所述三角形单元对应的初始第一级子矩形块为与所述三角形单元的外包矩形有交集的子矩形块。
进一步的,所述利用所述第一级子矩形块进行四叉树分割处理得到第一级子矩形块四叉树分割结果包括:
S3-1、利用所述第一级子矩形块进行四叉树分割处理得到子矩形块组;
S3-2、利用所述子矩形块组根据三角形单元获取子矩形块组中对应子矩形块;
S3-3、利用所述三角形单元与其对应子矩形块基于三角形单元所属矩形块算法进行添加处理得到三角形单元列表;
S3-4、判断所述三角形单元列表是否完整,若是,保留三角形单元列表,否则,返回S3-3;
S3-5、根据三角形单元列表基于四叉树分割终止条件得到第一级子矩形块四叉树分割结果;
其中,子矩形块组包括4个大小相同的子矩形块。
进一步的,所述根据三角形单元列表基于四叉树分割终止条件得到第一级子矩形块四叉树分割结果包括:
判断三角形单元列表对应的分割结果是否达到四叉树分割终止条件,若是,则保留第一级子矩形块四叉树分割结果,否则,返回S3-1;
其中,所述四叉树分割终止条件为所述子矩形块分级数达到四叉树深度上限或者所述子矩形块覆盖的三角形单元数量达到三角形单元数量上限。
进一步的,所述根据第一级子矩形块四叉树分割结果获取目标点的搜索结果包括:
S4-1、获取所述第一级子矩形块四叉树分割结果中所述目标点对应的四叉树叶子结点子矩形块;
S4-2、根据所述四叉树叶子结点子矩形块覆盖的三角形单元得到遍历结果;
S4-3、根据所述遍历结果得到目标点对应的三角形单元;
S4-4、根据目标点对应的三角形单元得到目标点的搜索结果。
进一步的,所述根据获取所述第一级子矩形块四叉树分割结果中所述目标点对应的四叉树叶子结点子矩形块包括:
S4-1-1、将所述第一级子矩形块进行均匀分块处理得到第二级子矩形块;
S4-1-2、根据所述第二级子矩形块得到第二级子矩形块组;
S4-1-3、根据所述第二级子矩形块组获取目标点对应的第二级子矩形块作为目标子矩形块;
S4-1-4、获取目标子矩形块的四叉树分割结果对应的各级子矩形块坐标;
S4-1-5、根据各级子矩形块坐标得到所述目标点对应的四叉树叶子结点子矩形块。
进一步的,所述根据所述四叉树叶子结点子矩形块覆盖的三角形单元得到遍历结果包括:
获取各三角形单元的三条边的向量a;
获取各三角形单元三条边起点到目标点的向量b;
获取向量a和对应向量b的叉积得到各三角形单元的位置数据;
利用所述位置数据获取遍历结果。
进一步的,所述利用所述位置数据获取遍历结果包括:
判断所述位置数据中向量a和对应向量b的叉积是否同号,若不同号,则所述目标点的位置结果为目标点位于三角形单元外作为第一状态,若同号,则所述目标点的位置结果位于三角形单元内作为第二状态;
当所述向量a和对应向量b的叉积为0,且向量b为0时,遍历结果为目标点位于三角形单元顶点上作为第三状态;
当所述向量a和对应向量b的叉积为0,且向量b不为0时,遍历结果为目标点位于三角形单元边上作为第四状态;
利用所述第一状态、第二状态、第三状态、第四状态作为状态数据;
利用所述状态数据获取遍历结果。
进一步的,所述利用所述状态数据获取遍历结果包括:
判断所述状态数据是否为第一状态,若是,则放弃处理,否则,保留当前三角形单元作为初始遍历结果;
利用各三角形单元的初始遍历结果作为遍历结果。
有益效果:(1)建立多级分块模式将网格单元进行分割,每个子矩形块对应存储各自覆盖的单元。每个子矩形块的坐标范围计算简单,能非常快速的定位点在哪个子矩形块中随着矩形分块数的增多,子矩形块内的搜索量也能成倍的减少,搜索效率也因此随着分块数增多成倍数提高。本发明对于大范围相对均一的网格单元能达到快速搜索的效果。
(2)对于四叉树空间分割,本发明采用子矩形块内单元数量上限和分级数上限联合作为分割的终止条件。以子矩形块内单元数量上限作为分割终止的条件,根据子区块内的单元规模实现自适应多级分割,减少存储空间的浪费;并且利用分级数上限进行分级深度限制,避免过多分级反而降低搜索效率。
(3)该算法以三角形单元为单位,判断点与单元空间关系,避免了已有算法存在找不到正确的所属单元的错误。
(4)采用同侧法判断点与三角形的空间关系,也适用于其他凸多边形的情况,不仅限于三角形。
附图说明
图1是本发明一种基于多级矩形分块查询目标点所属单元的搜索方法的流程图。
图2是本发明一种基于多级矩形分块查询目标点所属单元的搜索方法的算法流程图。
具体实施方式
在下文的描述中,给出了大量具体的细节以便提供对本发明更为彻底的理解。然而,对于本领域技术人员而言显而易见的是,本发明可以无需一个或多个这些细节而得以实施。在其他的例子中,为了避免与本发明发生混淆,对于本领域公知的一些技术特征未进行描述。
如图1至图2所示,一种基于多级矩形分块查询目标点所属单元的搜索方法,包括:
S1、确定第一级分块信息;
S2、根据所述第一级分块信息进行分割处理得到第一级子矩形块;
S3、利用所述第一级子矩形块进行四叉树分割处理得到第一级子矩形块四叉树分割结果;
S4、根据第一级子矩形块四叉树分割结果获取目标点的搜索结果。
在本实施例中,第一级分块信息为第一级分块x和y方向的分块数,以及三角形网格信息文件,存储节点坐标、单元各顶点对应的节点编号、节点总数、单元总数。当本发明的第一级的均匀矩形分块也等分为四个子矩形块,那么此时本发明的算法即为典型的四叉树空间分割。因此,仅采用四叉树空间分割的算法也属于本发明的替代方案。本发明的单元也不仅仅局限于三角形单元,同样适用于除三角形单元以外的其他凸多边形单元网格。
步骤S2具体包括:
S2-1、根据第一级分块信息创建初始第一级子矩形块组;
S2-2、基于矩形块算法将各三角形单元添加到各自对应的初始第一级子矩形块中得到第一级子矩形块;
其中,所述初始第一级子矩形块为包含所有节点的外包矩形。
在本实施例中,所述初始第一级子矩形块组包括多个初始第一级子矩形块,基于矩形块算法将各三角形单元添加到第一级子矩形块组中各自对应的初始第一级子矩形块中得到第一级子矩形块。
步骤S2-2具体包括:
S2-2-1、获取所述三角形单元的外包矩形;
S2-2-2、根据所述外包矩形在初始第一级子矩形块组中获取三角形单元对应的初始第一级子矩形块;
S2-2-3、利用三角形单元与对应的初始第一级子矩形块进行添加处理得到第一级子矩形块;
其中,所述三角形单元对应的初始第一级子矩形块为与所述三角形单元的外包矩形有交集的子矩形块。
在本实施例中,根据节点坐标计算节点最大最小x和y坐标,据此创建一个包含所有节点在内的外包矩形;将外包举行根据x和y方向分块数分割成N*M个子矩形块;将全部网格单元添加到各自所属的子矩形中去。判断三角形单元是否属于某子矩形块的算法:计算三角形单元的外包矩形,当三角形单元的外包矩形与子矩形块有交集,则认为属于,同一个单元可以属于多个子矩形块。
步骤S3具体包括:
S3-1、利用所述第一级子矩形块进行四叉树分割处理得到子矩形块组;
S3-2、利用所述子矩形块组根据三角形单元获取子矩形块组中对应子矩形块;
S3-3、利用所述三角形单元与其对应子矩形块基于三角形单元所属矩形块算法进行添加处理得到三角形单元列表;
S3-4、判断所述三角形单元列表是否完整,若是,保留三角形单元列表,否则,返回S3-3;
S3-5、根据三角形单元列表基于四叉树分割终止条件得到第一级子矩形块四叉树分割结果;
其中,子矩形块组包括4个大小相同的子矩形块。
步骤S3-5具体包括:
S3-5-1、判断三角形单元列表对应的分割结果是否达到四叉树分割终止条件,若是,则保留第一级子矩形块四叉树分割结果,否则,返回S3-1;
其中,所述四叉树分割终止条件为所述子矩形块分级数达到四叉树深度上限或者所述子矩形块覆盖的三角形单元数量达到三角形单元数量上限。
步骤S4具体包括:
S4-1、获取所述第一级子矩形块四叉树分割结果中所述目标点对应的四叉树叶子结点子矩形块;
S4-2、根据所述四叉树叶子结点子矩形块覆盖的三角形单元得到遍历结果;
S4-3、根据所述遍历结果得到目标点对应的三角形单元;
S4-4、根据目标点对应的三角形单元得到目标点的搜索结果。
步骤S4-1具体包括:
S4-1-1、将所述第一级子矩形块进行均匀分块处理得到第二级子矩形块;
S4-1-2、根据所述第二级子矩形块得到第二级子矩形块组;
S4-1-3、根据所述第二级子矩形块组获取目标点对应的第二级子矩形块作为目标子矩形块;
S4-1-4、获取目标子矩形块的四叉树分割结果对应的各级子矩形块坐标;
S4-1-5、根据各级子矩形块坐标得到所述目标点对应的四叉树叶子结点子矩形块。
在本实施例中,所述目标点对应的四叉树叶子结点子矩形块的获取方式为:利用所述第一级子矩形块四叉树分割结果判断所述目标子矩形块是否为四叉树叶子节点,若是,则所述目标子矩形块为目标点所属的为四叉树叶子节点的子矩形块,否则,根据目标点坐标和当前子矩形块的下一级子矩形块的角点坐标大小关系得到目标点所属的下一级子矩形块,将所述目标点所属的下一级子矩形块作为目标子矩形块判断所述目标子矩形块是否为四叉树叶子节点,直至所述目标子矩形块为目标点所属的为四叉树叶子节点的子矩形块。
步骤S4-2具体包括:
S4-2-1、获取各三角形单元的三条边的向量a;
S4-2-2、获取各三角形单元三条边起点到目标点的向量b;
S4-2-3、获取向量a和对应向量b的叉积得到各三角形单元的位置数据;
S4-2-4、利用所述位置数据获取遍历结果。
步骤S4-2-4具体包括:
S4-2-4-1、判断所述位置数据中向量a和对应向量b的叉积是否同号,若不同号,则所述目标点的位置结果为目标点位于三角形单元外作为第一状态,若同号,则所述目标点的位置结果位于三角形单元内作为第二状态;
S4-2-4-2、当所述向量a和对应向量b的叉积为0,且向量b为0时,遍历结果为目标点位于三角形单元顶点上作为第三状态;
S4-2-4-3、当所述向量a和对应向量b的叉积为0,且向量b不为0时,遍历结果为目标点位于三角形单元边上作为第四状态;
S4-2-4-4、利用所述第一状态、第二状态、第三状态、第四状态作为状态数据;
S4-2-4-5、利用所述状态数据获取遍历结果。
步骤S4-2-4-5具体包括:
S4-2-4-5-1、判断所述状态数据是否为第一状态,若是,则放弃处理,否则,保留当前三角形单元作为初始遍历结果;
S4-2-4-5-2、利用各三角形单元的初始遍历结果作为遍历结果。
在本实施例中,四叉树叶子节点的子矩形块覆盖的三角形单元获取遍历结果的方法可以为:获取所述为四叉树叶子节点的子矩形块覆盖的三角形单元的三角形单元的数量n;判断目标点是否位于三角形单元内,若是,则保留所述三角形单元作为遍历结果,否则,则不保留;按照遍历顺序重复n次上述判断过程,获取遍历结果。判断目标点是否位于三角形单元内的方法可以为:获取所述三角形单元三条边的向量a;获取所述三角形单元三条边起点到目标点的向量b;获取向量a和对应向量b的叉积;判断向量a和对应向量b的叉积是否同号,若不同号,则所述遍历结果为目标点位于三角形单元外,若同号,则所述遍历结果为目标点位于三角形单元内,若所述向量a和对应向量b的叉积存在0值时,则所述遍历结果为目标点位于三角形单元边上;其中,若向量b为0,则目标点位于三角形单元顶点上。
本发明的技术方案将适合均匀对象查询的均匀矩形空间分割方法和适合局部密集对象查询的四叉树空间分割方法结合,均匀矩形空间分割作为第一级,解决大范围均一单元的查询和搜索,第二级以及第二级以上采用四叉树空间分割,解决局部密集单元的查询和搜索。使得本发明查询和搜索对实际情况中大范围单元较为均一,密集单元主要集中在部分区域的情况具有更高的效率。针对不同三角形单元数量的情况进行10000次点所属三角形单元的搜索,测试环境cpu基准频率3.6GHz,Zen 2架构,此环境下本发明提供算法的具体搜索效率如表1所示:
表1. 进行10000次单元搜索的速度测试表(其中多核为6核)
Figure SMS_1
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

Claims (10)

1.一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,包括:
S1、确定第一级分块信息;
S2、根据所述第一级分块信息进行分割处理得到第一级子矩形块;
S3、利用所述第一级子矩形块进行四叉树分割处理得到第一级子矩形块四叉树分割结果;
S4、根据第一级子矩形块四叉树分割结果获取目标点的搜索结果。
2.根据权利要求1所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述根据所述第一级分块信息进行分割处理得到第一级子矩形块包括:
根据第一级分块信息创建初始第一级子矩形块组;
基于矩形块算法将各三角形单元添加到各自对应的初始第一级子矩形块中得到第一级子矩形块;
其中,所述初始第一级子矩形块为包含所有节点的外包矩形。
3.根据权利要求2所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述基于矩形块算法将各三角形单元添加到各自对应的初始第一级子矩形块中得到第一级子矩形块包括:
获取所述三角形单元的外包矩形;
根据所述外包矩形在初始第一级子矩形块组中获取三角形单元对应的初始第一级子矩形块;
利用三角形单元与对应的初始第一级子矩形块进行添加处理得到第一级子矩形块;
其中,所述三角形单元对应的初始第一级子矩形块为与所述三角形单元的外包矩形有交集的子矩形块。
4.根据权利要求1所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述利用所述第一级子矩形块进行四叉树分割处理得到第一级子矩形块四叉树分割结果包括:
S3-1、利用所述第一级子矩形块进行四叉树分割处理得到子矩形块组;
S3-2、利用所述子矩形块组根据三角形单元获取子矩形块组中对应子矩形块;
S3-3、利用所述三角形单元与其对应子矩形块基于三角形单元所属矩形块算法进行添加处理得到三角形单元列表;
S3-4、判断所述三角形单元列表是否完整,若是,保留三角形单元列表,否则,返回S3-3;
S3-5、根据三角形单元列表基于四叉树分割终止条件得到第一级子矩形块四叉树分割结果;
其中,子矩形块组包括4个大小相同的子矩形块。
5.根据权利要求4所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述根据三角形单元列表基于四叉树分割终止条件得到第一级子矩形块四叉树分割结果包括:
判断三角形单元列表对应的分割结果是否达到四叉树分割终止条件,若是,则保留第一级子矩形块四叉树分割结果,否则,返回S3-1;
其中,所述四叉树分割终止条件为所述子矩形块分级数达到四叉树深度上限或者所述子矩形块覆盖的三角形单元数量达到三角形单元数量上限。
6.根据权利要求1所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述根据第一级子矩形块四叉树分割结果获取目标点的搜索结果包括:
S4-1、获取所述第一级子矩形块四叉树分割结果中所述目标点对应的四叉树叶子结点子矩形块;
S4-2、根据所述四叉树叶子结点子矩形块覆盖的三角形单元得到遍历结果;
S4-3、根据所述遍历结果得到目标点对应的三角形单元;
S4-4、根据目标点对应的三角形单元得到目标点的搜索结果。
7.根据权利要求6所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述根据获取所述第一级子矩形块四叉树分割结果中所述目标点对应的四叉树叶子结点子矩形块包括:
S4-1-1、将所述第一级子矩形块进行均匀分块处理得到第二级子矩形块;
S4-1-2、根据所述第二级子矩形块得到第二级子矩形块组;
S4-1-3、根据所述第二级子矩形块组获取目标点对应的第二级子矩形块作为目标子矩形块;
S4-1-4、获取目标子矩形块的四叉树分割结果对应的各级子矩形块坐标;
S4-1-5、根据各级子矩形块坐标得到所述目标点对应的四叉树叶子结点子矩形块。
8.根据权利要求6所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述根据所述四叉树叶子结点子矩形块覆盖的三角形单元得到遍历结果包括:
获取各三角形单元的三条边的向量a;
获取各三角形单元三条边起点到目标点的向量b;
获取向量a和对应向量b的叉积得到各三角形单元的位置数据;
利用所述位置数据获取遍历结果。
9.根据权利要求8所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述利用所述位置数据获取遍历结果包括:
判断所述位置数据中向量a和对应向量b的叉积是否同号,若不同号,则所述目标点的位置结果为目标点位于三角形单元外作为第一状态,若同号,则所述目标点的位置结果位于三角形单元内作为第二状态;
当所述向量a和对应向量b的叉积为0,且向量b为0时,遍历结果为目标点位于三角形单元顶点上作为第三状态;
当所述向量a和对应向量b的叉积为0,且向量b不为0时,遍历结果为目标点位于三角形单元边上作为第四状态;
利用所述第一状态、第二状态、第三状态、第四状态作为状态数据;
利用所述状态数据获取遍历结果。
10.根据权利要求9所述的一种基于多级矩形分块查询目标点所属单元的搜索方法,其特征在于,所述利用所述状态数据获取遍历结果包括:
判断所述状态数据是否为第一状态,若是,则放弃处理,否则,保留当前三角形单元作为初始遍历结果;
利用各三角形单元的初始遍历结果作为遍历结果。
CN202310647586.XA 2023-06-02 2023-06-02 一种基于多级矩形分块查询目标点所属单元的搜索方法 Active CN116361516B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310647586.XA CN116361516B (zh) 2023-06-02 2023-06-02 一种基于多级矩形分块查询目标点所属单元的搜索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310647586.XA CN116361516B (zh) 2023-06-02 2023-06-02 一种基于多级矩形分块查询目标点所属单元的搜索方法

Publications (2)

Publication Number Publication Date
CN116361516A true CN116361516A (zh) 2023-06-30
CN116361516B CN116361516B (zh) 2023-08-29

Family

ID=86913880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310647586.XA Active CN116361516B (zh) 2023-06-02 2023-06-02 一种基于多级矩形分块查询目标点所属单元的搜索方法

Country Status (1)

Country Link
CN (1) CN116361516B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000007169A (ko) * 1998-07-01 2000-02-07 윤덕용 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법
CN105138560A (zh) * 2015-07-23 2015-12-09 北京天耀宏图科技有限公司 基于多级空间索引技术的分布式空间矢量数据管理方法
CN110147682A (zh) * 2019-04-25 2019-08-20 安徽师范大学 基于改进四叉树的差分隐私保护方法
CN112765405A (zh) * 2019-10-21 2021-05-07 千寻位置网络有限公司 空间数据搜索结果的聚类和查询的方法及系统
CN115587227A (zh) * 2022-10-24 2023-01-10 梧州学院 基于区间搜索的快速knn检索方法、装置、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000007169A (ko) * 1998-07-01 2000-02-07 윤덕용 분할된 최소 경계 사각형을 이용한 데이터 베이스 관리 방법
CN105138560A (zh) * 2015-07-23 2015-12-09 北京天耀宏图科技有限公司 基于多级空间索引技术的分布式空间矢量数据管理方法
CN110147682A (zh) * 2019-04-25 2019-08-20 安徽师范大学 基于改进四叉树的差分隐私保护方法
CN112765405A (zh) * 2019-10-21 2021-05-07 千寻位置网络有限公司 空间数据搜索结果的聚类和查询的方法及系统
CN115587227A (zh) * 2022-10-24 2023-01-10 梧州学院 基于区间搜索的快速knn检索方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN116361516B (zh) 2023-08-29

Similar Documents

Publication Publication Date Title
CN107563653A (zh) 一种多机器人全覆盖任务分配方法
Garcia et al. GPU-based dynamic search on adaptive resolution grids
CN113268557A (zh) 一种适应显示导向型可视化分析的快速的空间索引方法
Mamun et al. An efficient minimum spanning tree algorithm
CN113673186A (zh) 一种基于stl文件的笛卡尔网格快速生成方法
CN115658809A (zh) 一种基于局部方向中心性的数据分布式聚类方法及装置
Wu et al. A maximal ordered ego-clique based approach for prevalent co-location pattern mining
CN102043857B (zh) 最近邻查询方法及系统
CN111695281A (zh) 一种四面体网格划分有限元粒子模拟的粒子快速定位方法
CN116361516B (zh) 一种基于多级矩形分块查询目标点所属单元的搜索方法
CN108509532B (zh) 一种应用于地图的聚点方法和装置
CN116186571B (zh) 车辆聚类方法、装置、计算机设备及存储介质
CN115346005B (zh) 基于嵌套包围盒概念用于物面网格的数据结构构建方法
CN115222870B (zh) 非结构网格隐式lusgs均衡着色方法、设备及介质
CN108052778B (zh) 用于无网格粒子模拟技术的邻近粒子高效双重搜索方法
CN114595612B (zh) 基于实体单元积分路径的受力构件的配筋计算方法及系统
Dannelongue et al. Efficient data structures for adaptive remeshing with the FEM
CN108171785B (zh) 用于光线跟踪的sah-kd树设计方法
Fang et al. Algorithm for constrained Delaunay triangulation
Qiao et al. Component-based 2-/3-dimensional nearest neighbor search based on Elias method to GPU parallel 2D/3D Euclidean Minimum Spanning Tree Problem
CN112530017A (zh) Delaunay三角网的构建方法
Wang et al. Hierarchical Voronoi diagram-based path planning among polygonal obstacles for 3D virtual worlds
Thomborson et al. Computing a rectilinear steiner minimal tree in time
CN110704693A (zh) 分布式图计算系统和分布式图计算方法
CN114168656B (zh) 多相三维物理场网格中连续单相区分布检索方法及系统

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