CN113204605A - 一种平面图相交判定方法、装置、设备和存储介质 - Google Patents

一种平面图相交判定方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN113204605A
CN113204605A CN202010078718.8A CN202010078718A CN113204605A CN 113204605 A CN113204605 A CN 113204605A CN 202010078718 A CN202010078718 A CN 202010078718A CN 113204605 A CN113204605 A CN 113204605A
Authority
CN
China
Prior art keywords
grid
intersection
grids
occupation information
plane
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.)
Pending
Application number
CN202010078718.8A
Other languages
English (en)
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.)
Baidu Online Network Technology Beijing Co Ltd
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010078718.8A priority Critical patent/CN113204605A/zh
Publication of CN113204605A publication Critical patent/CN113204605A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Abstract

本申请公开了一种平面图相交判定方法、装置、设备和存储介质,涉及图像检测技术领域。具体实现方案为:获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;根据确定结果判定第一平面图和第二平面图是否相交。本申请实施例的技术方案通过网格占用信息来表示各平面图,内存占用量较小,同时根据两平面图的网格占用信息是否存在交集,判定第一平面图和第二平面图是否相交,能够兼顾计算复杂度和判定结果准确度,从而以相对较低的计算复杂度获取准确度相对较高的判定结果。

Description

一种平面图相交判定方法、装置、设备和存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及图形检测技术。
背景技术
平面图是否相交问题是诸多领域研究过程中的常见问题。现有技术中通常采用以下两种方式来确定两个平面图是否相交:1)利用坐标记录各平面图的所有边,并根据两个平面图的各个边的坐标来确定两个平面图是否相交。2)利用外接矩形表示各平面图,并通过比较两个平面图的外接矩形的坐标来确定这两个平面图是否相交。
然而,上述方案1)对内存的占用较大,计算复杂度较高;方案2)直接采用外接矩形表示平面图,误差较大,平面图是否相交的确定结果的准确度较低。
发明内容
本申请实施例提供了一种平面图相交判定方法、装置、设备和存储介质,以采用相对较低的计算复杂度获得准确度相对较高的判定结果。
第一方面,本申请实施例提供了一种平面图相交判定方法,包括:
获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;
根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;
根据确定结果判定第一平面图和第二平面图是否相交。
本申请实施例通过获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;根据确定结果判定第一平面图和第二平面图是否相交。上述技术方案通过网格占用信息来表示各平面图,内存占用量较小,同时根据两平面图的网格占用信息是否存在交集,判定第一平面图和第二平面图是否相交,能够兼顾计算复杂度和判定结果准确度,从而以相对较低的计算复杂度获取准确度相对较高的判定结果。
可选的,第一网格占用信息包括:第一平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合;
第二网格占用信息包括:第二平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合。
上述申请中的一个可选实施方式,通过将第一网格占用信息细化为包括第一平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合;将第二网格占用信息细化为第二平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合,从而完善了第一平面图和第二平面图的表示信息,为第一平面图和第二平面图的相交判定提供了数据参照。
可选的,根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集,包括:
将第一网格占用信息和第二网格占用信息中,属于第一坐标轴方向的坐标值信息集合进行求交集操作;
若无交集,则确定第一平面图所占用的网格与第二平面图所占用的网格无交集;
若有交集,则将第一网格占用信息和第二网格占用信息中,属于第二坐标轴方向的坐标值信息集合进行求交集操作,以确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集。
上述申请中的一个可选实施方式,将第一平面图所占用的网格与第二平面图所占用的网格的交集确定过程进行细化,以通过第一坐标轴方向的坐标值信息集合是否存在交集进行初次判定,并在无交集的情况下,确定第一平面图所占用网格与第二平面图所占用网格无交集;在有交集的情况下,通过第二坐标轴方向的坐标值信息集合是否存在交集进行二次判定,从而根据交集存在情况你确定第一平面图所占用网格与第二平面图所占用网格是否存在交集。通过分层级判定的方式能够减少不必要的判定操作,减少计算数据量和计算复杂度,能够显著提升判定效率。
可选的,将第一网格占用信息和第二网格占用信息中,属于第二坐标轴方向的坐标值信息集合进行求交集操作包括:
对第一坐标轴方向的坐标值信息交集中的各公共坐标值进行遍历;
对于遍历到的当前公共坐标值,根据第一网格占用信息和第二网格占用信息中属于第二坐标轴方向的坐标值信息集合,确定所述当前公共坐标值对应的网格中,是否存在第一平面图和第二平面图均占用的网格;若存在,则确定有交集;若不存在,则遍历下一个公共坐标值,直至全部公共坐标值被遍历完成。
上述申请中的一个可选实施方式,通过将属于第二坐标轴方向的坐标值信息集合进行求交集操作,细化为对第一坐标轴方向的坐标信息交集中的公共坐标值进行遍历,针对每个遍历到的公共坐标值,确定是否存在第一平面图和第二平面图均占用的网格,并在存在时确定第一平面图与第二平面图存在交集,否则确定第一平面图与第二平面图不存在交集,从而完善了根据第二坐标轴方向的坐标值信息集合进行求交集操作的相关方案。
可选的,所述方法还包括:
针对各平面图,确定所述平面图的外接矩形内的各网格;
对所述外接矩形内的各网格进行数值标记;
根据标记结果确定所述平面图的网格占用信息。
上述申请中的一个可选实施方式,通过针对各平面图,确定平面图的外接矩形内的各网格,并对外接矩形内的各网格进行数值标记;根据标记结果确定平面图的网格占用信息。上述技术方案通过网格标记的方式确定平面图的网格占用信息,从而完善了网格占用信息的确定方式,为平面图相交判定提供数据支撑。
可选的,对所述外接矩形内的各网格进行数值标记,包括:
分别确定所述外接矩形内的各网格是否与所述平面图的边相交,并将确定相交的网格标记为设定数值;
将所述外接矩形内的各其他网格分别标记为设定数值或其他数值;
相应的,根据标记结果确定所述平面图的网格占用信息,包括:
将被标记为设定数值的各网格确定为所述平面图占用的网格,并根据确定结果得到所述平面图的网格占用信息。
上述申请中的一个可选实施方式,通过将对外接矩形内的各网格进行数值标记的操作,细化为确定外接矩形内各网格与平面图的边相交判定,并进行相交标记,并将其他网格进行数值标记,从而完善平面图的外接图形的数值标记操作,进而根据标记结果进行网格占用信息的确定,进一步完善了网格占用信息的确定机制。
可选的,将所述外接矩形内的各其他网格分别标记为设定数值或其他数值,包括:
选取所述外接矩形内的一个未被标记的目标网格,确定目标网格与所述平面图是否相交;
若相交,则将目标网格以及目标网格的上下左右方向上、未被标记的网格,标记为设定数值;将新标记为设定数值的网格的上下左右方向上、未被标记的网格,标记为设定数值,在遇到标记过的网格时停止标记;
若不相交,则将目标网格以及目标网格的上下左右方向上、未被标记的网格,标记为其他数值;将新标记为其他数值的网格的上下左右方向上、未被标记的网格,标记为其他数值,在遇到标记过的网格时停止标记;
重新选择一个未被标记的网格作为新的目标网格后,返回执行确定目标网格与所述平面图是否相交的操作,直至所有的网格被标记完成。
上述申请中的一个可选实施方式,通过将外接矩形内未被标记的其他网格的标记操作,细化为选取其中一个未被标记的目标网格进行标记,并在确定相交时,对该目标网格上下左右的未被标记网格进行设定数值关联标记,直至遇到已标记网格停止标记;在确定不相交时,对该目标网格上下左右的未被标记网格进行其他数值的关联标记,直至遇到已标记网格停止标记。上述方案通过数值关联标记的方式,简化了网格标记过程,减少了网格标记过程中的比对操作,提高了网格标记效率,进而提高了网格占用信息的确定效率。
可选的,第一坐标轴方向为纵向,第二坐标轴方向为横向;或者,
第一坐标轴方向为横向,第二坐标轴方向为纵向。
上述申请中的各可选实施方式,通过将第一坐标轴方向和第二坐标轴方向进行细化,完善了第一网格占用信息和第二网格占用信息所包含的内容形式,同时丰富了根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集的确定方式。
第二方面,本申请实施例还提供了一种平面图相交判定装置,包括:
网格占用信息获取模块,用于获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;
网格交集确定模块,用于根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;
平面图相交确定模块,用于根据确定结果判定第一平面图和第二平面图是否相交。
第三方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面实施例所提供的一种平面图相交判定方法。
第四方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面实施例所提供的一种平面图相交判定方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1A是本申请实施例一中的一种平面图相交判定方法的流程图;
图1B是本申请实施例一中的一种第一平面图的网格示意图;
图1C是本申请实施例一中的第一平面图和第二平面图的对照图;
图1D是本申请实施例一中的第一平面图和第二平面图的对照图;
图2A是本申请实施例二中的一种平面图相交判定方法的流程图;
图2B是本申请实施例二中的网格标记过程示意图;
图2C是本申请实施例二中的网格标记过程示意图;
图2D是本申请实施例二中的网格标记过程示意图;
图2E是本申请实施例二中的网格标记完成后的结果示意图;
图3是本申请实施例三中的一种平面图相交判定装置的结构图;
图4是用来实现本申请实施例的平面图相交判定方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例一
图1A是本申请实施例一中的一种平面图相交判定方法的流程图。本申请实施例适用于对至少两个平面图进行相交判定的情况,该方法可以由平面图相交判定装置执行,该装置通过软件和/或硬件实现,并具体配置于电子设备中。
如图1A所示的一种平面图相交判定方法,包括:
S101、获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息。
其中,第一网格占用信息包括:第一平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合;第二网格占用信息包括:第二平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合。
在本申请实施例的一种可选实施方式中,第一坐标轴方向为纵向,第二坐标轴方向为横向。相应的,第一网格占用信息所包括的坐标信息集合,可以是:第一平面图的第一外接矩形所覆盖网格的纵向坐标值的第一集合,以及第一外接矩形所覆盖的每一行网格分别对应的第二集合。其中,第二集合是指对应行网格与第一平面图具有相交关系的网格的横向坐标值的集合。第二网格占用信息所包括的坐标信息集合,可以是:第二平面图的第二外接矩形所覆盖网格的纵向坐标值的第三集合,以及第二外接矩形所覆盖的每一行网格分别对应的第四集合。其中,第四集合是指对应行网格与第二平面图具有相交关系的网格的横向坐标值的集合。
其中,第一集合中的元素可以包括第一外接矩形的最大纵向坐标值、最小纵向坐标值、和纵向长度中的至少两个。
其中,对于第一外接矩形所覆盖的每一行网格对应的第二集合中的元素,可以包括:当前行中被第一平面图覆盖的各组连续的网格中的起始网格的横向坐标值、连续网格数量以及结束网格的横向坐标值中的至少两个。
其中,第三集合可以包括第二外接矩形的最大纵向坐标值、最小纵向坐标值、和纵向长度中的至少两个。
其中,对于第二外接矩形所覆盖的每一行网格对应的第四集合中的元素,可以包括:当前行中被第二平面图覆盖的各组连续的网格中的起始网格的横向坐标值、连续网格数量以及结束网格的横向坐标值中的至少两个。
需要说明的是,为了后续计算方便,第一集合与第三集合所包含的元素类型相一致;第二集合和第四集合所包含的元素类型相一致。
举例说明,参见图1B所示的一种第一平面图的网格示意图,其中11为第一平面图,12为第一平面图的第一外接矩形。X轴方向对应第二坐标轴方向,也即横向;Y轴方向对应第一坐标轴方向,也即纵向。
第一外接矩形12的最小纵向坐标值为2,最大纵向坐标值为7,纵向长度为6。当采用{最小纵向坐标值,最大纵向坐标值}表示第一集合时,第一集合为{2,7};当采用{最大纵向坐标值,纵向长度}表示第一集合时,第一集合为{7,6};当采用{最小纵向坐标值,纵向长度}表示第一集合时,第一集合为{2,6};当采用{最大纵向坐标值,最小纵向坐标值}表示第一集合时,第一集合为{7,2};当采用{纵向长度,最大纵向坐标值}表示第一集合时,第一集合为{6,7};当采用{纵向长度,最小纵向坐标值}表示第一集合时,第一集合为{6,2}。
以第3行网格为例对第二集合进行示例性说明。其中,第一组连续网格的起始网格的横向坐标值为4,连续网格数量为3,结束网格的横向坐标值为6;第二组连续网格的起始网格的横向坐标值为8,连续网格数量为1,结束网格的横向坐标值为8。当采用[起始网格的横向坐标值,连续网格数量]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[4,3],[8,1]};当采用[连续网格数量,结束网格的横向坐标值]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[3,6],[1,8]};当采用[起始网格的横向坐标值,结束网格的横向坐标值]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[4,6],[8]};当采用[连续网格数量,起始网格的横向坐标值]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[3,4],[1,8]};当采用[结束网格的横向坐标值,连续网格数量]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[6,3],[8,1]};当采用[结束网格的横向坐标值,起始网格的横向坐标值]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[6,4],[8]}。
在本申请实施例的另一可选实施方式中,第一坐标轴方向为横向,第二坐标轴方向为纵向。相应的,第一网格占用信息所包括的坐标信息集合,可以是:第一平面图的第一外接矩形所覆盖网格的横向坐标值的第一集合,以及第一外接矩形所覆盖的每一列网格分别对应的第二集合。其中,第二集合是指对应列网格与第一平面图具有相交关系的网格的纵向坐标值的集合。第二网格占用信息所包括的坐标信息集合,可以是:第二平面图的第二外接矩形所覆盖网格的横向坐标值的第三集合,以及第二外接矩形所覆盖的每一行列网格分别对应的第四集合。其中,第四集合是指对应列网格与第二平面图具有相交关系的网格的纵向坐标值的集合。
其中,第一集合中的元素可以包括第一外接矩形的最大横向坐标值、最小横向坐标值、和横向长度中的至少两个。
其中,对于第一外接矩形所覆盖的每一列网格对应的第二集合中的元素,可以包括:当前列中被第一平面图覆盖的各组连续的网格中的起始网格的纵向坐标值、连续网格数量以及结束网格的纵向坐标值中的至少两个。
其中,第三集合可以包括第二外接矩形的最大横向坐标值、最小横向坐标值、和横向长度中的至少两个。
其中,对于第二外接矩形所覆盖的每一列网格对应的第四集合中的元素,可以包括:当前列中被第二平面图覆盖的各组连续的网格中的起始网格的纵向坐标值、连续网格数量以及结束网格的纵向坐标值中的至少两个。
需要说明的是,为了后续计算方便,第一集合与第三集合所包含的元素类型相一致;第二集合和第四集合所包含的元素类型相一致。
举例说明,继续参见图1B所示的一种第一平面图的网格示意图,其中11为第一平面图,12为第一平面图的第一外接矩形。X轴方向对应第一坐标轴方向,也即横向;Y轴方向对应第二坐标轴方向,也即纵向。
第一外接矩形12的最小横向坐标值为3,最大纵向坐标值为8,纵向长度为6。当采用{最小横向坐标值,最大横向坐标值}表示第一集合时,第一集合为{3,8};当采用{最大横向坐标值,横向长度}表示第一集合时,第一集合为{8,6};当采用{最小横向坐标值,横向长度}表示第一集合时,第一集合为{3,6};当采用{最大横向坐标值,最小横向坐标值}表示第一集合时,第一集合为{8,3};当采用{横向长度,最大横向坐标值}表示第一集合时,第一集合为{6,8};当采用{横向长度,最小横向坐标值}表示第一集合时,第一集合为{6,3}。
以第7列网格为例对第二集合进行示例性说明。其中,起始网格的纵向坐标值为4,连续网格数量为3,结束网格的纵向坐标值为6。当采用[起始网格的纵向坐标值,连续网格数量]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[4,3]};当采用[连续网格数量,结束网格的纵向坐标值]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[3,6]};当采用[起始网格的纵向坐标值,结束网格的纵向坐标值]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[4,6]};当采用[连续网格数量,起始网格的纵向坐标值]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[3,4]};当采用[结束网格的纵向坐标值,连续网格数量]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[6,3]};当采用[结束网格的纵向坐标值,起始网格的纵向坐标值]表示第二集合中的每组连续网格对应的集合元素时,第二集合为{[6,4]}。
S102、根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集。
S103、根据确定结果判定第一平面图和第二平面图是否相交。
示例性地,根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集,可以是:将第一网格占用信息和第二网格占用信息中,属于第一坐标轴方向的坐标值信息集合进行求交集操作;若无交集,则确定第一平面图所占用的网格与第二平面图所占用的网格无交集;若有交集,则将第一网格占用信息和第二网格占用信息中,属于第二坐标轴方向的坐标值信息集合进行求交集操作,以确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集。
可选的,将第一网格占用信息和第二网格占用信息中,属于第二坐标轴方向的坐标值信息集合进行求交集操作,可以是:对第一坐标轴方向的坐标值信息交集中的各公共坐标值进行遍历;对于遍历到的当前公共坐标值,根据第一网格占用信息和第二网格占用信息中属于第二坐标轴方向的坐标值信息集合,确定所述当前公共坐标值对应的网格中,是否存在第一平面图和第二平面图均占用的网格;若存在,则确定有交集;若不存在,则遍历下一个公共坐标值,直至全部公共坐标值被遍历完成。
在本申请实施例的一种可选实施方式中,第一坐标轴方向为纵向,第二坐标轴方向为横向。
示例性地,根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集,可以是:确定第一平面图的第一集合与第二平面图的第三集合是否有交集;若无交集,则确定第一平面图所占用的网格与第二平面图所占用的网格无交集;若有交集,则确定第一平面图的第二集合与第二平面图的第四集合是否有交集;若是,则确定第一平面图所占用的网格与第二平面图所占用的网格有交集,否则,确定第一平面图所占用的网格与第二平面图所占用的网格无交集。
示例性地,确定第一平面图的第二集合与第二平面图的第四集合是否有交集,可以是:遍历第一集合与第三集合的交集中的各公共纵向坐标值;对于当前遍历到的公共纵向坐标值,根据第一平面图中当前公共纵向坐标值对应的行网格的第二集合、以及第二平面图中当前公共纵向坐标值对应的行网格的第四集合,确定当前公共纵向坐标值对应的行网格中是否存在第一平面图和第二平面图均占用的网格;若存在,则确定第一平面图的第二集合与第二平面图的第四集合有交集,遍历结束;若不存在,则遍历下一个公共纵向坐标值,直至全部公共纵向坐标值被遍历完成。
其中,第二集合中包含有至少一个第二子集,第四集合包含有至少一个第四子集,各第二子集和各第四子集中包含一个网格或连续的多个网格的横向坐标值。
具体的,根据第一平面图中当前公共纵向坐标值对应的行网格的第二集合、以及第二平面图中当前公共纵向坐标值对应的行网格的第四集合,确定当前公共纵向坐标值对应的行网格中是否存在第一平面图和第二平面图均占用的网格,可以是:根据第一平面图中的各第二子集,确定当前公共纵向坐标值对应的行网格中各网格的横向坐标值的第一最小值和第一最大值;根据第二平面图中的各第四子集,确定当前公共纵向坐标值对应的行网格中各网格的横向坐标值的第二最小值和第二最大值;确定第一最小值和第一最大值构成的取值范围与第二最小值和第二最大值构成的取值范围是否有交集;若无交集,则确定当前公共纵向坐标值对应的行网格中不存在第一平面图和第二平面图均占用的网格;若有交集,则获取第一平面图中当前公共纵向坐标值对应的行网格的第一个第二子集作为第一待比较子集、以及第二平面图中当前公共纵向坐标值对应的行网格的第一个第四子集作为第二待比较子集,确定当前第一待比较子集与当前第二待比较子集是否有交集;若是,则确定在当前公共纵向坐标值对应的行网格中存在第一平面图和第二平面图均占用的网格,本流程结束;否则,选取当前第一待比较子集和当前第二待比较子集中所包含的横向坐标值较小的待比较子集;若选取的是第二待比较子集,则确定选取的第二待比较子集是否有下一第四子集,若有,则将选取的第二待比较子集的下一第四子集作为新的第二待比较子集,返回执行确定当前第一待比较子集与当前第二待比较子集是否有交集的操作;若无,则确定在当前公共纵向坐标值对应的行网格中不存在第一平面图和第二平面图均占用的网格,本流程结束。
参见图1C所示的第一平面图和第二平面图的对照图,以{最小纵向坐标值,纵向长度}表示第一集合和第三集合,以[起始网格的横向坐标值,连续网格数量]表示第二集合和第四集合中的每组连续网格对应的集合元素为例,进行示例性说明。
其中,第一平面图的第一集合为{2,6},第二平面图的第三集合为{3,5}。因此,第一平面图在第三行、第四行和第五行分别与第二平面图具备公共坐标值。
其中,第一平面图的第三行对应的第二集合为{[4,3],[8,1]};第一平面图第四行对应的第二集合为{[3,6]};第一平面图的第五行对应的第二集合为{[3,6]}。第二平面图的第三行对应的第四集合为{[2,1],[6,2]};第二平面图第四行对应的第四集合为{[2,6]};第二平面图的第五行对应的第四集合为{[3,5]}。
当前公共纵向坐标值对应第三行网格为例,第二子集为[4,3]和[8,1],相应的,确定的第一最小值为4,第一最大值为8,由第一最小值和第二最大值构成的取值范围为[4,8];第四子集为[2,1]和[6,2],相应的,确定的第二最小值为2,第二最大值为7,由第二最小值和第二最大值构成的范围为[2,7];确定取值范围[4,8]与[2,7]是否存在交集;由于取值范围[4,8]与[2,7]存在交集,选取第一平面图中的第二子集[4,3]为第一待比较子集,第二平面图中第四子集的[2,1]为第二待比较子集;确定[4,3]与[2,1]是否存在交集;由于[4,3]与[2,1]不存在交集,则选取[4,3]与[2,1]中较小的待比较子集[2,1],且具有下一第四子集[6,2],并将[6,2]作为新的第二待比较子集;确定[4,3]与[6,2]是否存在交集;由于[4,3]与[6,2]存在交集,因此确定在第三行网格中存在第一平面图和第二平面图均占用的网格,也即第一平面图所占用网格与第二平面图所占用网格存在交集;所以,确定第一平面图和第二平面图相交。
参见图1D所示的第一平面图和第二平面图的对照图,以{最小纵向坐标值,纵向长度}表示第一集合和第三集合,以[起始网格的横向坐标值,连续网格数量]表示第二集合和第四集合中的每组连续网格对应的集合元素为例,进行示例性说明。
其中,第一平面图的第一集合为{2,6},第二平面图的第三集合为{1,3}。因此,第一平面图在第二行和第三行分别与第二平面图具备公共坐标值。
其中,第一平面图的第二行对应的第二集合为{[5,2]};第一平面图的第三行对应的第二集合为{[4,3],[8,1]}。第二平面图的第二行对应的第四集合为{[7,1]};第二平面图的第三行对应的第四集合为{[7,1]}。
首先,对于第二行网格对应的当前公共纵向坐标值,第二子集为[5,2],确定的第一最小值为5,第一最大值为6,由第一最小值和第二最大值构成的取值范围为[5,6];第四子集为[7,1],确定的第二最小值为7,第二最大值为7,由第二最小值和第二最大值构成的范围为[7];确定取值范围[5,6]和[7]是否存在交集;由于取值范围[5,6]和[7]不存在交集,则确定第二行网格中不存在第一平面图和第二平面图均占用的网格。
遍历第三行网格对应的当前公共纵向坐标值,第二子集为[4,3]和[8,1],确定的第一最小值为4,第一最大值为8,由第一最小值和第二最大值构成的取值范围为[4,8];第四子集为[7,1],确定的第二最小值为7,第二最大值为7,由第二最小值和第二最大值构成的范围为[7];确定取值范围[4,8]和[7,7]是否存在交集;由于取值范围[4,8]和[7]存在交集,则选取第一平面图中的第二子集[4,3]为第一待比较子集,第二平面图中第四子集的[7,1]为第二待比较子集;确定[4,3]与[7,1]是否存在交集;由于[4,3]与[7,1]不存在交集,则选取[4,3]与[7,1]中较小的待比较子集[4,3],且具有下一第二子集[8,1]作为新的第一待比较子集;确定[8,1]与[7,1]是否存在交集;由于[8,1]与[7,1]不存在交集,则确定第三行网格中不存在第一平面图和第二平面图均占用的网格。
由于已遍历完全部公共纵向坐标值,也即第二行和第三行网格对应的公共纵向坐标值,各行网格均不存在第一平面图和第二平面图均占用的网格,因此确定第一平面图所占用网格与第二平面图所占用网格不存在交集;所以,第一平面图和第二平面图不相交。
在本申请实施例的另一可选实施方式中,第一坐标轴方向为横向,第二坐标轴方向为纵向。
示例性地,根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集,可以是:确定第一平面图的第一集合与第二平面图的第三集合是否有交集;若无交集,则确定第一平面图所占用的网格与第二平面图所占用的网格无交集;若有交集,则确定第一平面图的第二集合与第二平面图的第四集合是否有交集;若是,则确定第一平面图所占用的网格与第二平面图所占用的网格有交集,否则,确定第一平面图所占用的网格与第二平面图所占用的网格无交集。
示例性地,确定第一平面图的第二集合与第二平面图的第四集合是否有交集,可以是:遍历第一集合与第三集合的交集中的各公共横向坐标值;对于当前遍历到的公共横向坐标值,根据第一平面图中当前公共横向坐标值对应的列网格的第二集合、以及第二平面图中当前公共横向坐标值对应的列网格的第四集合,确定当前公共横向坐标值对应的列网格中是否存在第一平面图和第二平面图均占用的网格;若存在,则确定第一平面图的第二集合与第二平面图的第四集合有交集,遍历结束;若不存在,则遍历下一个公共横向坐标值,直至全部公共横向坐标值被遍历完成。
其中,第二集合中包含有至少一个第二子集,第四集合包含有至少一个第四子集,各第二子集和各第四子集中包含一个网格或连续的多个网格的纵向坐标值。
具体的,根据第一平面图中当前公共横向坐标值对应的列网格的第二集合、以及第二平面图中当前公共横向坐标值对应的列网格的第四集合,确定当前公共横向坐标值对应的列网格中是否存在第一平面图和第二平面图均占用的网格,可以是:根据第一平面图中的各第二子集,确定当前公共横向坐标值对应的列网格中各网格的纵向坐标值的第一最小值和第一最大值;根据第二平面图中的各第四子集,确定当前公共横向坐标值对应的列网格中各网格的纵向坐标值的第二最小值和第二最大值;确定第一最小值和第一最大值构成的取值范围与第二最小值和第二最大值构成的取值范围是否有交集;若无交集,则确定当前公共横向坐标值对应的列网格中不存在第一平面图和第二平面图均占用的网格;若有交集,则获取第一平面图中当前公共横向坐标值对应的列网格的第一个第二子集作为第一待比较子集、以及第二平面图中当前公共横向坐标值对应的列网格的第一个第四子集作为第二待比较子集,确定当前第一待比较子集与当前第二待比较子集是否有交集;若是,则确定在当前公共横向坐标值对应的列网格中存在第一平面图和第二平面图均占用的网格,本流程结束;否则,选取当前第一待比较子集和当前第二待比较子集中所包含的纵向坐标值较小的待比较子集;若选取的是第二待比较子集,则确定选取的第二待比较子集是否有下一第四子集,若有,则将选取的第二待比较子集的下一第四子集作为新的第二待比较子集,返回执行确定当前第一待比较子集与当前第二待比较子集是否有交集的操作;若无,则确定在当前公共横向坐标值对应的列网格中不存在第一平面图和第二平面图均占用的网格,本流程结束。
可以理解的是,为了保证判定结果的准确定,第一平面图与第二平面图各网格的大小应当相同,当网格大小不同时,可以将确定的第一网格占用信息和第二网格占用信息进行网格大小归一化后,再进行交集确定操作。
举例说明,当第一平面图中网格大小为20m×20m,第二平面图中网格大小为30m×30m,第一平面图中任一点的坐标(x1,y1),用网格(X1,Y1)表示时,X1=x1/20,Y1=y1/20;第二平面图中任一点的坐标(x2,y21),用网格(X2,Y2)表示时,X2=x2/30,Y2=y2/30,从而实现网格坐标归一化。
本申请实施例通过获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;根据确定结果判定第一平面图和第二平面图是否相交。上述技术方案通过网格占用信息来表示各平面图,内存占用量较小,同时根据两平面图的网格占用信息是否存在交集,判定第一平面图和第二平面图是否相交,能够兼顾计算复杂度和判定结果准确度,从而以相对较低的计算复杂度获取准确度相对较高的判定结果。
实施例二
图2A是本申请实施例二中的一种平面图相交判定方法的流程图,本申请实施例在上述各实施例的技术方案的基础上,进行了优化改进。
进一步地,在执行平面图相交判定时,追加“针对各平面图,确定所述平面图的外接矩形内的各网格;对所述外接矩形内的各网格进行数值标记;根据标记结果确定所述平面图的网格占用信息”,以完善网格占用信息的确定机制。
如图2A所示的一种平面图相交判定方法,包括:
S201、针对各平面图,确定所述平面图的外接矩形内的各网格。
S202、对所述外接矩形内的各网格进行数值标记。
示例性地,对所述外接矩形内的各网格进行数值标记,可以是:分别确定所述外接矩形内的各网格是否与所述平面图的边相交,并将确定相交的网格标记为设定数值;将所述外接矩形内的各其他网格分别标记为设定数值或其他数值;相应的,根据标记结果确定所述平面图的网格占用信息,可以是:将被标记为设定数值的各网格确定为所述平面图占用的网格,并根据确定结果得到所述平面图的网格占用信息。
在本申请实施例的一种可选实施方式中,将所述外接矩形内的各其他网格分别标记为设定数值或其他数值,可以是:确定外接矩形的第一坐标轴方向的最大值和最小值,以及第二坐标轴方向的最大值和最小值,以限定位于外接矩形内部的网格;依次判定将外接矩形内部的各网格是否与平面图是否相交;若相交,则将该网格标记为设定数值;若不相交,则将该网格标记为其他数值。
为了减少网格标记时的数据运算量,提高网格标记效率,在本申请实施例的另一可选实施方式中,将所述外接矩形内的各其他网格分别标记为设定数值或其他数值,可以是:选取所述外接矩形内的一个未被标记的目标网格,确定目标网格与所述平面图是否相交;若相交,则将目标网格以及目标网格的上下左右方向上、未被标记的网格,标记为设定数值;将新标记为设定数值的网格的上下左右方向上、未被标记的网格,标记为设定数值,在遇到标记过的网格时停止标记;若不相交,则将目标网格以及目标网格的上下左右方向上、未被标记的网格,标记为其他数值;将新标记为其他数值的网格的上下左右方向上、未被标记的网格,标记为其他数值,在遇到标记过的网格时停止标记;重新选择一个未被标记的网格作为新的目标网格后,返回执行确定目标网格与所述平面图是否相交的操作,直至所有的网格被标记完成。
举例说明,参见图2B至图2E所示的网格标记过程示意图,确定平面图21的外接矩形22内的各网格是否与平面图的边相交,并将确定与边相交的网格标记为1;参见图2C,选取外接矩形21内的任一未标记的网格作为目标网格(图中阴影网格),确定该目标网格与平面图是否相交;由于该目标网格与平面图相交,则将该目标网格以及该目标网格上下左右方向上,未被标记的网格,标记为1;参见图2D,重新选择一个未被标记的目标网格(图中阴影网格)确定该目标网格与平面图是否相交;由于该目标网格与平面图不相交,将该目标网格及该目标网格上下左右方向上,未被标记的网格,标记为-1。继续重新选择外接矩形22内未被标记的网格作为目标网格,进行网格标记操作,直至外接矩形22内所有网格均被标记完成。标记完成的平面图参见图2E。
可以理解的是,首先,通过网格与平面图边求解相交,降低了计算复杂度,缩短了部分计算时间。其次,由于外接矩形内部其他网格,仅计算某个网格与平面图是否相交,从而根据该网格的相交情况,推算出该网格周边网格的相交情况,以根据推算结果对周边网格进行关联标记,无需进行消极计算,减少了计算次数,提升了计算效率。
需要说明的是,为了对外接矩形内外部分的网格加以区分,在对外接矩形进行数值标记之前,还可以预先将外接矩形内部的网格标记为外接矩形标识,例如可以标记为0。
S203、根据标记结果确定所述平面图的网格占用信息。
示例性地,根据标记结果确定所述平面图的网格占用信息,可以是:根据平面图的外接矩形所覆盖的网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合,作为平面图的网格占用信息。
在本申请实施例的一种可选实施方式中,第一坐标轴方向为纵向,第二坐标轴方向为横向。相应的,网格占用信息所包括的坐标信息集合,可以是:平面图的外接矩形所覆盖网格的纵向坐标值的第一集合,以及外接矩形所覆盖的每一行网格分别对应的第二集合。其中,第二集合是指对应行网格与平面图具有相交关系的网格的横向坐标值的集合。
其中,第一集合中的元素可以包括第一外接矩形的最大纵向坐标值、最小纵向坐标值、和纵向长度中的至少两个。
其中,对于第一外接矩形所覆盖的每一行网格对应的第二集合中的元素,可以包括:当前行中被第一平面图覆盖的各组连续的网格中的起始网格的横向坐标值、连续网格数量以及结束网格的横向坐标值中的至少两个。
在本申请实施例的另一可选实施方式中,第一坐标轴方向为横向,第二坐标轴方向为纵向。相应的,网格占用信息所包括的坐标信息集合,可以是平面图的外接矩形所覆盖网格的横向坐标值的第一集合,以及外接矩形所覆盖的每一列网格分别对应的第二集合。其中,第二集合是指对应列网格与平面图具有相交关系的网格的纵向坐标值的集合。
其中,第一集合中的元素可以包括第一外接矩形的最大横向坐标值、最小横向坐标值、和横向长度中的至少两个。
其中,对于第一外接矩形所覆盖的每一列网格对应的第二集合中的元素,可以包括:当前列中被第一平面图覆盖的各组连续的网格中的起始网格的纵向坐标值、连续网格数量以及结束网格的纵向坐标值中的至少两个。
为了便于网格占用信息的存储和读取,本申请实施例的一种可选实施方式,还可以设定特定的数据结构GeoM,用于对网格占用信息进行存储。例如:
Figure BDA0002379472350000181
可以理解的是,为了便于获知各平面图的网格大小,还可以在GeoM中添加网格大小信息。例如:
Figure BDA0002379472350000182
S204、获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息。
具体的,获取第一平面图的第一集合和第二集合作为第一平面图的第一网格占用信息;获取第二平面图的第一集合和第二集合作为第二平面图的第二网格占用信息。为了便于区分,后续可重新对第一网格占用信息和第二网格占用信息中的各第一集合和第二集合重新命名。
S205、根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集。
S206、根据确定结果判定第一平面图和第二平面图是否相交。
本申请实施例通过在获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息之前,追加针对各平面图,确定平面图的外接矩形内的各网格;对外接矩形内的各网格进行数值标记;根据标记结果确定平面图的网格占用信息。上述技术方案通过网格标记的方式确定平面图的网格占用信息,从而完善了网格占用信息的确定方式,为平面图相交判定提供数据支撑。
实施例三
图3是本申请实施例三中的一种平面图相交判定装置的结构图。本申请实施例适用于对至少两个平面图进行相交判定的情况,该装置通过软件和/或硬件实现,并具体配置于电子设备中。
如图3所示的一种平面图相交判定装置300,包括:网格占用信息获取模块301、网格交集确定模块302和平面图相交确定模块303。其中,
网格占用信息获取模块301,用于获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;
网格交集确定模块302,用于根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;
平面图相交确定模块303,用于根据确定结果判定第一平面图和第二平面图是否相交。
本申请实施例通过网格占用信息获取模块获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;通过网格交集确定模块根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;通过平面图相交确定模块根据确定结果判定第一平面图和第二平面图是否相交。上述技术方案通过网格占用信息来表示各平面图,内存占用量较小,同时根据两平面图的网格占用信息是否存在交集,判定第一平面图和第二平面图是否相交,能够兼顾计算复杂度和判定结果准确度,从而以相对较低的计算复杂度获取准确度相对较高的判定结果。
进一步地,第一网格占用信息包括:第一平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合;
第二网格占用信息包括:第二平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合。
进一步地,网格交集确定模块302,具体用于:
将第一网格占用信息和第二网格占用信息中,属于第一坐标轴方向的坐标值信息集合进行求交集操作;
若无交集,则确定第一平面图所占用的网格与第二平面图所占用的网格无交集;
若有交集,则将第一网格占用信息和第二网格占用信息中,属于第二坐标轴方向的坐标值信息集合进行求交集操作,以确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集。
进一步地,网格交集确定模块302,在执行将第一网格占用信息和第二网格占用信息中,属于第二坐标轴方向的坐标值信息集合进行求交集操作时,具体用于:
对第一坐标轴方向的坐标值信息交集中的各公共坐标值进行遍历;
对于遍历到的当前公共坐标值,根据第一网格占用信息和第二网格占用信息中属于第二坐标轴方向的坐标值信息集合,确定所述当前公共坐标值对应的网格中,是否存在第一平面图和第二平面图均占用的网格;若存在,则确定有交集;若不存在,则遍历下一个公共坐标值,直至全部公共坐标值被遍历完成。
进一步地,该装置还包括,网格占用信息确定模块,包括:
针对各平面图,确定所述平面图的外接矩形内的各网格;
对所述外接矩形内的各网格进行数值标记;
根据标记结果确定所述平面图的网格占用信息。
进一步地,网格占用信息确定模块,在执行对所述外接矩形内的各网格进行数值标记时,具体用于:
分别确定所述外接矩形内的各网格是否与所述平面图的边相交,并将确定相交的网格标记为设定数值;
将所述外接矩形内的各其他网格分别标记为设定数值或其他数值;
相应的,根据标记结果确定所述平面图的网格占用信息,包括:
将被标记为设定数值的各网格确定为所述平面图占用的网格,并根据确定结果得到所述平面图的网格占用信息。
进一步地,网格占用信息确定模块,在执行将所述外接矩形内的各其他网格分别标记为设定数值或其他数值时,具体用于:
选取所述外接矩形内的一个未被标记的目标网格,确定目标网格与所述平面图是否相交;
若相交,则将目标网格以及目标网格的上下左右方向上、未被标记的网格,标记为设定数值;将新标记为设定数值的网格的上下左右方向上、未被标记的网格,标记为设定数值,在遇到标记过的网格时停止标记;
若不相交,则将目标网格以及目标网格的上下左右方向上、未被标记的网格,标记为其他数值;将新标记为其他数值的网格的上下左右方向上、未被标记的网格,标记为其他数值,在遇到标记过的网格时停止标记;
重新选择一个未被标记的网格作为新的目标网格后,返回执行确定目标网格与所述平面图是否相交的操作,直至所有的网格被标记完成。
进一步地,第一坐标轴方向为纵向,第二坐标轴方向为横向;或者,
第一坐标轴方向为横向,第二坐标轴方向为纵向。
上述平面图相交判定装置可执行本申请任意实施例所提供的平面图相交判定方法,具备执行平面图相交判定方法相应的功能模块和有益效果。
实施例四
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图4所示,是执行本申请实施例的平面图相交判定方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的平面图相交判定方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的平面图相交判定方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的平面图相交判定方法对应的程序指令/模块(例如,附图3所示的网格占用信息获取模块301、网格交集确定模块302和平面图相交确定模块303)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的平面图相交判定方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储执行平面图相交判定方法的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至执行平面图相交判定方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
执行平面图相交判定方法的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与执行平面图相交判定方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;根据确定结果判定第一平面图和第二平面图是否相交。上述技术方案通过网格占用信息来表示各平面图,内存占用量较小,同时根据两平面图的网格占用信息是否存在交集,判定第一平面图和第二平面图是否相交,能够兼顾计算复杂度和判定结果准确度,从而以相对较低的计算复杂度获取准确度相对较高的判定结果。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (11)

