本申请涉及云计算,具体涉及一种目标点与区域间最短距离的判断方法和装置。
背景技术:
1、在日常生活的很多场景中,都存在着判断目标点与多个区域距离是否达到或小于阈值的场景。例如,老年人或儿童佩戴的可穿戴设备,会定时向云端的管理系统上报位置信息,例如gps信息,云端管理系统会自动计算该位置与gis数据中预定义的危险区域(河流、湖泊、危险品工厂或仓库、军事区域等)的距离是否小于或等于阈值,如果是,则自动触发报警流程。
2、计算某个目标点与某个区域的最短距离,目前的方法如下。首先,判断目标点是否已经在区域内部,如果是,则最短距离为0。此处的方法主要使用射线法和转角法等。其次,如果该位置在区域外部,则开始计算该位置与区域的距离。如果区域是圆形,则根据目标点与圆心的位置和半径的关系,可以直接计算出距离。如果区域是多边形,计算比较复杂、计算量比较大。主要思路如下:首先求点到多边形每条边的最短距离,然后取这些最短距离的最小值。而点到线段的距离的计算思路:计算点到线段的垂点,如果这个垂点在线段上,那么点到线段的距离就是点到垂点的距离;如果这个垂点不在线段上,那么计算点到线段两个端点的距离的较小值,就作为点到线段的最小距离。判断垂点是否在线段上的计算方法:垂点到线段的两个端点形成两个向量,这两个向量计算点乘,如果结果为负,那么垂点在线段上;如果结果为正,那么垂点不在线段上。在实际应用中,例如,在一个城市或县域内,可能存在数量多达上万或几十万个危险区域,而受关注的人,例如老人和儿童,的数量也是数十万,甚至上百万级别。而且人的位置信息需要不断的定时上报,例如每20秒上报一次位置信息。因此,同时考虑人的数量、危险区域的数量、定时上报的高频率,则对应用系统算力的要求提出非常大的挑战,急需一种简单、高效的方法,减少对算力资源的消耗。
技术实现思路
1、针对上述现有技术中存在的问题,本申请提出了一种目标点与区域间最短距离的判断方法和装置。本申请所采用的技术方案如下:
2、一种目标点与区域间最短距离的判断方法,该方法包括如下步骤:
3、步骤1、获取系统的运行日志信息;
4、步骤2、对日志信息进行分析,判断新出现的目标点与原区域之间的距离是否满足预设关系,若是则记录所述新出现的目标点的位置;
5、步骤3、根据所述新出现的目标点的位置,形成新的目标点聚合成区域r1’;
6、步骤4,对出现在所述新的目标点聚合成区域r1’中的目标点的人次进行统计,并按照统计出的人次对所述新的目标点聚合成区域进行排序,形成有序列表;
7、步骤5、判断某个目标点与多个区域的最短距离是否小于阈值,选取所述有序列表的前n项对应的区域;判断目标点是否处于以上n个区域中的某个区域之内,若是,则目标点与区域间为最短距离。
8、进一步的,在步骤1中,系统定期收集每个终端的位置信息,记录成日志,不同的终端,记录在不同的日志条目中。
9、进一步的,在步骤3中,目标点聚合成区域采用聚类算法生成。
10、进一步的,在步骤2中,当存在多个原区域时,会同时存在多个新的目标点聚合成区域,且多个原区域分别与多个新的目标点聚合成区域相对应。
11、进一步的,在步骤4中,如果系统记录了人的信息,则同一个人在预设时间段内出现在所述新的目标点聚合成区域r1’内多次,则仅统计一次。
12、进一步的,在步骤4中,对所述有序列表进行定期更新。
13、进一步的,,在步骤5中,如果目标点处于前n项区域中的某个区域之内,则直接判断该目标点与多个区域中的某个区域的最短距离小于阈值,无需再与所有剩余的区域逐一比较。
14、进一步的,如果该目标点不在以上的n个区域内,则再逐一计算与所有剩余的区域的最短距离,判断是否存在小于阈值的情况。
15、进一步的,在步骤5中,对于某个目标点与多个区域之间位置关系的判断会按照预设的时间启动。
16、一种目标点与区域间最短距离的判断装置,该装置包括处理器以及存储有所述处理器可执行指令的存储器,当所述指令被处理器执行时,所述处理器执行上述方法步骤。
17、通过本申请实施例,可以获得如下技术效果:利用人或动物等的行为的相似性的特点,把人或动物等历史上接近某个特定区域且距离小于某个设定的阈值时的位置信息记录下来,从中选择最经常出现这种情况的位置区域。在未来计算某个点与某些个特定区域的距离是否小于某个设定的阈值时,只需判断这个点是否处于之前选择的最经常出现这种情况的区域。如果处于这些区域,则可以直接判断目标点至少与某些个特定区域其中之一的最短距离小于阈值,而不需要计算目标点与所有特定区域的最短距离。因此,本申请的算法简单、高效,能有效减少对算力资源的消耗。
1.一种目标点与区域间最短距离的判断方法,其特征在于,该方法包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,在步骤1中,系统定期收集每个终端的位置信息,记录成日志,不同的终端,记录在不同的日志条目中。
3.根据权利要求1所述的方法,其特征在于,在步骤3中,目标点聚合成区域采用聚类算法生成。
4.根据权利要求2所述的方法,其特征在于,在步骤2中,当存在多个原区域时,会同时存在多个新的目标点聚合成区域,且多个原区域分别与多个新的目标点聚合成区域相对应。
5.根据权利要求1所述的方法,其特征在于,在步骤4中,如果系统记录了人的信息,则同一个人在预设时间段内出现在所述新的目标点聚合成区域r1’内多次,则仅统计一次。
6.根据权利要求5所述的方法,其特征在于,在步骤4中,对所述有序列表进行定期更新。
7.根据权利要求1所述的方法,其特征在于,在步骤5中,如果目标点处于前n项区域中的某个区域之内,则直接判断该目标点与多个区域中的某个区域的最短距离小于阈值,无需再与所有剩余的区域逐一比较。
8.根据权利要求7所述的方法,其特征在于,如果该目标点不在以上的n个区域内,则再逐一计算与所有剩余的区域的最短距离,判断是否存在小于阈值的情况。
9.根据权利要求1所述的方法,其特征在于,在步骤5中,对于某个目标点与多个区域之间位置关系的判断会按照预设的时间启动。
10.一种目标点与区域间最短距离的判断装置,其特征在于,该装置包括处理器以及存储有所述处理器可执行指令的存储器,当所述指令被处理器执行时,所述处理器执行权利要求1至9任一项所述的方法步骤。