发明内容
本公开要解决的一个技术问题是提供一种公交线路调整方法和装置,确定更加符合居民出行需求的公交线路。
根据本公开一方面,提出一种公交线路调整方法,包括:基于区域内的多源异构出行数据抽取用户出发地与目的地数据;根据兴趣点数据和用户出发地与目的地数据计算兴趣点热度;根据公交站点数据和用户出发地与目的地数据计算公交站点间的最大人流量数据;基于兴趣点热度和公交站点数据随机生成K条公交线路,其中,K为自然数;基于公交站点间的最大人流量数据计算该区域的乘客直达率;根据该区域乘客直达率对K条公交线路进行调整。
可选地,多源异构出行数据包括出租车轨迹数据、基站数据、共享单车轨迹数据和公共交通数据。
可选地,基于区域内的多源异构出行数据抽取用户出发地与目的地数据包括:抽取出租车轨迹数据中有乘客时的出发地和目的地数据作为用户出发地与目的地数据;将共享单车轨迹数据和公共交通数据中的至少一项与基站数据相结合确定用户出发地与目的地数据。
可选地,将共享单车轨迹数据和公共交通数据中的至少一项与基站数据相结合确定用户出发地与目的地数据包括:抽取共享单车轨迹数据或公共交通数据中的任意一条出行记录作为第一出行记录;抽取基站数据中符合第一出行记录的移动设备;判断第一出行记录的目的地对应时刻之后预定时间内,移动设备对应的基站是否改变;若移动设备对应的基站没有改变,则将第一出行记录的出发地和目的地作为用户出发地与目的地数据。
可选地,若移动设备对应的基站有改变,则在其他出行记录中选择出发地与第一出行记录目的地的距离小于距离阈值的出行记录作为第二出行记录;抽取基站数据中符合第二出行记录的移动设备;若符合第一出行记录的移动设备与符合第二出行记录的移动设备为同一设备,则将第二出行记录合并到第一出行记录中,并重新执行判断第一出行记录的目的地对应时刻之后预定时间内移动设备对应的基站是否改变的步骤。
可选地,根据兴趣点数据和用户出发地与目的地数据计算兴趣点热度包括:确定区域内兴趣点的数量;确定该区域内用户出发地与目的地数据中出发人数或达到人数;将出发人数或达到人数与兴趣点的数量之比作为兴趣点热度。
可选地,根据公交站点数据和用户出发地与目的地数据计算公交站点间的最大人流量数据包括:基于路网数据将用户出发地与目的地数据中的出发地经纬度信息映射到最近的出发地公交站点;基于路网数据将用户出发地与目的地数据中的目的地经纬度信息映射到最近的目的地公交站点;将用户出发地与目的地数据中的人流量数据作为出发地公交站点与目的地公交站点间的最大人流量数据。
可选地,基于公交站点间的最大人流量数据计算该区域的乘客直达率包括:确定区域内乘坐K条公交线路从出发地公交站点到目的地公交站点无需换乘的乘客数;根据无需换乘的乘客数和区域内出发地公交站点与目的地公交站点间的最大人流量数据之和,得到区域的乘客直达率。
可选地,根据区域的乘客直达率对K条公交线路进行调整包括:判断区域的乘客直达率是否大于等于乘客直达率阈值;若区域的乘客直达率大于等于乘客直达率阈值,则将K条公交线路作为最优公交线路方案;若区域的乘客直达率小于于乘客直达率阈值,则按照预设线路生成规则重新生成小于等于K条公交线路,并执行判断区域的乘客直达率是否大于等于乘客直达率阈值的步骤。
可选地,按照预设线路生成规则重新生成小于等于K条公交线路包括:将乘客直达率最高的公交线路保持不变,并根据兴趣点热度和公交站点数据随机生成小于等于K-1条公交线路,其中,每条公交线路的乘客直达率为该条公交线路中从出发地公交站点与目的地公交站点没有换乘的乘客数与乘坐该条公交线路的乘客数之比;或将具有相同站点或具有相邻站点的任意两条公交线路中的部分公交站点进行交换,从新生成小于等于K条公交线路;或随机选择新的公交站点替换的公交线路的多个公交站点,从新生成小于等于K条公交线路。
根据本公开的另一方面,还提出一种公交线路调整装置,包括:数据抽取单元,用于基于区域内的多源异构出行数据抽取用户出发地与目的地数据;兴趣点热度计算单元,用于根据兴趣点数据和用户出发地与目的地数据计算兴趣点热度;人流量计算单元,用于根据公交站点数据和用户出发地与目的地数据计算公交站点间的最大人流量数据;线路生成单元,用于基于兴趣点热度和公交站点数据随机生成K条公交线路,其中,K为自然数;乘客直达率计算单元,用于基于公交站点间的最大人流量数据计算区域的乘客直达率;线路调整单元,用于根据区域的乘客直达率对K条公交线路进行调整。
根据本公开的另一方面,还提出一种公交线路调整装置,包括:存储器;以及耦接至存储器的处理器,处理器被配置为基于存储在存储器的指令执行如上述的公交线路调整方法。
根据本公开的另一方面,还提出一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现上述的公交线路调整方法的步骤。
与现有技术相比,本公开实施例利用多源异构出行数据抽取用户出发地与目的地数据,然后计算出兴趣点热度以及公交站点间的最大人流量数据,基于兴趣点热度和公交站点数据随机生成多条公交线路,进而根据乘客直达率对K条公交线路进行调整,确定更加符合居民出行需求的公交线路,进而能够提高公交车的利用率。
通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
图1为本公开公交线路调整方法的一个实施例的流程示意图。
在步骤110,基于区域内的多源异构出行数据抽取用户出发地与目的地数据。其中,城市中的多源异构出行数据例如包括出租车轨迹数据、基站数据、共享单车轨迹数据以及公共交通数据等,公共交通数据例如为公交车、地铁运行以及刷卡数据等,通过多源异构出行数据能够充分挖掘城市居民的真实出行需求,为之后公交线路规划提供强有力的数据支持。用户出发地与目的地数据中包括经纬度信息、人流量信息等。
在一个实施例中,可以对底层的原始多源异构出行数据进行清洗、预处理,从城市居民的出行数据中抽取出真正的出发地-目的地(Origin-Destination,OD)数据。
在步骤120,根据兴趣点数据和用户出发地与目的地数据计算兴趣点热度。其中,可以先确定该区域内兴趣点的数量以及该区域内用户出发地与目的地数据中出发人数或达到人数,将出发人数或达到人数与兴趣点的数量之比作为兴趣点热度。
在步骤130,根据公交站点数据和用户出发地与目的地数据计算公交站点间的最大人流量数据。例如,基于路网数据将用户出发地与目的地数据中的出发地经纬度信息映射到最近的出发地公交站点;基于路网数据将用户出发地与目的地数据中的目的地经纬度信息映射到最近的目的地公交站点;将用户出发地与目的地数据中的人流量数据作为出发地公交站点与目的地公交站点间的最大人流量数据。
在该步骤中,将原本任意位置的用户出发地与目的地数据转化为基于公交站点的用户出发地与目的地数据,在将经纬度信息映射到最近的公交站点时,可以使用基于路网的最近邻查询方法,即计算两点之间的真实路网距离而不是欧式距离。
在步骤140,基于兴趣点热度和公交站点数据随机生成K条公交线路,其中,K为自然数。例如,可以利用遗传算法随机生成多条公交线路,其中,每条公交线路包含一定的公交站点的ID,每条公交线路的站点数量固定在一定的范围区间。
在一个实施例中,以一条公交线路为例,首先初始化公交站点边缘的一个站点作为起始点,然后从周围网格中选取一个网格中的公交站点作为下一个站点。选择周围网格的方式可以为,按照兴趣点热度给网格分配相应的概率,根据概率随机选择一个网格。重复这样的过程,直到公交站点数量达到上限。
在步骤150,基于公交站点间的最大人流量数据计算该区域的乘客直达率,即乘客通过乘坐公交能够直达目的地的比例。
在步骤160,根据该区域的乘客直达率对K条公交线路进行调整。例如,若该区域的乘客直达率大于等于乘客直达率阈值,则将K条公交线路作为最优公交线路方案,若该区域的乘客直达率小于乘客直达率阈值,则按照预设线路生成规则重新生成小于等于K条公交线路,并再次判断该区域的乘客直达率是否大于等于乘客直达率阈值。
在该实施例中,利用多源异构出行数据抽取用户出发地与目的地数据,然后计算出兴趣点热度以及公交站点间的最大人流量数据,基于兴趣点热度和公交站点数据随机生成多条公交线路,进而根据区域的乘客直达率对K条公交线路进行调整,确定更加符合居民出行需求的公交线路,进而能够提高公交车的利用率。
对于步骤110中,基于区域内的多源异构出行数据抽取用户出发地与目的地数据,具体实现可以如图2所示。
在步骤210,判断多源异构出行数据是否为出租车轨迹数据,若是,则执行步骤220,否则,执行步骤230。
在步骤220,抽取出租车轨迹数据中有乘客时的出发地和目的地数据。
城市居民使用出租车时大多数都是直接从出发地到目的地的,所以不需要将出租车数据与其他数据进行交互即可得到一部分OD数据。但对于其他出行数据,由于现有的出行数据中,并不会记录用户的身份信息,所以无法从出行数据中定位每一个用户,更无法得知用户通过一种出行方式后是否继续选择了另一种出行方式。所以在该阶段,可以引入基站数据,通过利用基站数据中设备的移动来帮助识别用户。例如,将共享单车轨迹数据和公共交通数据中的至少一项与基站数据相结合确定用户出发地与目的地数据。
在步骤230,从当前数据集中任意一条出行记录作为第一出行记录。
在步骤240,抽取基站数据中符合第一出行记录的移动设备。即从基站数据中查找符合当前出现记录的设备。
在步骤250,判断第一出行记录的目的地对应时刻之后预定时间内,移动设备对应的基站是否改变,若改变,则执行步骤260,若没有改变,则执行步骤270。
在步骤260,在其他出行记录中选择出发地与第一出行记录目的地的距离小于距离阈值的出行记录作为第二出行记录,抽取基站数据中符合第二出行记录的移动设备;若符合第一出行记录的移动设备与符合第二出行记录的移动设备为同一设备,则将第二出行记录合并到第一出行记录中,后续执行步骤250。在步骤260,若移动设备对应的基站改变,则说明用户继续移动了,则应从其他出行数据中匹配出符合的出行记录,并与之前的出行记录合并。
在步骤270,确定第一出行记录的出发地和目的地数据。如果设备位置没有继续发生改变,则说明当前出行已经结束。
在步骤280,整合出发地和目的地数据。其中,可以将出发地和目的地数据记录整合到同一个文件中进行存储。
在该实施例中,由于很多居民选择公共交通出行时,并不是只选择一种交通工具,经常会出现“公交车-地铁”、“地铁-公交车”、“地铁-共享单车”、“共享单车-地铁”等模式的多手段出行方式。所以,该实施例中通过数据抽取,将多源异构的出行数据充分结合,从中挖掘出完整、真实的居民出行记录。另外,通过引用基站数据,可以帮助识别没有记录用户的身份信息的出行数据,以便抽取出一条完整的出行记录。
图3为本公开根据兴趣点数据和用户出发地与目的地数据计算兴趣点热度的一个实施例的流程示意图。
在步骤310,对城市进行栅格化,将城市分成N*N的网格。
在步骤320,在兴趣点数据中选择出特定类型的兴趣点数据,根据它们的经纬度信息,映射到步骤310中栅格化得到的网格中,统计每个网格中兴趣点的数量。其中,可以选择部分重要的兴趣点类型,例如大型商场、大型超市、住宅区、地铁站、大型写字楼等。
在步骤330,将用户出发地与目的地数据中的出发地和目的地分别映射到城市网格中,并统计每个网格中出发或到达的人数。
在步骤340,计算每个网格中兴趣点的平均热度。例如,将该网络中出发人数或达到人数与兴趣点的数量之比作为网格中兴趣点的平均热度。
在数据抽取阶段得到的用户出发地与目的地数据中,出发地和目的地都是具体的经纬度信息,但经纬度信息过于抽象,不利于直观地理解城市居民的出行需求。为了进一步理解居民的出行需求,该实施例中在数据融合阶段引入兴趣点数据,衡量不同区域的兴趣点热度,并进行可视化。
图4为本公开公交线路调整方法的另一个实施例的流程示意图。该实施例中生成公交线路调整方案时,需要输入一些约束条件,包括公交线路数量K,以及乘客直达率阈值。其中,K规定了生成的调整方案中包含的公交线路的数量,它可以少于当前的公交车线路总数,以达到减少开销的目的。
在步骤410,对所有公交站点进行编码,每个站点有一个唯一的ID。
在步骤420,基于兴趣点热度和公交站点数据随机生成K条公交线路。每条公交线路包含一定的公交站点的ID,作为行驶线路,每条公交线路的站点数量固定在一定的范围区间内。
在步骤430,基于公交站点间的最大人流量数据计算该区域的乘客直达率。例如,确定区域内乘坐K条公交线路从出发地公交站点到目的地公交站点无需换乘的乘客数;将无需换乘的乘客数,与区域内出发地公交站点与目的地公交站点间的最大人流量数据之和的比值,作为区域的乘客直达率。例如,该区域乘坐公交车的有1000名乘客,而能够直接到达目的地的人数为500,则该区域的乘客直达率为500/1000。
在步骤440,判断该区域的乘客直达率是否大于等于乘客直达率阈值,若大于等于乘客直达率阈值,则执行步骤450,否则,执行步骤460。
在步骤450,将生成的公交线路作为最优公交线路方案。
在步骤460,按照预设线路生成规则重新生成小于等于K条公交线路。其中,可以以一定的概率选择以下方法中的任意一种重新生成新的公交线路。
例如,将乘客直达率最高的公交线路保持不变,并根据兴趣点热度和公交站点数据随机生成小于等于K-1条公交线路,其中,每条公交线路的乘客直达率为该条公交线路中从出发地公交站点与目的地公交站点没有换乘的乘客数与乘坐该条公交线路的乘客数之比。
或者,将具有相同站点或具有相邻站点的任意两条公交线路中的部分公交站点进行交换,从新生成小于等于K条公交线路。其中,交叉线路必须有相同的公交站点,或者最近的公交站点距离不超过预定距离,例如不超过2公里。通过约束条件可以防止将两天相距很远的线路进行交叉,导致新的线路不合理。
或者,随机选择新的公交站点替换公交线路的多个公交站点,从新生成小于等于K条公交线路。
在重新生成多条公交线路后,需要执行步骤440,直到找到最优公交线路方案。
在上述实施例中,获得用户出发地与目的地数据后,结合城市的路网数据、兴趣点数据以及公交站点数据,进行数据融合,对居民的出行进行建模,将居民的出发地和目的地映射到具体的公交站点,然后对新生成的公交线路,评估乘客的直达率,选择乘客直达率最大的公交线路作为最优的方案,能够挖掘出城市居民的真实出现需求,提高公交车的利用率。
图5为本公开公交线路调整装置的一个实施例的结构示意图。该装置包括数据抽取单元510、兴趣点热度计算单元520、人流量计算单元530、线路生成单元540、乘客直达率计算单元550和线路调整单元560。
数据抽取单元510用于基于区域内的多源异构出行数据抽取用户出发地与目的地数据。其中,城市中的多源异构出行数据例如包括出租车轨迹数据、基站数据、共享单车轨迹数据以及公共交通数据等,公共交通数据例如为公交车、地铁运行以及刷卡数据等,通过多源异构出行数据能够充分挖掘城市居民的真实出行需求,为之后公交线路规划提供强有力的数据支持。用户出发地与目的地数据中包括经纬度信息、人流量信息等。
在一个实施例中,可以抽取出租车轨迹数据中有乘客时的出发地和目的地数据作为用户出发地与目的地数据。
在一个实施例中,可以将共享单车轨迹数据和公共交通数据中的至少一项与基站数据相结合确定用户出发地与目的地数据。
例如,抽取共享单车轨迹数据或公共交通数据中的任意一条出行记录作为第一出行记录;抽取基站数据中符合第一出行记录的移动设备;判断第一出行记录的目的地对应时刻之后预定时间内,移动设备对应的基站是否改变;若移动设备对应的基站有改变,则在其他出行记录中选择出发地与第一出行记录目的地的距离小于距离阈值的出行记录作为第二出行记录;抽取基站数据中符合第二出行记录的移动设备;若符合第一出行记录的移动设备与符合第二出行记录的移动设备为同一设备,则将第二出行记录合并到第一出行记录中,并重新执行判断第一出行记录的目的地对应时刻之后预定时间内移动设备对应的基站是否改变的步骤;若移动设备对应的基站没有改变,则将第一出行记录的出发地和目的地作为用户出发地与目的地数据。
兴趣点热度计算单元520用于根据兴趣点数据和用户出发地与目的地数据计算兴趣点热度。其中,可以先确定该区域内兴趣点的数量以及该区域内用户出发地与目的地数据中出发人数或达到人数,将出发人数或达到人数与兴趣点的数量之比作为兴趣点热度。
人流量计算单元530用于根据公交站点数据和用户出发地与目的地数据计算公交站点间的最大人流量数据。例如,基于路网数据将用户出发地与目的地数据中的出发地经纬度信息映射到最近的出发地公交站点;基于路网数据将用户出发地与目的地数据中的目的地经纬度信息映射到最近的目的地公交站点;将用户出发地与目的地数据中的人流量数据作为出发地公交站点与目的地公交站点间的最大人流量数据。
线路生成单元540用于基于兴趣点热度和公交站点数据随机生成K条公交线路,其中,K为自然数。例如,可以利用遗传算法随机生成多条公交线路,其中,每条公交线路包含一定的公交站点的ID,每条公交线路的站点数量固定在一定的范围区间。
乘客直达率计算单元550用于基于公交站点间的最大人流量数据计算该区域的乘客直达率。例如,先确定区域内乘坐K条公交线路从出发地公交站点到目的地公交站点无需换乘的乘客数;根据无需换乘的乘客数和区域内出发地公交站点与目的地公交站点间的最大人流量数据之和,得到区域的乘客直达率。
线路调整单元560用于根据该区域的乘客直达率对K条公交线路进行调整。判断该区域的乘客直达率是否大于等于乘客直达率阈值;若该区域的乘客直达率大于等于乘客直达率阈值,则将K条公交线路作为最优公交线路方案;若该区域的乘客直达率小于乘客直达率阈值,则按照预设线路生成规则重新生成小于等于K条公交线路,并执行判断该区域的乘客直达率是否大于等于乘客直达率阈值的步骤,直到找到最优公交线路方案。
在一个实施例中,可以将乘客直达率最高的公交线路保持不变,并根据兴趣点热度和公交站点数据随机生成小于等于K-1条公交线路,其中,每条公交线路的乘客直达率为该条公交线路中从出发地公交站点与目的地公交站点没有换乘的乘客数与乘坐该条公交线路的乘客数之比;或将具有相同站点或具有相邻站点的任意两条公交线路中的部分公交站点进行交换,从新生成小于等于K条公交线路;或随机选择新的公交站点替换公交线路的多个公交站点,从新生成小于等于K条公交线路。
在上述实施例中,利用多源异构出行数据抽取用户出发地与目的地数据,然后计算出兴趣点热度以及公交站点间的最大人流量数据,基于兴趣点热度和公交站点数据随机生成多条公交线路,进而根据乘客直达率对K条公交线路进行调整,确定更加符合居民出行需求的公交线路,进而能够提高公交车的利用率。
图6为本公开公交线路调整装置的另一个实施例的结构示意图。该装置包括存储器610和处理器620,其中:存储器610可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1-4所对应实施例中的指令。处理器620耦接至存储器610,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器620用于执行存储器中存储的指令。
在一个实施例中,还可以如图7所示,该装置700包括存储器710和处理器720。处理器720通过BUS总线730耦合至存储器710。该装置700还可以通过存储接口740连接至外部存储装置750以便调用外部数据,还可以通过网络接口760连接至网络或者另外一台计算机系统(未标出),此处不再进行详细介绍。
在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,能够确定更加符合居民出行需求的公交线路,进而能够提高公交车的利用率。
在另一个实施例中,一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1-4所对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。