一种显示车辆位置的方法及装置与流程

文档序号:20910628发布日期:2020-05-29 13:01阅读:413来源:国知局
一种显示车辆位置的方法及装置与流程

本发明实施例涉及智能交通技术领域,尤其涉及一种显示车辆位置的方法及装置。



背景技术:

在智能交通领域,通过车辆上报的位置信息与地图匹配实现在地图上显示车辆位置。现有车辆多采用全球定位系统(globalpositioningsystem,简称gps)定位车辆的位置并上报,其中,车辆间断性上报位置信息,服务器根据车辆上报的位置信息在地图中描绘车辆的位置。比如a时刻车辆上报一次经纬度和方向,服务器根据上报的经纬度和方向将车辆的位置描绘在地图上,30s后的b时刻车辆再上报一次经纬度和方向,服务器根据上报的经纬度和方向更新车辆在地图上的位置。由于gps定位车辆的位置存在误差,导致在地图上描绘的车辆的位置偏离线路轨迹,用户可能无法判断车辆的当前准确位置。



技术实现要素:

由于现有技术中,车辆上报的位置信息存在误差,导致在地图上描绘的车辆的位置偏离线路轨迹的问题,本申请实施例提供一种显示车辆位置的方法及装置。

一方面,本申请实施例提供了一种显示车辆位置的方法,包括:

获取所述车辆在地图上的映射位置,所述映射位置是通过所述车辆的定位设备获得的;

将所述映射位置投影至所述地图中的线路轨迹,确定所述车辆在所述线路轨迹上的目标显示位置。

一方面,本申请实施例提供了一种显示车辆位置的装置,包括:

获取模块,用于获取车辆在地图上的映射位置,所述映射位置是通过所述车辆的定位设备获得的;

投影模块,用于将所述映射位置投影至所述地图中的线路轨迹,确定所述车辆在所述线路轨迹上的目标显示位置。

一方面,本申请实施例提供了一种显示车辆位置的设备,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述显示车辆位置的方法的步骤。

一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由显示车辆位置的设备执行的计算机程序,当所述程序在显示车辆位置的设备上运行时,使得所述显示车辆位置的设备执行上述显示车辆位置的方法的步骤。

本申请实施例中,由于确定车辆在地图上的映射位置后,对车辆的映射位置进行修正,将车辆从映射位置投影至线路轨迹,从而提高在地图上定位车辆位置的精度。其次,将车辆从映射位置投影至线路轨迹后,确定车辆在线路轨迹上的目标显示位置,然后控制车辆沿线路轨迹从当前显示位置移动至目标显示位置,而不是直接从当前显示位置跳转至目标显示位置,提高了车辆在地图中的显示效果,提升了用户体验。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1a为本申请实施例适用的界面示意图;

图1b为本申请实施例适用的界面示意图;

图2为本申请实施例适用的系统架构图;

图3为本申请实施例提供的一种显示车辆位置的方法的流程示意图;

图4为本申请实施例提供的一种线路轨迹的示意图;

图5为本申请实施例提供的一种方位角的示意图;

图6a为本申请实施例提供的一种映射位置的示意图;

图6b为本申请实施例提供的一种目标显示位置的示意图;

图7a为本申请实施例提供的一种映射位置及方向的示意图;

图7b为本申请实施例提供的一种校准映射位置及方向的示意图;

图8a为本申请实施例提供的一种车辆投影的示意图;

图8b为本申请实施例提供的一种车辆投影的示意图;

图8c为本申请实施例提供的一种车辆投影的示意图;

图9为本申请实施例提供的一种确定目标显示位置的方法的流程示意图;

图10为本申请实施例提供的一种确定移动速度的方法的流程示意图;

图11为本申请实施例提供的一种轨迹距离的示意图;

图12为本申请实施例提供的一种方位角的示意图;

图13为本申请实施例提供的一种车辆投影的示意图;

图14为本申请实施例提供的一种公交线路的示意图;

图15为本申请实施例提供的一种车辆投影的示意图;

图16为本申请实施例提供的一种公交线路的示意图;

图17为本申请实施例提供的一种显示车辆位置的装置的结构示意图;

图18为本申请实施例提供的一种显示车辆位置的设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

为了方便理解,下面对本发明实施例中涉及的名词进行解释。

gps:globalpositioningsystem,是一种利用gps定位卫星,在全球范围内实时进行定位、导航的系统,可以提供定位、防盗、反劫、行驶路线监控及呼叫指挥等功能。

