CN111988746B - 用于车辆实时移动轨迹展示的方法、系统及存储介质 - Google Patents
用于车辆实时移动轨迹展示的方法、系统及存储介质 Download PDFInfo
- Publication number
- CN111988746B CN111988746B CN202010951729.2A CN202010951729A CN111988746B CN 111988746 B CN111988746 B CN 111988746B CN 202010951729 A CN202010951729 A CN 202010951729A CN 111988746 B CN111988746 B CN 111988746B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- terminal
- data request
- positioning information
- geographic location
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
Abstract
本公开提供了用于车辆实时移动轨迹展示的方法、系统及存储介质。本公开提供的方法包括:从车辆终端以第一预定时间间隔获取状态信息并基于该车辆终端的定位信息,确定该车辆终端所位于的地理位置区块;从车辆呼叫终端以第二预定时间间隔获取车辆数据请求,并基于该请求定位信息,确定该车辆呼叫终端的数据请求区域;基于该数据请求区域以及多个车辆终端所位于的地理位置区块,确定与位于该数据请求区域内的至少一个车辆终端相关联的车辆标识信息,并确定该至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列,以及输出该定位信息序列。根据本公开的方法可以准确、高效和平滑地展示周边车辆的移动轨迹。
Description
技术领域
本公开涉及计算机处理技术,更具体地,涉及用于车辆移动轨迹展示的方法、系统及存储介质。
背景技术
在交通领域,尤其是在互联网约车领域,为使得用户能够清楚了解周边车辆的数量、距离等情况,周边车辆展示功能已经大量出现。然而,现有的周边车辆展示功能的效果并不良好。例如,一些周边车辆展示功能仅仅使用车辆的当前位置进行展示,由于车辆定位可能会有偏差,所以展示出的周边车辆位置可能不在道路上或者可能出现在建筑物内;由于要预测车辆的行驶轨迹,一些周边车辆展示功能仅仅使用车辆向一个方向行驶的简单模拟,因此可能会存在车辆穿越建筑物以及所展示的车辆方向固定而不能实时动态改变的问题;一些周边车辆展示功能使用模拟数据而不是车辆的实时定位数据来进行展示,例如,仅将车辆目前的实际位置作为起始位置并假定一个模拟终点来进行模拟路线规划,并展示车辆沿所模拟的路线移动的过程,这样,由于车辆的实际行驶轨迹与模拟路线可能并不相同,即,在一次模拟中车辆的实际终点与模拟终点可能并不相同,因此在下一次模拟开始时可能会出现车辆位置跳变等问题。
因此,需要一种能够准确、高效和平滑地展示车辆的实时移动轨迹的方法。
发明内容
本公开的实施例提供了一种用于车辆实时移动轨迹展示的方法,由服务终端执行,所述方法包括:以第一预定时间间隔从车辆终端获取状态信息,所述状态信息包括所述车辆终端的定位信息和与所述车辆终端相关联的车辆标识信息,并基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块;以第二预定时间间隔从车辆呼叫终端获取车辆数据请求,所述车辆数据请求包括与所述车辆呼叫终端相关联的请求定位信息,并基于所述请求定位信息,确定所述车辆呼叫终端的数据请求区域;响应于所述以第二预定时间间隔获取的所述车辆数据请求,基于所述数据请求区域以及车辆终端所位于的地理位置区块,确定与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息,并确定所述至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列,其中,所述定位信息序列包括多个定位信息,其中,所述预定时间段与所述第二预定时间间隔的时长相同;以及响应于所述以第二预定时间间隔获取的所述车辆数据请求,以所述第二预定时间间隔向所述车辆呼叫终端输出所述至少一个车辆终端中每个车辆终端的车辆标识信息以及在所述预定时间段内的定位信息序列。
根据本公开的实施例,其中,所述状态信息还包括与所述车辆的定位信息相对应的时间戳,其中,从车辆终端以第一预定时间间隔获取状态信息包括:基于与所述车辆终端的定位信息相对应的时间戳,将所述车辆终端的定位信息存储到定位信息集合中,其中,所述定位信息集合中的每个定位信息按照与每个定位信息相对应的时间戳来排序。
根据本公开的实施例,其中,基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块包括:基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块在预先确定的地理位置区块集合中的地理位置区块索引;以及将所述车辆终端的车辆标识信息与所述地理位置区块索引相关联,其中,所述地理位置区块集合包括预先确定的多个地理位置区块,其中,所述地理位置区块集合中的每个地理位置区块按照每个地理位置区块的地理位置区块索引来排序。
根据本公开的实施例,其中,所述车辆数据请求还包括与所述车辆呼叫终端相关联的数据请求半径,其中,基于所述请求定位信息,确定所述车辆呼叫终端的数据请求区域包括:基于所述请求定位信息,确定与所述车辆呼叫终端相关联的地理位置区块,并确定与所述车辆呼叫终端相关联的地理位置区块在所述地理位置区块集合中的地理位置区块索引;以及基于所确定的与所述车辆呼叫终端相关联的地理位置区块在所述地理位置区块集合中的地理位置区块索引、与所述车辆呼叫终端相关联的数据请求半径以及所述地理位置区块集合中的每个地理位置区块的区块尺寸,确定与所述车辆呼叫终端的车辆数据请求相对应的地理位置区块索引范围。
根据本公开的实施例,其中,确定与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息包括:确定与所述地理位置区块索引范围中的每个地理位置区块索引相关联的车辆标识信息。
根据本公开的实施例,其中,所述状态信息还包括与所述车辆终端相关联的车辆类型和工作状态,其中,确定与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息还包括:基于所述车辆类型和工作状态,对与所述地理位置区块索引范围中的每个地理位置区块索引相关联的车辆标识信息进行过滤;以及将过滤后的车辆标识信息确定为所述与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息。
根据本公开的实施例,其中,所述车辆数据请求还包括与所述车辆数据请求相对应的请求时间戳,其中,确定所述至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列包括:在所述定位信息集合中,将所述请求时间戳之前的所述预定时间段内的定位信息的序列确定为所述定位信息序列。
根据本公开的实施例,上述方法还包括:对所述定位信息序列中的每个定位信息进行位置调整;以及输出经过位置调整后的定位信息的序列。
根据本公开的实施例,其中,所述车辆终端的定位信息包括所述车辆终端所处位置的经度值和纬度值,其中,基于所述车辆终端的定位信息确定所述车辆终端所位于的地理位置区块在预先确定的地理位置区块集合中的地理位置区块索引包括:对所述经度值和纬度值分别进行二进制编码,以获取分别与所述经度值和纬度值相对应的经度编码序列和纬度编码序列;对所述经度编码序列和纬度编码序列进行合并,以生成所述车辆终端的定位信息编码;以及对所述定位信息编码进行十进制转换,以生成转换后的定位信息值,并将所述定位信息值作为所述车辆终端所位于的地理位置区块在预先确定的地理位置区块集合中的地理位置区块索引。
本公开的实施例提供了一种用于车辆实时移动轨迹展示的方法,由车辆呼叫终端执行,所述方法包括:以第二预定时间间隔向服务终端发送车辆数据请求,所述车辆数据请求包括与所述车辆呼叫终端相关联的请求定位信息;以所述第二预定时间间隔从服务终端获取与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列,其中,所述预定时间段与所述第二预定时间间隔的时长相同;以及基于所述定位信息序列,展示所述至少一个车辆终端中每个车辆终端在所述预定时间段内的实时移动轨迹。
根据本公开的实施例,其中,所述车辆数据请求还包括与所述车辆呼叫终端相关联的数据请求半径,其中,与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端位于与所述车辆数据请求相对应的数据请求区域内,其中,所述数据请求区域基于与所述车辆呼叫终端相关联的请求定位信息以及所述数据请求半径来确定。
根据本公开的实施例,其中,所述车辆数据请求还包括与所述车辆数据请求相对应的请求时间戳,其中,从服务终端获取与所述车辆数据请求相对应的至少一个车辆终端中每个车辆在预定时间段内的定位信息序列包括:从服务终端获取与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端在所述请求时间戳之前的所述预定时间段内的定位信息序列。
根据本公开的实施例,其中,基于所述定位信息序列,展示所述至少一个车辆终端中每个车辆终端在所述预定时间段内的实时移动轨迹包括:对所述每个车辆终端的所述定位信息序列进行平滑关联处理;以及基于所述经平滑关联处理后的定位信息序列,展示所述每个车辆终端在所述预定时间段内的实时移动轨迹。
本公开的实施例提供了一种用于车辆实时移动轨迹展示的系统,包括车辆终端、车辆呼叫终端和服务终端,其中,所述车辆终端被配置为以第一预定时间间隔向所述服务终端发送与所述车辆终端相关联的车辆的状态信息,所述状态信息包括所述车辆的定位信息和与所述车辆终端相关联的车辆标识信息;所述服务终端被配置为执行如上所述的由服务终端执行的用于车辆实时移动轨迹展示的方法;并且所述车辆呼叫终端被配置为执行如上所述的由车辆呼叫终端执行的用于车辆实时移动轨迹展示的方法。
本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现根据本公开实施例的由服务终端执行的用于车辆实时移动轨迹展示的方法和/或由车辆呼叫终端执行的用于车辆实时移动轨迹展示的方法。
本公开的实施例提供了一种服务终端,包括:状态信息获取模块,被配置为以第一预定时间间隔从车辆终端获取状态信息,所述状态信息包括所述车辆终端的定位信息和与所述车辆终端相关联的车辆标识信息;位置区块确定模块,被配置为基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块;数据请求获取模块,被配置为从车辆呼叫终端以第二预定时间间隔获取车辆数据请求,所述车辆数据请求包括与所述车辆呼叫终端相关联的请求定位信息,并基于所述请求定位信息,确定所述车辆呼叫终端的数据请求区域;定位信息确定模块,被配置为响应于所述以第二预定时间间隔获取的所述车辆数据请求,基于所述数据请求区域以及车辆终端所位于的地理位置区块,确定与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息,并确定所述至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列,其中,所述定位信息序列包括多个定位信息,其中,所述预定时间段与所述第二预定时间间隔的时长相同;以及输出模块,被配置为响应于所述以第二预定时间间隔获取的所述车辆数据请求,以所述第二预定时间间隔向所述车辆呼叫终端输出所述至少一个车辆终端中每个车辆终端的车辆标识信息以及在所述预定时间段内的定位信息序列。
本公开的实施例提供了一种车辆呼叫终端,包括:数据请求模块,被配置为以第二预定时间间隔向服务终端发送车辆数据请求,所述车辆数据请求包括与所述车辆呼叫终端相关联的请求定位信息;定位信息获取模块,被配置为以所述第二预定时间间隔从服务终端获取与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列,其中,所述预定时间段与所述第二预定时间间隔的时长相同;以及轨迹展示模块,被配置为基于所述定位信息序列,展示所述至少一个车辆终端中每个车辆终端在所述预定时间段内的实时移动轨迹。
本公开的实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开实施例的由服务终端执行的用于车辆实时移动轨迹展示的方法和/或由车辆呼叫终端执行的用于车辆实时移动轨迹展示的方法。
本公开的实施例提供了一种用于车辆实时移动轨迹展示的方法、系统及存储介质。本公开实施例提供的用于车辆实时移动轨迹展示的方法可以准确、高效和平滑地展示预定范围内的车辆的实时移动轨迹,使得用户能够清楚地了解周边车辆的数量、每个车辆的真实移动轨迹和真实移动方向,从而可以直观地了解周边运力并且预估等待接单时间,提升用户体验。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了根据GeoHash的地理位置编码示意图;
图2示出了地图上特定示例性定位点的具体经纬度坐标的示意图;
图3示出了根据本公开实施例的用于车辆实时移动轨迹展示的系统的应用场景示意图;
图4示出了根据本公开实施例的由服务终端执行的用于车辆实时移动轨迹展示的方法的流程图;
图5更一般地示出了根据GeoHash编码的地理位置区块示意图;
图6示出了根据本公开实施例的由车辆呼叫终端执行的用于车辆实时移动轨迹展示的方法的流程图;
图7示出了根据本公开实施例的车辆连续移动轨迹展示的示意图;
图8示出了根据本公开实施例的服务器从车辆终端接收状态信息的示例性处理流程;
图9示出了根据本公开实施例的服务器从车辆呼叫终端接收车辆数据请求的示例性处理流程;
图10示出了根据本公开实施例的车辆呼叫终端、车辆终端以及服务器的交互示意图;
图11示出了根据本公开实施例的用于车辆实时移动轨迹展示的服务终端的示意图;并且
图12示出了根据本公开实施例的用于车辆实时移动轨迹展示的车辆呼叫终端的示意图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,基本上相同或相似的步骤和元素用相同或相似的附图标记来表示,并且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
在本说明书和附图中,根据实施例,元素以单数或复数的形式来描述。然而,单数和复数形式被适当地选择用于所提出的情况仅仅是为了方便解释而无意将本公开限制于此。因此,单数形式可以包括复数形式,并且复数形式也可以包括单数形式,除非上下文另有明确说明。
本公开的实施例涉及互联网约车场景以及地理位置区域划分等技术,为便于理解,以下首先介绍与本公开的实施例相关的一些基本概念。
乘客端:也可以称为车辆呼叫终端,网约车系统中乘客打车所使用的终端(或终端应用)。例如,可以是乘客的智能手机、平板电脑、便携式电子设备、台式计算机、智能音箱、智能手表等终端设备或其上的终端应用。
司机端:也可以称为车辆终端,网约车软件中司机接单所使用的终端(或终端应用)。例如,可以是网约车司机的智能手机、平板电脑、便携式电子设备等或其上的终端应用,也可以是集成在网约车上的车载设备或其上的终端应用。
状态上报:车辆终端连续或周期性地上报车辆的实时状态信息,实时状态信息可以包括车辆的标识信息、定位信息(例如,经纬度)、定位数据来源(例如,基站定位、WiFi定位、GPS定位等)、定位时间戳、定位精度、车辆速度、车辆方向等,多个连续的定位信息可以构成车辆的移动轨迹。
远程字典服务:(Remote Dictionary Server,Redis),一种键值(key-value)存储系统,其可以支持有序集合(zset)、字符串、链表和哈希类型等多种类型的值(value)的存储。
云计算(cloud computing):是指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
远程字典服务中的有序集合(zset):字符串类型元素的集合,并且集合中不允许重复的元素。每个元素与一个双精度类型的分数(score)相关联。远程字典服务(Redis)可以通过分数来为集合中的元素进行从小到大的排序。
GeoHash:一种地理位置编码方法。GeoHash可以将二维的经纬度数据转换成一维的字符串。图1示出了根据GeoHash的地理位置编码示意图。
如图1所示,可以对地图上的每个位置进行GeoHash编码,并生成其对应的GeoHash字符串。具体地,图1示出了地图上特定区域处9个地理位置区块的GeoHash字符串,例如WX4ER、WX4G2、WX4G3等等,其中,每一个字符串代表一个地理位置区块,每一地理位置区块具有对应的地理位置区块索引,例如30314935、30314978、30314979等等。也就是说,同一地理位置区块内的所有位置点(经纬度坐标)经相同编码长度的GeoHash编码后都将得到相同的GeoHash字符串,也就是说,同一地理位置区块内的所有位置点(经纬度坐标)都共享相同的GeoHash字符串及相同的地理位置区块索引,这样既可以保护隐私(只表示大概的区块位置而不是具体的位置点),又便于进行数据缓存。
一般地,GeoHash字符串编码长度越长,表示的地理位置范围越精确,具体如下表1所示。例如,如表1所示,当采用12位纬度位和13位经度位对某一特定经纬度坐标进行编码时,可以得到编码长度为5的GeoHash字符串,在这种情况下,纬度误差约为±0.022°,经度误差约为±0.022°,而距离误差约为±2.4千米。也就是说,在这种情况下,图1中的每个5位GeoHash字符串所对应的地理位置区块的长宽均约为2.4千米(在本文中,地理位置区块的长和宽经近似和简化处理后可以认为相同)。当GeoHash编码长度为6时,距离误差(或区块边长)约为±610米,而当GeoHash编码长度为8时,距离误差约为±19米。
[表1]
下面以如图2所示的示例性定位点为例说明GeoHash编码方法的示例步骤。
图2示出了地图上特定示例性定位点的具体经纬度坐标的示意图。如图2所示,该示例性定位点的纬度坐标为39.928167,经度坐标为116.389550。可以分别对该示例性定位点的经度和纬度进行逼近编码。下面以纬度为例进行说明。
首先,地球纬度区间为[-90,90],可以将地球纬度区间[-90,90]进行二分以得到区间[-90,0)和[0,90],其可以分别称为左区间和右区间。可以确定“39.928167”属于右区间[0,90],因此可以将第一纬度位标记为“1”;
接下来,可以将区间[0,90]进一步二分为[0,45)和[45,90],可以确定“39.928167”属于左区间[0,45),因此可以将第二纬度位标记为“0”;
此后,继续递归进行上述区间划分和标记过程,“39.928167”将总是属于某个特定纬度区间,并且随着每次迭代,区间将不断缩小并越来越逼近“39.928167”。
这样,在每次区间划分之后,当“39.928167”属于右区间时将对应纬度位标记为“1”,而当属于左区间时将对应纬度位标记为“0”,随着算法的进行可以得到一个纬度编码序列,序列的长度与区间划分次数相关。例如,对于纬度39.928167,当进行十次区间划分之后,可以得到十位的纬度编码序列10111 00011。类似地,对于经度116.389550,当进行十次区间划分之后,可以得到十位的经度编码序列11010 01011。可以以偶数位存经度编码序列而奇数位存纬度编码序列的方式对经度编码序列和纬度编码序列进行合并,例如,可以生成合并后的经纬度编码序列11100 11101 00100 01111。对该经纬度编码序列进行十进制转换可以得到十进制值7325935,该值即可以作为经十次区间划分之后该示例性定位点所在经纬度区间的区间索引,或者可以称为与该经纬度区间相对应的地理位置区块的地理位置区块索引。
最后,可以将经纬度编码序列11100 11101 00100 01111以5位为单位转换成多个十进制值(例如,可以生成十进制值28、29、4和15),并且可以如下表2所示,使用0-9、b-z(去掉i、l和o)共32个字符对生成的十进制值进行base32编码,由此可以生成对应的GeoHash编码wx4g。
[表2]
下面将继续结合附图对本公开的实施例进行进一步地描述。
图3示出了根据本公开实施例的用于车辆实时移动轨迹展示的系统300的应用场景示意图。
如图3所示,系统300可以包括用户301的车辆呼叫终端302、服务终端(例如,服务器303)以及一个或多个车辆的车辆终端(例如,车辆304的车辆终端306或车辆305的车辆终端307)。以车辆终端306为例,车辆终端306可以是集成在车辆304上的车载设备或其上的终端应用,也可以是车辆304的司机的智能手机、平板电脑、便携式电子设备等终端设备或其上的终端应用,其可以与服务器303通信,并且可以连续或周期性地向服务器303上报车辆304的状态信息310,状态信息310可以包括车辆304的标识信息、定位信息(例如,经纬度)、定位数据来源(例如,基站定位、WiFi定位、GPS定位等)、定位时间戳、定位精度、车辆速度、车辆方向等,多个连续的定位信息可以构成车辆304的移动轨迹。
服务终端可以是能够执行根据本公开实施例的用于车辆实时移动轨迹展示的方法的任何终端设备,例如,服务终端可以是如图3所示的服务器303,下文以服务器303为例进行说明。服务器303可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。服务器303可以通过有线或无线通信方式与终端进行直接或间接地连接,本公开在此不作限制。服务器303可以对一个或多个车辆终端上报的状态信息(例如,定位信息等)进行存储。
车辆呼叫终端302可以是用户301的智能手机、平板电脑、便携式电子设备等终端设备或其上的终端应用,其可以与服务器303通信,并且可以向服务器303发送车辆数据请求308。服务器303可以响应于从车辆呼叫终端302接收到车辆数据请求308而向车辆呼叫终端302发送先前存储的特定车辆的定位信息序列309。车辆呼叫终端302可以基于接收到的特定车辆的定位信息序列309而展示该特定车辆的实时移动轨迹。
图4示出了根据本公开实施例的由服务终端执行的用于车辆实时移动轨迹展示的方法的流程图。
如图4所示,首先,在步骤S401中,服务终端(例如,服务器303)可以从车辆终端以第一预定时间间隔获取状态信息,所述状态信息可以包括所述车辆终端的定位信息和与所述车辆终端相关联的车辆标识信息,并且可以基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块。
根据本公开的实施例,状态信息还可以包括与所述车辆终端的定位信息相对应的时间戳,并且从车辆终端以第一预定时间间隔获取状态信息可以包括:基于与所述车辆终端的定位信息相对应的时间戳,将所述车辆终端的定位信息存储到定位信息集合中,其中,所述定位信息集合中的每个定位信息可以按照与每个定位信息相对应的时间戳来排序。
仍以图3所示的应用场景为例进行说明。如图3所示,在一个实施例中,对于多个车辆中的每个车辆,例如车辆304,服务器303可以以第一预定时间间隔(例如,1秒的时间间隔)周期性地从与车辆304相关联的车辆终端306获取车辆304的状态信息310。状态信息310可以包括车辆304的定位信息(例如,经纬度)以及与车辆304(或其车辆终端306)相关联的车辆标识信息。例如,与车辆304(或其车辆终端306)相关联的车辆标识信息可以是车辆304的标识号(ID),或者可以是与车辆304相关联的车辆终端306的标识号。例如,在一个实施例中,当车辆终端306为车辆304的司机的智能手机时,车辆标识信息可以是车辆304的司机的智能手机的手机号。为简化描述,在下文中,术语车辆和与其相关联的车辆终端可以互换使用,例如但不限于,当提及与车辆304相关联的车辆标识信息时,也可以指代与车辆304所对应的车辆终端306相关联的车辆标识信息;当提及车辆304的定位信息时,也可以指代车辆终端306的定位信息;当提及车辆304的状态信息时,也可以指代车辆终端306的状态信息;当提及车辆304所位于的地理位置区块时,也可以指代车辆终端306所位于的地理位置区块,等等。
在一个实施例中,状态信息310还可以包括与当前获取的定位信息相对应的定位时间戳。例如,假设服务器303第一时间点获取的车辆304的定位信息L1所对应的定位时间戳为T1,第二时间点获取的定位信息L2所对应的定位时间戳为T2,第三时间点获取的定位信息L3所对应的定位时间戳为T3,服务器303可以按照时间戳T1、T2和T3的先后顺序来将车辆304的定位信息L1、L2和L3依次存储到与车辆304相关联的定位信息集合中。例如,在一个实施例中,服务器303可以采用远程字典服务(Redis)中的有序集合(zset)的方式来对获取的定位信息进行存储。例如,可以将车辆304的各个定位时间戳作为有序集合中的元素的分数,并且按照该分数从小到大的顺序对相应的定位信息进行依次排序和存储。采用这种有序集合的存储方式,可以使得随后能够高效地进行定位信息查找,例如,可以仅确定要查找的定位信息的时间戳范围即可从有序的定位信息集合快速查询出相应时间段内的定位信息序列。
根据本公开的实施例,基于所述车辆终端的定位信息确定所述车辆终端所位于的地理位置区块还可以包括:基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块在预先确定的地理位置区块集合中的地理位置区块索引;以及将所述车辆终端的车辆标识信息与所述地理位置区块索引相关联。所述地理位置区块集合可以包括预先确定的多个地理位置区块,其中,所述地理位置区块集合中的每个地理位置区块可以按照每个地理位置区块的地理位置区块索引来排序。
例如,在一个实施例中,如图1所示,可以预先采用上文所述的GeoHash编码方法对地图上的特定区域进行地理位置编码,以获得多个地理位置区块及与其相对应的地理位置区块索引。例如,根据上文所述的GeoHash编码方法,地理位置区块WX4ER的地理位置区块索引可以是30314935,地理位置区块WX4G2的地理位置区块索引可以是30314978,地理位置区块WX4G3的地理位置区块索引可以是30314979,等等。在一个实施例中,服务器303可以预先按照地理位置区块索引的大小顺序来将各个预先确定的地理位置区块依次存储到有序的地理位置区块集合中。例如,在一个实施例中,服务器303可以采用远程字典服务(Redis)中的有序集合(zset)的方式来对预先确定的地理位置区块进行存储。例如,可以将预先确定的各个地理位置区块的地理位置区块索引作为有序集合中的元素的分数,并且按照该分数从小到大的顺序对相应的地理位置区块进行依次排序和存储。采用这种有序集合的存储方式,可以使得随后能够高效地进行地理位置区块及其相关联的车辆ID的查找,例如,可以仅确定要查找的地理位置区块的索引的最大值和最小值即可从有序的地理位置区块集合快速查询出相应索引范围内的地理位置区块,进而确定与其相关联的车辆ID。
接下来,可以根据上文所述的GeoHash编码方法以与对特定区域进行编码相同的编码长度对车辆304的定位信息(例如,经纬度坐标)进行编码,以确定车辆304当前位于的地理位置区块及与其相对应的地理位置区块索引。具体地,可以根据上文所述的GeoHash编码方法对车辆304的经度值和纬度值分别进行基于经纬度区间划分的二进制编码,从而获得分别与车辆304的经度值和纬度值相对应的经度编码序列和纬度编码序列,然后可以按照偶数位存经度编码序列而奇数位存纬度编码序列的方式对经度编码序列和纬度编码序列进行合并,以生成车辆304的经纬度编码序列。接下来,可以对经纬度编码序列进行十进制转换,从而生成转换后的十进制定位信息值,并将该定位信息值作为车辆304所位于的地理位置区块在预先确定的地理位置区块集合中的地理位置区块索引。具体的GeoHash编码方法可以参照上文结合图2的示例性描述,这里不再赘述。
例如,假设对车辆304的经纬度坐标进行编码长度为5的GeoHash编码后得到WX4G2的编码值,则可以确定车辆304当前位于预先确定的地理位置区块集合中的地理位置区块WX4G2,并且可以基于上述方法确定其对应的地理位置区块索引为30314978。进一步地,可以将车辆304的标识号(例如,车辆ID:1)与地理位置区块索引30314978相关联,例如可以将车辆304的车辆ID 1存储到与地理位置区块索引30314978相对应的存储区域中。当在下一时间间隔获取车辆304的新的经纬度坐标之后,可以按照上述方法确定车辆304当前所位于的更新的地理位置区块,并且可以将车辆304的车辆ID与先前的地理位置区块解除关联,并且与更新后的地理位置区块索引相关联。这样,在后续的车辆ID查询过程中,一旦确定地理位置区块索引,则可以快速获取当前与该地理位置区块索引相关联的一个或多个车辆ID。
返回图4,在步骤S402中,服务器303可以从车辆呼叫终端以第二预定时间间隔获取车辆数据请求,所述车辆数据请求可以包括与所述车辆呼叫终端相关联的请求定位信息,并且可以基于所述请求定位信息,确定所述车辆呼叫终端的数据请求区域。
例如,如图3所示,车辆呼叫终端302可以以第二预定时间间隔(例如,5秒的时间间隔)向服务器303发送车辆数据请求308。在一个实施例中,车辆数据请求308中包括的请求定位信息可以是车辆呼叫终端302所在位置处的定位信息(例如,经纬度)。在另一实施例中,车辆数据请求308中包括的请求定位信息也可以是车辆呼叫终端302指定的特定位置处的定位信息。例如,当用户301通过车辆呼叫终端302为处于另一位置的第二用户(未示出)查询周边车辆情况时,可以在车辆呼叫终端302上指定第二用户所在位置处的定位信息并上报服务器303。
下面将结合图5来描述确定车辆呼叫终端302的数据请求区域的示例性过程。
具体地,图5更一般地示出了根据GeoHash编码的地理位置区块示意图。图5中每个地理位置区块内的数值表示该地理位置区块的索引。
服务器303获取到车辆呼叫终端302上报的请求定位信息之后,可以例如采用上文所述的GeoHash编码方法来对请求定位信息(例如,车辆呼叫终端302所在位置或指定位置的经纬度)进行地理位置编码,以确定车辆呼叫终端302或其指定位置所位于的地理位置区块及其对应的地理位置区块索引。
在一个实施例中,车辆数据请求308还可以包括与车辆呼叫终端302相关联的数据请求半径。例如,该数据请求半径可以是以车辆呼叫终端302上报的请求定位点为中心的请求半径。在该实施例中,假设车辆呼叫终端302向服务器303上报的请求定位信息是车辆呼叫终端302自身当前所在位置的经纬度信息。在该实施例中,可以基于车辆呼叫终端302当前处于的地理位置区块的索引、与车辆呼叫终端302相关联的数据请求半径以及每个地理位置区块的区块尺寸来确定与车辆数据请求308相对应的地理位置区块索引范围。这里,与车辆数据请求308相对应的地理位置区块索引范围即为车辆呼叫终端的数据请求区域所对应的地理位置区块索引的范围,并且用于指示:车辆数据请求308请求位于所述地理位置区块索引范围内的车辆的车辆数据。例如,假设车辆呼叫终端302当前处于如图5所示的索引为154的地理位置区块,每个地理位置区块为边长为1千米的正方形,并且车辆呼叫终端302上报的数据请求半径为3千米,则通过简单的算术运算可以确定车辆呼叫终端302的数据请求区域为包含车辆呼叫终端302所在区块(即,索引为154的区块)及其周围2圈地理位置区块的地理位置区块索引范围,如图5中粗斜体区块索引所对应的区域(即,由索引150、182、166以及134为顶点构成的四边形区域)所示。
在一个实施例中,可以通过现有的Libgeohash函数库来直接获取上述数据请求区域中的每个地理位置区块索引。例如,可以指定中心位置及周围圈层数,然后通过Libgeohash函数库获取对应范围内的所有地理位置区块的索引。应当理解,还可以采用任何其它现有或将来的函数或算法来确定上述数据请求区域中的每个地理位置区块索引,这里不做限制。
如上文所述,为使得能够高效地对地理位置区块进行查找和搜索,根据本公开的实施例,如图5所示的各个地理位置区块可以以根据区块索引从小到大排序的有序集合(zset)的方式进行预先存储。在这种情况下,可以仅根据要查找的地理位置区块的地理位置区块的索引的最大值和最小值即可从有序的地理位置区块集合中快速查询出相应索引范围内的地理位置区块。例如,如图5所示,可以例如通过Libgeohash函数库确定与车辆数据请求308相对应的地理位置区块索引范围的最小值为134,并且最大值为182。然而,由于GeoHash编码方式的固有特性,位置相邻的两个地理位置区块的区块索引可能并不相邻。因此,如果直接采用最小值134和最大值182来从预先确定的有序的地理位置区块集合中提取区块,则可能会提取到一些实际并不属于与车辆数据请求308相对应的地理位置区块索引范围的冗余地理位置区块,例如,如图5中斜划线所示的区块。因此,当以最小值134和最大值182的范围从预先确定的有序的地理位置区块集合中提取出多个地理位置区块时,可选地,可以再次基于通过Libgeohash函数库确定的与车辆数据请求308相对应的多个实际的地理位置区块索引对提取出的多个地理位置区块进行过滤,最终获得与车辆数据请求308相对应的实际的地理位置区块索引范围。在一个实施例中,在地理位置区块为以编码长度为6进行GeoHash编码的区块的情况下(区块边长为610米),在数据请求半径为1千米的情况下,采用上述方法提取出的冗余地理位置区块的平均占比仅约10%。因此,采用如上所述的GeoHash编码结合有序集合存储的方法计算和存储开销较小,可以高效地查询出与车辆数据请求308相对应的地理位置区块索引范围内的地理位置区块及其对应的车辆ID。
再次返回图4,在步骤S403中,响应于所述以第二预定时间间隔获取的所述车辆数据请求,服务器303可以基于所述数据请求区域以及车辆终端所位于的地理位置区块,确定与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息,并确定所述至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列,其中,所述定位信息序列包括多个定位信息,其中,所述预定时间段与所述第二预定时间间隔的时长相同。
然后,在步骤S404中,响应于所述以第二预定时间间隔获取的所述车辆数据请求,服务器303可以以所述第二预定时间间隔向所述车辆呼叫终端输出所述至少一个车辆终端中每个车辆终端的车辆标识信息以及在所述预定时间段内的定位信息序列。
例如,仍以上述实施例为例,在确定与车辆数据请求308相对应的地理位置区块索引范围之后,可以根据该地理位置区块索引范围中的每个地理位置区块索引进一步确定与该地理位置区块索引相关联的车辆ID。例如,如图5所示,可以确定由索引150、182、166以及134为顶点构成的四边形区域中的每个区块当前相关联的车辆ID。
在一个实施例中,车辆终端306上报的状态信息310还可以包括车辆304的车辆类型和工作状态。例如,车辆类型可以包括快车、豪华车以及顺风车等,而工作状态可以包括接驾状态、送驾状态以及等待接单状态等。在该实施例中,可以基于车辆类型和工作状态,对与根据上述方法确定的地理位置区块索引范围中的每个地理位置区块索引相关联的车辆标识信息进行过滤,并将过滤后的车辆标识信息确定为与位于数据请求区域内的至少一个车辆终端相关联的车辆标识信息。例如,如图3所示,假设车辆304和车辆305当前均位于车辆呼叫终端302的数据请求区域内,而车辆终端306上报的车辆304的车辆类型为豪华车,工作状态为等待接单状态,车辆终端307上报的车辆305的车辆类型为快车,工作状态为等待接单状态,而用户301例如在车辆数据请求308中仅指定了请求关于等待接单的快车的数据,则服务器303将基于用户的请求对当前处于数据请求区域内的车辆ID进行过滤,并仅将车辆ID 2(即,车辆305)确定为与车辆呼叫终端302的数据请求区域相关联的车辆ID。
此外,车辆呼叫终端302上报的车辆数据请求308还可以包括上报车辆数据请求308的请求时间戳信息。该请求时间戳可以是车辆呼叫终端302上报车辆数据请求308的对应时间戳。仍以车辆305为例,假设车辆305被确定为位于与车辆呼叫终端302的数据请求区域内的车辆,则可以在存储车辆305上报的定位信息的有序定位信息集合中,将该请求时间戳之前预定时间段内的定位信息作为车辆305(或其车辆终端307)的定位信息序列。该预定时间段的时长可以与车辆呼叫终端302上报车辆数据请求308的第二预定时间间隔的时长相同,例如,均为5秒。例如,假设当前的请求时间戳为2500(秒),则可以在存储车辆305上报的定位信息的有序定位信息集合中将1495-2499(秒)所对应的定位信息作为与当前车辆数据请求308相对应的定位信息序列。以这种方式,每次车辆呼叫终端302以5秒的时间间隔上报车辆数据请求308之后,车辆呼叫终端302可以立即从服务器303获取车辆305的车辆ID以及车辆305在当前时间之前5秒的定位信息序列并进行展示,当本次5秒时长的定位信息序列展示完毕之后,正好经过第二预定时间间隔并且车辆呼叫终端302可以上报下一次车辆数据请求并立即获取随后5秒的定位信息序列进行展示。也就是说,车辆呼叫终端302可以以5秒的预定时间间隔向服务器303发送车辆数据请求308,服务器303同样可以以5秒的预定时间间隔向车辆呼叫终端302发送特定车辆在当前时间之前5秒的预定时长内的定位信息序列。这样可以使得车辆呼叫终端302能够连续不间断地获得相应车辆的定位信息序列并进行连续展示。在另一实施例中,可以考虑信号传输以及服务器303等的处理耗时,并对获取的定位信息序列的预定时长进行调整,使得其适当地大于车辆呼叫终端302上报车辆数据请求308的第二预定时间间隔的时长,这样可以进一步避免由于信号传输以及服务器303等的处理耗时而导致定位信息序列展示的不连续。应当理解,第二预定时间间隔还可以取任何其它适当的值。
在一个实施例中,由于车辆终端上报的定位信息可能存在误差,服务器303在向车辆呼叫终端302输出对应车辆的定位信息序列之前,还可以例如基于服务器303上预先存储的地图道路等信息预先对要输出的定位信息序列中的每个定位信息进行位置调整或校正。例如,当判断某个定位信息所对应的定位点处于道路之外时,可以将该定位点调整到距离最近的道路上的对应定位点,等等。在其他实施例中,还可以基于多个定位信息进行联合轨迹校正,这里不做限制。
接下来,图6示出了根据本公开实施例的由车辆呼叫终端执行的用于车辆实时移动轨迹展示的方法600的流程图。
如图6所示,首先,在步骤S601中,车辆呼叫终端302可以以第二预定时间间隔向服务器发送车辆数据请求,所述车辆数据请求可以包括与所述车辆呼叫终端相关联的请求定位信息。在步骤S602中,车辆呼叫终端302可以以所述第二预定时间间隔从服务器获取与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列,其中,所述预定时间段可以与所述第二预定时间间隔的时长相同。并且,在步骤S603中,车辆呼叫终端302可以基于所述定位信息序列,展示所述至少一个车辆终端中每个车辆终端在所述预定时间段内的实时移动轨迹。
例如,如图3所示,车辆呼叫终端302可以以例如5秒的第二预定时间间隔向服务器303发送车辆数据请求308。例如,车辆数据请求308可以包括车辆呼叫终端302(或其指定位置)的定位信息。服务器303可以根据车辆呼叫终端302的定位信息来确定车辆呼叫终端302的数据请求区域。
在一个实施例中,车辆数据请求308还可以包括与车辆呼叫终端302相关联的数据请求半径。例如,该数据请求半径可以是以车辆呼叫终端302上报的请求定位点为中心的请求半径。在该实施例中,假设车辆呼叫终端302向服务器303上报的请求定位信息是车辆呼叫终端302自身当前所在位置的经纬度信息,并且车辆呼叫终端302向服务器303上报的数据请求半径为2千米,则可以确定车辆呼叫终端302的数据请求区域为以车辆呼叫终端302当前所在位置为中心、半径为2千米的地理位置区域。
在一个实施例中,如上文所述,车辆数据请求308还可以包括与车辆数据请求308相对应的请求时间戳信息。该请求时间戳可以是车辆呼叫终端302上报车辆数据请求308的对应时间戳。服务器303可以采用上文结合图4描述的方法来确定位于车辆呼叫终端302的数据请求区域的一个或多个车辆(或其车辆终端),并将该一个或多个车辆(或其车辆终端)中每个车辆(或其车辆终端)在请求时间戳之前的预定时间段内(例如,5秒)的定位信息序列发送给车辆呼叫终端302,具体步骤可以参照上文结合图4的描述,这里不再赘述。如上文所述,预定时间段可以和第二预定时间间隔的时长相同,也就是说,例如,车辆呼叫终端302可以以5秒的预定时间间隔向服务器303发送车辆数据请求308,服务器303同样可以以5秒的预定时间间隔向车辆呼叫终端302发送特定车辆在当前时间之前5秒的预定时长内的定位信息序列。这样可以使得车辆呼叫终端302能够连续不间断地获得相应车辆的定位信息序列并进行连续展示。
在一个实施例中,车辆呼叫终端302从服务器303接收到预定时长(例如,5秒)内的特定车辆的定位信息序列之后,可以对定位信息序列中的每个定位信息进行平滑关联处理。例如,车辆呼叫终端302可以将从服务器303接收到的特定车辆的多个定位信息所对应的定位点按照时间戳的先后顺序进行连线,以生成该特定车辆在所述预定时长内的连续轨迹。此外,车辆呼叫终端302还可以根据预先存储的地图道路信息对生成的连续轨迹进行调整,例如,将位于道路之外的轨迹适当地调整到道路内部。最后,车辆呼叫终端302可以对经平滑关联处理和调整后的特定车辆的连续轨迹进行展示。
更具体地,以预定时长和第二预定时间间隔均为5秒为例,车辆呼叫终端302每隔5秒向服务器发送一次车辆数据请求,例如在第5秒,第10秒,第15秒向服务器发送车辆数据请求;服务器确定每次车辆数据请求的数据请求区域;相应地,作为对每次车辆数据请求的响应,车辆呼叫终端302每隔5秒从服务器接收到一次定位信息序列,例如在第5.2秒,第10.2秒,第15.2秒从服务器接收到相应的定位信息序列,每个定位信息序列包括了位于所述数据请求区域内的车辆在当前请求时间之前5秒内的定位信息,例如第0-5秒,第5-10秒,第10-15秒内的定位信息;然后车辆呼叫终端可以基于接收到的位于所述数据请求区域内的车辆在当前请求时间之前5秒内的定位信息,在接下来的5秒内展示车辆的连续移动轨迹,例如基于所接收到的第0-5秒的定位信息,在第5-10秒期间进行展示;基于所接收到的第5-10秒的定位信息,在第10-15秒期间进行展示;基于所接收到的第10-15秒的定位信息,在第15-20秒期间进行展示。在此情况下,车辆呼叫终端302处的车辆连续移动轨迹展示相对于车辆实际移动轨迹仅具有5秒的延迟。
图7示出了根据本公开实施例的车辆连续移动轨迹展示的示意图。
如图7所示,根据本公开实施例提供的用于车辆实时移动轨迹展示的方法,可以在车辆呼叫终端302上连续地展示车辆304的移动轨迹,并且经过本公开实施例提供的平滑关联和定位信息调整等处理,可以将车辆304的移动轨迹始终保持在地图道路上。
图8示出了根据本公开实施例的服务器从车辆终端接收状态信息的示例性处理流程。
如图8所示,在步骤S801中,车辆终端306可以以每秒1次的频率向服务器303上报车辆304的当前状态信息。如上文所述,当前状态信息可以车辆304的车辆ID、当前定位、定位时间戳、车辆类型和车辆工作状态等。在步骤S802中,服务器303可以按照车辆终端306上报的定位时间戳顺序保存车辆终端306上报的定位信息。在步骤803中,服务器303可以采用GeoHash编码方法来计算车辆304当前位置对应的地理位置区块索引,并将车辆304的车辆ID存储或更新到该索引对应的区块中。可以重复执行上述过程,以不断地保存各个车辆终端上报的定位信息并更新各个车辆当前位置所对应的地理位置区块索引。
图9示出了根据本公开实施例的服务器从车辆呼叫终端接收车辆数据请求的示例性处理流程。
如图9所示,在步骤901中,服务器303可以从车辆呼叫终端302获取包括请求位置的经纬度和请求区域半径的车辆数据请求。在步骤S902中,服务器303可以根据请求位置的经纬度,采用根据本公开实施例的方法计算当前请求位置的GeoHash地理位置区块,并且通过预先确定的GeoHash地理位置区块的区块尺寸以及请求区域半径来确定车辆呼叫终端302要请求的区块索引范围,例如,要请求的区块索引的最大值和最小值。在步骤S903中,服务器303可以根据所确定的索引范围从缓存中查询对应区块中的车辆ID,并且根据车辆类型或车辆工作状态等信息过滤出车辆呼叫终端302需要的车辆ID。在步骤S904中,服务器303可以通过过滤出的车辆ID查询每个车辆ID对应的过去5秒的历史定位信息,并且可以对历史定位信息进行纠偏和调整处理,以消除定位误差。在步骤S905中,服务器303可以将调整后的每个车辆的历史定位信息发送给车辆呼叫终端302。在步骤S906中,车辆呼叫终端302可以将接收到的所有车辆的历史定位信息分别进行平滑关联处理,以生成每个车辆过去5秒的平滑移动轨迹,并且在例如显示界面上平滑地展示各个车辆的移动轨迹。在步骤S907中,车辆呼叫终端继续以5秒一次的频率向服务器303发送车辆数据请求,以获取周边车辆在过去5秒的历史定位信息,然后回到步骤S901,循环执行上述过程。由此,车辆呼叫终端302可以连续不断地获得其周边车辆的连续的定位信息,并且可以连续地、平滑地展示出各个车辆的移动轨迹。
接下来,图10示出了根据本公开实施例的车辆呼叫终端、车辆终端以及服务器的交互示意图。
如图10所示,在步骤S1011中,车辆终端1005可以启动并调用定位组件1006进行定位。在步骤S1012中,定位组件1006可以以秒为单位(或以任何其它合适的时间间隔)采集车辆终端1005的当前定位信息并通知车辆终端1005。在步骤S1013中,车辆终端1005可以将其关联的车辆的车辆状态信息上报给服务器1001。如上文所述,车辆状态信息可以包括对应车辆的车辆ID、定位点信息、定位点采集时间(即时间戳)、车辆类型以及车辆工作状态等信息。在步骤S1014中,服务器1001可以基于车辆终端1005上报的信息更新对应车辆在GeoHash区块中的区块索引,更新车辆的最新位置和状态信息,并存储车辆的定位点信息。在步骤S1015中,服务器1001可以向车辆终端1005发送确认接收到上报的状态信息的确认消息。在步骤S1016中,车辆呼叫终端1002可以例如按照5秒一次的频率向服务器1001请求周边车辆的历史定位点信息。服务器1001接收到请求之后,在步骤S1017中,可以根据请求消息查询车辆呼叫终端1002(或其指定位置处)周边的车辆ID,并且可以按照车辆类型和/或车辆工作状态对查询出的车辆ID进行过滤,并且可以查询过滤出的车辆ID所对应车辆在过去5秒的历史定位点信息,并对其进行定位纠偏和调整。在步骤S1019中,服务器1001可以向车辆呼叫终端1002返回调整后的周边车辆在过去5秒的历史定位点信息。在步骤S1020中,车辆呼叫终端1002可以将获得的周边车辆的历史定位点数据输入平滑组件1003进行平滑处理,并且在S1021中,可以进一步调用地图组件1004,在地图上连续、平滑地展示周边车辆的平滑移动轨迹。
图11示出了根据本公开实施例的用于车辆实时移动轨迹展示的服务终端1100的示意图。
如图11所示,根据本公开实施例的用于车辆实时移动轨迹展示的服务终端1100可以包括:状态信息获取模块1101、位置区块确定模块1102、数据请求获取模块1103、定位信息确定模块1104以及输出模块1105。其中,状态信息获取模块1101可以被配置为对于多个车辆中的每个车辆,从与该车辆相关联的车辆终端以第一预定时间间隔获取该车辆的状态信息,状态信息可以包括该车辆的定位信息和与该车辆相关联的车辆标识信息;位置区块确定模块1102可以被配置为基于该车辆的定位信息,确定该车辆所位于的地理位置区块;数据请求获取模块1103可以被配置为从车辆呼叫终端以第二预定时间间隔获取车辆数据请求,车辆数据请求可以包括与车辆呼叫终端相关联的请求定位信息,并基于该请求定位信息,确定车辆呼叫终端的数据请求区域;定位信息确定模块1104可以被配置为响应于以第二预定时间间隔获取的车辆数据请求,基于数据请求区域以及多个车辆所位于的地理位置区块,确定与位于该数据请求区域内的至少一个车辆相关联的车辆标识信息,并确定该至少一个车辆中每个车辆在预定时间段内的定位信息序列,其中,定位信息序列可以包括多个定位信息,其中,该预定时间段与第二预定时间间隔的时长可以相同;输出模块1105可以被配置为响应于以第二预定时间间隔获取的车辆数据请求,以第二预定时间间隔向车辆呼叫终端输出该至少一个车辆中每个车辆的车辆标识信息以及在该预定时间段内的定位信息序列。
图12示出了根据本公开实施例的用于车辆实时移动轨迹展示的车辆呼叫终端1200的示意图。
如图12所示,根据本公开实施例的用于车辆实时移动轨迹展示的车辆呼叫终端1200可以包括数据请求模块1201、定位信息获取模块1202以及轨迹展示模块1203。其中,数据请求模块1201可以被配置为以第二预定时间间隔向服务器发送车辆数据请求,车辆数据请求可以包括与车辆呼叫终端相关联的请求定位信息;定位信息获取模块1202可以被配置为以第二预定时间间隔从服务器获取与车辆数据请求相对应的至少一个车辆中每个车辆在预定时间段内的定位信息序列,其中,该预定时间段与该第二预定时间间隔的时长可以相同;轨迹展示模块1203可以被配置为基于获取的定位信息序列,展示至少一个车辆中每个车辆在该预定时间段内的实时移动轨迹。
本公开的实施例还提供了一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时可以用于实现根据本公开实施例的由服务终端执行的用于车辆实时移动轨迹展示的方法和/或由车辆呼叫终端执行的用于车辆实时移动轨迹展示的方法。本公开实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开实施例的由服务终端执行的用于车辆实时移动轨迹展示的方法和/或由车辆呼叫终端执行的用于车辆实时移动轨迹展示的方法。
本公开的实施例还提供了一种用于车辆实时移动轨迹展示的方法、系统及存储介质。本公开实施例提供的用于车辆实时移动轨迹展示的方法可以准确、高效和平滑地展示预定范围内的车辆的实时移动轨迹,使得用户能够清楚地了解周边车辆的数量、每个车辆的真实移动轨迹和真实移动方向,从而可以直观地了解周边运力并且预估等待接单时间,提升用户体验。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
Claims (15)
1.一种用于车辆实时移动轨迹展示的方法,由服务终端执行,所述方法包括:
以第一预定时间间隔从车辆终端获取状态信息,所述状态信息包括所述车辆终端的定位信息和与所述车辆终端相关联的车辆标识信息,并基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块;
以第二预定时间间隔从车辆呼叫终端获取车辆数据请求,所述车辆数据请求包括与所述车辆呼叫终端相关联的请求定位信息,并基于所述请求定位信息,确定所述车辆呼叫终端的数据请求区域;
响应于所述以第二预定时间间隔获取的所述车辆数据请求,基于所述数据请求区域以及车辆终端所位于的地理位置区块,确定与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息,并确定所述至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列,其中,所述定位信息序列包括多个定位信息,其中,所述预定时间段与所述第二预定时间间隔的时长相同;以及
响应于所述以第二预定时间间隔获取的所述车辆数据请求,以所述第二预定时间间隔向所述车辆呼叫终端输出所述至少一个车辆终端中每个车辆终端的车辆标识信息以及在所述预定时间段内的定位信息序列。
2.如权利要求1所述的方法,其中,所述状态信息还包括与所述车辆终端的定位信息相对应的时间戳,
其中,从车辆终端以第一预定时间间隔获取状态信息包括:
基于与所述车辆终端的定位信息相对应的时间戳,将所述车辆终端的定位信息存储到定位信息集合中,其中,所述定位信息集合中的每个定位信息按照与每个定位信息相对应的时间戳来排序。
3.如权利要求1所述的方法,其中,基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块包括:
基于所述车辆终端的定位信息,确定所述车辆终端所位于的地理位置区块在预先确定的地理位置区块集合中的地理位置区块索引;以及
将所述车辆终端的车辆标识信息与所述地理位置区块索引相关联,
其中,所述地理位置区块集合包括预先确定的多个地理位置区块,其中,所述地理位置区块集合中的每个地理位置区块按照每个地理位置区块的地理位置区块索引来排序。
4.如权利要求3所述的方法,其中,所述车辆数据请求还包括与所述车辆呼叫终端相关联的数据请求半径,
其中,基于所述请求定位信息,确定所述车辆呼叫终端的数据请求区域包括:
基于所述请求定位信息,确定与所述车辆呼叫终端相关联的地理位置区块,并确定与所述车辆呼叫终端相关联的地理位置区块在所述地理位置区块集合中的地理位置区块索引;以及
基于所确定的与所述车辆呼叫终端相关联的地理位置区块在所述地理位置区块集合中的地理位置区块索引、与所述车辆呼叫终端相关联的数据请求半径以及所述地理位置区块集合中的每个地理位置区块的区块尺寸,确定与所述车辆呼叫终端的车辆数据请求相对应的地理位置区块索引范围。
5.如权利要求4所述的方法,其中,确定与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息包括:
确定与所述地理位置区块索引范围中的每个地理位置区块索引相关联的车辆标识信息。
6.如权利要求5所述的方法,其中,所述状态信息还包括与所述车辆终端相关联的车辆类型和工作状态,
其中,确定与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息还包括:
基于所述车辆类型和工作状态,对与所述地理位置区块索引范围中的每个地理位置区块索引相关联的车辆标识信息进行过滤;以及
将过滤后的车辆标识信息确定为所述与位于所述数据请求区域内的至少一个车辆终端相关联的车辆标识信息。
7.如权利要求2所述的方法,其中,所述车辆数据请求还包括与所述车辆数据请求相对应的请求时间戳,
其中,确定所述至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列包括:
在所述定位信息集合中,将所述请求时间戳之前的所述预定时间段内的定位信息的序列确定为所述定位信息序列。
8.如权利要求7所述的方法,还包括:
对所述定位信息序列中的每个定位信息进行位置调整;以及
输出经过位置调整后的定位信息的序列。
9.如权利要求3所述的方法,其中,所述车辆终端的定位信息包括所述车辆终端所处位置的经度值和纬度值,
其中,基于所述车辆终端的定位信息确定所述车辆终端所位于的地理位置区块在预先确定的地理位置区块集合中的地理位置区块索引包括:
对所述经度值和纬度值分别进行二进制编码,以获取分别与所述经度值和纬度值相对应的经度编码序列和纬度编码序列;
对所述经度编码序列和纬度编码序列进行合并,以生成所述车辆终端的定位信息编码;以及
对所述定位信息编码进行十进制转换,以生成转换后的定位信息值,并将所述定位信息值作为所述车辆终端所位于的地理位置区块在预先确定的地理位置区块集合中的地理位置区块索引。
10.一种用于车辆实时移动轨迹展示的方法,由车辆呼叫终端执行,所述方法包括:
以第二预定时间间隔向服务终端发送车辆数据请求,所述车辆数据请求包括与所述车辆呼叫终端相关联的请求定位信息;
以所述第二预定时间间隔从服务终端获取与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端的车辆标识信息以及在预定时间段内的定位信息序列,其中,所述预定时间段与所述第二预定时间间隔的时长相同;以及
基于所述定位信息序列,展示所述至少一个车辆终端中每个车辆终端在所述预定时间段内的实时移动轨迹。
11.如权利要求10所述的方法,其中,所述车辆数据请求还包括与所述车辆呼叫终端相关联的数据请求半径,
其中,与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端位于与所述车辆数据请求相对应的数据请求区域内,
其中,所述数据请求区域基于与所述车辆呼叫终端相关联的请求定位信息以及所述数据请求半径来确定。
12.如权利要求10所述的方法,其中,所述车辆数据请求还包括与所述车辆数据请求相对应的请求时间戳,
其中,从服务终端获取与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端在预定时间段内的定位信息序列包括:
从服务终端获取与所述车辆数据请求相对应的至少一个车辆终端中每个车辆终端在所述请求时间戳之前的所述预定时间段内的定位信息序列。
13.如权利要求10所述的方法,其中,基于所述定位信息序列,展示所述至少一个车辆终端中每个车辆终端在所述预定时间段内的实时移动轨迹包括:
对所述每个车辆终端的所述定位信息序列进行平滑关联处理;以及
基于所述经平滑关联处理后的定位信息序列,展示所述每个车辆终端在所述预定时间段内的实时移动轨迹。
14.一种用于车辆实时移动轨迹展示的系统,包括车辆终端、车辆呼叫终端和服务终端,其中,
所述车辆终端被配置为以第一预定时间间隔向所述服务终端发送所述车辆终端的状态信息,所述状态信息包括所述车辆终端的定位信息和与所述车辆终端相关联的车辆标识信息;
所述服务终端被配置为执行如权利要求1-9中任一项所述的方法;并且
所述车辆呼叫终端被配置为执行如权利要求10-13中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010951729.2A CN111988746B (zh) | 2020-09-11 | 2020-09-11 | 用于车辆实时移动轨迹展示的方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010951729.2A CN111988746B (zh) | 2020-09-11 | 2020-09-11 | 用于车辆实时移动轨迹展示的方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988746A CN111988746A (zh) | 2020-11-24 |
CN111988746B true CN111988746B (zh) | 2022-08-02 |
Family
ID=73451076
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010951729.2A Active CN111988746B (zh) | 2020-09-11 | 2020-09-11 | 用于车辆实时移动轨迹展示的方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988746B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114355839B (zh) * | 2022-03-18 | 2022-07-29 | 浙江西图盟数字科技有限公司 | 一种运动轨迹处理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107993434A (zh) * | 2017-12-05 | 2018-05-04 | 北京摩拜科技有限公司 | 车辆调度方法、服务器、客户端及系统 |
CN109389850A (zh) * | 2017-08-10 | 2019-02-26 | 丰田自动车株式会社 | 信息通知设备、信息通知系统、信息通知方法和程序 |
CN110275933A (zh) * | 2019-06-26 | 2019-09-24 | 广州小鹏汽车科技有限公司 | 车辆行驶的同步显示方法、装置、终端和计算机设备 |
CN110648529A (zh) * | 2019-09-16 | 2020-01-03 | 腾讯大地通途(北京)科技有限公司 | 一种车辆行驶轨迹的渲染方法、装置、设备及存储介质 |
WO2020052733A1 (en) * | 2018-09-11 | 2020-03-19 | Nokia Technologies Oy | Method and apparatus for multi-vehicle manoeuvre and impact analysis |
CN111339230A (zh) * | 2020-02-24 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种车辆信息显示方法、装置、电子设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170188199A1 (en) * | 2007-08-30 | 2017-06-29 | Wirelesswerx International, Inc. | Flow control in a defined location |
CN102520431A (zh) * | 2011-12-14 | 2012-06-27 | 北京百纳威尔科技有限公司 | 车辆追踪导航方法及移动终端 |
CN104468847B (zh) * | 2014-12-31 | 2017-12-15 | 山东赛维安讯信息科技有限公司 | 一种车辆的行程记录信息分享方法、设备、服务器及系统 |
TWI684746B (zh) * | 2017-06-19 | 2020-02-11 | 大陸商北京嘀嘀無限科技發展有限公司 | 用於在地圖上顯示運輸工具的移動和行駛路徑的系統、方法和非暫時性電腦可讀取媒體 |
CN111178577B (zh) * | 2019-11-22 | 2023-12-29 | 陕西天行健车联网信息技术有限公司 | 一种基于geohash算法的服务站选址方法 |
-
2020
- 2020-09-11 CN CN202010951729.2A patent/CN111988746B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109389850A (zh) * | 2017-08-10 | 2019-02-26 | 丰田自动车株式会社 | 信息通知设备、信息通知系统、信息通知方法和程序 |
CN107993434A (zh) * | 2017-12-05 | 2018-05-04 | 北京摩拜科技有限公司 | 车辆调度方法、服务器、客户端及系统 |
WO2020052733A1 (en) * | 2018-09-11 | 2020-03-19 | Nokia Technologies Oy | Method and apparatus for multi-vehicle manoeuvre and impact analysis |
CN110275933A (zh) * | 2019-06-26 | 2019-09-24 | 广州小鹏汽车科技有限公司 | 车辆行驶的同步显示方法、装置、终端和计算机设备 |
CN110648529A (zh) * | 2019-09-16 | 2020-01-03 | 腾讯大地通途(北京)科技有限公司 | 一种车辆行驶轨迹的渲染方法、装置、设备及存储介质 |
CN111339230A (zh) * | 2020-02-24 | 2020-06-26 | 腾讯科技(深圳)有限公司 | 一种车辆信息显示方法、装置、电子设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
Software/hardware co-design of a vehicle trajectory monitoring system;Chia-Hung Lien,Po-Tsun Chen,Ying-Wen Bai;《2008 IEEE International Symposium on Consumer Electronics》;20080709 * |
基于网格化的出租车空载寻客路径推荐;高瞻,余辰,向郑涛,陈宇峰;《计算机应用与软件》;20190512 * |
Also Published As
Publication number | Publication date |
---|---|
CN111988746A (zh) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5599830B2 (ja) | 経路案内システム、経路案内サーバ装置およびナビゲーション端末装置 | |
CN102265114B (zh) | 用于存储和提供路线的系统和方法 | |
CN105210119B (zh) | 通过计算装置提供的位置数据点确定通行费的数额 | |
US8990005B2 (en) | System and method for providing georeferenced predictive information to motor vehicles | |
US20190178651A1 (en) | Transmitting Map Data Images in a Limited Bandwidth Environment | |
US8738284B1 (en) | Method, system, and computer program product for dynamically rendering transit maps | |
US11391595B2 (en) | Method, apparatus, and computer program product for updating a map database | |
CN104335206A (zh) | 用于更新数字地图的方法及系统 | |
TWI725360B (zh) | 用於確定地圖上的新道路的系統和方法 | |
EP4086783A1 (en) | Electronic horizon creation method and system | |
JP4695123B2 (ja) | 位置情報取得装置,位置情報取得方法および位置情報取得プログラム | |
US20230409611A1 (en) | Improving Offline Map Data Availability | |
CN108332754B (zh) | 路径优化方法、装置、电子设备及计算机存储介质 | |
CN111046116A (zh) | 一种地理空间数据的快速查询与传输方法 | |
CN111988746B (zh) | 用于车辆实时移动轨迹展示的方法、系统及存储介质 | |
US20190390971A1 (en) | Determining cumulative estimated time for requested services | |
CN101354262B (zh) | 基于导航系统的数据下载方法及数据下载系统 | |
US20210123763A1 (en) | Method, system, and computer program product for generating map update data | |
WO2010067409A1 (ja) | 情報提供システム、情報配信サーバおよび情報提供方法 | |
US20200278214A1 (en) | Method, system, and computer program product for generating synthetic demand data of vehicle rides | |
CN105139683A (zh) | 路况信息推送方法及装置 | |
JP2004191115A (ja) | ナビゲーションシステムの地図データ更新システム | |
CN114862491A (zh) | 车辆位置确定方法、派单方法、装置、服务器及存储介质 | |
US10852155B2 (en) | Language density locator | |
JP6582918B2 (ja) | 更新情報配信システム、更新情報配信方法、及び更新情報配信プログラム |
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 |