CN107389078A - 一种路线推荐方法、装置及计算机可读存储介质 - Google Patents

一种路线推荐方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN107389078A
CN107389078A CN201710487389.0A CN201710487389A CN107389078A CN 107389078 A CN107389078 A CN 107389078A CN 201710487389 A CN201710487389 A CN 201710487389A CN 107389078 A CN107389078 A CN 107389078A
Authority
CN
China
Prior art keywords
route
recommended route
region
movement data
historical movement
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
CN201710487389.0A
Other languages
English (en)
Other versions
CN107389078B (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.)
MIGU Interactive Entertainment Co Ltd
Original Assignee
MIGU Interactive Entertainment 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 MIGU Interactive Entertainment Co Ltd filed Critical MIGU Interactive Entertainment Co Ltd
Priority to CN201710487389.0A priority Critical patent/CN107389078B/zh
Publication of CN107389078A publication Critical patent/CN107389078A/zh
Application granted granted Critical
Publication of CN107389078B publication Critical patent/CN107389078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3484Personalized, e.g. from learned user behaviour or user-defined profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Navigation (AREA)

Abstract

本发明公开了一种路线推荐方法,包括:获取第一终端用户当前的位置信息;获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;将所述推荐运动路线发送给第一终端。本发明还同时公开了一种路线推荐装置以及计算机可读存储介质。

Description