1.一种平面图相交判定方法,其特征在于,包括:
获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;
根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;
根据确定结果判定第一平面图和第二平面图是否相交。
2.根据权利要求1所述的方法,其特征在于:
第一网格占用信息包括:第一平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合;
第二网格占用信息包括:第二平面图的外接矩形所覆盖网格,在第一坐标轴方向和第二坐标轴方向的坐标值信息集合。
3.根据权利要求2所述的方法,其特征在于,根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集,包括:
将第一网格占用信息和第二网格占用信息中,属于第一坐标轴方向的坐标值信息集合进行求交集操作;
若无交集,则确定第一平面图所占用的网格与第二平面图所占用的网格无交集;
若有交集,则将第一网格占用信息和第二网格占用信息中,属于第二坐标轴方向的坐标值信息集合进行求交集操作,以确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集。
4.根据权利要求3所述的方法,其特征在于,将第一网格占用信息和第二网格占用信息中,属于第二坐标轴方向的坐标值信息集合进行求交集操作包括:
对第一坐标轴方向的坐标值信息交集中的各公共坐标值进行遍历;
对于遍历到的当前公共坐标值,根据第一网格占用信息和第二网格占用信息中属于第二坐标轴方向的坐标值信息集合,确定所述当前公共坐标值对应的网格中,是否存在第一平面图和第二平面图均占用的网格;若存在,则确定有交集;若不存在,则遍历下一个公共坐标值,直至全部公共坐标值被遍历完成。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
针对各平面图,确定所述平面图的外接矩形内的各网格;
对所述外接矩形内的各网格进行数值标记;
根据标记结果确定所述平面图的网格占用信息。
6.根据权利要求5所述的方法,其特征在于,对所述外接矩形内的各网格进行数值标记,包括:
分别确定所述外接矩形内的各网格是否与所述平面图的边相交,并将确定相交的网格标记为设定数值;
将所述外接矩形内的各其他网格分别标记为设定数值或其他数值;
相应的,根据标记结果确定所述平面图的网格占用信息,包括:
将被标记为设定数值的各网格确定为所述平面图占用的网格,并根据确定结果得到所述平面图的网格占用信息。
7.根据权利要求6所述的方法,其特征在于,将所述外接矩形内的各其他网格分别标记为设定数值或其他数值,包括:
选取所述外接矩形内的一个未被标记的目标网格,确定目标网格与所述平面图是否相交;
若相交,则将目标网格以及目标网格的上下左右方向上、未被标记的网格,标记为设定数值;将新标记为设定数值的网格的上下左右方向上、未被标记的网格,标记为设定数值,在遇到标记过的网格时停止标记;
若不相交,则将目标网格以及目标网格的上下左右方向上、未被标记的网格,标记为其他数值;将新标记为其他数值的网格的上下左右方向上、未被标记的网格,标记为其他数值,在遇到标记过的网格时停止标记;
重新选择一个未被标记的网格作为新的目标网格后,返回执行确定目标网格与所述平面图是否相交的操作,直至所有的网格被标记完成。
8.根据权利要求2-4任一项所述的方法,其特征在于:
第一坐标轴方向为纵向,第二坐标轴方向为横向;或者,
第一坐标轴方向为横向,第二坐标轴方向为纵向。
9.一种平面图相交判定装置,其特征在于,包括:
网格占用信息获取模块,用于获取第一平面图的第一网格占用信息以及第二平面图的第二网格占用信息;
网格交集确定模块,用于根据第一网格占用信息和第二网格占用信息,确定第一平面图所占用的网格与第二平面图所占用的网格是否存在交集;
平面图相交确定模块,用于根据确定结果判定第一平面图和第二平面图是否相交。
10.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的一种平面图相交判定方法。
11.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的一种平面图相交判定方法。
CN202010078718.8A 2020-02-03 2020-02-03 一种平面图相交判定方法、装置、设备和存储介质 Pending CN113204605A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010078718.8A CN113204605A (zh) 2020-02-03 2020-02-03 一种平面图相交判定方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010078718.8A CN113204605A (zh) 2020-02-03 2020-02-03 一种平面图相交判定方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN113204605A true CN113204605A (zh) 2021-08-03

