本申请实施例涉及计算机技术领域,特别涉及一种获取兴趣点信息的方法、装置、设备及存储介质。
背景技术:
poi(pointofinterest,兴趣点)信息是电子地图中必不可少的信息,poi信息通常包含名称、地址、类型和经纬度等信息,用于表征日常生活中遇到的各种地理场所,如学校、生活小区、工业园区、医院、景点等。
技术实现要素:
本申请实施例提供了一种获取兴趣点信息的方法、装置、设备及存储介质,可用于解决相关技术中的问题。所述技术方案如下:
一方面,本申请实施例提供了一种获取兴趣点信息的方法,所述方法包括:
获取目标区域内部的目标轨迹点的数据;
基于所述目标轨迹点的数据,对所述目标轨迹点进行聚类处理,得到一个或多个聚类簇,每个聚类簇中包括一个或多个有效轨迹点;
构建与每个聚类簇对应的模拟道路,将模拟道路构成的满足条件的区域作为所述目标区域内部的兴趣区域;
基于所述兴趣区域对应的目标道路,获取所述目标区域内部的兴趣点信息。
在一种可能实现方式中,所述构建与每个聚类簇对应的模拟道路,包括:
对于任一聚类簇,依次连接所述任一聚类簇中的各个有效轨迹点;
基于各个有效轨迹点之间的连线,构建与所述任一聚类簇对应的模拟道路。
在一种可能实现方式中,所述基于所述兴趣区域对应的目标道路,获取所述目标区域内部的兴趣点信息,包括:
基于构成所述兴趣区域的模拟道路,确定所述兴趣区域对应的目标道路;
基于所述目标道路对应的有效轨迹点的数据,确定所述兴趣区域的边缘信息和中心信息,将所述兴趣区域的边缘信息和中心信息作为所述目标区域内部的兴趣点信息。
在一种可能实现方式中,所述获取目标区域内部的目标轨迹点的数据,包括:
获取初始轨迹点的数据和目标区域的位置信息;
基于所述初始轨迹点的数据和所述目标区域的位置信息,获取所述目标区域内部的目标轨迹点的数据。
在一种可能实现方式中,所述基于所述目标轨迹点的数据,对所述目标轨迹点进行聚类处理,得到一个或多个聚类簇,包括:
响应于所述目标轨迹点的数量超过数量阈值,基于所述目标轨迹点的数据,对所述目标轨迹点进行聚类处理,得到一个或多个聚类簇。
在一种可能实现方式中,所述满足条件的区域为面积超过面积阈值的封闭区域。
另一方面,提供了一种获取兴趣点信息的装置,所述装置包括:
第一获取模块,用于获取目标区域内部的目标轨迹点的数据;
聚类模块,用于基于所述目标轨迹点的数据,对所述目标轨迹点进行聚类处理,得到一个或多个聚类簇,每个聚类簇中包括一个或多个有效轨迹点;
构建模块,用于构建与每个聚类簇对应的模拟道路,将模拟道路构成的满足条件的区域作为所述目标区域内部的兴趣区域;
第二获取模块,用于基于所述兴趣区域对应的目标道路,获取所述目标区域内部的兴趣点信息。
在一种可能实现方式中,所述构建模块,用于对于任一聚类簇,依次连接所述任一聚类簇中的各个有效轨迹点;基于各个有效轨迹点之间的连线,构建与所述任一聚类簇对应的模拟道路。
在一种可能实现方式中,所述第二获取模块,用于基于构成所述兴趣区域的模拟道路,确定所述兴趣区域对应的目标道路;基于所述目标道路对应的有效轨迹点的数据,确定所述兴趣区域的边缘信息和中心信息,将所述兴趣区域的边缘信息和中心信息作为所述目标区域内部的兴趣点信息。
在一种可能实现方式中,所述第一获取模块,用于获取初始轨迹点的数据和目标区域的位置信息;基于所述初始轨迹点的数据和所述目标区域的位置信息,获取所述目标区域内部的目标轨迹点的数据。
在一种可能实现方式中,所述聚类模块,用于响应于所述目标轨迹点的数量超过数量阈值,基于所述目标轨迹点的数据,对所述目标轨迹点进行聚类处理,得到一个或多个聚类簇。
在一种可能实现方式中,所述满足条件的区域为面积超过面积阈值的封闭区域。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行,以实现上述任一所述的获取兴趣点信息的方法。
另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行,以实现上述任一所述的获取兴趣点信息的方法。
本申请实施例提供的技术方案至少带来如下有益效果:
基于目标区域内部的目标轨迹点的数据,确定目标区域内部的兴趣区域;然后基于兴趣区域对应的目标道路,获取目标区域内部的兴趣点信息。基于此种过程,可以获取目标区域内部的兴趣点信息,有利于补充和完善已有的兴趣点信息库,有利于提高基于兴趣点信息提供的服务的服务效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种获取兴趣点信息的方法的实施环境的示意图;
图2是本申请实施例提供的一种获取兴趣点信息的方法流程图;
图3是本申请实施例提供的一种聚类处理前和聚类处理后的目标轨迹点的示意图;
图4是本申请实施例提供的一种根据dbscan聚类算法得到聚类簇的示意图;
图5是本申请实施例提供的一种任一聚类簇中的各个有效轨迹点的排序示意图;
图6是本申请实施例提供的一种模拟道路的示意图;
图7是本申请实施例提供的一种兴趣区域的示意图;
图8是本申请实施例提供的一种获取目标区域内部的兴趣点信息的过程示意图;
图9是本申请实施例提供的一种获取兴趣点信息的装置示意图;
图10是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
poi(pointofinterest,兴趣点)信息是电子地图中必不可少的信息,poi信息通常包含名称、地址、类型和经纬度等信息,用于表征日常生活中遇到的各种地理场所,如学校、生活小区、工业园区、医院、景点等。目前,poi信息库中缺失某些区域内部的poi信息,例如,生活小区内部的poi信息、工业园区内部的poi信息等。获取这些区域内部的poi信息,有利于补充和完善已有的poi信息库,以便于基于poi信息为用户提供更加精细化的服务。基于poi信息为用户提供的服务包括但不限于查询服务、导航服务等。
对此,本申请实施例提供了一种获取兴趣点信息的方法,以获取目标区域内部的兴趣点信息。请参考图1,其示出了本申请实施例提供的获取兴趣点信息的方法的实施环境的示意图。该实施环境可以包括:终端11和服务器12。
其中,终端11可以采集运动轨迹点的数据,然后将运动轨迹点的数据发送至服务器12。服务器12可以获取终端11发送的运动轨迹点的数据,根据运动轨迹点的数据获取目标区域内部的目标轨迹点的数据;服务器12还可以根据目标区域内部的目标轨迹点的数据,进一步获取该目标区域内部的兴趣点信息。当然,终端11也可以从服务器获取目标区域内部的目标轨迹点的数据,然后进一步获取该目标区域内部的兴趣点信息。
在一种可能实现方式中,终端11可以是指车载终端、手机、平板电脑、个人计算机等的智能设备。服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群,或者是一个云计算服务中心。终端11与服务器12通过有线或无线网络建立通信连接。
本领域技术人员应能理解上述终端11和服务器12仅为举例,其他现有的或今后可能出现的终端或服务器如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
基于上述图1所示的实施环境,本申请实施例提供一种获取兴趣点信息的方法,以该方法应用于服务器为例。如图2所示,本申请实施例提供的方法可以包括如下步骤:
在步骤201中,获取目标区域内部的目标轨迹点的数据。
目标区域是指目前已有的兴趣点信息库中缺失内部兴趣点信息的区域,包括但不限于生活小区所在的区域、工业园区所在的区域等。在已有的兴趣点信息库中,一般仅包括用于指示目标区域所在位置的兴趣点信息,不包括用于指示目标区域内部的花园、运动广场等兴趣区域的兴趣点信息,本申请实施例提供的方法可以获取目标区域内部的兴趣点信息,以便于为用户提供目标区域内部的精细化服务,例如,为用户提供目标区域内部的导航服务、目标区域内部的查询服务等。
目标轨迹点是指处于目标区域内部的轨迹点,轨迹点可以是指gps(globalpositioningsystem,全球定位系统)点。目标轨迹点的数据用于指示目标轨迹点所在的位置。在一种可能实现方式中,目标轨迹点的数据包括但不限于目标轨迹点的经度值和纬度值。一个目标轨迹点的数据用于唯一标识一个目标轨迹点。
在一种可能实现方式中,服务器获取目标区域内部的目标轨迹点的数据的过程包括步骤2011和步骤2012:
步骤2011:获取初始轨迹点的数据和目标区域的位置信息。
在一种可能实现方式中,服务器获取初始轨迹点的数据的过程包括以下步骤a和步骤b:
步骤a:获取运动轨迹点的数据。
运动轨迹点是指组成运动对象在运动过程中产生的运动轨迹的轨迹点,运动对象可以是指机动车辆、外卖骑手、行人等。运动轨迹点的数据可以包括运动轨迹点的位置数据、运动轨迹点的定位误差、运动轨迹点的运动速度、运动轨迹点的时间戳中的至少一个。其中,运动轨迹点的位置数据包括但不限于运动轨迹点的经度值和纬度值。
运动对象在运动的过程中会产生运动轨迹,每条运动轨迹都由若干运动轨迹点组成。运动对象的终端可以采集运动对象在运动过程中产生的运动轨迹点的数据,然后将采集到的运动轨迹点的数据发送至服务器上。由此,服务器获取运动轨迹点的数据。
本申请实施例对终端采集运动轨迹点的数据的频率不加以限定,采集运动轨迹点的数据的频率可以根据经验设置,也可以根据运动对象的类型自由调整。例如,对于机动车辆而言,终端采集运动轨迹点的数据的频率可以为每隔3秒采集一次;对于外卖骑手而言,终端采集运动轨迹点的数据的频率可以为每隔5秒采集一次;对于行人而言,终端采集运动轨迹点的数据的频率可以为每隔10秒采集一次。
在一种可能实现方式中,服务器可以运行iot(internetofthings,物联网)系统,运动对象的终端可以接入该iot系统,然后通过iot系统将运动轨迹点的数据上传至服务器。由此,服务器通过iot系统获取运动轨迹点的数据。
服务器在获取运动轨迹点的数据后,可以将运动轨迹点的数据存储在轨迹点数据库中,以在后续获取初始轨迹点的数据的过程中,从轨迹点数据库中快速提取运动轨迹点的数据。
在一种可能实现方式中,运动轨迹点的数据为加密后的数据。在此种情况下,服务器获取运动轨迹点的数据之后,需要对运动轨迹点的数据进行解密,然后根据解密后的运动轨迹点的数据,执行步骤b。
步骤b:基于运动轨迹点的数据,对运动轨迹点进行过滤,将剩余的运动轨迹点的数据作为初始轨迹点的数据。
基于运动轨迹点的数据,对运动轨迹点进行过滤,可以剔除部分不可靠的运动轨迹点。在一种可能实现方式中,服务器基于运动轨迹点的数据,对运动轨迹点进行过滤的方式包括以下至少一种:
方式一:将时间戳不在参考时间范围内的运动轨迹点剔除。
此种方式一发生在运动轨迹点的数据包括运动轨迹点的时间戳的情况下。参考时间范围是指从起始时间戳到当前时间戳的时间范围,起始时间戳可以根据参考时间间隔确定。参考时间间隔可以根据经验设置,也可以根据应用场景自由调整,本申请实施例对此不加以限定。例如,参考时间间隔可以设置为1年,若当前时间戳为2020年01月01日10:00:00,则初始时间戳为2019年01月01日10:00:00,参考时间范围为从2019年01月01日10:00:00至2020年01月01日10:00:00的时间范围。
当运动轨迹点的时间戳不在参考时间范围内时,说明该运动轨迹点的产生时间较早,该运动轨迹点所处道路可能已经发生改变。因此,将时间戳不在参考时间范围内的运动轨迹点剔除,可以剔除部分不可靠的运动轨迹点。
方式二:将运动速度小于速度阈值的运动轨迹点剔除。
此种方式二发生在运动轨迹点的数据包括运动轨迹点的运动速度的情况下。运动轨迹点的运动速度可以是指运动对象在该运动轨迹点所在位置的瞬时速度。速度阈值可以根据经验设置,也可以根据运动对象的类型自由调整,本申请实施例对此不加以限定。
示例性地,当运动对象为机动车辆时,速度阈值可以设置为1m/s(米每秒),若机动车辆产生的运动轨迹点对应的运动速度小于1m/s,则说明机动车辆运动的速度较慢,将该运动轨迹点作为不可靠的运动轨迹点并进行剔除。当运动对象为行人时,速度阈值可以设置为20km/h(千米每小时),若行人产生的运动轨迹点对应的运动速度小于20km/h,则说明行人运动的速度较慢,将该运动轨迹点作为不可靠的运动轨迹点并进行剔除。
方式三:将定位误差不小于误差阈值的运动轨迹点剔除。
此种方式三发生在运动轨迹点的数据包括运动轨迹点的定位误差的情况下。定位误差可以是指运动对象的定位位置与真实位置之间的距离误差。误差阈值可以根据经验设置,也可以根据应用场景自由调整,本申请实施例对此不加以限定。示例性地,误差阈值可以设置为8米,当运动轨迹点的定位误差大于8米时,说明该运动轨迹点的定位准确度较低,将该运动轨迹点作为不可靠的运动轨迹点并进行剔除。
需要说明的是,当运动轨迹点的数据包括运动轨迹点的时间戳、运动轨迹点的运动速度和运动轨迹点的定位误差时,可以采用上述方式一至方式三中的一种或多种方式对运动轨迹点进行过滤,本申请实施例对此不加以限定。
对运动轨迹点进行过滤后,剩余的运动轨迹点为可靠性较高的运动轨迹点,将剩余的运动轨迹点的数据作为初始轨迹点的数据。由此,服务器可以获取到初始轨迹点的数据。
目标区域的位置信息用于标识目标区域所处的地理位置。在一种可能实现方式中,服务器获取目标区域的位置信息的方式为:服务器从已有的兴趣点信息库中获取目标区域对应的已有兴趣点信息;对目标区域对应的已有兴趣点信息进行解析,得到目标区域的位置信息。通常情况下,任一区域对应的已有兴趣点信息中包括该任一区域的名称、该任一区域的经度信息、该任一区域的纬度信息、该任一区域的详情介绍等多方面的信息。服务器可以根据目标区域的名称,在已有的兴趣点信息库中查询目标区域对应的已有兴趣点信息;然后将目标区域对应的已有兴趣点信息中的经度信息和纬度信息作为目标区域的位置信息。
在一种可能实现方式中,服务器可以通过接口调用已有的兴趣点信息库,然后从已有的兴趣点信息库中获取目标区域对应的已有兴趣点信息。
在一种可能实现方式中,目标区域对应的已有兴趣点信息中的经度信息包括经度下限值和经度上限值;目标区域对应的已有兴趣点信息中的纬度信息包括纬度下限值和纬度上限值。此种情况下,目标区域的位置信息包括经度下限值、经度上限值、纬度下限值和纬度上限值。根据经度下限值和经度上限值组成的经度范围,以及纬度下限值和纬度上限值组成的纬度范围,可以唯一确定一个目标区域。
需要说明的是,目标区域的数量可能为一个或多个。当目标区域的数量为多个时,分别获取每个目标区域的位置信息。在一种可能实现方式中,在获取各个目标区域的位置信息后,服务器可以为每个目标区域进行编号,然后将目标区域的编号和目标区域的位置信息进行对应存储,以便于后续快速提取目标区域的位置信息。
步骤2012:基于初始轨迹点的数据和目标区域的位置信息,获取目标区域内部的目标轨迹点的数据。
初始轨迹点所在的位置可能不处于目标区域内部,因此,需要对初始轨迹点进行过滤处理,以获取目标区域内部的目标轨迹点。在一种可能实现方式中,初始轨迹点的数据包括经度值和纬度值,目标区域的位置信息包括经度下限值、经度上限值、纬度下限值和纬度上限值。基于初始轨迹点的数据和目标区域的位置信息,获取目标区域内部的目标轨迹点的数据的方式为:响应于任一初始轨迹点的经度值在经度下限值和经度上限值组成的经度范围内,且该任一初始轨迹点的纬度值在纬度下限值和纬度上限值组成的纬度范围内,将该任一初始轨迹点的数据作为目标区域内部的目标轨迹点的数据。
在一种可能实现方式中,由于获取的兴趣点信息的准确性与目标区域内部的目标轨迹点的数量相关,目标轨迹点的数量越多,获取的兴趣点信息的准确性越高。所以,在获取目标区域内部的目标轨迹点的数据后,可以检测目标轨迹点的数量是否超过数量阈值。响应于目标轨迹点的数量超过数量阈值,执行步骤202;响应于目标轨迹点的数量不超过数量阈值,舍弃该目标区域内部的目标轨迹点的数据,不再获取该目标区域内部的兴趣点信息。此种方式,可以避免出现因目标轨迹点的数量过少而造成的目标区域内部的兴趣点信息的准确性较低的现象。
数量阈值可以根据目标区域的面积设置,目标区域的面积可以根据目标区域的经度下限值、经度上限值、纬度下限值和纬度上限值确定,也可以根据目标区域在地图上的轮廓和地图的比例尺确定,本申请实施例对此不加以限定。目标区域的面积越大,数量阈值也越大。
需要说明的是,当目标区域的数量为多个时,可以分别获取每个目标区域内部的目标轨迹点的数据。然后可以将每个目标区域的编号和每个目标区域内部的目标轨迹点的数据进行对应存储,以便于快速提取并使用。在一种可能实现方式中,可以用list(一览表)的方式对应存储每个目标区域的编号和每个目标区域内部的目标轨迹点的数据。
需要说明的是,本申请实施例以目标区域的数量为一个为例进行说明,当目标区域的数量为多个时,可以根据本申请实施例提供的方法获取每个目标区域内部的兴趣点信息。
在步骤202中,基于目标轨迹点的数据,对目标轨迹点进行聚类处理,得到一个或多个聚类簇,每个聚类簇中包括一个或多个有效轨迹点。
目标轨迹点为目标区域内部的轨迹点,这些目标轨迹点可能位于目标区域内部的不同道路上,通过对目标轨迹点进行聚类处理,可以将可能位于同一道路上的目标轨迹点聚类到同一个聚类簇中。在聚类处理过程中,可能有一些目标轨迹点不属于任何一个聚类簇,可以将这些不属于任何一个聚类簇的目标轨迹点作为无效轨迹点;将聚类簇中的目标轨迹点作为有效轨迹点。每个聚类簇中包括一个或多个有效轨迹点。
示例性地,聚类处理前和聚类处理后的目标轨迹点的示意图可以如图3所示,在聚类处理后,目标轨迹点聚类成了聚类簇1、聚类簇2和聚类簇3。在3个聚类簇中的目标轨迹点为有效轨迹点,不属于任一聚类簇的目标轨迹点为无效轨迹点。
在一种可能实现方式中,对于服务器获取目标轨迹点的数据后,检测目标轨迹点的数量是否超过数量阈值的情况,此步骤202执行的前提条件为目标轨迹点的数量超过数量阈值。也就是说,响应于目标轨迹点的数量超过数量阈值,基于目标轨迹点的数据,对目标轨迹点进行聚类处理,得到一个或多个聚类簇。
在一种可能实现方式中,基于目标轨迹点的数据,对目标轨迹点进行聚类处理,得到一个或多个聚类簇的方式可以为:基于目标轨迹点的数据,计算目标轨迹点之间的距离;基于目标轨迹点之间的距离对目标轨迹点进行聚类处理,得到多个聚类簇。需要说明的是,本申请实施例对目标轨迹点之间的距离的表示方式不加以限定,例如,可以用欧式距离表示目标轨迹点之间的距离。
在一种可能实现方式中,基于目标轨迹点之间的距离对目标轨迹点进行聚类处理的方式可以为:基于目标轨迹点之间的距离,利用基于密度的聚类方法对目标轨迹点进行聚类处理。通常情况下,基于密度的聚类方法从样本密度的角度出发,考查样本之间的可连接性,基于可连接样本不断扩展聚类簇,以获得最终的聚类结果。
示例性地,可以利用dbscan(density-basedspatialclusteringofapplicationswithnoise,具有噪声的基于密度的聚类方法)对目标轨迹点进行聚类处理。dbscan是一种基于密度的空间聚类算法,该算法将具有足够密度的区域划分为聚类簇,能够在具有噪声的空间数据库中发现任意形状的聚类簇,它将聚类簇定义为密度相连的点的最大集合。利用dbscan进行聚类处理的过程可以参见相关技术中的介绍,本申请实施例不再赘述。在利用dbscan对目标轨迹点进行聚类处理的过程中,涉及两个聚类参数:邻域半径和邻域目标轨迹点最小数量。对于利用dbscan进行聚类处理后得到的聚类簇中的任一目标轨迹点而言,在以该任一目标轨迹点为圆心,以邻域半径为半径画的圆中包括的目标轨迹点的数量不小于邻域目标轨迹点最小数量。邻域半径和邻域目标轨迹点最小数量可以根据经验设置,也可以根据应用场景自由调整,本申请实施例对此不加以限定。
例如,在图4所示的目标轨迹点分布情况下,根据dbscan聚类算法可以得到如图4所示的分别与两条箭头连接线对应的两条路径,每条路径上的目标轨迹点形成一个聚类簇。
在一种可能实现方式中,在得到聚类簇后,可以根据聚类簇中包括的有效轨迹点的数量对聚类簇进行筛选。当任一聚类簇中包括的有效轨迹点的数量不超过参考数量时,将该任一聚类簇剔除;当任一聚类簇中包括的有效轨迹点的数量超过参考数量时,将该任一聚类簇保留。参考数量可以根据经验设置,也可以根据应用场景自由调整,本申请实施例对此不加以限定。此种方式,有利于减少计算量,提高获取目标区域内部的兴趣点信息的效率。
在步骤203中,构建与每个聚类簇对应的模拟道路,将模拟道路构成的满足条件的区域作为目标区域内部的兴趣区域。
每个聚类簇可能对应目标区域内部的一条道路,在得到聚类簇后,可以构建与每个聚类簇对应的模拟道路。模拟道路为目标区域内部模拟的道路。需要说明的是,对于服务器获取聚类簇后,根据聚类簇中包括的有效轨迹点的数量对聚类簇进行筛选的情况,此步骤中的聚类簇是指保留的聚类簇,也就是指包括的有效轨迹点的数量超过参考数量的聚类簇。
在一种可能实现方式中,构建与每个聚类簇对应的模拟道路的过程包括步骤2031和步骤2032:
步骤2031:对于任一聚类簇,依次连接该任一聚类簇中的各个有效轨迹点。
任一聚类簇中包括一个或多个有效轨迹点,依次连接该任一聚类簇中的各个有效轨迹点,可以得到各个有效轨迹点之间的连线。
在一种可能实现方式中,依次连接任一聚类簇中的各个有效轨迹点的过程可以包括步骤a和步骤b:
步骤a:基于任一聚类簇中的各个有效轨迹点的数据,对各个有效轨迹点进行排序。
有效轨迹点的数据包括但不限于经度值和纬度值。该步骤a的实现方式包括但不限于以下两种:
方式1:基于任一聚类簇中的各个有效轨迹点的经度值,对各个有效轨迹点进行排序。
在一种可能实现方式中,该方式1的实现过程为:按照任一聚类簇中的各个有效轨迹点的经度值从小到大的顺序对各个有效轨迹点进行排序;或者,按照任一聚类簇中的各个有效轨迹点的经度值从大到小的顺序对各个有效轨迹点进行排序。
方式2:基于任一聚类簇中的各个有效轨迹点的纬度值,对各个有效轨迹点进行排序。
在一种可能实现方式中,该方式2的实现过程为:按照任一聚类簇中的各个有效轨迹点的纬度值从小到大的顺序对各个有效轨迹点进行排序;或者,按照任一聚类簇中的各个有效轨迹点的纬度值从大到小的顺序对各个有效轨迹点进行排序。
无论是根据方式1还是方式2对任一聚类簇中的各个有效轨迹点进行排序,在排序之后,均可以得到排序的结果,该排序的结果用于指示各个有效轨迹点排列的先后顺序。在一种可能实现方式中,在对任一聚类簇中的各个有效轨迹点进行排序的过程中,可以对各个有效轨迹点进行连续编号,此种方式可以便于快速得知各个有效轨迹点排列的先后顺序。例如,对任一聚类簇中的各个有效轨迹点进行排序后,可以得到如图5所示的排序的结果,在图5中,根据排列的先后顺序,从1至16对各个有效轨迹点进行连续编号。
步骤b:根据排序的结果,依次连接该任一聚类簇中的各个有效轨迹点。
排序的结果用于指示该任一聚类簇中的各个有效轨迹点排列的先后顺序,根据各个轨迹点排序的先后顺序,依次连接该任一聚类簇中的各个有效轨迹点。例如,如图5所示,在根据排序的结果为各个有效轨迹点进行连续编号后,可以按照编号从1至16的顺序,依次连接各个有效轨迹点,得到如图5所示的连线。
步骤2032:基于各个有效轨迹点之间的连线,构建与该任一聚类簇对应的模拟道路。
在一种可能实现方式中,基于各个有效轨迹点之间的连线,构建与该任一聚类簇对应的模拟道路的方式为:对于任两个相邻的有效轨迹点,以该任两个相邻的有效轨迹点之间的连线为中位线,以参考数值为高,构建矩形,将构建的矩形作为与该任两个相邻的有效轨迹点对应的模拟子道路;在得到与所有相邻的有效轨迹点对应的模拟子道路后,将各个模拟子道路相连,得到与该任一聚类簇对应的模拟道路。例如,根据各个有效轨迹点之间的连线构建的与该任一聚类簇对应的模拟道路可以如图6所示。
根据上述步骤2031和步骤2032,可以构建与每个聚类簇对应的模拟道路。模拟道路之间相互交叉,可以构成多个区域。将模拟道路构成的多个区域中满足条件的区域作为目标区域内部的兴趣区域。目标区域内部的兴趣区域是指目标区域内部需要获取兴趣点信息的区域。例如,当目标区域为生活小区所在的区域时,目标区域内部的兴趣区域可以是指生活小区内部的运动广场所在的区域。获取该运动广场所在的区域的兴趣点信息,有利于为用户准确提供该生活小区内部的运动广场的相关信息。
在一种可能实现方式中,满足条件的区域为面积超过面积阈值的封闭区域。也就是说,将模拟道路构成的面积超过面积阈值的封闭区域作为该目标区域内部的兴趣区域。面积阈值可以根据经验设置,也可以根据应用场景自由调整,本申请实施例对此不加以限定。当然,满足条件的区域还可以是指任何面积的封闭区域,本申请实施例对此不加以限定。示例性地,当模拟道路构成的区域为图7所示的区域时,可以将模拟道路构成的区域作为兴趣区域。
在步骤204中,基于兴趣区域对应的目标道路,获取目标区域内部的兴趣点信息。
兴趣区域对应的目标道路是指兴趣区域的边缘对应的道路。兴趣区域对应的目标道路可能为一条或多条,本申请实施例对此不加以限定。在一种可能实现方式中,基于兴趣区域对应的目标道路,获取目标区域内部的兴趣点信息的过程包括步骤2041和步骤2042:
步骤2041:基于构成兴趣区域的模拟道路,确定兴趣区域对应的目标道路。
兴趣区域对应的目标道路中可能包括完整的模拟道路,也可能包括不完整的模拟道路。根据构成兴趣区域的模拟道路,可以确定兴趣区域对应的目标道路。在一种可能实现方式中,确定兴趣区域对应的目标道路的方式为:对于构成兴趣区域的任一模拟道路,将该任一模拟道路中与兴趣区域的边缘重合的道路作为兴趣区域对应的目标道路。
步骤2042:基于目标道路对应的有效轨迹点的数据,确定兴趣区域的边缘信息和中心信息,将兴趣区域的边缘信息和中心信息作为目标区域内部的兴趣点信息。
兴趣区域的边缘信息用于标识兴趣区域对应的目标道路,兴趣区域的中心信息用于标识兴趣区域的中心点。示例性地,兴趣区域对应的目标道路和兴趣区域的中心点可以如图7所示。
由于模拟道路根据聚类簇中的有效轨迹点构建得到,兴趣区域对应的目标道路根据构成兴趣区域的模拟道路确定,所以,目标道路对应多个有效轨迹点。根据构成兴趣区域的模拟道路对应的有效轨迹点的数据,即可确定目标道路对应的有效轨迹点的数据。
在一种可能实现方式中,基于目标道路对应的有效轨迹点的数据,确定兴趣区域的边缘信息的方式可以为:将目标道路对应的有效轨迹点的数据和目标道路的宽度作为兴趣区域的边缘信息。目标道路对应的有效轨迹点的数据包括但不限于经度值和纬度值;目标道路的宽度可以是指模拟道路的构建高度。
在一种可能实现方式中,基于目标道路对应的有效轨迹点的数据,确定兴趣区域的中心信息的方式可以为:根据目标道路对应的有效轨迹点的数据,确定中心点的数据,将中心点的数据作为兴趣区域的中心信息。
在一种可能实现方式中,每个有效轨迹点的数据包括经度值和纬度值,中心点的数据中也包括经度值和纬度值。根据目标道路对应的有效轨迹点的数据,确定中心点的数据的方式可以为:将各个有效轨迹点的经度值的平均值作为中心点的经度值,将各个有效轨迹点的纬度值的平均值作为中心点的纬度值。由此,得到中心点的数据。
一个边缘信息和该边缘信息对应的中心信息可以唯一标识一个兴趣区域。在确定兴趣区域的边缘信息和中心信息后,将道路信息和中心信息作为目标区域内部的兴趣点信息。由此,得到目标区域内部的兴趣点信息。
需要说明的是,目标区域内部的兴趣区域的数量可能为一个或多个,本申请实施例对此不加以限定。对于目标区域内部的兴趣区域的数量为一个的情况,目标区域内部的兴趣点信息中包括该一个兴趣区域对应的兴趣点信息;对于目标区域内部的兴趣区域的数量为多个的情况,目标区域内部的兴趣点信息中包括每个兴趣区域对应的兴趣点信息。
在得到目标区域内部的兴趣点信息后,可以将目标区域内部的兴趣点信息存储在已有的兴趣点信息库中,以补充和完善已有的兴趣点信息库。需要说明的是,根据本申请实施例提供的方法获取的目标区域内部的兴趣点信息为服务器预测出的兴趣点信息,可以在一定程度上解决目标区域内部的兴趣点信息的获取问题。要想检测预测出的兴趣点信息是否准确或者进一步完善目标区域内部的兴趣点信息,可以由人工对目标区域进行实地考察。
综上所述,获取目标区域内部的兴趣点信息的过程可以如图8所示。根据运动轨迹点的数据获取初始轨迹点的数据,从已有的兴趣点信息库中获取目标区域的位置信息;根据初始轨迹点的数据和目标区域的位置信息,获取目标区域内部的目标轨迹点的数据;对目标轨迹点进行聚类,得到一个或多个聚类簇;构建与每个聚类簇对应的模拟道路;根据模拟道路构成的兴趣区域对应的目标道路,获取目标区域内部的兴趣点信息。
在本申请实施例中,基于目标区域内部的目标轨迹点的数据,确定目标区域内部的兴趣区域;然后基于兴趣区域对应的目标道路,获取目标区域内部的兴趣点信息。基于此种过程,可以获取目标区域内部的兴趣点信息,有利于补充和完善已有的兴趣点信息库,有利于提高基于兴趣点信息提供的服务的服务效果。
参见图9,本申请实施例提供了一种获取兴趣点信息的装置,该装置包括:
第一获取模块901,用于获取目标区域内部的目标轨迹点的数据;
聚类模块902,用于基于目标轨迹点的数据,对目标轨迹点进行聚类处理,得到一个或多个聚类簇,每个聚类簇中包括一个或多个有效轨迹点;
构建模块903,用于构建与每个聚类簇对应的模拟道路,将模拟道路构成的满足条件的区域作为目标区域内部的兴趣区域;
第二获取模块904,用于基于兴趣区域对应的目标道路,获取目标区域内部的兴趣点信息。
在一种可能实现方式中,构建模块903,用于对于任一聚类簇,依次连接任一聚类簇中的各个有效轨迹点;基于各个有效轨迹点之间的连线,构建与任一聚类簇对应的模拟道路。
在一种可能实现方式中,第二获取模块904,用于基于构成兴趣区域的模拟道路,确定兴趣区域对应的目标道路;基于目标道路对应的有效轨迹点的数据,确定兴趣区域的边缘信息和中心信息,将兴趣区域的边缘信息和中心信息作为目标区域内部的兴趣点信息。
在一种可能实现方式中,第一获取模块901,用于获取初始轨迹点的数据和目标区域的位置信息;基于初始轨迹点的数据和目标区域的位置信息,获取目标区域内部的目标轨迹点的数据。
在一种可能实现方式中,聚类模块902,用于响应于目标轨迹点的数量超过数量阈值,基于目标轨迹点的数据,对目标轨迹点进行聚类处理,得到一个或多个聚类簇。
在一种可能实现方式中,满足条件的区域为面积超过面积阈值的封闭区域。
在本申请实施例中,基于目标区域内部的目标轨迹点的数据,确定目标区域内部的兴趣区域;然后基于兴趣区域对应的目标道路,获取目标区域内部的兴趣点信息。基于此种过程,可以获取目标区域内部的兴趣点信息,有利于补充和完善已有的兴趣点信息库,有利于提高基于兴趣点信息提供的服务的服务效果。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本申请实施例提供的一种服务器的结构示意图,该服务器可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(centralprocessingunits,cpu)1001和一个或多个存储器1002,其中,该一个或多个存储器1002中存储有至少一条程序代码,该至少一条程序代码由该一个或多个处理器1001加载并执行,以实现上述各个方法实施例提供的获取兴趣点信息的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条程序代码。该至少一条程序代码由一个或者一个以上处理器加载并执行,以实现上述任一种获取兴趣点信息的方法。
在示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条程序代码,该至少一条程序代码由计算机设备的处理器加载并执行,以实现上述任一种获取兴趣点信息的方法。
可选地,上述计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、只读光盘(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。