一种路线推荐方法、装置及计算机可读存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种路线推荐方法、装置及计算机可读存储介质。
背景技术
目前,跑步是人民群众一种方便简单的锻炼方式,近年来,越来越多的人们使用安装在手机上的跑步软件记录自己的跑步路线,具体地,跑步软件可以通过手机的全球定位系统(GPS,Global Positioning System)模块实时获取用户当前位置的经度、纬度坐标;也可以按时间间隔或按里程间隔定时记录用户在跑步时经过的各个跑步轨迹点的经度、纬度坐标;最后将多个跑步轨迹点组成用户的跑步路线。
与跑步软件对应的服务器上的数据库中每日都会新增十万以上全国各个城市用户上传的跑步路线,这些跑步路线由一个个跑步轨迹点按顺序组成,轨迹点以经度、纬度坐标方式保存,每日新增的跑步轨迹点数量一般超过千万。
但是,跑步用户在自己熟悉的地区有相对固定的跑步路线,而在陌生地区却很难找到合适的跑步路线。跑步软件不能向用户推荐当前位置附近的热门的跑步路线,即最近一段时间内跑步人数最多的跑步路线。
因此,亟需找到一种可以向用户推荐与用户所处位置相关的运动路线的解决方案。
发明内容
有鉴于此,本发明实施例期望提供一种路线推荐方法、装置及计算机可读存储介质,能够向用户推荐与用户所处位置相关的运动路线。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种路线推荐方法,所述方法包括:
获取第一终端用户当前的位置信息;
获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;
利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;
将所述推荐运动路线发送给第一终端。
上述方案中,获取所述第一终端用户当前的位置关联区域的推荐路线表之前,所述方法还包括:
根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;
对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线。
上述方案中,所述根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域时,所述方法包括:
统计多个终端用户的历史运动数据中的轨迹点总数,得到第一值;
将第二值到所述第一值所形成的数值范围划分成N段;第二值小于所述第一值,N为大于或等于2的整数;
针对每段,选取一个数值,得到N个选取的数值;
任选一个未标记的轨迹点位置为中心,并根据预设半径确定一个对应的圆形区域,统计在所述圆形区域内的轨迹点数,当统计的轨迹点数大于等于N个选取的数值中的至少一个时,根据在所述圆形区域内所有直接密度可达点位置得到密度相连的点位置,所有密度相连的点位置形成一个区域。
上述方案中,所述方法还包括:
根据关联区域内的历史运动数据中的路线起点以及至少一半轨迹点所在的区域,对路线进行分类,确定对应所述区域内的路线。
上述方案中,所述基于起点划分策略进行分类,确定所述至少一条推荐路线,包括:
将起点与基准点的距离满足第一条件的至少一条路线,确定为同类路线;基准点为关联区域内的历史运动数据中的任意一条路线的起点;
从同类路线中确定里程最短的路线;
按照轨迹点顺序确定里程最短的路线与其他路线之间距离的平均值,将所述平均值满足第二条件的一条路线确定为推荐路线。
本发明实施例提供一种路线推荐装置,所述路线推荐装置包括:
获取模块,用于获取第一终端用户当前的位置信息;还用于获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;
推荐模块,用于利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;
发送模块,用于将所述推荐运动路线发送给第一终端。
上述方案中,所述路线推荐装置还包括:
区域划分模块,用于根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;
分类模块,用于对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线。
上述方案中,所述路线推荐装置还包括:
路线划分模块,用于根据关联区域内的历史运动数据中的路线起点以及至少一半轨迹点所在的区域,对路线进行分类,确定对应所述区域内的路线。
本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上面所述路线推荐方法的步骤。
本发明实施例提供一种路线推荐装置,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行上面所述路线推荐方法的步骤。
本发明实施例提供的路线推荐方法、装置及计算机可读存储介质,获取第一终端用户当前的位置信息;获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;将所述推荐运动路线发送给第一终端。在本发明实施例中,利用第一终端用户当前的位置信息,从获取的位置关联区域的推荐路线表中的至少一条推荐路线中得到推荐运动路线,由于根据用户的当前位置获得了关联区域的推荐路线表,进而从推荐路线表里向用户推荐与其当前位置相关的推荐运动路线,因此能够实现向用户推荐与用户所处位置相关的运动路线。
附图说明
图1为本发明实施例一路线推荐方法的实现流程示意图;
图2A为本发明实施例一跑步轨迹点表的示意图;
图2B为本发明实施例一跑步路线表的示意图;
图2C为本发明实施例一跑步区域表的示意图;
图2D为本发明实施例一推荐跑步路线表的示意图;
图3为相关技术中基于密度的聚类算法的直接密度可达、密度可达、密度相连示意图;
图4为本发明实施例一确定区域内的推荐路线示意图;
图5为本发明实施例二路线推荐装置的组成结构示意图;
图6为本发明实施例三路线推荐装置的组成结构示意图;
图7为本发明实施例路线推荐的具体实现流程示意图;
图8为本发明实施例路线推荐系统的组成结构示意图。
具体实施方式
本发明实施例中,获取第一终端用户当前的位置信息;获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;将所述推荐运动路线发送给第一终端。
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明。
实施例一
如图1所示,本实施例以服务器侧为例详细说明路线推荐方法,包括以下步骤:
步骤101:获取第一终端用户当前的位置信息。
其中,所述位置信息可以包括:经度坐标、维度坐标、所属城市等。
这里,服务器可以通过获取第一终端发送的获取推荐路线请求获取第一终端用户当前的位置信息,实际应用时,第一终端通过定位系统获取所述位置信息,根据所述位置信息生成获取推荐路线请求并发送给服务器;其中,所述定位系统包括:北斗、GPS、格洛纳斯、伽利略。
实际应用时,当使用至少两个定位系统如北斗和GPS获取所述第一终端用户当前位置时,针对北斗的定位结果和GPS的定位结果,取两者的平均值作为第一终端用户当前位置;或,选取其中的一种定位结果、如北斗定位结果作为参考,将所述参考的定位结果作为第一终端用户当前位置,其他情况类似,在此不再赘述。
步骤102:获取所述第一终端用户当前的位置关联区域的推荐路线表。
其中,所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线。
实际应用时,服务器可以从本地获取位置关联区域的推荐路线表,也可以从另外一个服务器(对应终端应用软件的服务器)上存储的数据库中获取位置关联区域的推荐路线表。
这里,获取所述第一终端用户当前的位置关联区域的推荐路线表之前,所述方法还包括:
根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;
对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线。
这里,所述根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域时,所述方法包括:
统计多个终端用户的历史运动数据中的轨迹点总数,得到第一值;
将第二值到所述第一值所形成的数值范围划分成N段;第二值小于所述第一值,N为大于或等于2的整数;
针对每段,选取一个数值,得到N个选取的数值;
任选一个未标记的轨迹点位置为中心,并根据预设半径确定一个对应的圆形区域,统计在所述圆形区域内的轨迹点数,当统计的轨迹点数大于N个选取的数值中的至少一个时,根据在所述圆形区域内所有直接密度可达点位置得到密度相连的点位置,所有密度相连的点位置形成一个区域。其中,所述未标记的轨迹点为未划分到区域内的轨迹点。
实际应用时,多个终端用户可以将自身的历史运动数据上传给服务器,或者,服务器从另外一个服务器(对应终端应用软件的服务器)上存储的数据库中获取多个终端用户的历史运动数据,所述数据库是根据多个终端用户发送的在不同位置的历史运动数据,利用数据库设计方法生成的;所述数据库设计方法包括但不限于Oracle、SQL Server、MySQL。
其中,数据库的开发环境的配置包括:设置数据库运行所需内存和硬盘大小,设置数据库允许最大连接数,设置数据库账户权限和访问密码,设置数据库备份时间等。
数据库设计的步骤包括:在所述数据库的开发环境中,构造逻辑模式,具体就是建立数据之间的逻辑关系;构造物理结构,具体就是确定数据文件在服务器上的存储路径等。
所述数据库可以包含轨迹点数据表、路线数据表;其中,轨迹点数据表可以为跑步轨迹点表,如图2A所示,属性包含跑步路线、顺序、所属城市、是否起点、经度、维度、跑步时间;路线数据表可以为跑步路线表,如图2B所示,属性包含路线编号、所属城市、跑步区域、起点经度、起点维度、跑步里程、开始时间、结束时间、轨迹点数。
这里,基于密度的聚类算法对噪声不敏感,能够发现各种任意形状的聚类簇,主要是基于在整个样本空间点中,各目标类簇是由一群稠密样本点组成,而所述稠密样本点被低密度区域(噪声)分割的情况,通过过滤低密度区域,发现稠密样本点。所述密度的聚类算法包含的参数有E领域、核心对象、直接密度可达、密度可达、密度相连,相关定义如下:
E领域:给定对象半径为Ε内的区域称为该对象的Ε领域;
核心对象:如果给定对象Ε领域内的样本点数大于等于密度阈值MinPts,则称该对象为核心对象;
直接密度可达:对于样本集合D,如果样本点m在p的Ε领域内,并且p为核心对象,那么对象m从对象p直接密度可达,如图3所示;
密度可达:对于样本集合D,给定一串样本点p1,p2……pn,p=p1,q=pn,假如对象pi从pi-1直接密度可达,那么对象q从对象p密度可达,如图3所示;
密度相连:对于样本集合D中的任意一点O,如果存在对象s到对象o密度可达,并且对象r到对象o密度可达,那么对象s到对象r密度相连,如图3所示。
实际应用时,基于密度的聚类算法,可以是DBSCAN、OPTICS算法,对硬件的需求是:操作系统是Linux,可使用Suse Linux、RedHat Linux、Centos Linux等版本。
对软件的需求是:编程语言可以是Java、Scala、Python等。
以DBSCAN算法为例,算法的流程包括:第一、确定输入包括:E(半径)MinPts(给定点在E领域内成为核心对象的最小领域点数)、D(输入集合);第二、确定输出包括目标类簇集合;第三、重复执行1)和2),直到所有输入点都判断完毕;其中,1)包括判断输入点是否为核心对象;2)包括找出核心对象的E领域中的所有直接密度可达点;第四、重复执行3),直到所有核心对象的E领域都遍历完;其中,3)包括针对所有核心对象的E领域所有直接密度可达点找到密度相连对象集合,中间涉及到一些密度可达对象的合并。
基于密度的聚类算法确定所述关联区域时,对未处理的样本点不进行标记,首先,通过选取一个未标记的样本点,以所述未标记的样本点为中心、E为半径确定一个对应的圆形区域,统计所述圆形区域内的轨迹点数,当所述轨迹点数大于等于预设密度阈值MinPts时,判断所述未标记的样本点为核心对象;其次,在所述圆形区域内查找从核心对象的所有直接密度可达点,由所有直接密度可达点查找到所有密度可达点,由所有密度可达点查找到所有密度相连的点;最后,由所有密度相连的点位置形成一个区域,所述区域内的点可以用一个目标类簇集合表示。
实际应用时,所述历史运动数据为多个终端用户的历史运动数据,为了叙述方便,历史运动数据可以为多个终端用户在某一个城市、如北京的历史运动数据。首先,获取多个终端用户在北京的历史运动数据中的轨迹点总数,得到第一值;将第二值到所述第一值所形成的数值范围划分成N段;第二值小于所述第一值,N为大于或等于2的整数;针对每段,选取一个数值,得到N个选取的数值。其中,第二值可以为0,也可以为大于0的整数;N个数值可以根据实际经验进行选取。
这里,为了实现按照预设轨迹点密度分波次使用基于密度的聚类算法将轨迹点划分为至少一个区域,可以将第二值到第一值所形成的数值范围划分成N段,针对每段包含的数值,选择任一个数值,便得到N个数值;其中,N个数值代表N个预设轨迹点密集度,N段代表分N个波次;所述预设轨迹点密集度是指划分后的每个区域内的轨迹点的数量。
举例来说,当获取的轨迹点总数大于100万个时,比如,城市的轨迹点总数为200万,可以分为5段,第一段包含的轨迹点数量为大于100万个,可以选取120万作为第一数值;第二段包含的轨迹点数量在50万至100万个之间,可以选取80万作为第二数值;第三段包含的轨迹点数量在10万至50万个之间,可以选取30万作为第三数值;第四段包含的轨迹点数量在1万至10万个之间,可以选取5万作为第四数值;第五段包含的轨迹点数量小于1万个,可以选取5000作为第五数值。
当获取的城市的轨迹点总数在10万至100万个之间时,比如,城市的轨迹点总数为80万,可以分为4段,第一段包含的轨迹点数量在50万至100万个之间,可以选取60万作为第一数值;第二段包含的轨迹点数量在10万至50万个之间,可以选取30万作为第二数值;第三段包含的轨迹点数量在1万至10万个之间,可以选取5万作为第三数值;第四段包含的轨迹点数量小于1万个,可以选取5000作为第四数值。
当获取的城市的轨迹点总数在1万至10万个之间时,比如,城市的轨迹点总数为8万,可以分为4段,第一段包含的轨迹点数量在5万至10万个之间,可以选取6万作为第一数值;第二段包含的轨迹点数量在1万至5万个之间,可以选取2万作为第二数值;第三段包含的轨迹点数量在0.5万至1万个之间,可以选取0.8万作为第三数值;第四段包含的轨迹点数量小于0.5万个,可以选取2000作为第四数值。
当获取的城市的轨迹点总数小于1万时,比如,城市的轨迹点总数为8000,可以分为3段,第一段包含的轨迹点数量在0.5万至1万个之间,可以选取6000作为第一数值;第二段包含的轨迹点数量在0.1万至0.5万个之间,可以选取2000作为第二数值;第三段包含的轨迹点数量小于0.1万个,可以选取500作为第四数值。
实际应用时,所述基于密度的聚类算法,得到至少一个区域,具体包括:
以城市的轨迹点总数为200万个为例,得到第一值为200万,可以将1(第二值)到200万(第一值)所形成的数值范围划分为5段,得到5个数值,比如可以将第一数值设为120万,第二数值设为80万,第三数值设为30万,第四数值设为5万,第五数值设为5000。则按照这5个数值、即5个预设轨迹点密集度分5个波次使用基于密度的聚类算法将200万的轨迹点划分得到至少一个区域。首先,定义一个包含200万轨迹点的集合D,从集合D中读取任意一个未标记的轨迹点p,以轨迹点p,预设半径E确定一个圆形区域,当所述圆形区域内的轨迹点数大于等于N个选取的数值中的至少一个如、第一数值120万(密度阈值MinPts)时,所述轨迹点p为核心对象,并对轨迹点p进行标记;
其次,将以核心对象p确定的圆形区域内其他的轨迹点标记为从核心对象p直接密度可达的轨迹点;第三,将以核心对象p确定的圆形区域外的核心点标记为从核心对象p密度可达的核心点;
最后,以核心对象p确定的两个密度可达的核心点为密度相连的点,依次类推,得到所有以核心对象p确定的密度相连的点,所有密度相连的点位置形成一个区域,并对这个区域内包含的轨迹点进行标记;
以此类推,再从剩余的未标记的轨迹点中确定对应的区域,最终得到至少一个区域。其中,用区域内的轨迹点个数表征每个区域的热度。
在一实施例中,所述方法还可以包括:
根据关联区域内的历史运动数据中的路线起点以及至少一半轨迹点所在的区域,对路线进行分类,确定对应所述区域内的路线。
在一实施例中,所述方法还可以包括:
对区域内所有轨迹点的经度、维度坐标计算平均值,将所述平均值对应的坐标作为所述区域的中心点;
实际应用时,服务器可以将所述区域的相关信息如、中心点的经度坐标、维度坐标、区域的半径、区域的热度等发送给对应终端应用软件的服务器。
对应终端应用软件的服务器利用数据库设计方法、如Oracle将区域的相关信息生成区域数据表,所述区域数据表可以为跑步区域表,如图2C所示,属性包括:区域编号、所属城市、区域名称、中心经度、中心维度、区域半径、区域热度。
这里,所述基于起点划分策略进行分类,确定所述至少一条推荐路线,包括:
将起点与基准点的距离满足第一条件的至少一条路线,确定为同类路线;基准点为关联区域内的历史运动数据中的任意一条路线的起点;
从同类路线中确定里程最短的路线;
按照轨迹点顺序确定里程最短的路线与其他路线之间距离的平均值,将所述平均值满足第二条件的一条路线确定为推荐路线。
实际应用时,以跑步运动为例,基于起点划分策略是指,在一个区域内随机选取一个跑步路线的起点作为基准点A,计算所述基准点A与区域内其他起点、如B之间的距离,当所述距离小于第一阈值、如20米时,将A起点和B起点归为一类;依次类推,将所述区域内的所有跑步路线的起点聚集成不同类,也就是将所述区域内的跑步路线聚集成不同类。
如图4所示,对基于起点划分策略确定的同类路线,选取一条里程最短的路线L1,按照轨迹点顺序,计算所述里程最短的路线L1与同类中其他跑步路线L2顺序对应轨迹点之间的距离d1、d2、d3,再计算所有顺序轨迹点之间的距离的平均值当所述平均值S小于第二阈值、如50米时,路线L1和路线L2为相近路线;依次类推,得到区域内所有相近路线。并从同类路线中确定的所有相近路线中选取一条里程最长的路线作为所述区域的推荐路线;最终从所述区域内的所有同类路线确定至少一条推荐路线。其中,同类路线中的推荐路线的个数表征路线热度。
实际应用时,服务器可以将所述至少一条关联区域的推荐路线存储在本地,也可以存储在另外一个服务器(对应终端应用软件的服务器)中。
在一实施例中,所述方法还可以包括:
将所述关联区域的至少一条推荐路线发送给对应终端应用软件的服务器。
对应终端应用软件的服务器利用数据库设计方法、如Oracle将所述关联区域的至少一条推荐路线生成推荐路线表,所述推荐路线表可以为推荐跑步路线表,如图2D所示,属性包括:跑步路线、所属城市、跑步区域、起点经度、起点维度、跑步里程、开始时间、结束时间、路线热度。
步骤103:利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线数据中确定推荐运动路线。
实际应用时,可以是根据第一终端用户当前的位置信息,计算第一终端用户所处位置与至少一条推荐路线中每条推荐路线起点之间的距离,并选取一条距离最短的推荐路线作为推荐运动路线;也可以是根据第一终端用户当前的位置信息,计算第一终端用户所处位置与至少一条推荐路线中每条推荐路线上的任意一个轨迹点之间的距离,并选取一条距离最短的推荐路线作为推荐运动路线。
以跑步为例,首先,服务器可以从本地读取关联区域的推荐跑步路线表(推荐路线表),还可以从另一个服务器(对应终端应用软件的服务器)上的数据库中读取位置关联区域的推荐跑步路线表(推荐路线表);其次,查找第一终端用户当前位置所属区域下所有的推荐跑步路线的起点经度、维度坐标;最后,计算第一终端用户所处位置与第一终端用户所处区域内至少一条推荐跑步路线起点之间的距离,选取一条距离最短的推荐路线作为推荐运动路线。或者,
首先,服务器可以从本地读取关联区域的推荐跑步路线表(推荐路线表),还可以从另一个服务器(对应终端应用软件的服务器)上的数据库中读取关联区域的推荐跑步路线表(推荐路线表);其次,查找第一终端用户当前位置所属区域下所有的推荐跑步路线中路线热度值较大的至少一条推荐跑步路线的起点经度、维度坐标;最后,计算用户所处位置与用户所处区域内路线热度值较大的至少一条推荐跑步路线起点之间的距离,选取一条距离最短的推荐路线作为推荐运动路线。
步骤104:将所述推荐运动路线发送给第一终端。
实际应用时,可以将所述推荐运动路线以及推荐运动路线的编号发送给第一终端的跑步软件。
在一实施例中,所述方法还可以包括:
根据所述推荐运动路线,控制第一终端用户按照所述推荐运动路线进行运动。
本发明实施例提供的方法,获取第一终端用户当前的位置信息;获取所述第一终端用户当前的位置关联区域的推荐路线表;利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;将所述推荐运动路线发送给第一终端。在获取所述第一终端用户当前的位置关联区域的推荐路线表之前,根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线,进而得到关联区域的推荐路线表。由于根据用户的当前位置获得了关联区域的推荐路线表,进而从推荐路线表里向用户推荐与其当前位置相关的推荐运动路线,因此能够实现向用户推荐与用户所处位置相关的运动路线。
实施例二
为实现实施例一的方法,本实施例提供了一种路线推荐装置,可以设置在服务器上,如图5所示,所述装置包括:获取模块51、推荐模块52、发送模块53;其中,
获取模块51,用于获取第一终端用户当前的位置信息;还用于获取所述第一终端用户当前的位置关联区域的推荐路线表;
其中,所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线。
这里,获取模块51可以通过获取第一终端发送的获取推荐路线请求获取第一终端用户当前的位置信息。实际应用时,第一终端通过定位系统获取所述位置信息,根据所述位置信息生成获取推荐路线请求并发送给服务器;其中,所述定位系统包括:北斗、GPS、格洛纳斯、伽利略。
实际应用时,当使用至少两个定位系统如北斗和GPS获取所述第一终端用户当前位置或者移动中的实时位置时,针对北斗的定位结果和GPS的定位结果,取两者的平均值作为第一终端用户当前位置或者移动中的实时位置;或,选取其中的一种定位结果、如北斗定位结果作为参考,将所述参考的定位结果作为第一终端用户当前位置或者移动中的实时位置,其他情况类似,在此不再赘述。
实际应用时,获取模块51可以从本地获取位置关联区域的推荐路线表,也可以从另外一个服务器(对应终端应用软件的服务器)上存储的数据库中获取位置关联区域的推荐路线表。
推荐模块52,用于利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;
发送模块53,用于将所述推荐运动路线发送给第一终端。
实际应用时,所述发送模块53可以将所述推荐运动路线以及推荐运动路线的编号发送给第一终端的跑步软件。
在一发明实施例中,所述装置还可以包括:
区域划分模块,用于根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;
分类模块,用于对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线。
这里,所述区域划分模块,具体用于统计多个终端用户的历史运动数据中的轨迹点总数,得到第一值;将第二值到所述第一值所形成的数值范围划分成N段;第二值小于所述第一值,N为大于或等于2的整数;针对每段,选取一个数值,得到N个选取的数值;任选一个未标记的轨迹点位置为中心,并根据预设半径确定一个对应的圆形区域,统计在所述圆形区域内的轨迹点数,当统计的轨迹点数大于等于N个选取的数值中的至少一个时,根据在所述圆形区域内所有直接密度可达点位置得到密度相连的点位置,所有密度相连的点位置形成一个区域。
这里,为了实现按照预设轨迹点密度分波次使用基于密度的聚类算法将轨迹点划分为至少一个区域,可以将第二值到第一值所形成的数值范围划分成N段,针对每段包含的数值,选择任一个数值,便得到N个数值;其中,N个数值代表N个预设轨迹点密集度,N段代表分N个波次;所述预设轨迹点密集度是指划分后的每个区域内的轨迹点的数量。
实际应用时,多个终端用户可以分别通过终端上的应用软件将自身的历史运动数据发送给区域划分模块,或者,区域划分模块从另外一个服务器(对应终端应用软件的服务器)上存储的数据库中获取多个终端用户的历史运动数据,所述数据库是根据多个终端用户发送的历史运动数据利用数据库设计方法生成的。
所述分类模块,具体用于将起点与基准点的距离满足第一条件的至少一条路线,确定为同类路线;基准点为关联区域内的历史运动数据中的任意一条路线的起点;从同类路线中确定里程最短的路线;按照轨迹点顺序确定里程最短的路线与其他路线之间距离的平均值,将所述平均值满足第二条件的一条路线确定为推荐路线。
再由所述发送模块53将所述关联区域的至少一条推荐路线发送给另外一个服务器(对应终端应用软件的服务器),对应终端应用软件的服务器利用数据库设计方法、如Oracle生成推荐路线表。
在一实施例中,所述装置还包括:
路线划分模块,用于根据关联区域内的历史运动数据中的路线起点以及至少一半轨迹点所在的区域,对路线进行分类,确定对应所述区域内的路线。
在一实施例中,所述装置还包括:
确定模块,用于对区域内所有轨迹点的经度、维度坐标计算平均值,将所述平均值对应的坐标作为所述区域的中心点。
再由所述发送模块53将所述区域相关信息如、中心点的经度坐标、维度坐标、区域的半径、区域的热度等发送给另一个服务器(对应终端应用软件的服务器),对应终端应用软件的服务器利用数据库设计方法、如Oracle将区域的相关信息生成区域数据表。
在一实施例中,所述装置还包括:
控制模块,用于根据所述推荐运动路线,控制第一终端用户按照所述推荐运动路线进行运动。
需要说明的是:上述实施例提供的路线推荐装置在进行路线推荐时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的路线推荐装置与路线推荐方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在实际应用中,获取模块51、发送模块53由位于路线推荐装置上的网络接口实现;推荐模块52、区域划分模块、分类模块、路线划分模块、确定模块、控制模块可由位于路线推荐装置上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,MicroProcessor Unit)、数字信号处理器(DSP,Digital Signal Processor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
实施例三
图6是本发明路线推荐装置的结构示意图,图6所示的路线推荐装置600包括:至少一个处理器601、存储器602、用户接口603、至少一个网络接口604。路线推荐装置600中的各个组件通过总线系统605耦合在一起。可理解,总线系统605用于实现这些组件之间的连接通信。总线系统605除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图6中将各种总线都标为总线系统605。
其中,用户接口603可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器602可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器702旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器602用于存储各种类型的数据以支持路线推荐装置600的操作。这些数据的示例包括:用于在路线推荐装置600上操作的任何计算机程序,如操作系统6021和应用程序6022;其中,操作系统6021包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序6022可以包含各种应用程序,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序6022中。
上述本发明实施例揭示的方法可以应用于处理器601中,或者由处理器601实现。处理器601可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器601可以是通用处理器、数字信号处理器,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器601可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成前述方法的步骤。
具体来说,本发明实施例还提供了一种路线推荐装置,所述路线推荐装置包括:处理器601和用于存储能够在处理器上运行的计算机程序的存储器602,
其中,所述处理器601用于运行所述计算机程序时,执行:
获取第一终端用户当前的位置信息;
获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;
利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;
将所述推荐运动路线发送给第一终端。
在一实施例中,所述处理器601还用于运行所述计算机程序时,执行:
根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;
对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线。
在一实施例中,所述处理器601还用于运行所述计算机程序时,执行:
统计多个终端用户的历史运动数据中的轨迹点总数,得到第一值;
将第二值到所述第一值所形成的数值范围划分成N段;第二值小于所述第一值,N为大于或等于2的整数;
针对每段,选取一个数值,得到N个选取的数值;
任选一个未标记的轨迹点位置为中心,并根据预设半径确定一个对应的圆形区域,统计在所述圆形区域内的轨迹点数,当统计的轨迹点数大于等于N个选取的数值中的至少一个时,根据在所述圆形区域内所有直接密度可达点位置得到密度相连的点位置,所有密度相连的点位置形成一个区域。
在一实施例中,所述处理器601还用于运行所述计算机程序时,执行:
根据关联区域内的历史运动数据中的路线起点以及至少一半轨迹点所在的区域,对路线进行分类,确定对应所述区域内的路线。
在一实施例中,所述处理器601还用于运行所述计算机程序时,执行:
将起点与基准点的距离满足第一条件的至少一条路线,确定为同类路线;基准点为关联区域内的历史运动数据中的任意一条路线的起点;
从同类路线中确定里程最短的路线;
按照轨迹点顺序确定里程最短的路线与其他路线之间距离的平均值,将所述平均值满足第二条件的一条路线确定为推荐路线。
所述处理器601获取终端用户当前的位置信息、所述终端用户当前的位置关联区域的推荐路线表和发送推荐运动路线给终端时,需要通过网络接口604来实现。
在示例性实施例中,路线推荐装置600可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable LogicDevice)、FPGA、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
实施例四
本发明实施例还提供了一种计算机可读存储介质,例如包括计算机程序的存储器602,上述计算机程序可由路线推荐装置600的处理器601执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
具体地,本发明实施例提供的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时,执行:
获取第一终端用户当前的位置信息;
获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;
利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;
将所述推荐运动路线发送给第一终端。
在一实施例中,所述计算机程序被处理器运行时,还执行:
根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;
对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线。
在一实施例中,所述计算机程序被处理器运行时,执行:
统计多个终端用户的历史运动数据中的轨迹点总数,得到第一值;
将第二值到所述第一值所形成的数值范围划分成N段;第二值小于所述第一值,N为大于或等于2的整数;
针对每段,选取一个数值,得到N个选取的数值;
任选一个未标记的轨迹点位置为中心,并根据预设半径确定一个对应的圆形区域,统计在所述圆形区域内的轨迹点数,当统计的轨迹点数大于等于N个选取的数值中的至少一个时,根据在所述圆形区域内所有直接密度可达点位置得到密度相连的点位置,所有密度相连的点位置形成一个区域。
在一实施例中,所述计算机程序被处理器运行时,执行:
根据关联区域内的历史运动数据中的路线起点以及至少一半轨迹点所在的区域,对路线进行分类,确定对应所述区域内的路线。
在一实施例中,所述计算机程序被处理器运行时,执行:
将起点与基准点的距离满足第一条件的至少一条路线,确定为同类路线;基准点为关联区域内的历史运动数据中的任意一条路线的起点;
从同类路线中确定里程最短的路线;
按照轨迹点顺序确定里程最短的路线与其他路线之间距离的平均值,将所述平均值满足第二条件的一条路线确定为推荐路线。
下面以实现路线推荐为具体实例详细说明本发明在实际应用中的实现过程及原理。
图7为本发明实施例路线推荐的具体实现流程示意图,图8为路线推荐系统的组成结构示意图,如图8所示,包括跑步用户、终端、服务器、对应终端跑步软件的服务器;其中,终端上包含跑步软件,对应终端跑步软件的服务器上存储数据库,所述数据库包括跑步路线表(图2B)、跑步轨迹点表(2A)、跑步区域表(2C)、推荐跑步路线表(2D)。具体实现过程,包括如下步骤:
步骤701:终端侧的跑步用户在终端上的跑步软件中输入指令;终端接收跑步用户的指令,根据所述指令生成获取推荐路线请求,并向服务器发送所述获取推荐路线请求,所述请求携带有跑步用户当前的位置信息;
其中,所述位置信息包括跑步用户所处位置的经度坐标、维度坐标、所处城市。
这里,终端侧的跑步用户还可以将历史运动数据发送给另一个服务器(对应终端跑步软件的服务器),用于供对应终端跑步软件的服务器利用数据库设计方法生成跑步轨迹点表、跑步路线表。
步骤702:服务器接收所述获取推荐路线请求,从本地或者另一个服务器(对应终端跑步软件的服务器)上存储的数据库中获取所述跑步用户当前的位置关联区域的推荐跑步路线表(推荐路线表);
其中,所述区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述区域,基于起点划分策略得到的所述关联区域的至少一条推荐路线数据;
在获取所述推荐跑步路线表之前,服务器可以从本地或者从另一个服务器(对应终端跑步软件的服务器)上存储的数据库中获取多个终端用户的历史运动数据;根据所述历史运动数据中的轨迹点总数,基于密度的聚类算法,得到至少一个区域;区域内包含的轨迹点数表示区域的热度值。
将所述至少一个区域相关信息如中心点坐标、热度值等存储在本地,或者发送给另一个服务器(对应终端跑步软件的服务器),用于供对应终端跑步软件的服务器利用数据库设计方法生成跑步区域表。
服务器对区域内的路线,基于起点划分策略进行分类,确定至少一条推荐路线。并将所述至少一条推荐路线写入到数据库中,用于供对应终端跑步软件的服务器利用数据库设计方法将至少一条推荐路线数据生成推荐跑步路线表(推荐路线表)。
步骤703:服务器利用所述位置信息,确定所述跑步用户当前的位置与所述至少一条推荐跑步路线中每条推荐跑步路线的位置关系,根据与所述每条推荐跑步路线的位置关系,从所述至少一条推荐跑步路线中得到推荐运动路线。
首先,从本地或者另一个服务器(对应终端跑步软件的服务器)上存储的数据库中读取位置关联区域的推荐跑步路线表(推荐路线表),查找跑步用户所处区域下所有的推荐跑步路线起点的经度、维度坐标;最后,计算跑步用户所处位置与跑步用户当前位置所属区域内所有推荐跑步路线起点之间的距离,选取一条距离最短的推荐跑步路线作为推荐运动路线。或者,
首先,服务器从本地或者另一个服务器(对应终端跑步软件的服务器)上存储的数据库中读取关联区域的推荐跑步路线表(推荐路线表);其次,查找跑步用户当前位置所属区域下所有的推荐跑步路线中路线热度值较大的至少一条推荐跑步路线的起点经度、维度坐标;最后,计算跑步用户当前的位置与跑步用户当前位置所属区域内路线热度值较大的至少一条推荐跑步路线起点之间的距离,选取一条距离最短的推荐跑步路线作为推荐运动路线。
步骤704:将所述推荐运动路线发送给终端。
通过无线通信接口,将所述推荐运动路线以及推荐运动路线的编号发送给终端上的跑步软件,用于供跑步用户按照所述推荐运动路线进行跑步。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (10)