Family

ID=77024871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010078718.8A Pending CN113204605A (zh) 2020-02-03 2020-02-03 一种平面图相交判定方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113204605A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060077203A1 (en) * 2004-10-13 2006-04-13 Neto Murilo Gondim C Object representation using distance functions
US20160217151A1 (en) * 2015-01-27 2016-07-28 Splunk Inc. Efficient point-in-polygon indexing technique to facilitate displaying geographic data
CN106530208A (zh) * 2016-11-22 2017-03-22 中国人民解放军理工大学 一种基于gpu的任意多边形相交面积计算方法
CN110533739A (zh) * 2019-08-15 2019-12-03 深圳供电局有限公司 一种地图网格的成图方法
CN110633262A (zh) * 2019-09-25 2019-12-31 重庆邮电大学 基于Spark的地图相交区域面积计算方法及系统
CN110647596A (zh) * 2018-06-11 2020-01-03 百度在线网络技术(北京)有限公司 地图数据处理方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060077203A1 (en) * 2004-10-13 2006-04-13 Neto Murilo Gondim C Object representation using distance functions
US20160217151A1 (en) * 2015-01-27 2016-07-28 Splunk Inc. Efficient point-in-polygon indexing technique to facilitate displaying geographic data
CN106530208A (zh) * 2016-11-22 2017-03-22 中国人民解放军理工大学 一种基于gpu的任意多边形相交面积计算方法
CN110647596A (zh) * 2018-06-11 2020-01-03 百度在线网络技术(北京)有限公司 地图数据处理方法和装置
CN110533739A (zh) * 2019-08-15 2019-12-03 深圳供电局有限公司 一种地图网格的成图方法
CN110633262A (zh) * 2019-09-25 2019-12-31 重庆邮电大学 基于Spark的地图相交区域面积计算方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李长河, 秦欣, 张二虎, 石争浩: "基于网格数据图的自适应细分及边缘提取", 计算机工程与应用, no. 24 *
草莓的橘子树: "判断多边形和多边形是否相交", Retrieved from the Internet <URL:https://blog.csdn.net/u013525058/article/details/103203072> *