在具体实践过程中,采用车辆上报的实际位置信息确定车辆在地图上的位置时,由于车辆gps的准确性存在偏差,导致地图上定位的车辆偏离预定的车辆的线路轨迹,同时车辆的方向与车辆的线路轨迹不平行。

为此,本申请实施例中,可以在获取车辆的当前gps信息后,根据当前gps信息确定车辆在地图上的映射位置,然后将车辆从映射位置投影至地图中的线路轨迹,确定车辆在线路轨迹上的目标显示位置。之后根据目标显示位置的相邻轨迹点与目标显示位置的方位角确定车辆在线路轨迹上的目标显示方向。由于确定车辆在地图上的映射位置后,对车辆的映射位置进行修正,将车辆从映射位置投影至线路轨迹,同时根据线路轨迹上的轨迹点修正车辆的目标显示方向,从而提高在地图上显示车辆位置的精度。

其次,由于车辆上报位置信息是间断性的,故在等待上报期间,车辆在地图上的位置不变,当接收到上报的位置信息时,车辆直接跳转至最新的位置,在用户看来,车辆在地图上是间断跳动,从而影响用户体验。

为此,本申请实施例中,确定车辆在线路轨迹上的目标显示位置后,控制车辆沿线路轨迹,从当前显示位置移动至目标显示位置。故在用户看来,车辆在地图上沿着线路轨迹移动,用户可以获知车辆的移动过程以及经过的线路轨迹,提高了车辆在地图中的显示效果。另外根据车辆上报gps信息的时间间隔以及线路轨迹上车辆的当前显示位置以及目标显示位置之间的轨迹距离,确定车辆沿线路轨迹移动的移动速度,然后控制车辆按照该移动速度沿线路轨迹从当前显示位置移动至目标显示位置,故在用户看来,车辆在地图上是连续且匀速移动的,从而提升用户体验。

本发明实施例中的显示车辆位置的方法可以应用于出行实时公交、腾讯乘车码、网上打车等。下面以出行实时公交为例进行说明,用户在终端设备上预先下载实时公交app(应用程序),用户点击实时公交app的图标启动实时公交app。在实时公交app中查询公交1路,实时公交app中显示公交1路的线路详情以及公交车的预定线路轨迹在地图上的位置,具体如图1a所示。在图1a中,a路口站至d路口站之间的线路为公交1路的线路轨迹,线路轨迹上预先设定多个轨迹点,线路轨迹可以为多个轨迹点之间的线段,轨迹点可以是公交站点,比如a路口站为一个轨迹点,也可以是道路拐点,比如c路南站与d路站之间的道路拐点e为一个轨迹点。由于车辆gps的准确性存在偏差,故车辆在地图上的映射位置(即是gps位置)可能偏离车辆的线路轨迹,同时车辆的方向也可能与线路轨迹不平行,从而出现图1a所示的公交1路车辆位于公交1路的线路轨迹之外,以及公交1路车辆行驶方向与公交1路的线路轨迹不平行的情况。为此,本申请实施例中,在获取公交1路车辆在地图上的映射位置后,将公交1路车辆从映射位置投影至公交1路的线路轨迹,确定公交1路车辆在线路轨迹上的目标显示位置。然后根据目标显示位置的相邻轨迹点与目标显示位置的方位角确定公交1路车辆在线路轨迹上的目标显示方向,将公交1路车辆按照目标显示方向显示在地图中的目标显示位置,具体如图1b所示。在图1b中,公交1路车辆位于线路轨迹上的a路口站与b路口站之间,公交1路车辆的方向与公交1路的线路轨迹平行,故用户能从地图中获知公交1路车辆准确的位置,为用户乘坐公交带来便利。

图2示例性示出了本申请实施例适用的系统架构,该系统架构包括车辆201、服务器202以及终端设备203。

车辆201上安装有gps设备,该gps设备实时接收gps卫星发送的车辆的当前位置信息,然后每隔预设时间向服务器202上报车辆的当前位置信息,比如每隔30s上报一次车辆的当前位置信息。车辆的当前位置信息包括车辆的经纬度以及方向。

服务器202中包括显示车辆位置的装置,服务器202接收到车辆的当前位置信息后,根据地图上的坐标与位置信息之间的对应关系,得到车辆的当前位置信息在地图上对应的位置,将车辆映射到地图上,确定车辆在地图上的映射位置。然后将车辆从映射位置投影至地图中的预定的线路轨迹,确定车辆在线路轨迹上的目标显示位置。之后根据目标显示位置的相邻轨迹点与目标显示位置的方位角确定车辆在线路轨迹上的目标显示方向。