1.一种路线推荐方法,其特征在于,所述方法包括:
获取第一终端用户当前的位置信息;
获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;
利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;
将所述推荐运动路线发送给第一终端。
2.根据权利要求1所述的方法,其特征在于,获取所述第一终端用户当前的位置关联区域的推荐路线表之前,所述方法还包括:
根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;
对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线。
3.根据权利要求2所述的方法,其特征在于,所述根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域时,所述方法包括:
统计多个终端用户的历史运动数据中的轨迹点总数,得到第一值;
将第二值到所述第一值所形成的数值范围划分成N段;第二值小于所述第一值,N为大于或等于2的整数;
针对每段,选取一个数值,得到N个选取的数值;
任选一个未标记的轨迹点位置为中心,并根据预设半径确定一个对应的圆形区域,统计在所述圆形区域内的轨迹点数,当统计的轨迹点数大于等于N个选取的数值中的至少一个时,根据在所述圆形区域内所有直接密度可达点位置得到密度相连的点位置,所有密度相连的点位置形成一个区域。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据关联区域内的历史运动数据中的路线起点以及至少一半轨迹点所在的区域,对路线进行分类,确定对应所述区域内的路线。
5.根据权利要求2所述的方法,其特征在于,所述基于起点划分策略进行分类,确定所述至少一条推荐路线,包括:
将起点与基准点的距离满足第一条件的至少一条路线,确定为同类路线;基准点为关联区域内的历史运动数据中的任意一条路线的起点;
从同类路线中确定里程最短的路线;
按照轨迹点顺序确定里程最短的路线与其他路线之间距离的平均值,将所述平均值满足第二条件的一条路线确定为推荐路线。
6.一种路线推荐装置,其特征在于,所述路线推荐装置包括:
获取模块,用于获取第一终端用户当前的位置信息;还用于获取所述第一终端用户当前的位置关联区域的推荐路线表;所述关联区域是利用多个终端用户的历史运动数据,基于密度的聚类算法得到的;所述推荐路线表包含利用所述关联区域内的历史运动数据,基于起点划分策略得到的至少一条推荐路线;
推荐模块,用于利用所述位置信息,确定所述第一终端用户当前的位置与所述至少一条推荐路线中每条推荐路线的位置关系,根据与所述每条推荐路线的位置关系,从所述至少一条推荐路线中确定推荐运动路线;
发送模块,用于将所述推荐运动路线发送给第一终端。
7.根据权利要求6所述的路线推荐装置,其特征在于,所述路线推荐装置还包括:
区域划分模块,用于根据多个终端用户的历史运动数据中的轨迹点总数,基于密度的聚类算法,确定所述关联区域;
分类模块,用于对所述关联区域内的历史运动数据,基于起点划分策略进行分类,确定所述至少一条推荐路线。
8.根据权利要求7所述的路线推荐装置,其特征在于,所述路线推荐装置还包括:
路线划分模块,用于根据关联区域内的历史运动数据中的路线起点以及至少一半轨迹点所在的区域,对路线进行分类,确定对应所述区域内的路线。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至5任一项所述方法的步骤。
10.一种路线推荐装置,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,
其中,所述处理器用于运行所述计算机程序时,执行权利要求1至5任一项所述方法的步骤。
CN201710487389.0A 2017-06-23 2017-06-23 一种路线推荐方法、装置及计算机可读存储介质 Active CN107389078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710487389.0A CN107389078B (zh) 2017-06-23 2017-06-23 一种路线推荐方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710487389.0A CN107389078B (zh) 2017-06-23 2017-06-23 一种路线推荐方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN107389078A true CN107389078A (zh) 2017-11-24
CN107389078B CN107389078B (zh) 2019-07-02

