用户轨迹获取方法、装置、电子设备及可读存储介质与流程

文档序号:30388663发布日期:2022-06-11 12:44阅读:135来源:国知局
用户轨迹获取方法、装置、电子设备及可读存储介质与流程

1.本技术涉及通信技术领域,具体而言,本技术涉及一种用户轨迹获取方法、装置、电子设备及可读存储介质。


背景技术:

2.手机信令数据(mobile signal data),即通过手机用户在基站之间的信息交换来确定用户的空间位置,能相对准确的记录人流的时空轨迹。手机用户只要发生开关机、通话、短信、位置更新和切换基站行为都会记录下信令数据。手机信令数据具有以下特点:一是大样本、覆盖范围广、用户持有率高,能更好反映人流行为的时空规律;二是匿名数据,安全性好,没有任何个人属性信息,不涉及个人隐私;三是非自愿数据,用户被动提供信息无法干预调查结果;四是具有动态实时性和连续性,能准确反映在连续时间区段内,不同时间点手机用户所在的空间位置,为定量描述区域内人群流动轨迹提供了可能。
3.目前,基于信令数据的位置应用,都是针对信令数据进行宏观的统计分析,如居住地分析、工作地分析、跨区域迁徙分析等,并没有一个方案是针对信令数据进行实际移动轨迹拟合方案,进而无法得到用户的实际轨迹。


技术实现要素:

4.本技术的目的旨在至少能解决上述的技术缺陷之一,本技术实施例所提供的技术方案如下:
5.第一方面,本技术实施例提供了一种用户轨迹获取方法,包括:
6.基于用户在预设时间段内的信令数据,获取对应的多个第一定位点,并基于信令数据确定多个第一定位点中的停留点和移动点;
7.对用户所处的区域的道路网分别在经度方向和纬度方向进行等间距划分,在道路网上形成多个网格;
8.对于每一移动点,从多个网格中确定出该移动点所处的网格以及至少一个候选网格,并从所处的网格和至少一个候选网格中确定出该移动点对应的目标道路,将该移动点投影至目标道路得到对应的第二定位点;
9.对各停留点、以及各移动点对应的第二定位点按对应的信令数据产生的先后顺序进行轨迹拟合,得到用户在预设时间段内的轨迹。
10.在本技术的一种可选实施例中,基于信令数据确定多个第一定位点中的停留点和移动点,包括:
11.将多个第一定位点按对应的信令数据产生的先后顺序进行排列,并确定至少一个起始第一定位点;
12.按先后顺序,基于信令数据,分别依次确定起始第一定位点之后的各第一定位点与起始定位点之间的距离,并将最先的一个距离大于预设停留半径的第一定位点之前的一个第一定位点确定为终止第一定位点;
13.若起始第一定位点与终止第一定位点之间对应的时间差不小于预设停留时间,则将起始第一定位点、终止第一定位点以及两者之间的各第一定位点确定为停留点,反之,将起始第一定位点、终止第一定位点以及两者之间的各第一定位点确定为移动点。
14.在本技术的一种可选实施例中,该方法还包括:
15.在道路网上形成多个网格后,将各网格的左下角的顶点的坐标作为其网格编号,且每一网格的左下角的顶点的坐标通过如下方式确定:
16.将区域的道路网的左下角的网格的左下角的顶点确定为原点,并将左下角网格分别作为各网格在经度方向和在纬度方向进行排序的起始网格;
17.将其他每一网格相对于左下角的网格在纬度方向上的序号作为该网格的左下角的顶点的横坐标,将该网格相对于左下角的网格在经度方向上的序号作为该网格的左下角的顶点的纵坐标;
18.相应地,对于每一移动点,从多个网格中确定出该移动点所处的网格以及至少一个候选网格,包括:
19.获取对区域的道路网进行等间距划分时的经度方向间距和纬度方向间距;
20.基于每一移动点的经度、纬度、经度方向间距和纬度方向间距,获取该移动点所处的网格的编号,并基于所处的网格的编号确定该移动点的至少一个候选网格。
21.在本技术的一种可选实施例中,基于所处的网格的编号确定该移动点的至少一个候选网格,包括:
22.以每一移动点所处的网格的编号对应的网格为中心,从道路图的网格中获取另外八个网格构成九宫格,另外八个网格即为该移动点的候选网格。
23.在本技术的一种可选实施例中,从所处的网格和至少一个候选网格中确定出该移动点对应的目标道路,将该移动点投影至目标道路得到对应的第二定位点,包括:
24.对于每一移动点,若所述所处的网格内包含有至少一条道路,则将该移动点投影至所述所处的网格内的每条道路上,并将长度最短的投影线对应的道路确定为该移动点对应的目标道路,若所述所处的网格内不包含道路,则将该移动点投影至至少一个候选网格中的每条道路上,并将长度最短的投影线对应的道路确定为该移动点对应的目标道路;
25.将每一移动点投影至对应的目标道路,并将目标道路上对应的投影点作为该移动点的第二定位点。
26.在本技术的一种可选实施例中,对各停留点、以及各移动点对应的第二定位点按对应的信令数据产生的先后顺序进行轨迹拟合,得到用户在预设时间段内的轨迹,包括:
27.对于相邻的停留点和第二定位点,按先后顺序连接,对于相邻的两个第二定位点,若相邻的两个第二定位点处于同一条道路上,则按先后顺序连接,若相邻的两个第二定位点不处于同一条道路上,则获取两者之间的中间节点后按先后顺序连接,从而得到用户在预设时间段内的轨迹。
28.在本技术的一种可选实施例中,若相邻的两个第二定位点不处于同一条道路上,则获取两者之间的中间节点后按先后顺序连接,包括:
29.以相邻的两个第二定位点为焦点、并以预设离心率构建椭圆区域,并获取处于椭圆区域内的各道路的端点作为优选中间节点;
30.在利用广度优先搜索算法获取相邻的两个第二定位点之间的最短路径的过程中,
优先搜索经过优选中间节点的路径,进而确定出对应的中间节点;
31.按利用广度优先搜索算法得出的最短路径连接相邻的两个第二定位点和中间节点。
32.第二方面,本技术实施例提供了一种用户轨迹获取装置,包括:
33.第一定位点获取模块,用于基于用户在预设时间段内的信令数据,获取对应的多个第一定位点,并基于信令数据确定多个第一定位点中的停留点和移动点;
34.数据网划分模块,用于对用户所处的区域的道路网分别在经度方向和纬度方向进行等间距划分,在道路网上形成多个网格;
35.第二定位点获取模块,用于对于每一移动点,从多个网格中确定出该移动点所处的网格以及至少一个候选网格,并从所处的网格和至少一个候选网格中确定出该移动点对应的目标道路,将该移动点投影至目标道路得到对应的第二定位点;
36.轨迹拟合模块,用于对各停留点、以及各移动点对应的第二定位点按对应的信令数据产生的先后顺序进行轨迹拟合,得到用户在预设时间段内的轨迹。
37.在本技术的一种可选实施例中,第一定位点获取模块具体用于:
38.将多个第一定位点按对应的信令数据产生的先后顺序进行排列,并确定至少一个起始第一定位点;
39.按先后顺序,基于信令数据,分别依次确定起始第一定位点之后的各第一定位点与起始定位点之间的距离,并将最先的一个距离大于预设停留半径的第一定位点之前的一个第一定位点确定为终止第一定位点;
40.若起始第一定位点与终止第一定位点之间对应的时间差不小于预设停留时间,则将起始第一定位点、终止第一定位点以及两者之间的各第一定位点确定为停留点,反之,将起始第一定位点、终止第一定位点以及两者之间的各第一定位点确定为移动点。
41.在本技术的一种可选实施例中,该装置还包括网格编号获取模块,用于:
42.在道路网上形成多个网格后,将各网格的左下角的顶点的坐标作为其网格编号,且每一网格的左下角的顶点的坐标通过如下方式确定:
43.将区域的道路网的左下角的网格的左下角的顶点确定为原点,并将左下角网格分别作为各网格在经度方向和在纬度方向进行排序的起始网格;
44.将其他每一网格相对于左下角的网格在纬度方向上的序号作为该网格的左下角的顶点的横坐标,将该网格相对于左下角的网格在经度方向上的序号作为该网格的左下角的顶点的纵坐标;
45.相应地,第二定位点获取模块具体用于:
46.获取对区域的道路网进行等间距划分时的经度方向间距和纬度方向间距;
47.基于每一移动点的经度、纬度、经度方向间距和纬度方向间距,获取该移动点所处的网格的编号,并基于所处的网格的编号确定该移动点的至少一个候选网格。
48.在本技术的一种可选实施例中,第二定位点获取模块进一步用于:
49.以每一移动点所处的网格的编号对应的网格为中心,从道路图的网格中获取另外八个网格构成九宫格,另外八个网格即为该移动点的候选网格。
50.在本技术的一种可选实施例中,第二定位点获取模块进一步用于:
51.对于每一移动点,若所述所处的网格内包含有至少一条道路,则将该移动点投影
至所述所处的网格内的每条道路上,并将长度最短的投影线对应的道路确定为该移动点对应的目标道路,若所述所处的网格内不包含道路,则将该移动点投影至至少一个候选网格中的每条道路上,并将长度最短的投影线对应的道路确定为该移动点对应的目标道路;
52.将每一移动点投影至对应的目标道路,并将目标道路上对应的投影点作为该移动点的第二定位点。
53.在本技术的一种可选实施例中,轨迹拟合模块具体用于:
54.对于相邻的停留点和第二定位点,按先后顺序连接,对于相邻的两个第二定位点,若相邻的两个第二定位点处于同一条道路上,则按先后顺序连接,若相邻的两个第二定位点不处于同一条道路上,则获取两者之间的中间节点后按先后顺序连接,从而得到用户在预设时间段内的轨迹。
55.在本技术的一种可选实施例中,轨迹拟合模块进一步用于:
56.以相邻的两个第二定位点为焦点、并以预设离心率构建椭圆区域,并获取处于椭圆区域内的各道路的端点作为优选中间节点;
57.在利用广度优先搜索算法获取相邻的两个第二定位点之间的最短路径的过程中,优先搜索经过优选中间节点的路径,进而确定出对应的中间节点;
58.按利用广度优先搜索算法得出的最短路径连接相邻的两个第二定位点和中间节点。
59.第三方面,本技术实施例提供了一种电子设备,包括存储器和处理器;
60.存储器中存储有计算机程序;
61.处理器,用于执行计算机程序以实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
62.第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
63.第五方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现第一方面实施例或第一方面任一可选实施例中所提供的方法。
64.本技术提供的技术方案带来的有益效果是:
65.首先确定预设时间段内用户第一定位点中的停留点和移动点。然后基于用户所处的区域的道路网的网格划分,确定出各移动点对应的所处的网格和多个候选网格,并从这些网格中确定出目标道路,进而将移动点还原至对应的目标道路上获得对应的第二定位点。最后通过对第一定位点中的停留点、以及移动点对应的第二定位点进行拟合得到用户在预设时间段的实际轨迹。该方案通过将移动点进行道路还原,得到了用户在预设时间段内的实际轨迹,且在还原过程中采用了对道路网进行网格划分的方式,提高了移动点道路还原的效率,进而提高了获取用户实际轨迹的效率。
附图说明
66.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所
需要使用的附图作简单地介绍。
67.图1为本技术实施例提供的一种用户轨迹获取方法的流程示意图;
68.图2为本技术实施例的一个示例中道路网上划分的网格示意图;
69.图3为本技术实施例提供了一种用户轨迹获取装置的结构框图;
70.图4为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
71.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
72.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
73.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
74.图1为本技术实施例提供的一种用户轨迹获取方法的流程示意图,如图1所示,该方法可以包括:
75.步骤s101,基于用户在预设时间段内的信令数据,获取对应的多个第一定位点,并基于信令数据确定多个第一定位点中的停留点和移动点。
76.其中,该方法的执行主体可以是提供定位服务的系统,例如gis(geographic information system,地理信息系统),该系统可以获取用户所使用的终端设备产生的信令数据。
77.其中,预设时间段为需要获取用户的轨迹所对应的时间段,可以根据需求进行设定,例如,可以是某一天。
78.具体地,若确定需要获取用户在预设时间段内的轨迹,则首先获取该预设时间段内该用户的多条信令数据。然后,按产生的先后顺序对这些信令数据进行排列。基于这些信令数据获取用户对应的多个第一定位点,可以理解的是,这些第一定位点实际上是用户的终端设备所连接的基站所在的位置。为了获取用户的真实轨迹,对于确定出的第一定位点需要区分出哪些是停留点,哪些是移动点。对于停留点,可以将基站所在位置确定为用户所处位置,即将第一定位点确定为用户所处位置。对于移动点,需要将基站所在位置还原至道路上,即将第一定位点确定为还原道路上对应的点(即后文中的第二定位点)。
79.步骤s102,对用户所处的区域的道路网分别在经度方向和纬度方向进行等间距划分,在道路网上形成多个网格。
80.其中,用户所处的区域可以是用户在预设时间段内所处的城市,其道路网为以从开源数据库(open street map,开源街道地图)中获取的道路数据为基础获取。具体来说,
可以将获取的道路数据进行结构化预处理,将其中每条线段作为一条道路进行存储,存储信息包括每条道路的两个端点的坐标、以及两个端点之间的距离。那么,获取到的道路网中即包含有多条确定的道路。
81.具体地,在获取到了用户所处的区域的道路网之后,分别在经度方向和纬度方向上对道路网进行等距离,这样切分完后会将道路网切分成多个网格区域。具体来说,在经度方向切分时的间隔距离与在纬度方向切分时的间隔距离可以相等,那么得到的都是正方形网格。距离来说,可以每间隔50米在经度方向和纬度方向进行依次切分,那么久可以得到多个边长为50米的网格。
82.需要说明的是,对道路网进行网格切分,是为了便于后续移动点还原至对应的道路,后文将进行详细描述。
83.步骤s103,对于每一移动点,从多个网格中确定出该移动点所处的网格以及至少一个候选网格,并从所处的网格和至少一个候选网格中确定出该移动点对应的目标道路,将该移动点投影至目标道路得到对应的第二定位点。
84.具体地,对于移动点,由于其指示的实际上是用户所连接的基站的位置,为了获取用户真实的移动轨迹,需要获取用户的真实位置,即需要找到这些移动点对应的道路上的点,即将第一定位点中的移动点还原到对应的道路上,得到第二定位点,用于获取用户的真实轨迹。
85.首先,获取每一移动点在道路网上所处的网格,然后基于该所述的网格再确定多个候选网格,这些网格中都包含有道路信息。然后根据移动点的位置以及这些网格包含的道路信息,从这些网格的道路中确定出该移动点对应的目标道路,即该移动点需要还原至的目标道路。最后,将该移动点投影至对应的目标道路,即得到了对应的第二定位点。
86.由于预先在道路网中划分得到了多个网格,在确定移动点的目标道路的过程中,首先确定出移动点所处的网格和多个候选网格,进而只需要遍历这些网格的中的道路,而无需遍历整个道路网中的所有道路,大大提高了还原移动点至道路效率。
87.步骤s104,对各停留点、以及各移动点对应的第二定位点按对应的信令数据产生的先后顺序进行轨迹拟合,得到用户在预设时间段内的轨迹。
88.具体地,对第一定位点中的停留点、以及移动点对应的第二定位点按先后顺序进行轨迹拟合,即得到用户在预设时间段内的轨迹。具体来说,停留点指示用户所停留的场所,一般是固定不变的,因此只需要将停留点与其前后的移动点对应的第二定位点连接即可。而对于第二定位点,也需要按先后顺序进行连接,且需要再拟合过程中保证其得到的轨迹都处在道路网的道路之上。那么,得到的用户在预设时间段内的轨迹可以反映用户各时间段内所停留的场所、以及运动时所经过的道路。
89.本技术提供的方案,首先确定预设时间段内用户第一定位点中的停留点和移动点。然后基于用户所处的区域的道路网的网格划分,确定出各移动点对应的所处的网格和多个候选网格,并从这些网格中确定出目标道路,进而将移动点还原至对应的目标道路上获得对应的第二定位点。最后通过对第一定位点中的停留点、以及移动点对应的第二定位点进行拟合得到用户在预设时间段的实际轨迹。该方案通过将移动点进行道路还原,得到了用户在预设时间段内的实际轨迹,且在还原过程中采用了对道路网进行网格划分的方式,提高了移动点道路还原的效率,进而提高了获取用户实际轨迹的效率。
90.在本技术的一种可选实施例中,该方法还可以包括:
91.基于用户在预设时间段内的信令数据,获取对应的多个第一定位点之前,对用户在预设时间端内的初始信令数据进行预处理,得到预设时间段内的信令数据。
92.具体地,对初始信令数据的处理可以包括但不限于乒乓点处理和漂移点处理。
93.具体来说,乒乓点处理过程可以包括:
94.(1)对同一用户在预设时间段内的初始信令数据进行聚合,且聚合内的各初始信令数据按产生的先后顺序进行排列。
95.(2)顺序选取初始信令数据中的第i,i+1,i+2条初始信令数据,如果第i,i+1条数据的时间差δ
t1
、第i+1,i+2条数据的时间差δt2均小于时间阈值t
p
,则跳转到第(3)步,否则跳转到第(4)步。
96.(3)分别比较第i,i+1,i+2这三条初始信令数据的laccel值,如果第i+1,i+2条初始信令数据的laccel值相同,而第i,i+1条初始信令数据的laccel值不同,则判定第i+1条初始信令数据为乒乓点数据,那么删除第i条初始信令数据,或删除第i+2条初始信令数据。
97.步骤四:如果i+2为聚合内的总条数,则遍历结束,否则令i=i+1,并且转入步骤(2)(即选取第i+1,i+2,i+3这三条初始信令数据进行上述处理)。
98.漂移点的处理过程可以包括:
99.(1)对同一用户在预设时间段内的初始信令数据进行聚合,且聚合内的各初始信令数据按产生的先后顺序进行排列;
100.(2)顺序选取第i,i+1,i+2条初始信令数据,如果第i条距离第i+2的距离大于第i条距离第i+1条距离的三倍(也可以是其他倍数,根据基站的密度等参数进行设定),则认为第i+2条初始信令参数是漂移点,做剔除处理,进入步骤(3)。
101.(3)如果i+2为聚合内的总条数,则遍历结束,否则令i=i+1,并且转入步骤(2)(即选取第i+1,i+2,i+3这三条初始信令数据进行上述处理)。
102.通过对预设时间段内的初始信令数据进行预处理,可以剔除其中的乒乓点和漂移点,得到更为准确的信令数据,进而使得后续根据信令数据对到的用户的轨迹也更准确。
103.在本技术的一种可选实施例中,基于信令数据确定多个第一定位点中的停留点和移动点,包括:
104.将多个第一定位点按对应的信令数据产生的先后顺序进行排列,并确定至少一个起始第一定位点;
105.按先后顺序,基于信令数据,分别依次确定起始第一定位点之后的各第一定位点与起始定位点之间的距离,并将最先的一个距离大于预设停留半径的第一定位点之前的一个第一定位点确定为终止第一定位点;
106.若起始第一定位点与终止第一定位点之间对应的时间差不小于预设停留时间,则将起始第一定位点、终止第一定位点以及两者之间的各第一定位点确定为停留点,反之,将起始第一定位点、终止第一定位点以及两者之间的各第一定位点确定为移动点。
107.具体地,确定第一定位点中的停留点和移动点的过程可以包括:
108.(1)将多个第一定位点按对应的信令数据产生的先后顺序进行排列。
109.(2)顺序选取两个第一定位点m1(起始第一定位点)、m2,计算m2到m1的距离,如果m2到m1的距离小于预设停留半径d(可以根据基站之间的间距来设定),那么就认为m1、m2可
能构成一次停留。然后,连续选取第三个第一定位点m3,如果m3到m1的距离小于预设停留半径d,那么认为m1、m2、m3有可能处于同一个停留区域,依次类推,当选取第n个第一定位点mn时,mn到m1的距离大于预设停留半径d,则停止循环,并确定第n-1个第一定位点m(n-1)为对应的终止第一定位点。
110.(3)计算m1和m(n-1)之间的时间差δt,如果δt大于预设停留时间tz,则认为构成了一次停留,并且m1