终端设备203是智能手机、平板电脑或便携式个人计算机等。用户在终端设备203上启动应用程序查看车辆的位置时,终端设备203向服务器202发送请求,服务器202将地图、车辆在线路轨迹上的目标显示位置、车辆在线路轨迹上的目标显示方向等内容发送至终端设备203,终端设备203将车辆按照目标显示方向显示在地图中的目标显示位置。可以理解的是,终端设备203也可以包括显示车辆位置的装置,具有与服务器202类似的功能。

基于图1a、图1b所示的示意图和图2所示的系统架构图,本申请实施例提供了一种显示车辆位置的方法的流程,该方法的流程可以由显示车辆位置的装置执行,该显示车辆位置的装置可以配置在如图2中的服务器202或终端设备203中,如图3所示,包括以下步骤:

步骤s301,获取车辆在地图上的映射位置。

映射位置是通过车辆的定位设备获得的,定位设备可以是gps设备。车辆通过gps设备获取当前位置信息并上报,当前位置信息包括车辆的经纬度坐标以及方向。获取到车辆的当前位置信息后,将车辆的当前位置信息映射到地图中,确定车辆在地图上的映射位置。具体地,车辆在地图中的映射位置包括车辆在地图中的坐标以及方向。

步骤s302,将映射位置投影至地图中的线路轨迹,确定车辆在线路轨迹上的目标显示位置。

线路轨迹为地图中车辆预定的已知行驶路径,不同的车辆对应的线路轨迹不相同。线路轨迹由n+1个相邻的轨迹点连接后得到,包括n个轨迹线段,n为大于0的整数。

具体地,设定n+1个相邻的轨迹点为轨迹点1、轨迹点2、…、轨迹点n+1,对应的经纬度坐标为(经度1、纬度1)、(经度2、纬度2)、(经度3、纬度3)、…、(经度n、纬度n)、(经度n+1、纬度n+1)。轨迹点1与轨迹点2连接后得到轨迹线段1,轨迹点2与轨迹点3连接后得到轨迹线段2,…,轨迹点n与轨迹点n+1连接后得到轨迹线段n。进一步地,以正北方位为0度起点,顺时针方向为正方向,确定相邻轨迹点的方位角,即轨迹点2相较于轨迹点1的方位角,轨迹点3相较于轨迹点2的方位角,…,轨迹点n+1相较于轨迹点n的方位角。

下面具体举例说明,如图4所示,该线路轨迹包括6个轨迹点,分别为轨迹点a至轨迹点f,设定轨迹点a为起点,轨迹点f为终点。将轨迹点a与轨迹点b连接,得到如图所示的轨迹线段1。将轨迹点b与轨迹点c连接,得到如图所示的轨迹线段2。将轨迹点c与轨迹点d连接,得到如图所示的轨迹线段3。将轨迹点d与轨迹点e连接,得到如图所示的轨迹线段4。将轨迹点e与轨迹点f连接,得到如图所示的轨迹线段5。进一步地,如图5所示,以轨迹点c为起点,正北为0度,顺时针方向为正方向,确定轨迹点d相较于轨迹点c的方位角α。采用同样的方法可以确定其他相邻的轨迹点的方位角。

在一种可能的实施方式中,由于gps上报的车辆的经纬度坐标存在偏差,故车辆在地图上的映射位置可能并不在线路轨迹上。示例性地,根据gps上报的车辆的经纬度坐标确定车辆在地图上的映射位置如图6a所示,由于gps上报的车辆的经纬度坐标存在偏差,车辆的映射位置m偏离由轨迹点a至轨迹点f组成的车辆的线路轨迹。

为了对车辆的映射位置进行校准,将车辆从映射位置投影至地图中的线路轨迹,确定车辆在线路轨迹上的目标显示位置。示例性地,将车辆从映射位置m投影至由轨迹点a至轨迹点f组成的线路轨迹,得到车辆在线路轨迹上的目标显示位置,具体如图6b所示。

在另一种可能的实施方式中,由于gps上报的车辆的经纬度坐标以及方向存在偏差,故车辆在地图上的映射位置可能并不在线路轨迹上,且车辆在地图的显示方向可能与线路轨迹存在较大夹角。示例性地,根据gps上报的车辆的经纬度坐标确定车辆在地图上的映射位置的经纬度坐标以及方向如图7a所示,由于gps上报的车辆的经纬度坐标以及方向存在偏差,车辆的映射位置m偏离由轨迹点a至轨迹点f组成的车辆的线路轨迹,同时车辆的显示方向与轨迹点c与轨迹点d之间的轨迹线路存在夹角。