Similar Documents

Publication Publication Date Title
US20210390296A1 (en) Optical character recognition method and apparatus, electronic device and storage medium
JP2021131895A (ja) 実景ナビゲーションアイコン表示方法、装置、機器及び媒体
EP3842765A2 (en) Method and apparatus for displaying point of information of map, device, and readable storage medium
CN111210490B (zh) 电子地图构建方法、装置、设备和介质
CN111553844B (zh) 用于更新点云的方法及装置
JP2021082280A (ja) 車両列の長さを検出する方法、車両列の長さを検出する装置、電子機器、記憶媒体及びコンピュータプログラム
CN112926000A (zh) 显示区域渲染方法、装置、设备、可读存储介质及产品
CN112083846A (zh) 地图显示标记点击区域的检测方法、装置以及电子设备
CN111539347A (zh) 用于检测目标的方法和装置
CN111652112A (zh) 一种车道流向的识别方法、装置、电子设备及存储介质
CN112015839A (zh) 地图坐标处理方法、地图坐标处理装置、电子设备和存储介质
CN110727383A (zh) 基于小程序的触控交互方法、装置、电子设备与存储介质
CN111737636A (zh) 路径曲线的生成方法、装置、计算机设备和存储介质
CN112634401B (zh) 一种平面轨迹绘制方法、装置、设备及存储介质
CN113160693A (zh) 一种道路路口的处理方法、装置、设备和存储介质
CN111708857B (zh) 一种高精地图数据的处理方法、装置、设备及存储介质
CN111814651B (zh) 车道线的生成方法、装置和设备
CN117608869A (zh) 面向低代码平台的事务死锁可视化方法、装置及设备
CN111966767B (zh) 轨迹热力图生成方法、装置、电子设备和存储介质
CN111625612B (zh) 高精地图的纠偏方法和装置、电子设备和存储介质
CN111506586B (zh) 增量制图的方法、装置、电子设备以及可读存储介质
CN112527163A (zh) 一种路口检索方法、装置、设备及存储介质
CN113204605A (zh) 一种平面图相交判定方法、装置、设备和存储介质
CN114564268A (zh) 一种设备管理方法、装置、电子设备和存储介质
EP3955024A2 (en) Lidar map-based loop detection method and apparatus, medium, program product

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