欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 车辆行驶的定位方法、装置、电子设备及介质独创技术43627字

车辆行驶的定位方法、装置、电子设备及介质

2021-02-06 19:57:13

车辆行驶的定位方法、装置、电子设备及介质

  技术领域

  本发明涉及移动终端技术领域,特别是涉及一种车辆行驶的定位方法、装置、电子设备及存储介质。

  背景技术

  随着网约车,快递运输等行业的兴起。在业务发展越来越多的情况下,对车辆行驶路程的准确度要求也越来越高。通常情况下,利用起点和终点的经纬度直接计算出距离,并将每两点之间的距离累积相加,得到最后的总距离数据。

  但是,相关技术中,由于利用起点和终点计算的距离是直线距离,这种直线距离与实际行驶的距离会有很大的误差;特别是在车辆进入一个弱网环境或者GPS信号弱的环境下,有可能获取不到该车辆的定位坐标点,而这段路程就会被丢掉,这样计算出的总距离由于缺失很多车辆的关键坐标点,会与实际行程的路程存在误差。再者,在车辆行驶过程中,如果App退到后台时,由于某些原因,App有可能被迫退出(即被系统杀死的情况),由于不能对车辆进行实时定位,而会丢掉很多坐标点,从而导致计算的距离不准确。又或者车辆在堵车、加速、减速、掉头等情况因车速的原因会导致车辆定位的点飘,也不能准确的定位到当前车辆所在的位置。

  因此,在车辆的行驶过程中,如何能精确的对行驶车辆进行定位,是目前有待解决的技术问题。

  发明内容

  本发明实施例所要解决的技术问题是提供一种车辆行驶的定位的方法,以解决现有技术中在GPS信号弱或网络差时不能精确的定位到行驶车辆的位置,从而导致行驶车辆定位差的技术问题。

  相应的,本发明实施例还提供了一种移动终端确定行驶路程的装置、电子设备及存储介质装置,用以保证上述方法的实现及应用。

  为了解决上述问题,本发明是通过如下技术方案实现的:

  第一方面提供一种车辆行驶的定位方法,所述方法应用于移动终端上的应用程序APP,所述方法包括:

  APP在检测到车辆开始行驶时,请求GPS定位,以及开启定时器开始计时;

  在所述定时器达到预设间隔时间时,所述APP判断当前GPS定位是否中断;

  如果所述GPS定位中断,则所述APP重新请求GPS定位,直到获取车辆行驶中对应的定位坐标点信息。

  可选的,在所述定时器达到预设间隔时间时,所述APP判断当前GPS定位是否中断,包括:

  在所述定时器达到预设间隔时间时,所述APP通过向服务器发送一个心跳包来判断所述APP当前在后台是否正常运行,进而判定当前GPS定位是否中断。

  可选的,在所述定时器达到预设间隔时间时,所述APP通过向服务器发送一个心跳包来判断当前GPS定位是否中断,包括:

  在所述定时器达到预设间隔时间时,所述APP向服务器发送一个心跳包;

  如果所述APP在设定时间内接收到所述服务器反馈的响应,则确定所述APP在后台运行正常,判定GPS定位正常;

  如果在设定时间内没有接收到所述服务器反馈的响应,则确定所述APP在后台已经被杀死,判定GPS定位中断。

  可选的,在判定所述GPS定位中断后,所述方法还包括:

  所述APP接收到所述服务器发送的静默推送通知,所述静默推送通知用于指示由于服务器在设定时间内没有接收到APP发送的心跳包,主动唤醒所述APP的通知,以便于执行所述重新请求GPS定位的步骤。

  可选的,所述方法还包括:

  在重新请求GPS定位后,所述APP每间隔预设时间获取车辆行驶中的一个GPS定位坐标点信息;

  所述APP确定获取的第一个GPS定位坐标点信息与相邻的第二个GPS定位坐标点信息之间的第一距离;

  如果所述第一距离不大于预设距离阈值,则判定相邻的第二个GPS定位坐标点信息合格,保存所述第二个GPS定位坐标点信息,继续判断与所述第二个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第二个GPS定位坐标点信息的距离是否大于预设距离阈值,如果不大于预设距离阈值,继续迭代判断,直到车辆行驶结束。

  可选的,所述方法还包括:

  如果大于所述预设距离阈值,则判定所述第二个GPS定位坐标点信息有误,过滤掉所述第二个GPS定位坐标点信息;

  确定与所述第二个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第一个GPS定位坐标点信息的之间的第二距离;

  如果所述第二距离大于两倍的预设距离阈值,则所述APP判定所述第二个GPS定位坐标点信息的下一个GPS定位坐标点信息有误,过滤掉所述下一个GPS定位坐标点信息;

  所述APP继续依次迭代判断与所述下一个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第一个GPS定位坐标点信息的之间的第三距离是否大于三倍的预设距离阈值,直到得到合格的GPS定位坐标点信息,保存所述合格的GPS定位坐标点信息;

  所述APP继续迭代判断与合格的所述GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与合格的所述GPS定位坐标点信息的距离是否大于预设阈值,直到车辆行驶结束;

  如果所述第二距离不大于两倍的预设距离阈值,所述APP判定与所述第二GPS定位坐标点信息相邻的下一个GPS定位坐标点信息合格,保存所述下一个GPS定位坐标点信息,继续迭代判断与所述下一个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第二个GPS定位坐标点信息的距离是否大于预设距离阈值,直到车辆行驶结束。

  第二方面提供一种车辆行驶的定位装置,所述装置应用于移动终端,所述装置包括:

  请求模块,用于在检测到车辆开始行驶时,请求GPS定位;

  启动模块,用于在所述请求模块请求GPS定位时,开启定时器开始计时;

  第一判断模块,用于在所述启动模块开启的所述定时器达到预设间隔时间时,判断当前GPS定位是否中断;

  重新请求模块,用于所述第一判断模块判断所述GPS定位中断时,重新请求GPS定位,直到获取车辆行驶中对应的定位坐标点信息。

  可选的,所述第一判断模块具体用于在所述启动模块开启的所述定时器达到预设间隔时间时,通过向服务器发送一个心跳包来判断所述APP当前在后台是否正常运行,进而判定当前GPS定位是否中断。

  可选的,所述第一判断模块包括:

  发送模块,用于在所述启动模块开启的所述定时器达到预设间隔时间时,向服务器发送一个心跳包;

  第一接收模块,用于在设定时间内接收所述服务器反馈的响应;

  第一确定模块,用于在所述第一接收模块接收到所述服务器反馈的响应时,确定应用程序在后台运行正常,判定GPS定位正常;

  第二确定模块,用于在所述第一接收模块没有接收到所述服务器反馈的响应,确定所述APP在后台已经被系统杀死,判定GPS定位中断。

  可选的,所述装置还包括:

  第二接收模块,用于在所述第二确定模块确定所述GPS定位中断后,接收到所述服务器发送的静默推送通知,所述静默推送通知用于指示由于服务器在设定时间内没有接收到APP发送的心跳包,主动唤醒所述APP的通知;

  所述重新请求模块,还用于在所述第二接收模块接收到所述服务器发送的静默推送通知时,重新请求GPS定位。

  可选的,所述装置还包括:

  获取模块,用于在所述重新请求模块重新请求GPS定位后,每间隔预设时间获取车辆行驶中的一个GPS定位坐标点信息;

  第一距离确定模块,用于确定获取的第一个GPS定位坐标点信息与相邻的第二个GPS定位坐标点信息之间的第一距离;

  第二判断模块,用于判断所述第一距离是否不大于预设距离阈值;

  第三确定模块,用于在所述第二判断模块判定所述第一距离不大于预设距离阈值时,判定相邻的第二个GPS定位坐标点信息合格;

  第一存储模块,用于在所述第三确定模块确定所述第二个GPS定位坐标点信息合格时,保存所述第二个GPS定位坐标点信息;

  第一迭代判断模块,用于继续迭代判断与所述第二个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第二个GPS定位坐标点信息的距离是否大于所述预设距离阈值,直到车辆行驶结束。

  可选的,所述装置还包括:

  第四确定模块,用于在所述在所述第二判断模块判定所述第一距离大于所述预设距离阈值时,判定所述第二个GPS定位坐标点信息有误;

  第一过滤模块,用于所述第四确定模块确定所述第二个GPS定位坐标点信息有误时,过滤掉所述第二个GPS定位坐标点信息;

  第二距离确定模块,用于确定与所述第二个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第一个GPS定位坐标点信息的之间的第二距离;

  第三判断模块,用于判断所述第二距离是否大于两倍的预设距离阈值;

  第五确定模块,用于在所述第三判断模块判定所述第二距离大于两倍的预设距离阈值时,确定所述第二个GPS定位坐标点信息的下一个GPS定位坐标点信息有误;

  第二过滤模块,用户在所述第五确定模块确定所述第二个GPS定位坐标点信息的下一个GPS定位坐标点信息有误时,过滤掉所述下一个GPS定位坐标点信息;

  第二迭代判断模块,用于继续依次迭代判断与所述下一个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第一个GPS定位坐标点信息的之间的第三距离是否大于三倍的预设距离阈值,直到得到合格的GPS定位坐标点信息;

  第二存储模块,用于所述迭代判断模块判定出合格的GPS定位坐标点信息时,保存所述合格的GPS定位坐标点信息;

  第三迭代判断模块,用于继续迭代判断与合格的所述GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与合格的所述GPS定位坐标点信息的距离是否满足预设阈值,直到行驶结束;

  第六确定模块,用于在所述第三判断模块判定所述第二距离不大于两倍的预设距离阈值,判定与所述第二GPS定位坐标点信息相邻的下一个GPS定位坐标点信息合格;

  第三存储模块,用于在所述第六确定模块确定与所述第二GPS定位坐标点信息相邻的下一个GPS定位坐标点信息合格时,保存所述下一个GPS定位坐标点信息;

  第四迭代判断模块,用于继续迭代判断与所述下一个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第二个GPS定位坐标点信息的距离是否大于预设距离阈值,直到车辆行驶结束。

  第三方面提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上所述的车辆行驶的定位方法的步骤。

  第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的车辆行驶的定位方法中的步骤。

  第五方面提供提供根据一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得所述电子设备执行上述所述的车辆行驶的定位方法中的步骤。

  与现有技术相比,本发明实施例包括以下优点:

  本发明实施中,移动终端上的APP在检测到车辆开始行驶时,请求GPS定位,以及开启定时器开始计时;在所述定时器达到预设间隔时间时,APP判断当前GPS定位是否中断,如果所述GPS定位中断,则所述APP重新请求GPS定位,直到获取车辆行驶的定位坐标点信息。也就是说,本发明实施例中,预先在定时器上设置预设间隔时间,以及在所述定时器达到预设间隔时间时,所述APP判断当前GPS定位是否中断,以及在所述GPS定位中断时,通过重新请求GPS定位,来获取车辆行驶中对应的定位坐标点信息,从而提高车辆行驶中GPS定位的精度。

  应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

  附图说明

  图1是本发明实施例提供的一种车辆行驶的定位方法的流程图;

  图2是本发明实施例提供的一种车辆行驶的定位装置的结构示意图;

  图3是本发明实施例提供的一种第一判断模块的结构示意图;

  图4是本发明实施例提供的一种车辆行驶的定位装置的另一结构示意图;

  图5是本发明实施例提供的一种车辆行驶的定位装置的又结构示意图;

  图6是本发明实施例提供的一种车辆行驶的定位系统的应用实例的结构示意图。

  具体实施方式

  为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

  请参阅图1,为本发明实施例提供的一种车辆行驶的定位方法的流程图,所述方法应用于移动终端上的应用程序APP,具体可以包括如下步骤:

  步骤101:APP在检测到车辆行驶时,请求GPS定位,以及开启定时器开始计时;

  步骤102:在所述定时器达到预设间隔时间时,所述APP判断当前GPS定位是否中断;

  步骤103:如果所述GPS定位中断,则所述APP重新请求GPS定位,直到获取对应的定位坐标点信息。

  本发明实施例提供的车辆行驶的定位方法,可以应用于移动终端、服务器、客户端、后端或系统等,在此不作限制,其实施设备可以是智能手机,笔记本电脑、平板电脑等电子设备,在此也不作限制。

  下面结合图1,对本发明实施例提供的车辆行驶的定位方法的具体实施步骤进行详细说明。所述方法应用于移动终端上的应用程序APP。

  执行步骤101,APP在检测到车辆开始行驶时,请求GPS定位,以及开启定时器开始计时;

  该步骤中,在车辆开始行驶时,如果要对该行驶的车辆进行定位,则需要先点击进入安装在移动终端上的应用程序APP,即APP检测到该车辆开始行使时,开启GPS定位,即请求GPS定位,本实施例中,为避免由于其他因素导致APP被后台杀死,GPS持续定位中断,本实施例中,APP在请求GPS定位时,开启一个定时器,通过开启的定时器进行定时,需要说明的是,可以预先对该定时器设置预设间隔时间,比如,设置的预设间隔时间为:5秒、8秒、10秒、13秒或15秒等等,本实施例不做限制,也可以根据需要进行适应性调整,本实施例不做限制。

  其次,执行步骤102,在所述定时器达到预设间隔时间时,所述APP判断当前GPS定位是否中断,如果GPS定位中断,执行步骤103;

  该步骤中,当该定时器器达到预设间隔时间时,所述APP检测当前的GPS是否中断,比如,每间隔10s检测一下当前GPS定位是否中断,没有中断不作操作,如果中断,则执行步骤103。

  该步骤中,其判断GPS定位中断的目的,就是进一步检测该APP在后头是否被杀死(即在后台被迫退出程序),因为GPS的持续定位并不能保证App在后台能长期运行,可能会被其他线程或者外力因素导致App被系统杀死,这时定位就中断了。也即是说,如果该APP在后台被杀死,则GPS持续定位就会中断。

  其次,执行步骤1023,如果所述GPS定位中断,则所述APP重新请求GPS定位,直到获取车辆行驶的定位坐标点信息。

  该步骤中,所述GPS定位中断,APP需要重新请求GPS定位,直到获取到车辆行驶的定位坐标点信息,否则,继续执行上述流程。

  本发明实施中,移动终端上的APP在检测到车辆开始行驶时,请求GPS定位,以及开启定时器开始计时;在所述定时器达到预设间隔时间时,APP判断当前GPS定位是否中断,如果所述GPS定位中断,则所述APP重新请求GPS定位,直到获取车辆行驶的定位坐标点信息。也就是说,本发明实施例中,预先在定时器上设置预设间隔时间,以及在所述定时器达到预设间隔时间时,所述APP判断当前GPS定位是否中断,以及在所述GPS定位中断时,通过重新请求GPS定位,来获取车辆行驶中对应的定位坐标点信息,从而提高车辆行驶中GPS定位的精度。

  可选的,在另一实施例中,该实施例在上述实施例的基础上,所述在所述定时器达到预设间隔时间时,所述APP判断当前GPS定位是否中断,包括:

  在所述定时器达到预设间隔时间时,所述APP通过向服务器发送一个心跳包来判断所述APP当前在后台是否正常运行,进而判定当前GPS定位是否中断,其中,所述心跳包用来判断所述APP当前在后台是否正常运行。

  也就是说,该实施例中,在所述定时器达到预设间隔时间时,所述APP向服务器发送一个心跳包;如果服务器接收到该心跳包,会向APP反馈一个应答包,说明该APP在后台运行正常,进一步,如果APP在后台运行正常了,就可以判定GPS定位正常运行;如果服务器在设定时间内(比如25秒,30秒,或者25秒内等,本实施例不做限制)没有接收到该心跳包,也不会向APP反馈应答包,则说明APP在后台已被杀死,进一步,如果APP在后台已被杀死,则可以判定GPS定位中断。如果判定GPS定位中断,所述APP会重新请求GPS定位,直到获取车辆行驶中对应的定位坐标点信息。

  需要说明的是,APP和服务器均设置有定时器,在定时器上设定的时刻可选相同,也可以不同,本实施例不做限制。

  本发明实施例中,在所述定时器达到预设间隔时间时,可以利用心跳包技术可以判断所述APP当前在后台是否正常运行(即APP在后头是否被杀死),进而判定GPS定位是否中断,以及在GPS定位中断时,可以重新请求GPS定位,从而能精确的定位到车辆行驶的位置,提高移动终端对行驶车辆的定位效率。

  可选的,在另一实施例中,该实施例在上述实施例的基础上,在判定所述GPS定位中断后,所述方法还可以包括:

  所述APP接收到所述服务器发送的静默推送通知,所述静默推送通知用于指示由于服务器在设定时间内没有接收到APP发送的心跳包,主动唤醒后台APP的通知,以便于执行所述重新请求GPS定位的步骤。

  该实施例中,在判定所述GPS定位中断后,说明APP在后台已被杀死,由于服务器在设定时间内接收不到APP发送的心跳包,则会认为,该APP在后台已被杀死,主动向APP发送静默推送通知,主动唤醒后台的该APP。以便于让App不会长时间在后台被杀死,也就是说,该APP在后台已被杀死后,服务器主动向APP发送静默推送通知,主动唤醒后台的该APP,以便于在唤醒APP后,重新请求GPS定位,获取车辆行驶中对应的定位坐标点信息该做标点定位信息即运行车辆当前所在的位置的经纬度坐标点。

  本发明实施例中,在判定所述GPS定位中断后,通过服务器发送的静默推送通知来唤醒APP,重新请求GPS定位,从而能精确的定位到车辆行驶的位置,提高移动终端对行驶车辆的定位效率。

  可选的,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括:

  在重新请求GPS定位后,所述APP每间隔预设时间获取车辆行驶中的一个GPS定位坐标点信息;所述APP确定获取的第一个GPS定位坐标点信息与相邻的第二个GPS定位坐标点信息之间的第一距离;

  如果所述第一距离不大于预设距离阈值,则判定相邻的第二个GPS定位坐标点信息合格,保存所述第二个GPS定位坐标点信息,继续迭代判断与所述第二个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第二个GPS定位坐标点信息的距离是否大于预设距离阈值,直到车辆行驶结束。

  如果大于所述预设距离阈值,则判定所述第二个GPS定位坐标点信息有误,过滤掉所述第二个GPS定位坐标点信息;

  确定与所述第二个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第一个GPS定位坐标点信息的之间的第二距离;

  如果所述第二距离大于两倍的预设距离阈值,则所述APP判定所述第二个GPS定位坐标点信息的下一个GPS定位坐标点信息有误,过滤掉所述下一个GPS定位坐标点信息;

  所述APP继续依次迭代判断与所述下一个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第一个GPS定位坐标点信息的之间的第三距离是否大于三倍的预设距离阈值,直到得到合格的GPS定位坐标点信息,保存所述合格的GPS定位坐标点信息;

  所述APP继续迭代判断与合格的所述GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与合格的所述GPS定位坐标点信息的距离是否满足预设阈值,直到车辆行驶结束;

  如果所述第二距离不大于两倍的预设距离阈值,所述APP判定与所述第二GPS定位坐标点信息相邻的下一个GPS定位坐标点信息合格,保存所述下一个GPS定位坐标点信息,继续迭代判断与所述下一个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第二个GPS定位坐标点信息的距离是否大于预设距离阈值,直到车辆行驶结束。

  该实施例中,预设距离阈值是预先计算得到的,与车辆的行驶最大速度和时间有关系,假如每隔5s计算一次距离,那就要设定一个5s内车辆行驶的最大距离与最小距离,中国高速限速120km/h,我们假设车辆最高速度能开到150km/h,则5s内最大行驶距离为200m,最小距离为0m。故设置预设距离阈值为200米,如果计算车辆在5秒内行驶的两个坐标点之间的距离大于200m,说明获取的其中一个坐标点飘了,即不存在这样的一个坐标点。当然,该预设距离阈值可以根据需要适应性调整,本实施例不做限制。

  设定5s内行驶的最大距离与最小距离为预设距离阈值(比如以设置为200米为例)后,我们每5s获取一次车辆行驶所在位置的坐标点,称为下一个坐标点,该下一个坐标点与上一个坐标点相邻,且上一个坐标点为合格的坐标点,然后,计算上一个坐标点与下一个坐标点的距离,然后判断该距离是否大于预设距离阈值(比如200m),如果二者的距离超过200m,那么认为当前获取的下一个坐标点肯定是不准确的,也就是说该坐标点飘了,此时,要过滤掉这个坐标点,继续获取该下一个坐标点的下下一个坐标点,计算该下下一个坐标点与上一个坐标点的距离,然后该距离与预设距离阈值进行比较,当上一个坐标点不合格时,车辆行驶时间就累加为10s了,最大距离就累加到400m,将新取到的下下坐标点与上一个点之间的距离与预设距离阈值进行比较,如果这两点的距离小于或等于预设距离阈值,则认为此该下下坐标点合格,存储该下下坐标点,以便于将此坐标点作为正确的坐标点,并计算其与获取的再一个坐标点之间的距离是否大于预设距离阈值,其时间间隔间隔回到5s,最大距离又回到200m,如果再一次获取到的坐标点不合格,继续执行上述大于预设阈值的流程,如果合格,则执行上述小于或等于预设距离离职的流程。

  需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

  请参阅图2,为本发明实施例提供的一种车辆行驶的定位装置的结构示意图,所述装置应用于移动终端,具体可以包括如下模块:请求模块201,启动模块202,第一判断模块203和重新请求模块204,其中,

  该请求模块201,用于在检测到车辆开始行驶时,请求GPS定位;

  该启动模块202,用于在所述请求模块请求GPS定位时,开启定时器开始计时;

  该第一判断模块203,用于在所述启动模块开启的所述定时器达到预设间隔时间时,判断当前GPS定位是否中断;

  该重新请求模块204,用于所述第一判断模块203判定所述GPS定位中断时,重新请求GPS定位,直到获取车辆行驶中对应的定位坐标点信息。

  可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一判断模块203具体用于在所述启动模块开启的所述定时器达到预设间隔时间时,通过向服务器发送一个心跳包来判断所述APP当前在后台是否正常运行,进而判定当前GPS定位是否中断。

  可选的,在另一实施例中,该实施例在上述实施例的基础上,所述第一判断模块203包括:发送模块301,第一接收模块302,第一确定模块303和第二确定模块304,其结构示意图如图3所示,其中,

  该发送模块301,用于在所述启动模块202开启的所述定时器达到预设间隔时间时,向服务器发送一个心跳包;

  该第一接收模块302,用于在设定时间内接收所述服务器反馈的响应;

  该第一确定模块303,用于在所述第一接收模块302接收到所述服务器反馈的响应时,确定应用程序在后台运行正常,判定GPS定位正常;

  该第二确定模块304,用于在所述第一接收模块302没有接收到所述服务器反馈的响应,确定所述APP在后台已经被系统杀死,判定GPS定位中断。

  可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还包括:第二接收模块401,其结构示意图如图4所示,其中,

  该第二接收模块401,用于在所述第二确定模块304确定所述GPS定位中断后,接收到所述服务器发送的静默推送通知,所述静默推送通知用于指示由于服务器在设定时间内没有接收到APP发送的心跳包,主动唤醒所述APP的通知;

  所述重新请求203,还用于在所述第二接收模块401接收到所述服务器发送的静默推送通知时,重新请求GPS定位。

  可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还包括:获取模块501,第一距离确定模块502,第二判断模块503,第三确定模块504,第一存储模块505和第一迭代判断模块506,其结构示意图如图5所示,其中

  该获取模块501,用于在所述重新请求模块204重新请求GPS定位后,每间隔预设时间获取车辆行驶中的一个GPS定位坐标点信息;

  该第一距离确定模块502,用于确定获取的第一个GPS定位坐标点信息与相邻的第二个GPS定位坐标点信息之间的第一距离;

  该第二判断模块503,用于判断所述第一距离是否不大于预设距离阈值;

  该第三确定模块504,用于在所述第二判断模块判定所述第一距离不大于预设距离阈值时,判定相邻的第二个GPS定位坐标点信息合格;

  该第一存储模块505,用于在所述第三确定模块504确定所述第二个GPS定位坐标点信息合格时,保存所述第二个GPS定位坐标点信息;

  该第一迭代判断模块506,用于继续迭代判断与所述第二个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第二个GPS定位坐标点信息的距离是否大于所述预设距离阈值,直到车辆行驶结束。

  可选的,在另一实施例中,该实施例在上述实施例的基础上,所述装置还可以包括:第四确定模块,第一过滤模块,第二距离确定模块,第三判断模块,第五确定模块,第二过滤模块,第二迭代判断模块,第二存储模块,第三迭代判断模块,第六确定模块,第三存储模块和第四迭代判断模块,其中,

  第四确定模块,用于在所述在所述第二判断模块判定所述第一距离大于所述预设距离阈值时,判定所述第二个GPS定位坐标点信息有误;

  第一过滤模块,用于所述第四确定模块确定所述第二个GPS定位坐标点信息有误时,过滤掉所述第二个GPS定位坐标点信息;

  第二距离确定模块,用于确定与所述第二个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第一个GPS定位坐标点信息的之间的第二距离;

  第三判断模块,用于判断所述第二距离是否大于两倍的预设距离阈值;

  第五确定模块,用于在所述第三判断模块判定所述第二距离大于两倍的预设距离阈值时,确定所述第二个GPS定位坐标点信息的下一个GPS定位坐标点信息有误;

  第二过滤模块,用户在所述第五确定模块确定所述第二个GPS定位坐标点信息的下一个GPS定位坐标点信息有误时,过滤掉所述下一个GPS定位坐标点信息;

  第二迭代判断模块,用于继续依次迭代判断与所述下一个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第一个GPS定位坐标点信息的之间的第三距离是否大于三倍的预设距离阈值,直到得到合格的GPS定位坐标点信息;

  第二存储模块,用于所述迭代判断模块判定出合格的GPS定位坐标点信息时,保存所述合格的GPS定位坐标点信息;

  第三迭代判断模块,用于继续迭代判断与合格的所述GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与合格的所述GPS定位坐标点信息的距离是否满足预设阈值,直到行驶结束;

  第六确定模块,用于在所述第三判断模块判定所述第二距离不大于两倍的预设距离阈值,判定与所述第二GPS定位坐标点信息相邻的下一个GPS定位坐标点信息合格;

  第三存储模块,用于在所述第六确定模块确定与所述第二GPS定位坐标点信息相邻的下一个GPS定位坐标点信息合格时,保存所述下一个GPS定位坐标点信息;

  第四迭代判断模块,用于继续迭代判断与所述下一个GPS定位坐标点信息相邻的下一个GPS定位坐标点信息与所述第二个GPS定位坐标点信息的距离是否大于预设距离阈值,直到车辆行驶结束。

  对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

  为了便于理解,还请参阅图6,为本发明实施例提供的一种车辆行驶的定位系统的应用实例的示意图,所述系统包括移动终端上的应用程序APP(简称移动终端APP)以及后台服务器,在车辆开始行驶的时候开启GPS持续定位,确保App不被强制杀死的情况下,不论App在前台还是后台都能准确的记录当前车辆行驶的坐标点,可以每间隔5秒取一次整理行驶的正确坐标点,后面获取的坐标点依次与前面判定正确的坐标点计算距离,并将该距离与对应的预设距离阈值进行比较,过滤掉因GPS信号弱或者网路情况或者路况不好等取得的不合格的坐标点,保存正确的坐标点,还可以将该正确的坐标点传给后台。其过程具体包括:

  如图6所示,APP在检测到车辆开始行驶时,开启GPS持续定位,为避免其他因素导致GPS持续定位中断,同时开启一个定时器,假如每间隔10s检测一下当前GPS定位是否中断,如果GPS定位没有中断,则不做任何处理,如果GPS中断,则重新请求定位信息,直到返回定位信息,否则继续执行上述流程。

  本实施例中,GPS持续定位并不能保证App在后台能长期运行,在后台,APP可能会因为其他线程或者外力因素导致App被系统杀死,如果该APP在后台被系统杀死,则此时的GPS定位也就中断了,在该实施例中,采用了每间隔10s(以10s为例,但在实际应用中并不限于此)检测GPS定位的方案中,即APP每间隔10s后台(比如服务器)发送一个心跳包,该心跳包是为了让后台知道,APP当前在后台是运行的,如果在设定时间(比如30s)内服务器还无法收到心跳包,服务器则认为,当前APP在后台已经被系统杀死,此时,后台(比如服务器)会向App发送一条静默推送通知,在用户无感知的情况下在后台唤醒该APP,APP被唤醒后(即图的发送静默推送,后台唤醒APP),重新请求定GPS位,并执行上述流程。

  进一步,由于GPS自身的原因,每次返回的坐标点都不是一样的,GPS会返回以车辆为中心周围很小范围的坐标点,如果车辆静止不动的情况下,APP还会将这些坐标点记录保存,那么误差将会增大,所以,本发明实施例在车辆静止不动的情况下只取一个坐标点,其他的坐标点可以忽略不计,从而提高了合格坐标点的概率。

  该实施例中,假设车辆行驶时每间隔预设时间(以5s为例,但是实际应用中并不限于此)获取一次坐标点,并存储在本地,并计算该坐标点与上一个坐标点之间的距离,如果记录不超过预设距离阈值,则噶坐标点合格,并累计计算出的合格坐标点之间的距离,但是不合格的坐标点不应该在计算范围内。

  需要说明的是,本发明实施例中,既然是每间隔5s计算一次距离,那我们就要设定一个5s内车辆行驶的最大距离与最小距离,中国高速限速120km/h,假设车辆最高速度能开到150km/h,则5s内最大行驶距离为200m,最小距离为0m。其中,最大行驶距离又称为预设距离阈值。

  在设定了5s内行驶的最大距离与最小距离后,每间隔5s获取一次坐标点,然后计算该坐标点(比如第二个点)与上一个坐标点(即图中第一个点)之间的距离,在比较该距离是否超过预设距离阈值(比如200m),如果距离超过预设距离阈值200m,则说明第二点肯定是不合格不准确的,也就是说该坐标点(即第二个点)飘了,此时要过滤掉这个坐标点,继续取下一个坐标点(即为第三个点),并将该下一个坐标点(即为第三个点)与上一个坐标点(即为第一个点)之间的距离与两倍的预设距离阈值(即400m)进行比较,这是因为当上一个坐标点不合格时,时间就累加为10s(即第一个点与第三个点之间的时间为10s),最大距离就累加到400m((即第一个点与第三个点之间的行距离为400m,新取到的坐标点(即第三个点)与上一个坐标点(第一个点)之间的距离与两倍的预设距离阈值(即400m)进行比较,如果两点的距离在这个预设距离阈值范围内,则认为此坐标点合格,将此坐标点记录在本地,作为新获取的下下一个坐标点进行比较,间隔回到5s,最大距离回到200m,如果此坐标点也不合格(即第二个点与第三个点都不合格,计算第一个点与第四个点之间的时间为15s,距离是600m),继续执行上述判断不合格的流程,如果合格,则继续执行上述判断合格的流程,在此不再详细赘述。

  本实施例中,每次将正确的坐标点存贮下来,为避免存储的坐标点与计算出的距离丢失,本实施例中,可以每次在计算出距离后,将该距离数据上传至服务器。如果遇到断网情况下,先将正确的距离数据存贮在本地,待网络恢复后再上传给服务器。

  需要说明的是,图6所述的实施例以第一个点(其中,点就是坐标点,下同),第二个点和第三个点位为例,其后续获取的各个点的判断过程与上述实施例的实现过程类似,具体详见上述,在此不再赘述。

  本发明实施例还提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的车辆行驶的定位方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

  本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的车辆行驶的定位方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。

  可选的,本发明实施例还提供一种移动终端,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述车辆行驶的定位方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

  在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备执行上述所示的车辆行驶的定位方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

  本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

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

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

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

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

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

  最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

  以上对本发明所提供的一种车辆行驶的定位方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

《车辆行驶的定位方法、装置、电子设备及介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)