为了对车辆的映射位置进行校准,将车辆从映射位置投影至地图中的线路轨迹,确定车辆在线路轨迹上的目标显示位置。然后在线路轨迹上确定目标显示位置的相邻轨迹点,根据目标显示位置与相邻轨迹点的方位角确定车辆在线路轨迹上的目标显示方向。具体地,相邻轨迹点可以是线路轨迹上位于目标显示位置之前,且与目标显示位置相邻的轨迹点。相邻轨迹点也可以是线路轨迹上位于目标显示位置之后,且与目标显示位置相邻的轨迹点。由于确定车辆在地图上的映射位置后,将车辆从映射位置投影至线路轨迹,实现对车辆的映射位置进行修正,从而提高在地图上定位显示车辆位置的精度。

示例性地,将车辆从映射位置m投影至由轨迹点a至轨迹点f组成的线路轨迹,得到车辆在线路轨迹上的目标显示位置n,其中目标显示位置n位于轨迹点c和轨迹点d之间。然后以轨迹点c为起点,正北为0度,顺时针方向为正方向,确定目标显示位置n相较于轨迹点c的方位角α。之后再将车辆的目标显示方向调整为与正北方向的夹角为α的方向,具体如图7b所示。由于确定车辆在地图上的映射位置和显示方向后,将车辆从映射位置投影至线路轨迹,采用线路轨迹中的轨迹点修正显示方向,实现对车辆的映射位置和显示方向进行修正,从而提高在地图上显示车辆位置的精度。

可选地,在上述步骤s302中,由于线路轨迹包括n个轨迹线段,故在确定车辆在线路轨迹上的目标显示位置时,可以先从线路轨迹的n个轨迹线段中确定出与映射位置距离最近的目标轨迹线段,然后将车辆从映射位置投影至目标轨迹线段,确定车辆在所述线路轨迹上的目标显示位置。

具体实施中,将车辆从映射位置投影至每个轨迹线段,确定车辆的映射位置与每个轨迹线段之间的距离,然后将距离映射位置最近的轨迹线段确定为目标轨迹线段。针对每一个轨迹线段,当车辆的映射位置投影至轨迹线段的投影点位于两个轨迹点之间,则将车辆的映射位置与投影点之间的距离确定为车辆的映射位置与轨迹线段之间的距离。当车辆的映射位置投影至轨迹线段的投影点没有位于两个轨迹点之间,则将车辆的映射位置与轨迹点之间的距离确定为车辆的映射位置与轨迹线段之间的距离。

示例性地,设定轨迹线段1由轨迹点a和轨迹点b连接后组成,车辆的映射位置为m,将车辆从映射位置m投影至轨迹线段1,得到投影点p。

在一种可能的实施方式中,如图8a所示,投影点p位于轨迹点a以及轨迹点b之间,则将映射位置m与投影点p之间的距离确定为映射位置m与轨迹线段1之间的距离。

在一种可能的实施方式中,如图8b所示,投影点p位于轨迹点a左侧,则将映射位置m与轨迹点a之间的距离确定为映射位置m与轨迹线段1之间的距离。

在一种可能的实施方式中,如图8c所示,投影点p位于轨迹点b右侧,则将映射位置m与轨迹点b之间的距离确定为映射位置m与轨迹线段1之间的距离。

由于与车辆的映射位置越近的轨迹线段,就越有可能是车辆在地图中的实际位置,故在确定车辆在线路轨迹上的目标显示位置时,先计算距离车辆的映射位置最近的目标轨迹线段,再将车辆从映射位置投影至目标轨迹线段上,从而提高了确定目标显示位置的精度。

可选地,目标轨迹线段包括第一轨迹点和第二轨迹点,将车辆从映射位置投影至目标轨迹线段后,可以采用以下方法确定车辆在线路轨迹上的目标显示位置,如图9所示,具体包括以下步骤:

步骤s901,将映射位置投影至目标轨迹线段,确定投影点。

步骤s902,判断投影点是否位于第一轨迹点和第二轨迹点之间,若是,则执行步骤s903,否则执行步骤s904。

步骤s903,将投影点确定为车辆在线路轨迹上的目标显示位置。

步骤s904,将第一轨迹点或第二轨迹点确定为车辆在线路轨迹上的目标显示位置。

示例性地,如图8a至8c所示,设定轨迹线段1为目标轨迹线段,目标轨迹线段由轨迹点a和轨迹点b连接后组成,车辆的映射位置为m,将映射位置m投影至轨迹线段1,得到投影点p。

