识别用户出行目的地的方法和装置
技术领域
本说明书实施例涉及数据处理技术领域,更具体地,涉及一种识别用户出行目的地的方法和装置、以及在预定地理范围内确定交通工具的路线的方法和装置。
背景技术
随着智能设备的普及,用户通过在出行时随身携带智能设备,产生了大量用户出行数据,这些出行数据包含了丰富的信息,展示了用户的出行需求、出行时间、出行路线等等。通过利用这些出行数据识别出用户出行目的地,对特定地点的出行频次等,可用于交通工具规划、城市公路规划等多种用途。目前已有的用户出行意图识别算法的形式多种多样,但它们大多数都是通过对用户历史相似出行行为的识别和统计来找到用户规律性的出行目的地,如公司、学校等等。目前常见的用户出行意图识别算法包括以下几种:1).提取用户基础信息数据中的用户家庭住址、工作单位地址、学校位置等信息来构造从"家到单位"、"家到学校"等基础用户出行意图;2).通过分析用户历史出行轨迹中在各个区域的停留时间、停留次数等信息来找到用户经常停留、活动的区域,从而构造各个区域之间转移的用户出行意图,如"家到工作地"等;3).通过提取公交、地铁等刷卡数据中存在的上、下车站点信息来间接找到用户真实的出行意图。然而,在上述识别算法中,如出游、办事等突发性的出行意图往往被上述算法遗漏。
因此,需要一种更有效的识别用户出行目的地的方案。
发明内容
本说明书实施例旨在提供一种更有效的识别用户出行目的地的方案,以解决现有技术中的不足。
为实现上述目的,本说明书一个方面提供一种识别用户出行目的地的方法,包括:
获取一组轨迹数据,所述轨迹数据与第一用户在预定日期的预定时段内的出行轨迹相对应,其中,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间,其中,所述多个轨迹点中包括第一轨迹点;
判断所述第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值;以及
在所述偏离程度大于预定阈值的情况中,确定所述第一轨迹点为第一用户的出行目的地。
在一个实施例中,所述出行轨迹中包括在所述第一轨迹点之前的第二轨迹点和在所述第一轨迹点之后的第三轨迹点,其中,从所述第二轨迹点指向所述第一轨迹点的有向线段为第一线段,从所述第一轨迹点指向所述第三轨迹点的有向线段为第二线段,其中,判断所述第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值包括:判断所述第一线段与所述第二线段之间的夹角是否大于预定角度阈值、及所述第一线段和所述第二线段各自的长度是否都大于第一预定长度阈值。
在一个实施例中,所述第二轨迹点与所述第三轨迹点之间的线段为第三线段,其中,判断所述第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值还包括:判断所述第一线段与第二线段的长度之和减去所述第三线段的长度的差是否大于第二预定长度阈值。
在一个实施例中,所述第一轨迹点分别与所述第二轨迹点和所述第三轨迹点相邻。
在一个实施例中,所述预定日期的预定时段为工作日出行高峰时段。
在一个实施例中,所述预定日期的预定时段为工作日全天时段,所述方法还包括,在确定所述第一轨迹点为第一用户的出行目的地之后,基于预先获取的所述第一用户的工作日的常规出行路线,判断所述第一轨迹点是否在所述常规出行路线上,并基于该判断结果,再次确定所述第一轨迹点是否为第一用户的出行目的地。
在一个实施例中,所述出行轨迹在预定地理范围内,所述预定地理范围以预定网格被划分为多个区块,所述方法还包括,在获取一组轨迹数据之后,将位于相同区块中的至少两个轨迹点合并为一个轨迹点。
本说明书另一方面提供一种在预定地理范围内确定交通工具的路线的方法,所述预定地理范围以预定网格被划分为多个区块,其中包括第一区块和第二区块,在所述第一区块与所述第二区块之间当前未预设有预定交通工具的第一方向的路线,其中,所述第一方向为从所述第一区块指向所述第二区块的方向,所述方法包括:
获取多组轨迹数据,其中,每组轨迹数据与多个用户中的一个用户在多个预定日期中一天的预定时段内的出行轨迹对应,其中,所述出行轨迹在所述预定地理范围内,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间;
针对所述多组轨迹数据,通过根据权利要求1所述的方法,确定各条所述出行轨迹中是否包含作为出行目的地的第一轨迹点;
对于每条所述出行轨迹,在确定其中包含所述第一轨迹点的情况中,确定其中的与所述第一轨迹点对应的第一线段和第二线段,其中,所述第一线段为从在所述第一轨迹点之前的第二轨迹点指向所述第一轨迹点的有向线段,所述第二线段为从所述第一轨迹点指向在其之后的第三轨迹点之间的有向线段,其中,所述第一线段与所述第二线段之间的夹角大于预定角度阈值,所述第一线段与所述第二线段各自的长度分别大于预定长度阈值;
确定第三线段和第四线段各自的数目之和,其中,所述第三线段为各个所述第一线段中的起点在所述第一区块中、终点在所述第二区块中的第一线段,所述第四线段为各个所述第二线段中的起点在所述第一区块中、终点在所述第二区块中的第二线段;以及
在所述数目之和大于预定数值的情况中,增设所述预定交通工具在所述预定日期的预定时段的从所述第一区块到达所述第二区块的路线。
在一个实施例中,所述交通工具包括以下任一种:公共汽车、出租车、网约车、共享单车。
本说明书另一方面提供一种识别用户出行目的地的装置,包括:
获取单元,配置为,获取一组轨迹数据,所述轨迹数据与第一用户在预定日期的预定时段内的出行轨迹相对应,其中,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间,其中,所述多个轨迹点中包括第一轨迹点;
第一判断单元,配置为,判断所述第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值;以及
第一确定单元,配置为,在所述偏离程度大于预定阈值的情况中,确定所述第一轨迹点为第一用户的出行目的地。
在一个实施例中,所述出行轨迹中包括在所述第一轨迹点之前的第二轨迹点和在所述第一轨迹点之后的第三轨迹点,其中,从所述第二轨迹点指向所述第一轨迹点的有向线段为第一线段,从所述第一轨迹点指向所述第三轨迹点的有向线段为第二线段,其中,所述第一判断单元还配置为:判断所述第一线段与所述第二线段之间的夹角是否大于预定角度阈值、及所述第一线段和所述第二线段各自的长度是否都大于第一预定长度阈值。
在一个实施例中,所述第二轨迹点与所述第三轨迹点之间的线段为第三线段,其中,所述第一判断单元还配置为:判断所述第一线段与第二线段的长度之和减去所述第三线段的长度的差是否大于第二预定长度阈值。
在一个实施例中,所述预定日期的预定时段为工作日全天时段,所述装置还包括,第二判断单元,配置为,在确定所述第一轨迹点为第一用户的出行目的地之后,基于预先获取的所述第一用户的工作日的常规出行路线,判断所述第一轨迹点是否在所述常规出行路线上;以及第二确定单元,配置为,基于该判断结果,再次确定所述第一轨迹点是否为第一用户的出行目的地。
在一个实施例中,所述出行轨迹在预定地理范围内,所述预定地理范围以预定网格被划分为多个区块,所述装置还包括,合并单元,配置为,在获取一组轨迹数据之后,将位于相同区块中的至少两个轨迹点合并为一个轨迹点。
本说明书另一方面提供一种在预定地理范围内确定交通工具的路线的装置,所述预定地理范围以预定网格被划分为多个区块,其中包括第一区块和第二区块,在所述第一区块与所述第二区块之间当前未预设有预定交通工具的第一方向的路线,其中,所述第一方向为从所述第一区块指向所述第二区块的方向,所述装置包括:
获取单元,配置为,获取多组轨迹数据,其中,每组轨迹数据与多个用户中的一个用户在多个预定日期中一天的预定时段内的出行轨迹对应,其中,所述出行轨迹在所述预定地理范围内,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间;
第一确定单元,配置为,针对所述多组轨迹数据,通过根据权利要求1所述的方法,确定各条所述出行轨迹中是否包含作为出行目的地的第一轨迹点;
第二确定单元,配置为,对于每条所述出行轨迹,在确定其中包含所述第一轨迹点的情况中,确定其中的与所述第一轨迹点对应的第一线段和第二线段,其中,所述第一线段为从在所述第一轨迹点之前的第二轨迹点指向所述第一轨迹点的有向线段,所述第二线段为从所述第一轨迹点指向在其之后的第三轨迹点之间的有向线段,其中,所述第一线段与所述第二线段之间的夹角大于预定角度阈值,所述第一线段与所述第二线段各自的长度分别大于预定长度阈值;
第三确定单元,配置为,确定第三线段和第四线段各自的数目之和,其中,所述第三线段为各个所述第一线段中的起点在所述第一区块中、终点在所述第二区块中的第一线段,所述第四线段为各个所述第二线段中的起点在所述第一区块中、终点在所述第二区块中的第二线段;以及
增设单元,配置为,在所述数目之和大于预定数值的情况中,增设所述预定交通工具在所述预定日期的预定时段的从所述第一区块到达所述第二区块的路线。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的识别用户出行目的地的方案中,直接分析用户每天最原始的运动轨迹,因此所依据的信息完整,并通过提取偏离正常轨迹的轨迹点来找到用户偶发性的出行行为,从而识别用户出行目的地,从而使得识别结果更加全面并准确。
附图说明
通过结合附图描述本说明书实施例,可以使得本说明书实施例更加清楚:
图1示出根据本说明书实施例的用于交通工具路线规划的系统100的示意图;
图2示出根据本说明书实施例的一种识别用户出行目的地的方法;
图3(a)示意示出基于第一用户的一组轨迹数据获取的第一用户的出行轨迹图;
图3(b)示意示出第一用户的经合并的出行轨迹图;
图4示意示出第一用户工作日全天时段的出行轨迹图;
图5示出根据本说明书实施例的一种在预定地理范围内确定交通工具的路线的方法;
图6中示意示出了位于多个区块中的两条轨迹S1-S10和C1-C7;
图7示出根据本说明书实施例的一种识别用户出行目的地的装置700;
图8示出根据本说明书实施例的一种在预定地理范围内确定交通工具的路线的装置800。
具体实施方式
下面将结合附图描述本说明书实施例。
图1示出根据本说明书实施例的用于交通工具路线规划的系统100的示意图。所述系统100包括多个客户端11和服务器12,其中,服务器12中包括识别单元121和规划单元122。多个客户端11可以指用户的便携式智能终端(如手机),或者可以指便携式智能终端上安装的APP(如地图APP等),该多个客户端11可在经用户允许之后采集各个用户的出行轨迹数据并发送给服务器12。服务器12在接收到各个用户的出行轨迹数据之后,通过识别单元121识别出各个出行轨迹中的出行目的地,并通过规划单元122,基于识别出的关于各个出行目的地的数据,进行交通工具(例如公共汽车)的路线规划。可以理解,图1所示系统100仅是示意性的,而不是限制性的,根据本说明书实施例的识别用户出行目的地的方案不限于用于交通工具的路线规划,而是可以用于其他各种用途,如城市公路规划、商业活动规划等等。
下面将详细描述上述识别过程和规划过程。
图2示出根据本说明书实施例的一种识别用户出行目的地的方法,包括:
在步骤S202,获取一组轨迹数据,所述轨迹数据与第一用户在预定日期的预定时段内的出行轨迹相对应,其中,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间,其中,所述多个轨迹点中包括第一轨迹点;以及
在步骤S204,判断所述第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值;以及
在步骤S206,在所述偏离程度大于预定阈值的情况中,确定所述第一轨迹点为第一用户的出行目的地。
首先,在步骤S202,获取一组轨迹数据,所述轨迹数据与第一用户在预定日期的预定时段内的出行轨迹相对应,其中,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间,其中,所述多个轨迹点中包括第一轨迹点。
如参考图1中所述,服务器可从用户客户端接收用户(例如第一用户)的出行轨迹数据。第一用户的智能终端中例如安装有地图APP或者其它可获取地理数据的APP,所述APP在经用户允许的情况中并且在用户的特定操作中会采集用户的地理位置和记录时间。例如,地图APP在用户导航时可以预定时间频率(例如每5秒)采集用户的轨迹点数据,每个轨迹点的数据包括位置信息和记录时间,从而可采集用户的轨迹数据并发送给服务器。所述位置信息例如为经纬度信息或者为坐标信息等。例如,一些APP在用户打开该APP时或使用该APP时将采集用户的轨迹点数据,从而采集用户的轨迹数据并发送给服务器。所述第一轨迹点可以是第一用户的轨迹数据中的任一轨迹点。
从而,服务器可从对应的客户端APP获取第一用户的一组轨迹数据,或者,服务器可从第三方获取第一用户的一组轨迹数据。
本说明书实施例方案旨在通过找到用户出行轨迹中的偏离大多数轨迹点的离群点,从而基于该离群点识别出用户的非常规的或突发性的出行目的地,如在工作日出门办事的目的地等等。因此,本说明书实施例通常适用于用户在工作日的出行轨迹,即,所述预定日期通常为工作日。然而,本说明书实施例并不限于用于工作日,也可适用于周末或假期等,例如,用户在周末具有规律性出行,从而基于用户在周末的出行轨迹中的离群点也可以识别用户的突发性的出行目的地。
可针对识别出的出行目的地的用途,确定所述预定时段。例如,在识别出出行目的地之后,将该关于识别的出行目的地的数据用于进行公共汽车的路线规划,在该路线规划中可针对不同的时段进行不同的规划,从而,可基于公共汽车的不同规划时段设定所述预定时段。例如,可将该预定时段设定为上班高峰期或下班高峰期等等。可以理解,该预定时段也可以设定为全天24小时时段。
在一个实施例中,所述出行轨迹在预定地理范围内,即,针对用户在预定地理范围内的出行轨迹实施图2所示方法,所述预定地理范围例如城市范围内、区县范围内等等。所述预定地理范围以预定网格被划分为多个区块,所述方法还包括,在获取一组轨迹数据之后,将位于相同区块中的至少两个轨迹点合并为一个轨迹点。所述区块的大小和形状可基于具体场景设定,例如,在基于识别的出行目的地进行公共汽车路线规划的场景中,可将区块设定为边长为1公里的方块,另外,也可以基于城市公交衔接的紧密度确定区块的大小,当该紧密度较大时,可将该区块大小设定为较小。在基于识别的出行目的地进行共享单车的使用路线规划的场景中,可将区块设定为边长为0.5公里的方块,等等。
图3(a)示意示出基于第一用户的一组轨迹数据获取的第一用户的出行轨迹图。如图中所示,该轨迹绘制于地图的相应位置处,轨迹点之间的有向线段长度对应于两点之间的实际地理位置距离。该轨迹例如对应用第一用户在某个工作日早高峰时段的出行轨迹,其中包括十个轨迹点S1-S10。例如,用户在早晨从家中(对应于点S1)出发,经过常规上班路线(点S2-S3)之后拐到偏离上班路线的路线(点S4)上,到达需要办事的机构附近(点S5)用餐,然后进入办事的机构(点S6)进行事务处理(例如送孩子上学),并在处理完之后走到上班的常规路线(点S7和点S8)上,之后又拐到偏离路线(点S9)上进行另一个事务处理(如缴纳电话费),然后又回到上班路线上到达行程的终点(点S10,如工作单位)。
该地图已预先以预定网格被划分为多个区块,如图3(a)中所示,点S5和点S6位于一个区块中。所述轨迹点又可以称为用户的报活点,用户在一个区块中连续报活,代表用户在这个区块内停留。例如,第一用户在到达第一个办事点之后进行用餐并处理相关事务,从而在该办事点附近停留,因此,这两个轨迹点代表的用户的出行意图是类似的,后续步骤中没有必要针对该两个点中的每个点进行判断,因此,可如图3(b)所示,将点S5和点S6合并为一个轨迹点A1,从而节省该方法的识别时间,图3(b)示意示出第一用户的经合并的出行轨迹图。具体的合并方法可采用多种方法,例如,可使用点S5或点S6的地理位置和采集时间作为轨迹点A1的数据,或者可通过结合S5和点S6的地理位置和采集时间获取的轨迹数据作为轨迹点A1的数据,例如,以点S5和点S6的地理位置的中点作为轨迹点A1的地理位置,以点S5和点S6的采集时间的中点作为轨迹点A1的采集时间等。在通过合并获取轨迹点A1之后,所述第一轨迹点也可以为所述轨迹点A1。
在步骤S204,判断所述第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值。
如上文所述,本说明书实施例方案旨在通过找到用户出行轨迹中的偏离大多数轨迹点的离群点,从而基于该离群点识别出用户的非常规的或突发性的出行目的地。该离群点与其它轨迹点的偏离程度达到一定阈值之后,从而可以确定用户不是随意地无目的性的到达这个点,如在上班路上逛逛附近的商店等,而是有目的性、有安排地到达这个离群点。并且,当该离群点与其它轨迹点的偏离程度达到一定阈值之后,即,该离群点距离用户常规路线具有一定程度的距离,例如有一站路(例如1km)的距离,从而,在例如进行公交路线规划中,可基于该离群点进行路线规划。
所述偏离程度可通过具体的参数表示,从而,偏离程度的阈值可通过所述参数的阈值表示。
在一个实施例中,所述偏离程度通过第一轨迹点与其前后相邻的轨迹点之间的有向线段长度、及该两个有向线段所成角度来衡量。参考图3(b),假设第一轨迹点为图中点S9,按照时间顺序,点S9的前一个相邻点为点S8,点S9的后一个相邻点为点S10。通过基于点S8、S9和S10各自的地理位置(如经纬度)计算从点S8指向点S9的第一有向线段的长度a、从点S9指向点S10的第二有向线段的长度b、以及第一有向线段与第二有向线段B所成角度θ,从而,可通过长度a、b和角度θ来衡量点S9相对于点S8和S10的偏离程度。从图中可以看出,在同样的点S8与S10之间的距离c的情况中,点S9距离点S8和点S10越远(即偏离程度越大),长度a、b越长,角度θ越大。从而可以以长度a、b的大小、角度θ的大小体现所述偏离程度,也就是说,通过判断长度a、b是否大于预定长度阈值、角度θ是否大于预定角度阈值,来判断第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值。
在对长度a、b和角度θ的具体计算中,可在图3(b)中以点S8、点S9和点S10构成的三角形中,通过基于点S8、点S9和点S10各自的位置信息计算长度a、b和c,并通过例如余弦定理,基于长度a、b和c计算角度θ。可以理解,在点S8、点S9和点S10的位置信息为点的经纬度的情况中,由于用户轨迹所涉及的距离尺度较小,通过经纬度计算的两点之间的地球球面距离可等同于平面坐标中两点之间的线段长度。
在一个实施例中,在计算所述第一轨迹点(点S9)相对于其它轨迹点的偏离程度中,除了计算长度a、b的大小、角度θ的大小之外,还计算长度a与长度b之和减去长度c的差,以用于体现偏离程度,从而使得判断结果更准确。从而,判断所述第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值除了包括上述判断之外,还包括:判断所述第一线段与第二线段的长度之和减去所述第三线段的长度的差是否大于第二预定长度阈值。
在一个实施例中,所述偏离程度通过第一轨迹点与其前后的轨迹点之间的有向线段长度、及该两个有向线段所成角度来衡量。也就是说,所述第一轨迹点前后的轨迹点不一定为第一轨迹点的相邻点。同样地参考图3(b),假设第一轨迹点为图中的点A1,其前后的相邻点为点S4和S7,如果采用上述对点S9所用的偏离程度判断方法,由于点S4与点A1之间的线段距离较短,可能最终导致确定点A1的偏离程度小于预定阈值,即点A1不是离群点,然而从图中可以明显看出,点A1与第一用户的其它轨迹点偏离较远。因此,可使用轨迹中的其它点替换点S4和/或S7,以进行上述判断过程。例如,取点S3和点S7进行上述判断,也即,计算图中的长度d和e、及图中的角度β的大小,从而通过判断长度d、e是否大于预定长度阈值、角度β是否大于预定角度阈值,来判断点A1相对于其它轨迹点的偏离程度是否大于预定阈值。除了通过点S3和点S7判断点A1的偏离程度之外,还可以以该轨迹中的在点A1之前的任一未使用点替换点S3、并以在点A1之后的任一未使用点替换点S7,以判断点A1的偏离程度,例如,可以通过该轨迹的起点S1和终点S10判断点A1的偏离程度。也就是说,可通过图3(b)中在点A1之前的任一轨迹点和在点A1之后的任一轨迹点组成的各对轨迹点如上所述判断点A1相对于其它轨迹点的偏离程度是否大于预定阈值,只要存在一对轨迹点使得通过其可判断点A1相对于其它轨迹点的偏离程度大于预定阈值,则可确定点A1为第一用户的出行目的地。
可以理解,所述偏离程度不限于通过上述距离和角度参数来衡量,而是可以通过其它各种可能的方式,例如,所述偏离程度可以为第一轨迹点到预先获取的用户的同时段的常规路线的最短距离来衡量。例如,如图3(b)所示,假设图中的点S1、S2、S3、S7、S8和S10构成第一用户的工作日常规路线,从而,可通过图中点A1到达该常规路线的最短距离(图中虚线距离f)来衡量点A1的偏离程度。从而,判断点A1相对于其它轨迹点的偏离程度是否大于预定阈值即为,判断距离f是否大于预定阈值。另外,所示偏离程度还可以通过第一轨迹点所在区块与其它轨迹点所在区块的距离来衡量,等等。
可根据具体应用场景设置偏离程度的预定阈值的大小。例如,在上述通过角度和连线长度衡量图3(b)中点S9的偏离程度的情况中,在公交路线规划的场景中,基于公共汽车一站的距离长度,可将图3(b)中a和b对应的长度阈值设置为1km左右,将角度θ对应的角度阈值设置为较大(例如150度),而在共享单车路线规划的场景中,可将长度阈值设置为0.5km左右,将角度阈值设置为相比于上述场景较小(例如130度)。
在步骤S206,在所述偏离程度大于预定阈值的情况中,确定所述第一轨迹点为第一用户的出行目的地。
如上文所述,通过不同的判断方法,可通过不同的参数来衡量偏离程度,从而偏离程度的预定阈值也等同于所述参数的相应阈值。
例如,在上述通过角度和连线长度衡量图3(b)中点S9的偏离程度的情况中,假设长度阈值为L,角度阈值θ1,对于点S9,当满足以下公式(1)时,可确定点S9为出行目的地:
在一个实施例中,当满足以下公式(2)时,可确定点S9为出行目的地:
其中,L1和L2为预定的不同的长度阈值。
在一个实施例中,所述预定日期的预定时段为工作日全天时段,所述方法还包括,在确定所述第一轨迹点为第一用户的出行目的地的情况中,基于预先获取的所述第一用户的工作日的常规出行路线,判断所述第一轨迹点是否在所述常规出行路线上,并基于该判断结果,再次确定所述第一轨迹点是否为第一用户的出行目的地。图4示意示出第一用户工作日全天时段的出行轨迹图。如图4所示,第一用户的出行轨迹为从家(点B1)到公司(点B2)、再从公司(点B2)回家(点B1)的环形轨迹,其中包括点B3和B4。在该情况中,通过图中点B3和B4基于上述距离和角度的判断算法,可能将点B2错误地确定为离群点,通过判断点B2是否在第一用户的工作日的常规出行路线上,可排除所述错误。
图5示出根据本说明书实施例的一种在预定地理范围内确定交通工具的路线的方法,所述预定地理范围以预定网格被划分为多个区块,其中包括第一区块和第二区块,在所述第一区块与所述第二区块之间当前未预设有预定交通工具的第一方向的路线,其中,所述第一方向为从所述第一区块指向所述第二区块的方向,所述方法包括:
在步骤S502,获取多组轨迹数据,其中,每组轨迹数据与多个用户中的一个用户在多个预定日期中一天的预定时段内的出行轨迹对应,其中,所述出行轨迹在所述预定地理范围内,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间;
在步骤S504,针对所述多组轨迹数据,通过图2所示方法,确定各条所述出行轨迹中是否包含作为出行目的地的第一轨迹点;
在步骤S506,对于每条所述出行轨迹,在确定其中包含所述第一轨迹点的情况中,确定其中的与所述第一轨迹点对应的第一线段和第二线段,其中,所述第一线段为从在所述第一轨迹点之前的第二轨迹点指向所述第一轨迹点的有向线段,所述第二线段为从所述第一轨迹点指向在其之后的第三轨迹点之间的有向线段,其中,所述第一线段与所述第二线段之间的夹角大于预定角度阈值,所述第一线段与所述第二线段各自的长度分别大于预定长度阈值;
在步骤S508,确定第三线段和第四线段各自的数目之和,其中,所述第三线段为各个所述第一线段中的起点在所述第一区块中、终点在所述第二区块中的第一线段,所述第四线段为各个所述第二线段中的起点在所述第一区块中、终点在所述第二区块中的第二线段;以及
在步骤S510,在所述数目之和大于预定数值的情况中,增设所述预定交通工具在所述预定日期的预定时段的从所述第一区块到达所述第二区块的路线。
该方法为通过图2所示方法获取的用户出行目的地的一种应用方法,其中,所述交通工具可以为公共汽车,则该方法用于确定公共汽车的路线,即进行公共汽车的路线规划,或者,所述交通工具还可以为出租车、网约车等,从而,该方法用于确定出租车的路线,可以基于该路线的确定进行对出租车、网约车的信息推送,以促进该路线中的出租车、网约车的数量,另外,所述交通工具还可以为共享单车,在该情况中,在通过该方法确定了共享单车的路线之后,可基于该路线进行共享单车的放置,以促进用户在该路线中对共享单车的使用等等。可以理解,通过图2所示方法获取的用户出行目的地不限于用于确定交通工具的路线,例如,还可以用于公路规划、商业规划等,基于具体的场景,对用户出行目的地的应用方法也相应地不同,在此不一一详述。
在例如进行公交路线规划时,通常在预定地理范围内进行,例如在一个城市(例如北京市)范围内进行公交路线规划。在进行图5所示方法之前,可在该城市的地图中以预定网格将该城市划分为多个区块,以用于以区块为单位统计区块之间的用户出行情况,从而考虑区块之间的公交路线的增设与否。如上文所述,区块的大小和形状可基于具体场景设置,例如,在公交路线规划场景中,可将区块设定为边长为1公里的方块。另外,也可以基于城市公交衔接的紧密度确定区块的大小,当该紧密度较大时,可将该区块大小设定为较小。其中,所述第一区块和所述第二区块可以为城市中的多个区块中的任意两个不同的区块,其中,在所述第一区块与所述第二区块之间当前未预设有预定交通工具的第一方向的路线,其中,所述第一方向为从所述第一区块指向所述第二区块的方向。
下面详细描述该方法中的实施步骤。
首先,在步骤S502,获取多组轨迹数据,其中,每组轨迹数据与多个用户中的一个用户在多个预定日期中一天的预定时段内的出行轨迹对应,其中,所述出行轨迹在所述预定地理范围内,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间。
如上文参考图2所述,可通过APP获取用户在预定日期(如工作日)某个时段的一组轨迹数据。从而,对于多个用户,可通过各个用户的APP获取该用户的在多个工作日每天的某个时段的多组轨迹数据,其中每组轨迹数据包括多个轨迹点各自的地理位置和采集时间。通常,例如北京市中的用户尤其在工作日通常在该城市范围内进行活动,因此,通过将所述多个用户限定为北京地区的用户,从而可使得所述出行轨迹在北京市的地理范围内。
在步骤S504,针对所述多组轨迹数据,通过图2所示方法,确定各条所述出行轨迹中是否包含作为出行目的地的第一轨迹点。
由于对于所述多组轨迹数据实施图2所示方法,也就是说,考虑了多个用户的出行行为、以及考虑了各个用户在多个预定日期中的出行行为,从而为路线规划提供充分的数据支持。可以理解,这里并未限制各条出行轨迹中包括的第一轨迹点的数目,在一条出行轨迹中可未包含第一轨迹点,也可以包含至少一个第一轨迹点。
在步骤S506,对于每条所述出行轨迹,在确定其中包含所述第一轨迹点的情况中,确定其中的与所述第一轨迹点对应的第一线段和第二线段,其中,所述第一线段为从在所述第一轨迹点之前的第二轨迹点指向所述第一轨迹点的有向线段,所述第二线段为从所述第一轨迹点指向在其之后的第三轨迹点之间的有向线段,其中,所述第一线段与所述第二线段之间的夹角大于预定角度阈值,所述第一线段与所述第二线段各自的长度分别大于预定长度阈值。
对于每条所述出行轨迹,参考上文对图2方法的描述,当确定其中包括作为出行目的地的第一轨迹点的情况中,根据对第一轨迹点的识别方法,通常可确定其中的第一线段和第二线段,例如在图3(b)中,可确定从点S8指向点S9的第一线段,以及从点S9指向点S10的第二线段。该第一线段和第二线段即为用户到达出行目的地和离开出行目的地的可能路线。
在步骤S508,确定第三线段和第四线段各自的数目之和,其中,所述第三线段为各个所述第一线段中的起点在所述第一区块中、终点在所述第二区块中的第一线段,所述第四线段为各个所述第二线段中的起点在所述第一区块中、终点在所述第二区块中的第二线段。
在上述步骤中确定第一线段和第二线段的同时,也即确定了第一线段和第二线段各自的起点和终点,即,在一条出行轨迹中,第一线段的起点为该条出行轨迹中的第一轨迹点,第一线段的终点为相应的第二轨迹点,相应的第二线段的起点为所述第一轨迹点,第二线段的终点为相应的第三轨迹点。从而,可通过各个确定出的第一线段和第二线段各自的起点和终点确定第三线段和第四线段各自的数目之和,其中,所述第三线段为各个所述第一线段中的起点在所述第一区块中、终点在所述第二区块中的第一线段,所述第四线段为各个所述第二线段中的起点在所述第一区块中、终点在所述第二区块中的第二线段。
下面参考图6说明该步骤的实施。图6中示意示出了同时段位于多个区块中的两条轨迹S1-S10和C1-C7,其中,假设,在轨迹S1-S10中,从点S8指向点S9的有向线段为第一线段,从点S9指向点S10的有向线段为第二线段,在轨迹C1-C7中,从点C3指向点C4的有向线段为第一线段,从点C4指向点C5的有向线段为第二线段。假设点C4和点S8所在区块为第一区块,点S9和点C5所在区块为第二区块,在进行该步骤中的确定过程中,可首先确定起点(如点C4和点S8)在第一区块中的全部第一线段和第二线段,然后确定该第一线段和第二线段中终点(如点S9和点C5)在第二区块中的第一线段和第二线段并对其进行计数,从而可得出,起点在所述第一区块中、终点在所述第二区块中的第一线段(即第三线段)和第二线段(即第四线段)的数目之和应为2,其中包括从点S8指向点S9的第一线段和从点C4指向点C5的第二线段。
在步骤S510,在所述数目之和大于预定数值的情况中,增设所述预定交通工具在所述预定日期的预定时段的从所述第一区块到达所述第二区块的路线。
当所述数目之和大于预定数值的情况中,也就是说,多个用户在所述多个预定日期中的预定时段中频繁地需要从第一区块到达第二区块,从而,可通过在所述预定日期的预定时段增设交通工具的从第一区块到第二区块的路线,从而解决多个用户的共同需求。
图7示出根据本说明书实施例的一种识别用户出行目的地的装置700,包括:
获取单元71,配置为,获取一组轨迹数据,所述轨迹数据与第一用户在预定日期的预定时段内的出行轨迹相对应,其中,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间,其中,所述多个轨迹点中包括第一轨迹点;
第一判断单元72,配置为,判断所述第一轨迹点相对于其它轨迹点的偏离程度是否大于预定阈值;以及
第一确定单元73,配置为,在所述偏离程度大于预定阈值的情况中,确定所述第一轨迹点为第一用户的出行目的地。
在一个实施例中,所述出行轨迹中包括在所述第一轨迹点之前的第二轨迹点和在所述第一轨迹点之后的第三轨迹点,其中,从所述第二轨迹点指向所述第一轨迹点的有向线段为第一线段,从所述第一轨迹点指向所述第三轨迹点的有向线段为第二线段,其中,所述第一判断单元还配置为:判断所述第一线段与所述第二线段之间的夹角是否大于预定角度阈值、及所述第一线段和所述第二线段各自的长度是否都大于第一预定长度阈值。
在一个实施例中,所述第二轨迹点与所述第三轨迹点之间的线段为第三线段,其中,所述第一判断单元还配置为:判断所述第一线段与第二线段的长度之和减去所述第三线段的长度的差是否大于第二预定长度阈值。
在一个实施例中,所述预定日期的预定时段为工作日全天时段,所述装置还包括,第二判断单元74,配置为,在确定所述第一轨迹点为第一用户的出行目的地之后,基于预先获取的所述第一用户的工作日的常规出行路线,判断所述第一轨迹点是否在所述常规出行路线上;以及第二确定单元75,配置为,基于该判断结果,再次确定所述第一轨迹点是否为第一用户的出行目的地。
在一个实施例中,所述出行轨迹在预定地理范围内,所述预定地理范围以预定网格被划分为多个区块,所述装置还包括,合并单元76,配置为,在获取一组轨迹数据之后,将位于相同区块中的至少两个轨迹点合并为一个轨迹点。
图8示出根据本说明书实施例的一种在预定地理范围内确定交通工具的路线的装置800,所述预定地理范围以预定网格被划分为多个区块,其中包括第一区块和第二区块,在所述第一区块与所述第二区块之间当前未预设有预定交通工具的第一方向的路线,其中,所述第一方向为从所述第一区块指向所述第二区块的方向,所述装置包括:
获取单元81,配置为,获取多组轨迹数据,其中,每组轨迹数据与多个用户中的一个用户在多个预定日期中一天的预定时段内的出行轨迹对应,其中,所述出行轨迹在所述预定地理范围内,所述轨迹数据包括多个轨迹点各自的地理位置和采集时间;
第一确定单元82,配置为,针对所述多组轨迹数据,通过根据权利要求1所述的方法,确定各条所述出行轨迹中是否包含作为出行目的地的第一轨迹点;
第二确定单元83,配置为,对于每条所述出行轨迹,在确定其中包含所述第一轨迹点的情况中,确定其中的与所述第一轨迹点对应的第一线段和第二线段,其中,所述第一线段为从在所述第一轨迹点之前的第二轨迹点指向所述第一轨迹点的有向线段,所述第二线段为从所述第一轨迹点指向在其之后的第三轨迹点之间的有向线段,其中,所述第一线段与所述第二线段之间的夹角大于预定角度阈值,所述第一线段与所述第二线段各自的长度分别大于预定长度阈值;
第三确定单元84,配置为,确定第三线段和第四线段各自的数目之和,其中,所述第三线段为各个所述第一线段中的起点在所述第一区块中、终点在所述第二区块中的第一线段,所述第四线段为各个所述第二线段中的起点在所述第一区块中、终点在所述第二区块中的第二线段;以及
增设单元85,配置为,在所述数目之和大于预定数值的情况中,增设所述预定交通工具在所述预定日期的预定时段的从所述第一区块到达所述第二区块的路线。
本说明书另一方面提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行上述任一项方法。
本说明书另一方面提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述任一项方法。
在根据本说明书实施例的识别用户出行目的地的方案中,直接分析用户每天最原始的运动轨迹,因此所依据的信息完整,并通过提取偏离正常轨迹的轨迹点来找到用户偶发性的出行行为,从而识别用户出行目的地,从而使得识别结果更加全面并准确。
需要理解,本文中的“第一”,“第二”等描述,仅仅为了描述的简单而对相似概念进行区分,并不具有其他限定作用。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域普通技术人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执轨道,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执轨道的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。