CN111061824A - 基于改进四叉树的范围判断方法、装置、设备 - Google Patents
基于改进四叉树的范围判断方法、装置、设备 Download PDFInfo
- Publication number
- CN111061824A CN111061824A CN201911184433.6A CN201911184433A CN111061824A CN 111061824 A CN111061824 A CN 111061824A CN 201911184433 A CN201911184433 A CN 201911184433A CN 111061824 A CN111061824 A CN 111061824A
- Authority
- CN
- China
- Prior art keywords
- point
- longitude
- latitude
- interest
- interest point
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Abstract
本发明公开了一种基于改进四叉树的范围判断方法,包括:获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值,将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,将兴趣点矩形坐标输入四叉树模型,生成改进四叉树模型,将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,通过改进四叉树模型遍历每个位置点矩形坐标,并将满足四叉树索引条件的兴趣点经纬度坐标输出,根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当距离小于等于预设范围值时,确定位置点在兴趣点的预设范围内。通过上述方法,可以快速判断位置点是否在兴趣点的范围内,而且可以提高判断的准确率。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于改进四叉树的范围判断方法、装置、设备。
背景技术
目前,人们在出行的过程中,常常需要查看周围是否有超市、加油站、服务区等兴趣点,因此,快速判断地理位置点是否在兴趣点范围内,可以给我们的日常生活带来很大的便捷。
现有技术中,判断位置点是否在兴趣点范围内时,一种方法是直接采用笛卡尔积分别计算所有位置点与所有兴趣点的距离,然后进行判断,当位置点的数据量特别大的时候,就会产生非常大的计算量,而且耗费的时间也比较长;另一种方法是,采用四叉树模型进行范围判断,但是传统方法中,四叉树模型用的是基于距离的直角坐标系,对于基于角度的经纬度坐标的位置点,误差比较大。
发明内容
本公开实施例提供了一种基于改进四叉树的范围判断方法、装置、设备。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
在一些可选地实施例中,一种基于改进四叉树的范围判断方法,包括:
获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值;
将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,将兴趣点矩形坐标输入四叉树模型,生成改进四叉树模型;
将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,通过改进四叉树模型遍历每个位置点矩形坐标,并将满足四叉树索引条件的兴趣点经纬度坐标输出;
根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当距离小于等于预设范围值时,确定位置点在兴趣点的预设范围内。
可选地,还包括:
根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当距离大于预设范围值时,确定位置点不在兴趣点的预设范围内。
可选地,将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,包括:
将预设范围值转化为对应的经纬度;
将兴趣点的经度坐标减去预设范围值对应的经度,作为兴趣点矩形的第一端点值,将兴趣点的经度坐标加上预设范围值对应的经度,作为兴趣点矩形的第二端点值;
将兴趣点的纬度坐标减去预设范围值对应的纬度,作为兴趣点矩形的第三端点值,将兴趣点的纬度坐标加上预设范围值对应的纬度,作为兴趣点矩形的第四端点值。
可选地,将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,包括:
将位置点的经度坐标作为位置点矩形的第一端点值,将位置点的经度坐标作为位置点矩形的第二端点值;
将位置点的纬度坐标作为位置点矩形的第三端点值,将位置点的纬度坐标作为位置点矩形的第四端点值。
可选地,获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值之后,还包括:
获取兴趣点的地图编号集合;
根据位置点的经纬度坐标集合计算位置点的地图编号集合。
可选地,将兴趣点的地图编号集合和位置点的地图编号集合作为mapreduce模型中map函数输出的中间键值对里的键,将键传输到reduce函数中,通过键将兴趣点数据和位置点数据划分到对应的兴趣点操作任务和对应的位置点操作任务,其中,基于四叉树的范围判断方法在reduce函数中进行。
在一些可选地实施例中,一种基于改进四叉树的范围判断装置,包括:
获取模块:用于获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值;
第一转换模块,用于将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,将兴趣点矩形坐标输入四叉树模型,生成改进四叉树模型;
第二转换模块,用于将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,通过改进四叉树模型遍历每个位置点矩形坐标,并将满足条件的兴趣点经纬度坐标输出;
确定模块,用于根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当距离小于等于预设范围值时,确定位置点在兴趣点的预设范围内。
可选地,还包括:
第二确定模块,用于当距离大于预设范围值时,确定位置点不在兴趣点的预设范围内;
在一些可选地实施例中,一种基于改进四叉树的范围判断设备,设备包括上述实施例提供的一种基于改进四叉树的范围判断装置。
在一些可选地实施例中,一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令可被处理器执行以实现上述实施例提供的一种基于改进四叉树的范围判断方法。
本公开实施例提供的技术方案可以包括以下有益效果:
本发明通过将兴趣点经纬度坐标转换为对应的兴趣点矩形坐标,将位置点经纬度坐标转换为对应的位置点矩形坐标,将兴趣点矩形坐标插入四叉树模型,得到改进的四叉树模型,通过改进的四叉树模型遍历每个位置点矩形坐标,将满足四叉树索引条件的兴趣点经纬度坐标输出,基于输出的兴趣点经纬度坐标和正在被遍历的位置点经纬度坐标,计算兴趣点和位置点之间的距离,从而判断位置点是否在兴趣点范围内。通过以经纬度坐标构建矩形,可以提高基于经纬度为单位的位置点的范围判断的准确性,而且当位置点的数据量很大时,性能也比较优良。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种基于改进四叉树的范围判断方法的流程示意图;
图2是根据一示例性实施例示出的一种基于改进四叉树的范围判断方法的流程示意图;
图3是根据一示例性实施例示出的一种基于改进四叉树的范围判断装置的示意图;
图4是根据一示例性实施例示出的一种基于改进四叉树的范围判断装置的示意图。
具体实施方式
为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
图1是根据一示例性实施例示出的一种基于改进四叉树的范围判断方法的流程示意图。
在一些实施例中,一种基于改进四叉树的范围判断方法,包括:
步骤S101、获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值;
具体地,本公开实施例结合MapReduce模型,MapReduce模型用于大规模数据集的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上,当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
MapReduce提供了以下的主要功能,可以进行数据划分和计算任务调度,系统自动将一个待处理的大数据划分为很多个数据块,每个数据块对应于一个计算任务,并自动调度计算节点来处理相应的数据块,作业和任务调度功能主要负责分配和调度计算节点,同时负责监控这些节点的执行状态。可以进行数据/代码互定位,为了减少数据通信,一个基本原则是本地化数据处理,即一个计算节点尽可能处理其本地磁盘上所分布存储的数据,这实现了代码向数据的迁移,当无法进行这种本地化数据处理时,再寻找其他可用节点并将数据从网络上传送给该节点,但尽可能从数据所在的本地机上寻找可用节点以减少通信延迟。还可以进行系统优化,为了减少数据通信开销,中间结果数据进入Reduce节点前会进行一定的合并处理,一个Reduce节点所处理的数据可能会来自多个Map节点,为了避免Reduce计算阶段发生数据相关性,Map节点输出的中间结果需使用一定的策略进行适当的划分处理,保证相关性数据发送到同一个Reduce节点,此外,系统还进行一些计算性能优化处理,如对最慢的计算任务采用多备份执行、选最快完成者作为结果。
MapReduce模型适用于进行大规模数据集的并行运算,而且可以进行数据划分和计算任务调度、可以进行系统优化,因此本公开实施例结合MapReduce模型,当处理海量位置点和海量兴趣点数据时,系统性能良好。
在Map函数阶段,首先获取位置点经纬度坐标集合、兴趣点经纬度坐标集合以及预设范围值。在一些示例性场景中,将位置点经纬度坐标集合输入Map函数中,位置点坐标集合中包括的位置点经纬度坐标的数量为1个或1个以上,将兴趣点经纬度坐标集合输入Map函数中,兴趣点坐标集合中包括的兴趣点经纬度坐标的数量为1个或1个以上,兴趣点可以是加油站、服务区、商场、公交站、火车站,例如,将北京市海淀区的地图中的位置点经纬度坐标集合输入Map函数中,将地图中的加油站、服务区、商场、公交站标记为兴趣点,将兴趣点经纬度坐标集合输入Map函数中,预设范围值可以根据需求设定,可选地,预设范围值的取值范围为50—500米,例如,范围值为50米、100米、200米、300米、400米500米中的任意一个。
可选地,获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值之后,还包括获取兴趣点的地图编号集合,根据位置点的经纬度坐标集合计算位置点的地图编号集合。
具体地,兴趣点是地图中的已知点,将兴趣点集合对应的地图编号集合输入Map函数,根据位置点的经纬度坐标集合中各位置点的经纬度坐标计算各位置点的地图编号,得到位置点地图编号集合,将位置点地图编号集合输入Map函数,将兴趣点地图编号集合和位置点地图编号集合作为MapReduce模型中Map函数产生的中间键值对里的键,用于在reduce函数阶段进行数据划分和计算任务调度。
具体地,根据位置点的经纬度坐标集合计算位置点的地图编号,可以通过程序实现,具体代码如下所示:
步骤S102、将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,将兴趣点矩形坐标输入四叉树模型,生成改进四叉树模型;
在reduce函数阶段,结合四叉树进行范围判断,四叉树是一种数据结构,是一种每个节点最多有四个子树的数据结构,四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构,它将已知范围的空间等分成四个相等的子空间,如此递归下去,直至树的层次达到一定深度或者满足某种要求后停止分割。四叉树的结构比较简单,并且当空间数据对象分布比较均匀时,具有比较高的空间数据插入和查询效率,因此四叉树是常用的空间索引之一。
本公开实施例中,将兴趣点经纬度坐标转换为四叉树查询所需要的矩形坐标,然后将兴趣点矩形坐标输入四叉树模型,生成改进的四叉树模型。
具体地,将兴趣点经纬度坐标转换为对应的矩形坐标包括,将预设范围值转化为对应的经纬度;将兴趣点的经度坐标减去预设范围值对应的经度,作为兴趣点矩形的第一端点值,将兴趣点的经度坐标加上预设范围值对应的经度,作为兴趣点矩形的第二端点值;将兴趣点的纬度坐标减去预设范围值对应的纬度,作为兴趣点矩形的第三端点值,将兴趣点的纬度坐标加上预设范围值对应的纬度,作为兴趣点矩形的第四端点值。
在一些示例性场景中,兴趣点的经纬度坐标为(X,Y),其中,X代表经度,Y代表纬度,预设范围值用delta表示,首先将预设范围值转换为对应的经纬度,一般一个经度或一个纬度对应的距离为111千米,因此,兴趣点所对应的矩形坐标为:
(x-delta/1000/111,x+delta/1000/111,y-delta/1000/111,y+delta/1000/111);
但是根据经纬度原理可知,随着纬度增高变化一个经度所代表的球面距离是逐渐减小的,因此修改兴趣点矩形坐标为:
(x-delta/1000/111/cos(y),x+delta/1000/111/cos(y),y-delta/1000/111,y+delta/1000/111)
按照上述修改后的兴趣点矩形坐标形式,将兴趣点经纬度坐标集合中各兴趣点对应的经纬度坐标转换为兴趣点矩形坐标,将兴趣点矩形坐标插入四叉树模型,得到改进的四叉树模型。
通过上述方法,得到基于兴趣点经纬度坐标构建的兴趣点矩形坐标,改变了传统四叉树结构用的基于距离的直角坐标系的形式,可以提高对于基于经纬度坐标的位置点的查询的准确度。
步骤S103、将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,通过改进四叉树模型遍历每个位置点矩形坐标,并将满足四叉树索引条件的兴趣点经纬度坐标输出;
具体地,将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标包括,将位置点的经度坐标作为位置点矩形的第一端点值,将位置点的经度坐标作为位置点矩形的第二端点值,将位置点的纬度坐标作为位置点矩形的第三端点值,将位置点的纬度坐标作为位置点矩形的第四端点值。
在一些示例性场景中,位置点经纬度坐标为(X1,Y1),将位置点经纬度坐标转换为对应的位置点矩形坐标为(X1,X1,Y1,Y1),生成一个长宽为0的矩形坐标,通过改进的四叉树模型遍历每个位置点矩形坐标,如果四叉树模型判断出某个兴趣点与该被遍历的位置点有交集,则将该兴趣点的经纬度坐标输出。
可选地,一个位置点可能与多个兴趣点有交集,则将该多个兴趣点输出,一个位置点也可能与所有兴趣点都没有交集,则不输出兴趣点,继续遍历下一个位置点,直到所有的位置点被遍历完。
步骤S104、根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当距离小于等于预设范围值时,确定位置点在兴趣点的预设范围内。
具体地,当正在被遍历的位置点与改进的四叉树模型中的兴趣点有交集时,将该兴趣点输出,根据输出的兴趣点经纬度坐标和正在被遍历的位置点经纬度坐标计算兴趣点与位置点之间的距离,具体计算方法可通过代码实现。
在一些示例性场景中,预设范围值为100米,例如,得到的兴趣点与位置点之间的距离为80米,则兴趣点与位置点之间的距离小于预设范围值,确定位置点在兴趣点的100米范围内。
在一些示例性场景中,预设范围值为100米,例如,得到的兴趣点与位置点之间的距离为120米,则兴趣点与位置点之间的距离大于预设范围值,确定位置点不在兴趣点的100米范围内。
在一些示例性场景中,得到的有交集的兴趣点有兴趣点1,兴趣点2,兴趣点3,预设范围值为100米,计算得到兴趣点1与位置点之间的距离为70米,兴趣点2与位置点之间的距离为130米,兴趣点3与位置点之间的距离为90米,则兴趣点1在位置点的100米范围内,兴趣点2不在位置点的100米范围内,兴趣点3在位置点的100米范围内,同理,该位置点在兴趣点1、兴趣点3的100米范围内,该位置点不在兴趣点2的100米范围内。
可选地,当确定位置点在兴趣点的预设范围内时,将该兴趣点和该位置点输出,在一些示例性场景中,某位置点在兴趣点1、兴趣点3的100米范围内,则将该位置点和兴趣点1、兴趣点3输出。
可选地,还包括,根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当距离大于预设范围值时,确定位置点不在兴趣点的预设范围内。
具体地,当正在被遍历的位置点与改进的四叉树模型中的兴趣点有交集时,将该兴趣点输出,根据输出的兴趣点经纬度坐标和正在被遍历的位置点经纬度坐标计算兴趣点与位置点之间的距离,具体计算方法可通过代码实现。
在一些示例性场景中,预设范围值为100米,例如,得到的兴趣点与位置点之间的距离为120米,则兴趣点与位置点之间的距离大于预设范围值,确定位置点不在兴趣点的100米范围内。
通过上述方法,可以实现以角度为单位的经纬度坐标与以距离为单位的直角坐标的统一,根据兴趣点与位置点的经纬度坐标判断两者之间的距离,根据距离与预设范围值的大小关系,从而确定该位置点是否在兴趣点的预设范围内,可以大大提高判断的准确率。
可选地,将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,包括:
将预设范围值转化为对应的经纬度;
将兴趣点的经度坐标减去预设范围值对应的经度,作为兴趣点矩形的第一端点值,将兴趣点的经度坐标加上预设范围值对应的经度,作为兴趣点矩形的第二端点值;
将兴趣点的纬度坐标减去预设范围值对应的纬度,作为兴趣点矩形的第三端点值,将兴趣点的纬度坐标加上预设范围值对应的纬度,作为兴趣点矩形的第四端点值。
具体地,兴趣点的经纬度坐标为(X,Y),其中,X代表经度,Y代表纬度,预设范围值用delta表示,首先将预设范围值转换为对应的经纬度,一般一个经度或一个纬度对应的距离为111千米,因此,兴趣点所对应的矩形坐标为:
(x-delta/1000/111,x+delta/1000/111,y-delta/1000/111,y+delta/1000/111);
但是根据经纬度原理可知,随着纬度增高变化一个经度所代表的球面距离是逐渐减小的,因此修改兴趣点矩形坐标为:
(x-delta/1000/111/cos(y),x+delta/1000/111/cos(y),y-delta/1000/111,y+
delta/1000/111)
按照上述修改后的兴趣点矩形坐标形式,将兴趣点经纬度坐标集合中各兴趣点对应的经纬度坐标转换为兴趣点矩形坐标,将兴趣点矩形坐标插入四叉树模型,得到改进的四叉树模型。
通过上述方法,得到基于兴趣点经纬度坐标构建的兴趣点矩形坐标,改变了传统四叉树结构用的基于距离的直角坐标系的形式,可以提高对于基于经纬度坐标的位置点的查询的准确度。
可选地,将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,包括:
将位置点的经度坐标作为位置点矩形的第一端点值,将位置点的经度坐标作为位置点矩形的第二端点值;
将位置点的纬度坐标作为位置点矩形的第三端点值,将位置点的纬度坐标作为位置点矩形的第四端点值。
具体地,位置点经纬度坐标为(X1,Y1),将位置点经纬度坐标转换为对应的位置点矩形坐标为(X1,X1,Y1,Y1),生成一个长宽为0的矩形坐标,通过改进的四叉树模型遍历每个位置点矩形坐标。
可选地,获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值之后,还包括:
获取兴趣点的地图编号集合;
根据位置点的经纬度坐标集合计算位置点的地图编号集合。
具体地,兴趣点是地图中的已知点,将兴趣点集合对应的地图编号集合输入Map函数,根据位置点的经纬度坐标集合中各位置点的经纬度坐标计算各位置点的地图编号,得到位置点地图编号集合,将位置点地图编号集合输入Map函数。
在一些示例性场景中,兴趣点1是公交站,兴趣点2是加油站,兴趣点3是商场,获取该公交站对应的地图编号、该加油站对应的地图编号、该商场对应的地图编号,然后根据位置点的经纬度坐标集合计算位置点的地图编号,可以通过程序实现,具体代码如下所示:
可选地,将兴趣点的地图编号集合和位置点的地图编号集合作为mapreduce模型中map函数输出的中间键值对里的键,将键传输到reduce函数中,通过键将兴趣点数据和位置点数据划分到对应的兴趣点操作任务和对应的位置点操作任务,其中,基于四叉树的范围判断方法在reduce函数中进行。
在一些示例性场景中,兴趣点1是公交站,兴趣点2是加油站,兴趣点3是商场,获取该公交站对应的地图编号、该加油站对应的地图编号、该商场对应的地图编号,然后根据位置点的经纬度坐标集合计算位置点的地图编号,将兴趣点地图编号集合和位置点地图编号集合作为MapReduce模型中Map函数产生的中间键值对里的键,用于在reduce函数阶段进行数据划分和计算任务调度。
图2是根据一示例性实施例示出的一种基于改进四叉树的范围判断方法的流程示意图;
步骤S201、获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值。
步骤S202、获取兴趣点的地图编号集合,根据位置点的经纬度坐标集合计算位置点的地图编号集合。
步骤S203、将兴趣点的地图编号集合和位置点的地图编号集合作为mapreduce模型中map函数输出的中间键值对里的键,将所述键传输到reduce函数中。
步骤S204、在reduce函数阶段,将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,将所述兴趣点矩形坐标输入四叉树模型,生成改进四叉树模型。
步骤S205、在reduce函数阶段,将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,通过所述改进四叉树模型遍历每个位置点矩形坐标。
步骤S206、判断是否有满足四叉树索引条件的兴趣点输出,若有满足四叉树索引条件的兴趣点输出,则执行步骤S207,根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,若没有满足四叉树索引条件的兴趣点输出,则执行步骤S208,确定位置点不在兴趣点的预设范围内。
步骤S207、根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离。
步骤S208、确定位置点不在兴趣点的预设范围内。
步骤S209、判断距离是否小于等于预设范围值,若距离小于等于预设范围值,则执行步骤S210,确定位置点在兴趣点的预设范围内,若距离大于预设范围值,则执行步骤S208,确定位置点不在兴趣点的预设范围内。
步骤S210、确定位置点在兴趣点的预设范围内。
在一些可选地实施例中,一种基于改进四叉树的范围判断设备,设备包括上述实施例提供的一种基于改进四叉树的范围判断装置。
图3是根据一示例性实施例示出的一种基于改进四叉树的范围判断装置的示意图。
在一些实施例中,一种基于改进四叉树的范围判断装置包括:
获取模块:用于获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值;
第一转换模块,用于将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,将兴趣点矩形坐标输入四叉树模型,生成改进四叉树模型;
第二转换模块,用于将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,通过改进四叉树模型遍历每个位置点矩形坐标,并将满足条件的兴趣点经纬度坐标输出;
确定模块,用于根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当距离小于等于预设范围值时,确定位置点在兴趣点的预设范围内。
可选地,还包括:
第二确定模块,用于当距离大于预设范围值时,确定位置点不在兴趣点的预设范围内;
图4是根据一示例性实施例示出的一种基于改进四叉树的范围判断装置的示意图
在一些实施例中,一种基于改进四叉树的范围判断装置,包括处理器41和存储有程序指令的存储器42,还可以包括通信接口43和总线44。其中,处理器41、通信接口43、存储器42可以通过总线44完成相互间的通信。通信接口43可以用于信息传输。处理器41可以调用存储器42中的逻辑指令,以执行上述实施例提供的基于改进四叉树的范围判断方法。
此外,上述的存储器42中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器42作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
存储器42可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器。
本公开实施例提供了一种基于改进四叉树的范围判断设备,设备包括上述实施例提供的一种基于改进四叉树的范围判断装置。包括存储器42及处理器41;
存储器42中存储有可执行程序代码;
处理器41读取可执行程序代码,运行与可执行程序代码对应的程序,以实现上述实施例提供的基于改进四叉树的范围判断方法。
本公开实施例提供了一种计算机可读介质,其上存储有计算机可读指令,计算机可读指令可被处理器执行以实现上述实施例提供的基于改进四叉树的范围判断方法。
上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或一个以上用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于改进四叉树的范围判断方法,其特征在于,包括:
获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值;
将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,将所述兴趣点矩形坐标输入四叉树模型,生成改进四叉树模型;
将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,通过所述改进四叉树模型遍历每个位置点矩形坐标,并将满足四叉树索引条件的兴趣点经纬度坐标输出;
根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当所述距离小于等于预设范围值时,确定所述位置点在所述兴趣点的预设范围内。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当所述距离大于预设范围值时,确定所述位置点不在所述兴趣点的预设范围内。
3.根据权利要求1所述的方法,其特征在于,所述将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,包括:
将预设范围值转化为对应的经纬度;
将兴趣点的经度坐标减去预设范围值对应的经度,作为所述兴趣点矩形的第一端点值,将兴趣点的经度坐标加上预设范围值对应的经度,作为所述兴趣点矩形的第二端点值;
将兴趣点的纬度坐标减去预设范围值对应的纬度,作为所述兴趣点矩形的第三端点值,将兴趣点的纬度坐标加上预设范围值对应的纬度,作为所述兴趣点矩形的第四端点值。
4.根据权利要求1所述的方法,其特征在于,所述将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,包括:
将位置点的经度坐标作为所述位置点矩形的第一端点值,将位置点的经度坐标作为所述位置点矩形的第二端点值;
将位置点的纬度坐标作为所述位置点矩形的第三端点值,将位置点的纬度坐标作为所述位置点矩形的第四端点值。
5.根据权利要求1所述的方法,其特征在于,所述获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值之后,还包括:
获取兴趣点的地图编号集合;
根据位置点的经纬度坐标集合计算位置点的地图编号集合。
6.根据权利要求5所述的方法,其特征在于,将兴趣点的地图编号集合和位置点的地图编号集合作为mapreduce模型中map函数输出的中间键值对里的键,将所述键传输到reduce函数中,通过所述键将兴趣点数据和位置点数据划分到对应的兴趣点操作任务和对应的位置点操作任务,其中,基于四叉树的范围判断方法在reduce函数中进行。
7.一种基于改进四叉树的范围判断装置,其特征在于,包括:
获取模块:用于获取位置点经纬度坐标集合、兴趣点经纬度坐标集合和预设范围值;
第一转换模块,用于将兴趣点经纬度坐标集合中各兴趣点经纬度坐标转换为兴趣点矩形坐标,将所述兴趣点矩形坐标输入四叉树模型,生成改进四叉树模型;
第二转换模块,用于将位置点经纬度坐标集合中各位置点经纬度坐标转换为位置点矩形坐标,通过所述改进四叉树模型遍历每个位置点矩形坐标,并将满足条件的兴趣点经纬度坐标输出;
确定模块,用于根据输出的兴趣点经纬度坐标和位置点经纬度坐标,计算兴趣点与位置点之间的距离,当所述距离小于等于预设范围值时,确定所述位置点在所述兴趣点的预设范围内。
8.根据权利要求7所述的装置,其特征在于,还包括:
第二确定模块,用于当所述距离大于预设范围值时,确定所述位置点不在所述兴趣点的预设范围内。
9.一种基于改进四叉树的范围判断设备,其特征在于,所述设备包括权利要求7和8所述的一种基于改进四叉树的范围判断装置。
10.一种计算机可读介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至6任一项所述的一种基于改进四叉树的范围判断方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184433.6A CN111061824B (zh) | 2019-11-27 | 2019-11-27 | 基于改进四叉树的范围判断方法、装置、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184433.6A CN111061824B (zh) | 2019-11-27 | 2019-11-27 | 基于改进四叉树的范围判断方法、装置、设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061824A true CN111061824A (zh) | 2020-04-24 |
CN111061824B CN111061824B (zh) | 2023-07-25 |
Family
ID=70299015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911184433.6A Active CN111061824B (zh) | 2019-11-27 | 2019-11-27 | 基于改进四叉树的范围判断方法、装置、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061824B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667758A (zh) * | 2020-12-17 | 2021-04-16 | 佳都新太科技股份有限公司 | 一种兴趣点聚合方法、地图聚合显示方法及处理终端 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1503347A2 (en) * | 2003-08-01 | 2005-02-02 | Sony Corporation | Map display system, map data processing apparatus, map display apparatus, and map display method |
CN101350012A (zh) * | 2007-07-18 | 2009-01-21 | 北京灵图软件技术有限公司 | 一种地址匹配的方法和系统 |
US20110093458A1 (en) * | 2009-09-25 | 2011-04-21 | Microsoft Corporation | Recommending points of interests in a region |
CN105307111A (zh) * | 2014-07-07 | 2016-02-03 | 南京理工大学常熟研究院有限公司 | 一种基于增量近邻查询的位置隐私保护方法 |
CN105404685A (zh) * | 2015-12-09 | 2016-03-16 | 中国农业银行股份有限公司 | 一种电子地图空间查询方法及系统 |
CN105786822A (zh) * | 2014-12-18 | 2016-07-20 | 高德软件有限公司 | 电子地图中查询空间对象和建立空间索引的方法及装置 |
CN106156138A (zh) * | 2015-04-10 | 2016-11-23 | 高德软件有限公司 | 兴趣点的空间索引的建立、周边搜索方法和装置 |
CN106844376A (zh) * | 2015-12-03 | 2017-06-13 | 高德软件有限公司 | 推荐兴趣点的方法及装置 |
CN108228904A (zh) * | 2018-02-08 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
CN109740376A (zh) * | 2018-12-21 | 2019-05-10 | 哈尔滨工业大学(深圳) | 基于近邻查询的位置隐私保护方法、系统、设备及介质 |
US20190311509A1 (en) * | 2018-04-10 | 2019-10-10 | University Of Washington | Generation and presentation of distance cartograms |
CN110474914A (zh) * | 2019-08-20 | 2019-11-19 | 中国电子信息产业集团有限公司第六研究所 | 信息查询方法、装置和移动通信设备 |
-
2019
- 2019-11-27 CN CN201911184433.6A patent/CN111061824B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1503347A2 (en) * | 2003-08-01 | 2005-02-02 | Sony Corporation | Map display system, map data processing apparatus, map display apparatus, and map display method |
CN101350012A (zh) * | 2007-07-18 | 2009-01-21 | 北京灵图软件技术有限公司 | 一种地址匹配的方法和系统 |
US20110093458A1 (en) * | 2009-09-25 | 2011-04-21 | Microsoft Corporation | Recommending points of interests in a region |
CN105307111A (zh) * | 2014-07-07 | 2016-02-03 | 南京理工大学常熟研究院有限公司 | 一种基于增量近邻查询的位置隐私保护方法 |
CN105786822A (zh) * | 2014-12-18 | 2016-07-20 | 高德软件有限公司 | 电子地图中查询空间对象和建立空间索引的方法及装置 |
CN106156138A (zh) * | 2015-04-10 | 2016-11-23 | 高德软件有限公司 | 兴趣点的空间索引的建立、周边搜索方法和装置 |
CN106844376A (zh) * | 2015-12-03 | 2017-06-13 | 高德软件有限公司 | 推荐兴趣点的方法及装置 |
CN105404685A (zh) * | 2015-12-09 | 2016-03-16 | 中国农业银行股份有限公司 | 一种电子地图空间查询方法及系统 |
CN108228904A (zh) * | 2018-02-08 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于输出信息的方法和装置 |
US20190311509A1 (en) * | 2018-04-10 | 2019-10-10 | University Of Washington | Generation and presentation of distance cartograms |
CN109740376A (zh) * | 2018-12-21 | 2019-05-10 | 哈尔滨工业大学(深圳) | 基于近邻查询的位置隐私保护方法、系统、设备及介质 |
CN110474914A (zh) * | 2019-08-20 | 2019-11-19 | 中国电子信息产业集团有限公司第六研究所 | 信息查询方法、装置和移动通信设备 |
Non-Patent Citations (2)
Title |
---|
VICHY ZILVAN: "《region of Interest Mining Using Stay Point Detection and Point Region Quadtree》", 《2018 5TH INTERNATIONAL CONFERENCE ON DATA AND SOFTWARE ENGINEERING》 * |
高强: "《轨迹大数据:数据处理关键技术研究综述》", 《软件学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667758A (zh) * | 2020-12-17 | 2021-04-16 | 佳都新太科技股份有限公司 | 一种兴趣点聚合方法、地图聚合显示方法及处理终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111061824B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10593110B2 (en) | Method and device for computing a path in a game scene | |
CN105373559A (zh) | 一种地理信息获取方法及地理信息获取系统 | |
CN105786822B (zh) | 电子地图中查询空间对象和建立空间索引的方法及装置 | |
US11314830B2 (en) | Method and apparatus for automatically discovering gas station POI, storage medium and device | |
CN106156138B (zh) | 兴趣点的空间索引的建立、周边搜索方法和装置 | |
CN104298541A (zh) | 云存储系统的数据分布算法及其装置 | |
CN111090712A (zh) | 一种数据处理方法、装置、设备及计算机存储介质 | |
CN112270833A (zh) | 一种轨迹拟合方法、装置、电子设备和存储介质 | |
CN107832386A (zh) | 一种电子地图的误差纠正方法和装置 | |
CN114485611B (zh) | 基于北斗网格码的三维空间最短路径规划方法和装置 | |
CN111061824B (zh) | 基于改进四叉树的范围判断方法、装置、设备 | |
CN104537179A (zh) | 获取用电地址和接入点设备间最短路径的方法及系统 | |
CN110309244B (zh) | 一种目标点定位的方法和装置 | |
CN110989886B (zh) | 基于空间地图的三维空间网格选取方法及装置 | |
CN110887495B (zh) | 云平台实时路况在城市应急gis平台中应用的方法 | |
CN112100308A (zh) | 一种北斗时空轨迹的相似性查询方法 | |
CN104331336B (zh) | 匹配于高性能计算机结构的多层嵌套负载平衡方法 | |
CN114089770B (zh) | 一种变电站巡检机器人的巡检点位生成方法及相关装置 | |
CN104239222B (zh) | 一种内存访问方法、设备和系统 | |
CN111460237B (zh) | 一种数据查询的方法、装置、可读存储介质和电子设备 | |
CN110211204A (zh) | 一种确定道路任务包的方法、装置及存储介质 | |
JP5940718B2 (ja) | 情報処理装置、方法及びコンピュータプログラム | |
CN108132992B (zh) | 一种人员信息基础地址编码方法、系统及电子设备 | |
CN114910089A (zh) | 一种事件位置的传输方法、装置和系统 | |
CN114116948A (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 |