在一种可能的实施方式中,如图8a所示,投影点p位于轨迹点a以及轨迹点b之间,则将投影点p确定为车辆在线路轨迹上的目标显示位置。

在一种可能的实施方式中,如图8b所示,投影点p位于轨迹点a左侧,则将投影点a确定为车辆在线路轨迹上的目标显示位置。

在一种可能的实施方式中,如图8c所示,投影点p位于轨迹点b右侧,则将投影点b确定为车辆在线路轨迹上的目标显示位置。

由于将车辆从映射位置投影至目标轨迹线段后,当投影点位于目标轨迹线段上时,将投影点作为车辆在线路轨迹上的目标显示位置,当投影点没有位于目标轨迹线段上时,将轨迹点作为车辆在线路轨迹上的目标显示位置,从而保证了确定的目标显示位置位于线路轨迹上。

可选地,在上述步骤s302之后,控制车辆沿线路轨迹,从当前显示位置移动至目标显示位置。

具体地,车辆gps每隔预设时间上报一次车辆的当前实置信息,gps上一次上报车辆的当前位置信息时,显示车辆位置的装置根据车辆的当前位置信息确定车辆在线路轨迹上的目标显示位置,然后将车辆显示在地图中的目标显示位置。当车辆再次上报车辆的当前位置信息时,显示车辆位置的装置将上一次确定的车辆在线路轨迹上的目标显示位置确定为当前显示位置,然后根据此次上报的车辆的当前位置信息确定车辆在线路轨迹上的目标显示位置,然后控制车辆沿线路轨迹,从当前显示位置移动至目标显示位置。

由于将车辆从映射位置投影至线路轨迹后,确定车辆在线路轨迹上的目标显示位置,然后控制车辆沿线路轨迹从当前显示位置移动至目标显示位置,而不是直接从当前显示位置跳转至目标显示位置,提高了车辆在地图中的显示效果,提升用户体验。

可选地,控制车辆沿线路轨迹,从当前显示位置移动至目标显示位置之前,可以先确定车辆沿线路轨迹移动的移动速度,具体包括以下步骤,如图10所示:

步骤s1001,确定获取车辆在地图上的映射位置的时间间隔。

比如,车辆上的gps上报当前位置信息的时间间隔为30s,则获取车辆在地图上的映射位置的时间间隔也为30s。

步骤s1002,确定当前显示位置和目标显示位置之间的线路轨迹的轨迹距离。

当前显示位置和目标显示位置之间的线路轨迹的轨迹距离为当前显示位置和目标显示位置之间的轨迹线段的长度。

示例性地,如图11所示,设定线路轨迹包含的轨迹点集合为{轨迹点a、轨迹点b、轨迹点c、轨迹点d、轨迹点e、轨迹点f},当前显示位置p1位于轨迹点b和轨迹点c之间。当前显示位置p1是车辆在前一次上报位置信息时,显示车辆位置的装置根据车辆上报的位置信息确定的目标显示位置。当前显示位置p1插入线路轨迹,得到线路轨迹的轨迹点集合为{轨迹点a、轨迹点b、当前显示位置p1、轨迹点c、轨迹点d、轨迹点e、轨迹点f}。

在一种可能的实施方式中,当目标显示位置p2位于轨迹点c和轨迹点d之间时,将目标显示位置p2插入线路轨迹,得到线路轨迹的轨迹点集合为{轨迹点a、轨迹点b、当前显示位置p1、轨迹点c、目标显示位置p2、轨迹点d、轨迹点e、轨迹点f}。然后计算轨迹点集合中相邻两个轨迹点之间轨迹线段的距离,得到距离集合d={x(ab)、x(bp1)、x(p1c)、x(cp2)、x(p2d)、x(de)、x(ef)}。将当前显示位置p1和目标显示位置p2之间的线路轨迹求和得到轨迹距离x=x(p1c)+x(cp2)。

在一种可能的实施方式中,当目标显示位置p2为轨迹点d时,线路轨迹的轨迹点集合为{轨迹点a、轨迹点b、轨迹点c、当前显示位置p1、轨迹点d、轨迹点e、轨迹点f}。然后计算轨迹点集合中相邻两个轨迹点之间轨迹线段的距离,得到距离集合d={x(ab)、x(bp1)、x(p1c)、x(cd)、x(de)、x(ef)}。将当前显示位置p1和目标显示位置p2之间的线路轨迹求和得到轨迹距离x=x(p1c)+x(cd)。

步骤s1003,根据时间间隔和轨迹距离确定车辆沿线路轨迹移动的移动速度。