Family

ID=60332581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710487389.0A Active CN107389078B (zh) 2017-06-23 2017-06-23 一种路线推荐方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN107389078B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108416611A (zh) * 2018-01-31 2018-08-17 佛山市顺德区中山大学研究院 一种超市路径推荐系统及其方法
CN110751531A (zh) * 2018-11-13 2020-02-04 北京嘀嘀无限科技发展有限公司 轨迹识别方法、装置及电子设备
CN110765984A (zh) * 2019-11-08 2020-02-07 北京市商汤科技开发有限公司 一种移动状态信息展示方法、装置、设备及存储介质
CN111540026A (zh) * 2020-03-24 2020-08-14 北京三快在线科技有限公司 动线图的绘制方法、装置、电子设备及存储介质
CN112055867A (zh) * 2018-05-18 2020-12-08 北京嘀嘀无限科技发展有限公司 用于推荐个性化上车位置的系统和方法
CN112215580A (zh) * 2020-10-23 2021-01-12 岭东核电有限公司 核电作业区域设置方法、装置、计算机设备和存储介质
CN112815955A (zh) * 2019-10-31 2021-05-18 荣耀终端有限公司 一种提示出行方案的方法及电子设备
CN112866910A (zh) * 2021-01-08 2021-05-28 腾讯科技(深圳)有限公司 起点路线的推荐方法、装置、系统和计算机存储介质
CN113312563A (zh) * 2021-06-24 2021-08-27 北京三快在线科技有限公司 信息推荐方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310281A (zh) * 2012-03-16 2013-09-18 日电(中国)有限公司 旅游路线提取系统和方法
CN103996068A (zh) * 2014-05-08 2014-08-20 百度在线网络技术(北京)有限公司 客流分布的统计方法和装置
CN105910612A (zh) * 2015-12-29 2016-08-31 乐视网信息技术(北京)股份有限公司 一种个性化导航的方法及系统
CN106868429A (zh) * 2015-12-10 2017-06-20 南京理工大学 一种具有宽的过冷液相区的钴基非晶合金

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103310281A (zh) * 2012-03-16 2013-09-18 日电(中国)有限公司 旅游路线提取系统和方法
CN103996068A (zh) * 2014-05-08 2014-08-20 百度在线网络技术(北京)有限公司 客流分布的统计方法和装置
CN106868429A (zh) * 2015-12-10 2017-06-20 南京理工大学 一种具有宽的过冷液相区的钴基非晶合金
CN105910612A (zh) * 2015-12-29 2016-08-31 乐视网信息技术(北京)股份有限公司 一种个性化导航的方法及系统

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108416611A (zh) * 2018-01-31 2018-08-17 佛山市顺德区中山大学研究院 一种超市路径推荐系统及其方法
CN112055867A (zh) * 2018-05-18 2020-12-08 北京嘀嘀无限科技发展有限公司 用于推荐个性化上车位置的系统和方法
CN112055867B (zh) * 2018-05-18 2024-05-07 北京嘀嘀无限科技发展有限公司 用于推荐个性化上车位置的系统和方法
CN110751531A (zh) * 2018-11-13 2020-02-04 北京嘀嘀无限科技发展有限公司 轨迹识别方法、装置及电子设备
CN112815955A (zh) * 2019-10-31 2021-05-18 荣耀终端有限公司 一种提示出行方案的方法及电子设备
CN110765984A (zh) * 2019-11-08 2020-02-07 北京市商汤科技开发有限公司 一种移动状态信息展示方法、装置、设备及存储介质
CN111540026A (zh) * 2020-03-24 2020-08-14 北京三快在线科技有限公司 动线图的绘制方法、装置、电子设备及存储介质
CN112215580A (zh) * 2020-10-23 2021-01-12 岭东核电有限公司 核电作业区域设置方法、装置、计算机设备和存储介质
CN112215580B (zh) * 2020-10-23 2024-02-06 岭东核电有限公司 核电作业区域设置方法、装置、计算机设备和存储介质
CN112866910A (zh) * 2021-01-08 2021-05-28 腾讯科技(深圳)有限公司 起点路线的推荐方法、装置、系统和计算机存储介质
CN113312563A (zh) * 2021-06-24 2021-08-27 北京三快在线科技有限公司 信息推荐方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107389078B (zh) 2019-07-02