m_(n-1)处于同一圆形停留区域,即这些第一定位点都是停留点。因此m1的产生时刻为停留开始时刻,m(n-1)的产生时刻为停留结束时刻。
111.(4)如果δt小于预设停留时间tz,则认为m1

m(n-1)不能构成一次停留,即这些第一定位点都是移动点。则顺序选取mn、m(n+1)两点,转入步骤(2),继续循环判别,直到所有第一定位点判别结束,确定所有第一定位点是停留点或移动点。
112.在本技术的一种可选实施例中,该方法还可以包括:
113.在道路网上形成多个网格后,将各网格的左下角的顶点的坐标作为其网格编号,且每一网格的左下角的顶点的坐标通过如下方式确定:
114.将区域的道路网的左下角的网格的左下角的顶点确定为原点,并将左下角网格分别作为各网格在经度方向和在纬度方向进行排序的起始网格;
115.将其他每一网格相对于左下角的网格在纬度方向上的序号作为该网格的左下角的顶点的横坐标,将该网格相对于左下角的网格在经度方向上的序号作为该网格的左下角的顶点的纵坐标。
116.具体地,在将道路网划分成多个网格后,可以为各网格进行编号,以供后续将移动点还原到对应的目标道路时,能够基于编号更快速的找到移动点所处的网格和对应的候选网格。具体来说,将各网格的左下角的顶点的坐标作为其网格编号。
117.具体来说,如图2所示,其中给出了9个网格,x轴方向为纬度方向(沿纬度方向),y轴为经度方向(沿经度方向),以a网格为排序的起始网格,其左下角的顶点为原点(0,0),那么b、c、d、e、f、g、h、i八个网格的编号分别是(1,0)、(2,0)、(0,1)、(1,1)、(2,1)、(0,2)、(1,2)、(2,2)。
118.相应地,对于每一移动点,从多个网格中确定出该移动点所处的网格以及至少一个候选网格,包括:
119.获取对区域的道路网进行等间距划分时的经度方向间距和纬度方向间距;
120.基于每一移动点的经度、纬度、经度方向间距和纬度方向间距,获取该移动点所处的网格的编号,并基于所处的网格的编号确定该移动点的至少一个候选网格。
121.具体地,对于每一移动点,获取其与原点的经度差、以及与原点的纬度差,然后获取在进行网格划分是的经度方向间距对应的间距纬度差、以及纬度方向上的间距经度差。那么,利用经度差除以间距经度差并向下取整即可得到该移动点所处的网格的编号的横坐标,利用纬度差除以间距纬度差并向下取整即可得到该移动点所处的网格的编号的纵坐标,进而得到该移动点所处的网格的编号。例如,若经度差除以间距经度差为1.2,纬度差除以间距纬度差为2.5,那么该移动点所处的网格的网格编号为(1,2)。考虑到若仅从该移动点所处的网格中确定目标道路可能存在误差,在确定出该移动点所处的网格的编号后,即确定了其所处的网格后,根据该网格在道路图中的位置,进一步确定移动点的候选网格。
122.进一步地,基于所处的网格的编号确定该移动点的至少一个候选网格,包括:
123.以每一移动点所处的网格的编号对应的网格为中心,从道路图的网格中获取另外八个网格构成九宫格,另外八个网格即为该移动点的候选网格。
124.举例来说,再次参考图2,若确定出移动点所处的网格的网格编号为(1,1)(即网格e),那么将其周围的网格a、b、c、d、f、g、h、i这八个网格都确定为候选网格。
125.在本技术的一种可选实施例中,从所处的网格和至少一个候选网格中确定出该移动点对应的目标道路,将该移动点投影至目标道路得到对应的第二定位点,包括:
126.对于每一移动点,若所述所处的网格内包含有至少一条道路,则将该移动点投影至所述所处的网格内的每条道路上,并将长度最短的投影线对应的道路确定为该移动点对应的目标道路,若所述所处的网格内不包含道路,则将该移动点投影至至少一个候选网格中的每条道路上,并将长度最短的投影线对应的道路确定为该移动点对应的目标道路;
127.将每一移动点投影至对应的目标道路,并将目标道路上对应的投影点作为该移动点的第二定位点。
128.具体地,每个网格中包含有道路信息,包括道路的两个端点和两个端点之间的距离。在确定出移动点所处的网格和多个候选网格后,若所处的网格包含道路,则优先将该移动点分别投影至所处的网格中的道路上,并比较各投影形成的投影线的长度,并将最短投影线对应的道路确定为目标道路。若所处的网格不包含道路,则将该移动点分别投影至候选网格的道路上,并比较各投影形成的投影线的长度,并将最短投影线对应的道路确定为目标道路。可以理解的是,目标道路可以位于以上确定出的网格中的任意一个网格中,在确认目标道路的过程中首先从移动点所处的网格中寻找,若获取不到再从候选网格中寻找。进一步地,也可以为候选网格设置寻找过程中的优先顺序,按优先顺序进行循环,每次循环一个候选网格。具体来说,若从一个候选网格中没有寻找到目标道路,则继续从下一个候选网格中寻找目标道路;若先从一个候选网格中寻找到目标道路,则不进行下一个候选网格的循环。
129.然后,将移动点在目标道路上的投影点作为该移动点的第二定位点,该第二定位点可以认为是用户在移动过程中的实际位置,将用于后续获取该用户的实际轨迹。
130.在本技术的一种可选实施例中,对各停留点、以及各移动点对应的第二定位点按对应的信令数据产生的先后顺序进行轨迹拟合,得到用户在预设时间段内的轨迹,包括:
131.对于相邻的停留点和第二定位点,按先后顺序连接,对于相邻的两个第二定位点,若相邻的两个移动点处于同一条道路上,则按先后顺序连接,若相邻的两个第二定位点不处于同一条道路上,则获取两者之间的中间节点后按先后顺序连接,从而得到用户在预设时间段内的轨迹。
132.具体地,由于停留点一般对应用户住所、公司等固定的场所,因此其在轨迹体现为对应的一个点,因此拟合过程只需要将其与前后的第二定位点连接即可。对于第二定位点,若相邻的两个第二定位点处于同一条道路上则直接按先后顺序连接即可。若相邻的两个第二定位点不处于同一道路上,则需要进一步获取两个第二定位点之间的中间节点后进行连接,才能得到从一个第二定位点到另一个第二定位点之间的最短路径(或称运动轨迹)。
133.在本技术的一种可选实施例中,若相邻的两个第二定位点不处于同一条道路上,则获取两者之间的中间节点后按先后顺序连接,包括:
134.以相邻的两个第二定位点为焦点、并以预设离心率构建椭圆区域,并获取处于椭
圆区域内的各道路的端点作为优选中间节点;
135.在利用广度优先搜索算法获取相邻的两个第二定位点之间的最短路径的过程中,优先搜索经过优选中间节点的路径,进而确定出对应的中间节点;
136.按利用广度优先搜索算法得出的最短路径连接相邻的两个第二定位点和中间节点。
137.具体地,现有技术中直接利用广度优先搜索(breadth first search,bfs)算法获取两点之间的最短路径,存在搜索量大,效率低的问题。本技术实施例的方案中,在执行bfs算法之前,先根据两个第二定位点确定出一个椭圆区域,并为该椭圆区域中的各条道路的端点设置更高的搜索权重,即将这些端点作为bfs算法中的优选中间节点。
138.具体来说,首先将两个第二定位点中,在先的第二定位点作为起始点,将在后的第二定位点作为终止点,并以该起始点和终止点为焦点、以预设离心率构建椭圆区域。对比道路的端点到起始点、终止点的欧氏距离之和与椭圆区域的长轴长度,如果欧式距离之和小于长轴长度,则此端点落在此范围内,确定为优选中间节点。然后利用bfs算法获取起始点到终止点之间的最短路径,并在此过程中优先转入经过优选中间节点的路径,进而得到多条备选路径,比较备选的路径长度得到最短路径,最终以该最短路径作为从起始点到终止点之间的轨迹。
139.需要说明的是,其中的bfs算法可以采用dijkstra算法。本技术实施例的拟合算法对于dijkstra进行了空间约束优化,进而大大提高了拟合效率。
140.综上所示,在完成上述轨迹的确定后,即得到了用户在预设时间段内的完整轨迹,从该轨迹可以获知用户停留过的场所和运动经过的道路。
141.图3为本技术实施例提供的一种用户轨迹获取装置的结构框图,如图3所示,该装置300可以包括:第一定位点获取模块301、数据网划分模块302、第二定位点获取模块303以及轨迹拟合模块304,其中:
142.第一定位点获取模块301用于基于用户在预设时间段内的信令数据,获取对应的多个第一定位点,并基于信令数据确定多个第一定位点中的停留点和移动点;
143.数据网划分模块302用于对用户所处的区域的道路网分别在经度方向和纬度方向进行等间距划分,在道路网上形成多个网格;
144.第二定位点获取模块303用于对于每一移动点,从多个网格中确定出该移动点所处的网格以及至少一个候选网格,并从所处的网格和至少一个候选网格中确定出该移动点对应的目标道路,将该移动点投影至目标道路得到对应的第二定位点;
145.轨迹拟合模块304用于对各停留点、以及各移动点对应的第二定位点按对应的信令数据产生的先后顺序进行轨迹拟合,得到用户在预设时间段内的轨迹。
146.本技术提供的方案,首先确定预设时间段内用户第一定位点中的停留点和移动点。然后基于用户所处的区域的道路网的网格划分,确定出各移动点对应的所处的网格和多个候选网格,并从这些网格中确定出目标道路,进而将移动点还原至对应的目标道路上获得对应的第二定位点。最后通过对第一定位点中的停留点、以及移动点对应的第二定位点进行拟合得到用户在预设时间段的实际轨迹。该方案通过将移动点进行道路还原,得到了用户在预设时间段内的实际轨迹,且在还原过程中采用了对道路网进行网格划分的方式,提高了移动点道路还原的效率,进而提高了获取用户实际轨迹的效率。
147.在本技术的一种可选实施例中,第一定位点获取模块具体用于:
148.将多个第一定位点按对应的信令数据产生的先后顺序进行排列,并确定至少一个起始第一定位点;
149.按先后顺序,基于信令数据,分别依次确定起始第一定位点之后的各第一定位点与起始定位点之间的距离,并将最先的一个距离大于预设停留半径的第一定位点之前的一个第一定位点确定为终止第一定位点;
150.若起始第一定位点与终止第一定位点之间对应的时间差不小于预设停留时间,则将起始第一定位点、终止第一定位点以及两者之间的各第一定位点确定为停留点,反之,将起始第一定位点、终止第一定位点以及两者之间的各第一定位点确定为移动点。
151.在本技术的一种可选实施例中,该装置还包括网格编号获取模块,用于:
152.在道路网上形成多个网格后,将各网格的左下角的顶点的坐标作为其网格编号,且每一网格的左下角的顶点的坐标通过如下方式确定:
153.将区域的道路网的左下角的网格的左下角的顶点确定为原点,并将左下角网格分别作为各网格在经度方向和在纬度方向进行排序的起始网格;
154.将其他每一网格相对于左下角的网格在纬度方向上的序号作为该网格的左下角的顶点的横坐标,将该网格相对于左下角的网格在经度方向上的序号作为该网格的左下角的顶点的纵坐标;
155.相应地,第二定位点获取模块具体用于:
156.获取对区域的道路网进行等间距划分时的经度方向间距和纬度方向间距;
157.基于每一移动点的经度、纬度、经度方向间距和纬度方向间距,获取该移动点所处的网格的编号,并基于所处的网格的编号确定该移动点的至少一个候选网格。
158.在本技术的一种可选实施例中,第二定位点获取模块进一步用于:
159.以每一移动点所处的网格的编号对应的网格为中心,从道路图的网格中获取另外八个网格构成九宫格,另外八个网格即为该移动点的候选网格。
160.在本技术的一种可选实施例中,第二定位点获取模块进一步用于:
161.对于每一移动点,若所述所处的网格内包含有至少一条道路,则将该移动点投影至所述所处的网格内的每条道路上,并将长度最短的投影线对应的道路确定为该移动点对应的目标道路,若所述所处的网格内不包含道路,则将该移动点投影至至少一个候选网格中的每条道路上,并将长度最短的投影线对应的道路确定为该移动点对应的目标道路;
162.将每一移动点投影至对应的目标道路,并将目标道路上对应的投影点作为该移动点的第二定位点。
163.在本技术的一种可选实施例中,轨迹拟合模块具体用于:
164.对于相邻的停留点和第二定位点,按先后顺序连接,对于相邻的两个第二定位点,若相邻的两个第二定位点处于同一条道路上,则按先后顺序连接,若相邻的两个第二定位点不处于同一条道路上,则获取两者之间的中间节点后按先后顺序连接,从而得到用户在预设时间段内的轨迹。
165.在本技术的一种可选实施例中,轨迹拟合模块进一步用于:
166.以相邻的两个第二定位点为焦点、并以预设离心率构建椭圆区域,并获取处于椭圆区域内的各道路的端点作为优选中间节点;
167.在利用广度优先搜索算法获取相邻的两个第二定位点之间的最短路径的过程中,优先搜索经过优选中间节点的路径,进而确定出对应的中间节点;
168.按利用广度优先搜索算法得出的最短路径连接相邻的两个第二定位点和中间节点。
169.下面参考图4,其示出了适于用来实现本技术实施例的电子设备(例如执行图1所示方法的终端设备或服务器)400的结构示意图。本技术实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)、可穿戴设备等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图4示出的电子设备仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
170.电子设备包括:存储器以及处理器,存储器用于存储执行上述各个方法实施例所述方法的程序;处理器被配置为执行存储器中存储的程序。其中,这里的处理器可以称为下文所述的处理装置401,存储器可以包括下文中的只读存储器(rom)402、随机访问存储器(ram)403以及存储装置408中的至少一项,具体如下所示:
171.如图4所示,电子设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(rom)402中的程序或者从存储装置408加载到随机访问存储器(ram)403中的程序而执行各种适当的动作和处理。在ram403中,还存储有电子设备400操作所需的各种程序和数据。处理装置401、rom 402以及ram403通过总线404彼此相连。输入/输出(i/o)接口405也连接至总线404。
172.通常,以下装置可以连接至i/o接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许电子设备400与其他设备进行无线或有线通信以交换数据。虽然图4示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
173.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从rom 402被安装。在该计算机程序被处理装置401执行时,执行本技术实施例的方法中限定的上述功能。
174.需要说明的是,本技术上述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在
本技术中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
175.在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
176.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
177.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
178.基于用户在预设时间段内的信令数据,获取对应的多个第一定位点,并基于信令数据确定多个第一定位点中的停留点和移动点;对用户所处的区域的道路网分别在经度方向和纬度方向进行等间距划分,在道路网上形成多个网格;对于每一移动点,从多个网格中确定出该移动点所处的网格以及至少一个候选网格,并从所处的网格和至少一个候选网格中确定出该移动点对应的目标道路,将该移动点投影至目标道路得到对应的第二定位点;对各停留点、以及各移动点对应的第二定位点按对应的信令数据产生的先后顺序进行轨迹拟合,得到用户在预设时间段内的轨迹。
179.可以以一种或多种程序设计语言或其组合来编写用于执行本技术的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
180.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令
的组合来实现。
181.描述于本技术实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定,例如,代理链接获取模块还可以被描述为“获取代理链接的模块”。
182.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
183.在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
184.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的计算机可读介质被电子设备执行时实现的具体方法,可以参考前述方法实施例中的对应过程,在此不再赘述。
185.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行时实现如下情况:
186.基于用户在预设时间段内的信令数据,获取对应的多个第一定位点,并基于信令数据确定多个第一定位点中的停留点和移动点;对用户所处的区域的道路网分别在经度方向和纬度方向进行等间距划分,在道路网上形成多个网格;对于每一移动点,从多个网格中确定出该移动点所处的网格以及至少一个候选网格,并从所处的网格和至少一个候选网格中确定出该移动点对应的目标道路,将该移动点投影至目标道路得到对应的第二定位点;对各停留点、以及各移动点对应的第二定位点按对应的信令数据产生的先后顺序进行轨迹拟合,得到用户在预设时间段内的轨迹。
187.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
188.以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1