在一种可能的实施方式,将轨迹距离除以时间间隔得到车辆沿线路轨迹移动的移动速度。

示例性地,设定当前显示位置p1和目标显示位置p2之间的轨迹距离x,确定获取所述车辆在地图上的映射位置的时间间隔为t,则采用下述公式(1)计算移动速度:

v=x/t………………………………(1)

其中,v为移动速度,x为轨迹距离,t为获取车辆在地图上的映射位置的时间间隔。

在另一种可能的实施方式,根据时间间隔和轨迹距离分别计算车辆在每一个轨迹线段上的移动时间,然后根据每一个轨迹线段的距离以及车辆在每一个轨迹线段上的移动时间,确定车辆在每一个轨迹线段上的移动速度。

示例性地,如图11,设定当前显示位置p1和目标显示位置p2之间的线路轨迹距离x=x(p1c)+x(cd),获取车辆在地图上的映射位置的时间间隔为t,然后采用下述公式(2)计算每单位距离移动花费的时间:

d=t/x………………………………(2)

其中,d为每单位距离移动花费的时间,x为轨迹距离,t为获取车辆在地图上的映射位置的时间间隔。

之后再采用下述公式(3)计算车辆在每一个轨迹线段上的移动时间:

t(i)=x(i)*t/x………………………………(3)

具体地,t(p1c)=x(p1c)*t/x,t(cd)=x(cd)*t/x,然后根据t(p1c)以及x(p1c)确定车辆在轨迹线段p1c上的移动速度,根据t(cd)以及x(cd)确定车辆在轨迹线段cd上的移动速度。

进一步地,确定车辆在线路轨迹上的移动速度之后,控制车辆按照移动速度沿线路轨迹,从当前显示位置移动至目标显示位置。

可选地,在上述步骤s304,控制车辆沿线路轨迹,从当前显示位置移动至目标显示位置之前,可以获取当前显示位置和目标显示位置之间的线路轨迹中相邻两个轨迹点之间的方位角,然后根据相邻两个轨迹点之间的方位角确定车辆沿线路轨迹移动的移动方向。

具体地,可以先将目标显示位置作为一个轨迹点插入轨迹点集合,然后计算车辆的目标显示位置相较于前一个轨迹点的方位角以及目标显示位置后一个轨迹点相较于目标显示位置的方位角,将计算得到的方位角插入方位角集合。之后再从方位角集合中获取当前显示位置和目标显示位置之间的线路轨迹中相邻两个轨迹点之间的方位角。

示例性地,如图12所示,设定线路轨迹包含的轨迹点集合为{轨迹点a、轨迹点b、当前显示位置p1、轨迹点c、轨迹点d、轨迹点e、轨迹点f},轨迹点a为起点,轨迹点f为终点。线路轨迹的方位角集合为{α(ab)、α(bp1)、α(p1c)、α(cd)、α(de)、α(ef)}。

在一种可能的实施方式中,目标显示位置p2位于轨迹点c和轨迹点d之间时,以轨迹点c为起点,正北为0度,顺时针方向为正方向,确定目标显示位置p2相较于轨迹点c的方位角α(cp2)。以目标显示位置p2为起点,正北为0度,顺时针方向为正方向,确定轨迹点d相较于目标显示位置p2的方位角α(p2d)。将方位角α(cp2)和方位角α(p2d)插入方位角集合后,得到线路轨迹的方位角集合为{α(ab)、α(bp1)、α(p1c)、α(cp2)、α(p2d)、α(de)、α(ef)}。获取当前显示位置p1和目标显示位置p2之间的线路轨迹中相邻两个轨迹点之间的方位角为α(p1c)和α(cp2)。根据方位角α(p1c)和α(cp2)确定车辆沿线路轨迹,从当前显示位置p1移动到目标显示位置p2的移动方向。

在一种可能的实施方式中,目标显示位置p2为轨迹点e时,将轨迹点e相较于轨迹点d的方位角α(de)确定为目标显示位置相较于轨迹点d的方位角。将轨迹点f相较于轨迹点e的方位角α(ef)确定为轨迹点f相较于目标显示位置p2的方位角。获取当前显示位置p1和目标显示位置p2之间的线路轨迹中相邻两个轨迹点之间的方位角为α(p1c)、α(cd)以及α(de)。根据方位角α(p1c)、α(cd)以及α(de)确定车辆沿线路轨迹,从当前显示位置p1移动到目标显示位置p2的移动方向。