Similar Documents

Publication Publication Date Title
CN107389078B (zh) 一种路线推荐方法、装置及计算机可读存储介质
WO2018107993A1 (zh) 一种虚假地址信息识别的方法及装置
Jiang et al. A review of urban computing for mobile phone traces: current methods, challenges and opportunities
Wang et al. Improving personalized trip recommendation by avoiding crowds
Luan et al. MPTR: A maximal-marginal-relevance-based personalized trip recommendation method
Li et al. Next and next new POI recommendation via latent behavior pattern inference
CN108829761B (zh) 一种兴趣点推荐方法、系统、介质及设备
CN103914498A (zh) 一种地图搜索的搜索建议方法和装置
CN107392245A (zh) 一种出租车载客轨迹聚类算法Tr‑OPTICS
CN105554704A (zh) 推荐系统中基于假轨迹的位置隐私保护方法
CN110457420A (zh) 兴趣点位置识别方法、装置、设备及存储介质
KR20170030379A (ko) 사용자 선호에 맞춘 여행 큐레이션 서비스 방법 및 시스템
Wang et al. A context-based geoprocessing framework for optimizing meetup location of multiple moving objects along road networks
Dalvi et al. Deduplicating a places database
CN115774819B (zh) 一种基于层次循环神经网络的兴趣点推荐方法及系统
Hamid et al. A developed GPS trajectories data management system for predicting tourists' POI
Liu et al. Microscopic and macroscopic spatio-temporal topic models for check-in data
Sarkar et al. gTour: Multiple itinerary recommendation engine for group of tourists
CN111597279A (zh) 基于深度学习的信息预测方法及相关设备
CN109947874A (zh) 移动轨迹的聚合方法、装置及设备
Yue-Qiang et al. A multi-element hybrid location recommendation algorithm for location based social networks
CN110009124A (zh) 一种确定公交站点的数据处理方法、服务器和系统
Zou et al. An innovative GPS trajectory data based model for geographic recommendation service
Liao et al. Fusing geographic information into latent factor model for pick-up region recommendation
Huang et al. Stpr: A personalized next point-of-interest recommendation model with spatio-temporal effects based on purpose ranking

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