由于将车辆从映射位置投影至线路轨迹后,采用车辆在线路轨迹上的目标显示位置计算车辆与相邻轨迹点的方位角,实现对车辆方向的校准,提高在地图上定位车辆方向的精度。

为了更好的解释本发明实施例,下面结合具体的实施场景描述本申请实施例提供的一种显示车辆位置的方法,该方法由显示车辆位置的装置执行。如图13,设定公交12路的线路轨迹的轨迹点集合为{轨迹点a,轨迹点b,轨迹点c,轨迹点d,轨迹点e},轨迹点a位于w总站,轨迹点e位于t总站。线路轨迹上相邻轨迹点的方位角集合为{α(ab)、α(bc)、α(cd)、α(de)},其中,α(ab)表示轨迹点b相较于轨迹点a的方位角,α(bc)表示轨迹点c相较于轨迹点b的方位角,α(cd)表示轨迹点d相较于轨迹点c的方位角,α(de)表示轨迹点e相较于轨迹点d的方位角。公交12路从w总站出发,30s后向显示车辆位置的装置上报经纬度和方向。显示车辆位置的装置根据公交12路的经纬度和方向将公交12路映射至地图,确定公交12路在地图上的映射位置m如图13所示。之后分别计算映射位置m至轨迹线段ab、轨迹线段bc、轨迹线段cd、轨迹线段de之间的距离。映射位置m至轨迹线段ab的距离为mp1,映射位置m至轨迹线段bc的距离为mp2、映射位置m至轨迹线段cd的距离为mc,映射位置m至轨迹线段de的距离为md。由图13可知,mp1、mp2、mc、md中,mp1最短,则将轨迹线段ab确定为距离映射位置m最近的目标轨迹线段,将p1作为公交12路在线路轨迹上的目标显示位置。以轨迹点a为起点,正北为0度,顺时针方向为正方向,确定目标显示位置p1相较于轨迹点a的方位角α(ap1)。以目标显示位置p1为起点,正北为0度,顺时针方向为正方向,确定轨迹点b相较于目标显示位置p1的方位角α(p1b)。将目标显示位置p1插入公交12路的线路轨迹的轨迹点集合,得到{轨迹点a,目标显示位置p1,轨迹点b,轨迹点c,轨迹点d,轨迹点e}。将方位角α(ap1)和方位角α(p1b)插入公交12路的线路轨迹上的方位角集合,得到{α(ap1)、α(p1b)、α(bc)、α(cd)、α(de)}。确定轨迹点a与目标显示位置p1之间的距离为x(ap1),采用x(ap1)除以30s得到公交12路在轨迹线段上的移动速度v(ap1),然后控制车辆按照方位角α(ap1)以及移动速度v(ap1)从轨迹点a匀速移动至目标显示位置p1。此时若用户在用户终端启动微信,在微信中添加腾讯乘车码应用,用户在微信乘车码应用中输入公交12路后提交,微信乘车码应用中显示公交12路从m总站向m桥东站之间匀速移动,具体如图14所示。

30s后公交12路从轨迹点a移动至目标显示位置p1,公交12路再次向显示车辆位置的装置上报经纬度和位置,显示车辆位置的装置根据公交12路的经纬度和方向将公交12路映射至地图,确定公交12路在地图上的映射位置n如图15所示。之后分别计算映射位置n至轨迹线段ab、轨迹线段bc、轨迹线段cd、轨迹线段de之间的距离。映射位置n至轨迹线段ab的距离为nq1,映射位置n至轨迹线段bc的距离为nq2、映射位置n至轨迹线段cd的距离为nc,映射位置n至轨迹线段de的距离为nd。由图15可知,nq1、nq2、nc、nd中,nq2最短,则将轨迹线段bc确定为距离映射位置n最近的目标轨迹线段,将q2作为公交12路在线路轨迹上的目标显示位置。以轨迹点b为起点,正北为0度,顺时针方向为正方向,确定目标显示位置q2相较于轨迹点b的方位角α(bq2)。以轨迹点q2为起点,正北为0度,顺时针方向为正方向,确定轨迹点c相较于目标显示位置q2的方位角α(q2c)。将目标显示位置q2插入公交12路的线路轨迹的轨迹点集合,得到{轨迹点a,当前显示位置p1,轨迹点b,目标显示位置q2,轨迹点c,轨迹点d,轨迹点e}。将方位角α(bq2)和α(q2c)插入公交12路的线路轨迹上的方位角集合,得到{α(ap1)、α(p1b)、α(bq2)、α(q2c)、α(cd)、α(de)}。确定当前显示位置p1与目标显示位置q2之间的轨迹距离x=x(p1b)+x(bq2),采用x除以30s得到公交12路在前显示位置p1与目标显示位置q2之间的轨迹线段上的移动速度v,然后控制车辆按照方位角α(p1b)、方位角α(bq2)以及移动速度v从前显示位置p1匀速移动至目标显示位置q2。此时微信乘车码应用中显示公交12路从m总站向m桥东站之间连续且匀速移动,具体如图16所示。

由于确定车辆在地图上的映射位置后,对车辆的映射位置进行修正,将车辆从映射位置投影至线路轨迹,从而提高在地图上定位车辆位置的精度。其次,将车辆从映射位置投影至线路轨迹后,确定车辆在线路轨迹上的目标显示位置,然后控制车辆沿线路轨迹从当前显示位置移动至目标显示位置,而不是直接从当前显示位置跳转至目标显示位置,提高了车辆在地图中的显示效果,提升用户体验。

基于相同的技术构思,本发明实施例提供了一种显示车辆位置的装置,如图17所示,该装置1700包括:

获取模块1701,用于获取车辆在地图上的映射位置,所述映射位置是通过所述车辆的定位设备获得的;

投影模块1702,用于将所述映射位置投影至所述地图中的线路轨迹,确定所述车辆在所述线路轨迹上的目标显示位置。

可选地,所述线路轨迹包括n个轨迹线段,n为大于0的整数;

所述投影模块1702用于:

从所述线路轨迹的n个轨迹线段中确定出与所述映射位置距离最近的目标轨迹线段;

将所述映射位置投影至所述目标轨迹线段,确定所述车辆在所述线路轨迹上的目标显示位置。

可选地,所述目标轨迹线段包括第一轨迹点和第二轨迹点;

所述投影模块1702用于:

将所述映射位置投影至所述目标轨迹线段,确定投影点;

在所述投影点位于所述第一轨迹点和所述第二轨迹点之间时,将所述投影点确定为所述车辆在所述线路轨迹上的目标显示位置;

否则将所述第一轨迹点或所述第二轨迹点确定为所述车辆在所述线路轨迹上的目标显示位置。

可选地,所述投影模块1702还用于:

确定所述线路轨迹上与所述目标显示位置相邻的轨迹点;

根据所述目标显示位置与所述相邻的轨迹点的方位角确定所述车辆在所述线路轨迹上的目标显示方向。

可选地,还包括控制模块1703,所述控制模块1703用于:

控制所述车辆沿所述线路轨迹,从当前显示位置移动至所述目标显示位置。

所述控制模块1703还用于:

确定获取所述车辆在地图上的映射位置的时间间隔;

确定所述当前显示位置和所述目标显示位置之间的线路轨迹的轨迹距离;

根据所述时间间隔和所述轨迹距离确定所述车辆沿所述线路轨迹移动的移动速度。

可选地,所述控制模块1703还用于:

获取所述当前显示位置和所述目标显示位置之间的线路轨迹中相邻两个轨迹点之间的方位角;

根据所述相邻两个轨迹点之间的方位角确定所述车辆沿所述线路轨迹移动的移动方向。

基于相同的技术构思,本申请实施例提供了一种显示车辆位置的设备,如图18所示,包括至少一个处理器1801,以及与至少一个处理器连接的存储器1802,本申请实施例中不限定处理器1801与存储器1802之间的具体连接介质,图18中处理器1801和存储器1802之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。

在本申请实施例中,存储器1802存储有可被至少一个处理器1801执行的指令,至少一个处理器1801通过执行存储器1802存储的指令,可以执行前述显示车辆位置的方法中所包括的步骤。

其中,处理器1801是显示车辆位置的设备的控制中心,可以利用各种接口和线路连接显示车辆位置的设备的各个部分,通过运行或执行存储在存储器1802内的指令以及调用存储在存储器1802内的数据,从而显示车辆位置。可选的,处理器1801可包括一个或多个处理单元,处理器1801可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1801中。在一些实施例中,处理器1801和存储器1802可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。

处理器1801可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器1802作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1802可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(randomaccessmemory,ram)、静态随机访问存储器(staticrandomaccessmemory,sram)、可编程只读存储器(programmablereadonlymemory,prom)、只读存储器(readonlymemory,rom)、带电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、磁性存储器、磁盘、光盘等等。存储器1802是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1802还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。

基于同一发明构思,本申请实施例提供了一种计算机可读介质,其存储有可由显示车辆位置的设备执行的计算机程序,当所述程序在显示车辆位置的设备上运行时,使得所述显示车辆位置的设备执行显示车辆位置的方法的步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1