用于确定移动设备的路径的系统和方法与流程

文档序号:15883808发布日期:2018-11-09 18:27阅读:145来源:国知局
用于确定移动设备的路径的系统和方法与流程
本申请要求于2016年3月14日提交的申请号为201610142880.5的中国申请的优先权,其内容通过引用的方式被包含于此。本申请一般涉及用于收集移动设备的位置信息的系统和方法,具体地,涉及用于确定移动车辆的路径的系统和方法。
背景技术
当移动设备沿着道路或街道移动时,服务器可以收集移动设备的位置信息(例如,gps信息)。服务器可以从数据库加载地图数据,分析移动设备的位置信息,并基于地图数据确定移动设备的路径。在某些情况下,当地图数据不可用时,可能难以确定移动设备的路径。技术实现要素:本申请的一方面揭示一种系统,该系统可以包括一个或以上存储介质以及与该存储介质通信的一个或以上处理器。一个或以上存储介质可以包括用于确定移动设备的路径的一组指令。当一个或以上处理器执行该组指令时,对于至少两个移动设备的每个移动设备,一个或以上处理器可以用于执行以下操作中的一个或以上。一个或以上处理器可以获得与移动设备有关的至少两个位置点。一个或以上处理器可以确定至少两个位置点中的两个位置点之间的移动设备的至少一个平均速度。所述一个或以上处理器可基于所述至少一个平均速度从所述至少两个位置点中移除至少一个干扰位置点。所述一个或以上处理器可基于所述至少一个平均速度将所述至少两个位置点的剩余项确定为有效位置点集。一个或以上处理器可以基于该有效位置点集来确定移动设备的路径。一个或以上处理器可以在一个或以上存储介质中存储移动设备的路径的数据。在一些实施例中,一个或以上处理器可以识别至少两个位置点所在的区域。一个或以上处理器可以确定地图数据不可用于该区域。在一些实施例中,一个或以上处理器可以基于对应于至少两个移动设备的确定的路径构建地图。在一些实施例中,一个或以上处理器可以从至少两个位置点中选择第一点、第二点和第三点。一个或以上处理器可以在第一点、第二点和第三点中的任何两点之间确定移动设备的三个平均速度。在一些实施例中,一个或以上处理器可以确定移动设备的参考速度。一个或以上处理器可以执行三个平均速度与参考速度之间的比较。一个或以上处理器可以基于比较确定从第一点、第二点和第三点中是否出现干扰位置点。当干扰位置点出现时,一个或以上处理器可以移除干扰位置点。一个或以上处理器可以从第一位置点、第二位置点和第三位置点的剩余项中确定至少一个有效位置点。在一些实施例中,参考速度可以是至少一个平均速度中的最大一个。在一些实施例中,一个或以上处理器可以从该有效位置点集中选择第一有效位置点、第二有效位置点和第三有效位置点。一个或以上处理器可以基于第一有效位置点、第二有效位置点和第三有效位置点来确定第一路线。一个或以上处理器可以基于第一路线确定移动设备的路径。在一些实施例中,一个或以上处理器可以从该有效位置点集中选择第四有效位置点。一个或以上处理器可以确定到第一路线上的第四有效位置点的对应点。一个或以上处理器可以确定第四有效位置点和对应点之间的距离。一个或以上处理器可以确定距离小于阈值。一个或以上处理器可以基于对应点更新第一路线。一个或以上处理器可以基于更新后的第一路线来确定移动设备的路径。在一些实施例中,一个或以上处理器可以确定距离大于阈值。一个或以上处理器可以将第四有效位置点确定为路径的转折点。在一些实施例中,一个或以上处理器可以基于第一路线和转折点来更新移动设备的路径。在一些实施例中,一个或以上处理器可以选择第五有效位置点和第六有效位置点。一个或以上处理器可以基于转折点、第五有效位置点和第六有效位置点来确定第二路线。一个或以上处理器可以基于第一路线和第二路线来更新移动设备的路径。根据本申请的另一个方面,披露了一种方法,该方法可以包括以下操作的一个或以上。计算机服务器可以获得与移动设备有关的至少两个位置点。计算机服务器可以确定至少两个位置点中两个位置点之间的移动设备的至少一个平均速度。计算机服务器可以基于至少一个平均速度从至少两个位置点中移除至少一个干扰位置点。计算机服务器可以基于至少一个平均速度将至少两个位置点的剩余项确定为有效位置点集。计算机服务器可以基于该有效位置点集来确定移动设备的路径。计算机服务器可以在一个或以上存储介质中存储移动设备的路径的数据。在一些实施例中,计算机服务器可以识别至少两个位置点所在的区域。计算机服务器可以确定地图数据不可用于该区域。在一些实施例中,计算机服务器可以基于对应于至少两个移动设备的确定的路径构建地图。在一些实施例中,计算机服务器可以从至少两个位置点中选择第一点、第二点和第三点。计算机服务器可以在第一点、第二点和第三点中的任何两个之间确定移动设备的三个平均速度。在一些实施例中,计算机服务器可以确定移动设备的参考速度。计算机服务器可以执行三个平均速度与参考速度之间的比较。计算机服务器可以基于比较来确定从第一点、第二点和第三点中是否出现干扰位置点。当干扰位置点出现时,计算机服务器可以移除干扰位置点。计算机服务器可以从第一位置点、第二位置点和第三位置点的剩余项中确定至少一个有效位置点。在一些实施例中,参考速度可以是至少一个平均速度中的最大一个。在一些实施例中,计算机服务器可以从该有效位置点集中选择第一有效位置点、第二有效位置点和第三有效位置点。计算机服务器可以基于第一有效位置点、第二有效位置点和第三有效位置点来确定第一路线。计算机服务器可以基于第一路线确定移动设备路径。在一些实施例中,计算机服务器可以从该有效位置点集中选择第四有效位置点。计算机服务器可以确定在第一路线上的第四有效位置点的对应点。计算机服务器可以确定第四有效位置点和对应点之间的距离。计算机服务器可以确定该距离小于阈值。计算机服务器可以基于对应点更新第一路线。计算机服务器可以基于更新后的第一路线来确定移动设备的路径。在一些实施例中,计算机服务器可以确定距离大于阈值。计算机服务器可以将第四有效位置点确定为路径的转折点。在一些实施例中,计算机服务器可以基于第一路线和转折点来更新移动设备的路径。在一些实施例中,计算机服务器可以选择第五有效位置点和第六有效位置点。计算机服务器可以基于转折点、第五有效位置点和第六有效位置点来确定第二路线。计算机服务器可以基于第一路线和第二路线来更新移动设备路径。本申请的一部分附加特性可以在下面的描述中进行说明,通过对以下描述和相应附图的检查或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过实践或使用以下实例中详细讨论的方法、手段及组合的各个方面来达成。附图说明本申请将结合示例性实施例进一步进行描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在附图的多种视图下的实施例中,相似的编号表示相似的结构,其中:图1是根据一些实施例的示例性按需服务系统100的框图;图2是根据本申请的一些实施例所示的按需服务系统中的示例性计算装置的框图;图3-a是根据本申请的一些实施例所示的示例性处理引擎的框图;图3-b是根据本申请的一些实施例所示的确定移动设备的路径的示例性过程/方法300的流程图;图4是根据本申请的一些实施例所示的确定有效位置点集的示例性过程/方法400的流程图;图5-a和图5-b是根据本申请的一些实施例所示的确定移动设备的路径的示例性过程/方法500的流程图;图6-a是根据本申请的一些实施例所示的确定转折点的示例性过程/方法的示意图;以及图6-b是根据本申请的一些实施例所示的至少两个位置点的示例性分布的示意图。具体实施方式以下描述是为了使本领域的普通技术人员能够实施和利用本申请,并在特定应用及其要求的上下文中提供。对于本领域的普通技术人员来讲,对本申请披露的实施例进行的各种修改是显而易见的,并且本文中定义的通则在不背离本申请的精神及范围的情况下,可以适用于其他实施例及应用。因此,本申请不限于所示的实施例,而是符合与权利要求一致的最广泛的范围。本申请中所使用的术语仅用于描述特定示例性实施例,并不限制本申请的范围。如本申请所使用的“一”、“一个”、“所述”、“该”等词语并非特指单数,也可包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。在考虑了作为本申请一部分的附图的描述内容后,本申请的特征和特点以及操作方法、结构的相关元素的功能、各部分的组合、制造的经济性变得显而易见。然而,应当理解,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例的。本申请中使用了流程图用于说明根据本申请的实施例的系统所执行的操作。应当理解的是,流程图的操作不一定按照顺序来精确地执行。相反,可以按照倒序执行或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中,或者从这些流程图中移除某一步或数步操作。此外,虽然本申请描述的系统和方法主要是关于分配一组可分享订单,但是应当理解,这仅仅是一个示例性的实施例。本申请的系统和方法可以适用于其他任一种按需服务。例如,本申请的系统和方法还可以应用于不同的运输系统,包括陆地、海洋、航空、航天等,或其任意组合。所述运输系统的车辆可以包括出租车、私家车、顺风车、公交车、列车、动车、高铁、地铁、船舶、飞机、飞船、热气球、无人驾驶车辆等,或其任意组合。运输系统还可以包括用于经营和/或分配的任何运输系统,例如用于发送及/或接收快递的系统。本申请的系统或方法的应用场景可包括网页、浏览器插件、客户端、定制系统、内部分析系统、人工智能机器人等,或其任意组合。本申请中的术语“乘客”、“请求者”、“服务请求者”和“客户”可以互换使用,其用于表示请求或订购服务的个人、实体或工具。此外,本申请中的术语“司机”、“提供者”、“服务提供者”和“供应者”可以互换使用,其用于表示提供服务或协助提供服务的个人、实体或工具。在本申请中,术语“用户”可以是请求服务、预定服务、提供服务或协助提供服务提供的个人、实体或工具。例如,用户可以是乘客、司机、操作员等,或其任意组合。在本申请中,“乘客”和“乘客终端”可互换使用,“司机”和“司机终端”可互换使用。本申请中的术语“服务请求”和“订单”可以互换使用,其用于表示由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者、供应者等或其任意组合发起的请求。“服务请求”可以由乘客、请求者、服务请求者、顾客、司机、提供者、服务提供者、供应者等中的一个接受。服务请求可以是计费的或免费的。本申请中使用的定位技术可以包括全球定位系统(globalpositioningsystem,gps)、全球导航卫星系统(globalnavigationsatellitesystem,glonass)、罗盘导航系统(compassnavigationsystem,compass)、伽利略定位系统、准天顶卫星系统(quasi-zenithsatellitesystem,qzss)、无线保真(wirelessfidelity,wifi)定位技术等,或上述举例的任意组合。上述一个或多个定位系统可在本发明中交替使用。本申请的一个方面涉及无需地图数据,基于移动设备的位置信息(例如,gps点)确定移动车辆(例如,车辆、用户终端)的路径的系统和方法,和/或基于至少两个移动设备的至少两个路径来构建地图的系统和方法。应该注意的是,gps定位总体上是一种深深扎根于互联网世界的技术。如果没有终端设备和远程服务器之间的实时gps定位和实时通信的可能性,则不可能在不使用地图的情况下确定车辆的行驶路径。因此,本申请中公开的技术方案也是一种深深植根于互联网时代的技术。对于平台或处理引擎的应用场景,应用场景可以包括用户终端(例如,请求者终端或提供者终端)和车辆(例如,出租车)。当用户终端或车辆沿着道路移动时,平台或处理引擎可以获得用户终端或车辆的位置信息(例如,gps信息)。例如,当用户呼叫出租车时,平台或处理引擎可以获得用户的位置信息并将其提供给出租车司机。平台或处理引擎还可以获得出租车司机(即,提供者终端或车辆)的位置信息,并确定出租车司机的移动路径。图1是根据一些实施例所示的一种示例性按需服务系统100的框图。例如,按需服务系统100可以是提供运输服务的在线运输服务平台,如出租车呼叫、代驾服务、快车、拼车、公交车服务、司机招聘和班车服务。按需服务系统100可以是包括服务器110、网络120、请求者终端130、提供者终端140和数据库150的在线平台。服务器110可以包括处理引擎112。在一些实施例中,服务器110可以是单个服务器或服务器群。服务器群可以是集中式的或分布式的(例如,服务器110可以是分布式系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络120存取存储于请求者终端130、提供者终端140和/或数据库150中的信息和/或数据。又例如,服务器110可以直接连接到请求者终端130、提供者终端140和/或数据库150,以存取存储的信息和/或数据。在一些实施例中,服务器110可以在云平台上实现。仅作为示例,所述云平台可以包括私有云、公共云、混合云、小区云、分布云、中间云、多云等,或上述举例的任意组合。在一些实施例中,服务器110可以在图2中描述的包含一个或以上组件的计算装置200上执行。在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可处理与服务请求相关的信息和/或数据来执行在本申请中描述的一个或以上功能。例如,处理引擎112可以确定请求者终端130、提供者终端104或与按需服务系统100相关的车辆的路径。在一些实施例中,所述处理引擎112可包括一个或以上处理引擎(例如,单核处理引擎或多核处理器)。仅作为示例,处理引擎112可以包括中央处理单元(cpu)、特定应用集成电路(asic)、特定应用指令集处理器(asip)、图形处理单元(gpu)、物理处理单元(ppu)、数字信号处理器(dsp)、现场可程序门阵列(fpga)、可程序逻辑装置(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处理器等,或其任意组合。在一些实施例中,处理引擎112可以集成在请求者终端130或提供者终端140中。网络120可以促进信息和/或数据的交换。在一些实施例中,按需服务系统100中的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140和数据库150)可以通过网络120向按需服务系统100中的其他组件发送信息和/或数据。例如,服务器110可以通过网络120从请求者终端130获得/获取服务请求。在一些实施例中,网络120可以是有线网络或无线网络中的一种,或其组合。仅作为示例,网络120可以包括缆线网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(localareanetwork,lan)、广域网(wideareanetwork,wan)、无线局域网络(wirelesslocalareanetwork,wlan)、城域网(metropolitanareanetwork,man)、公用电话交换网(publictelephoneswitchednetwork,pstn)、蓝牙网络、紫蜂网络、近场通讯(nearfieldcommunication,nfc)网络等,或上述举例的任意组合。在一些实施例中,网络120可以包括一个或以上网络交换点。例如,网络120可以包括有线或无线网络交换点,如基站和/或互联网交换点120-1、120-2,……,通过交换点,按需服务系统100的一个或以上组件可以连接到网络120以交换数据和/或信息。在一些实施例中,请求者可以是请求者终端130的用户。在一些实施例中,请求者终端130的用户可以是请求者之外的其他人。例如,请求者终端130的用户a可以使用请求者终端130为用户b发送服务请求,或从服务器110接收服务和/或信息或指令。在一些实施例中,提供者可以是提供者终端140的用户。在一些实施例中,提供者终端130的用户可以是除该提供者之外的其他人。例如,提供者终端140的用户c可以使用提供者终端140为用户d接收服务请求和/或从服务器110处接收信息或指令。在一些实施例中,“请求者”和“请求者终端”可以交换使用,“提供者”和“提供者终端”可以交换使用。在一些实施例中,请求者终端130可以包括移动装置130-1、平板计算机130-2、膝上型计算机130-3、车辆内建装置130-4等,或上述举例的任意组合。在一些实施例中,移动装置130-1可包括智能家居装置、可穿戴装置、智能移动装置、虚拟现实装置、增强现实装置等,或其任意组合。在一些实施例中,智能家居装置可以包括智能照明装置、智能电器的控制装置、智能监控装置、智能电视、智能摄像机、对讲机等,或其任意组合。在一些实施例中,可穿戴装置可以包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配饰等,或其任意组合。在一些实施例中,智能移动装置可以包括智能手机、个人数字助理(pda)、游戏装置、导航装置、销售点(pos)设备等,或上述举例的任意组合。在一些实施例中,虚拟现实装置和/或增强现实装置可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实装置和/或增强现实装置可以包括googleglasstm、oculusrifttm、hololenstm、gearvrtm等。在一些实施例中,车辆内建装置130-4可以包括车载计算机或车载电视等。在一些实施例中,请求者终端130可以是带有定位技术的装置,用于定位请求者和/或请求者终端130的位置。在一些实施例中,提供者终端140可以是与请求者终端130相似或相同的装置。在一些实施例中,提供者终端140可以是带有定位技术的装置,用来确定提供者及/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以与其他定位装置通信来确定请求者、请求者终端130、提供者和/或提供者终端140的位置。在一些实施例中,请求者终端130和/或提供者终端140可以将定位信息发送至服务器110。数据库150可以存储数据和/或指令。在一些实施例中,数据库150可以存储从请求者终端130和/或提供者终端140获取的数据。在一些实施例中,数据库150可以存储供服务器110执行或使用的数据和/或指令,服务器110可以通过执行或使用所述数据和/或指令以实现本申请描述的示例性方法。在一些实施例中,数据库150可以包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(read-onlymemory,rom)等,或其任何组合。示例性大容量存储器可以包括磁盘、光盘、固态驱动器等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性的易失性读写存储器可以包括随机存取存储器(randomaccessmemory,ram)。示例性的ram可以包括动态ram(dynamicram,dram)、双倍数据速率同步动态ram(doubledateratesynchronousdynamicram,ddrsdram)、静态ram(staticram,sram)、晶闸管ram(thyristorram,t-ram)、零电容器ram(zero-capacitorram,z-ram)等。示例性rom可以包括屏蔽式rom(maskrom,mrom)、可编程rom(programmablerom,prom)、可擦除可编程rom(erasableprogrammablerom,perom)、电可擦除可编程rom(electricallyerasableprogrammablerom,eeprom)、光盘rom(compactdisk,cd-rom)、数字多功能盘rom等。在一些实施例中,数据库150可以在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布式云、中间云、多云等,或其任何组合。在一些实施例中,数据库150可以与网络120连接以与按需服务系统100中的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140等)通信。按需服务系统100中的一个或以上组件可以通过网络120存取存储于数据库150中的数据或指令。在一些实施例中,数据库150可以直接与按需服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140等)连接或通信。在一些实施例中,数据库150可以是服务器110的一部分。在一些实施例中,按需服务系统100的一个或以上组件(例如,服务器110、请求者终端130、提供者终端140等)可以被允许访问数据库150。在一些实施例中,当满足一个或以上条件时,按需服务系统100的一个或以上组件可以读取和/或修改与请求者、提供者和/或公众相关的信息。例如,在完成服务后,服务器110可以读取和/或修改一个或以上用户的信息。再例如,当从请求者终端130接收到服务请求时,提供者终端140可以访问与所述请求者相关的信息,但是提供者终端140无法修改请求者的相关信息。在一些实施例中,按需服务系统100的一个或以上组件的信息交换可以通过请求服务的方式实现。服务请求的客体可以是任一产品。在一些实施例中,所述产品可以是有形产品或无形产品。有形产品可以包括食品、医药、商品、化学产品、电器、衣物、小汽车、房屋、奢侈品等,或上述举例的任意组合。无形产品可以包括服务产品、金融产品、知识产品、互联网产品等,或其任意组合。互联网产品可以包括个人主机产品、网站产品、移动互联网产品、商业主机产品、嵌入式产品等,或上述举例的任意组合。移动互联网产品可以用于移动终端的软件、程序、系统等或上述举例的任意组合。移动终端可以包括平板计算机、膝上型计算机、移动手机、个人数字助理(pda)、智能手表、pos设备、车载计算机、车载电视、可穿戴装置等,或上述举例的任意组合。例如,产品可以是在计算机或移动电话上使用的任一软件和/或应用。软件和/或应用可以与社交、购物、运输、娱乐、学习、投资等或其任意组合相关。在一些实施例中,与运输相关的软件和/或应用可以包括出行软件和/或应用、车辆调度软件和/或应用、地图软件和/或应用等。在车辆调度软件及/或应用程序中,车辆可以是马、马车、人力车(例如,独轮手推车、脚踏车、三轮车等)、汽车(例如,出租车、公交车、私人汽车等)、列车、地铁、船只、航空器(例如,飞机、直升机、航天飞机、火箭、热气球等)等,或其任意组合。图2是根据申请的一些实施例所示的计算装置200的示例性硬件和软件组件的示意图,服务器110、请求者终端130和/或提供者终端140可以在计算装置200上实现。例如,处理引擎112可以在计算装置200上实施并被配置为执行本申请所披露的处理引擎112的功能。计算装置200可以是通用计算机或特殊用途计算机,二者可以用来实现本申请的按需系统。计算装置200可以被用于实现当前描述的按需服务系统的任一组件。例如,处理引擎112可以在计算装置200上通过其硬件、软件程序、固件或其组合来实现。为了方便起见,图中只绘出一台计算机,但本申请中描述的与按需服务相关的计算机功能可以以分布的方式、在一组相似的平台上实施,以分散处理负载。例如,计算设备200可以包括与网络连接的通信端口250,以促进数据通信。计算装置200可以包括中央处理单元(cpu)220,可以以一个或以上处理器的形式执行程序指令。示例性的计算机平台可以包括内部总线210、不同形式的程序内存和数据存储器,例如,磁盘270、只读存储器(rom)230或随机存取存储器(ram)240,用于存储由计算机处理和/或传输的各种各样的数据文件。示例性的计算机平台可以包括存储在只读存储器230、随机存取存储器240和/或其他类型的非易失性存储介质中的由中央处理单元220执行的程序指令。本申请的方法和/或过程可以以程序指令的方式实施。计算装置200还包括输入/输出组件260,用于支持计算机与此处其他部件(例如,用户界面单元280)之间的输入/输出。计算装置200也可以通过网络通信接收程序设计和数据。仅仅为了说明,计算装置200中仅示例性描述了一个cpu和/或处理器。然而,需要注意的是,本申请中的计算装置200可以包括至少两个cpu和/或处理器,因此本申请中描述的由一个cpu和/或处理器实现的操作和/或方法也可以共同地或独立地由至少两个cpu和/或处理器实现。例如,在本申请中,如果计算装置200的中央处理单元和/或处理器执行步骤a和步骤b,应当理解的是步骤a和步骤b可以由计算装置200的两个不同的中央处理单元和/或处理器共同或分别执行(例如,第一处理器执行步骤a,第二处理器执行步骤b,或者第一处理器和第二处理器共同执行步骤a和b)。图3-a是根据本申请的一些实施例所示的示例性处理引擎112的框图。处理引擎112可包括采集模块310,速度确定模块320,预先确定模块330和路径确定模块340。采集模块310可以被配置为获得与移动设备有关的至少两个位置点(例如,gps点)。移动设备可以包括请求者终端130、提供者终端140或提供者的车辆。采集模块310可以从请求者终端130、提供者终端140或车辆中的定位系统(例如,gps、行车记录器)获得至少两个位置点。速度确定模块320可以被配置为确定至少两个位置点中的两个位置点之间的移动设备的至少一个平均速度。预先确定模块330可以被配置为确定有效位置点集。例如,预先确定模块330可以确定是否出现干扰位置点并从至少两个位置点中移除干扰位置点。路径确定模块340可以被配置为基于该有效位置点集来确定移动设备的路径。移动设备的路径可以是直线或曲线。处理引擎112中的模块可以通过有线连接或无线连接的方式互相连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等,或其任意组合。无线连接可以包括局域网络(lan)、广域网络(wan)、蓝牙、紫蜂网络、近场通讯(nfc)等,或上述举例的任意组合。两个或两个以上模块可以合并成一个模块,以及任意一个模块可以被拆分成两个或两个以上单元。例如,采集模块310和速度确定模块320可以被集成为单个模块,其可以获得至少两个位置点并且确定至少两个位置点中的任何两个之间的至少一个平均速度。图3-b是根据本申请的一些实施例所示的确定移动设备的路径的示例性过程/方法300的流程图。过程和/或方法300可以由按需服务系统100执行。例如,过程/方法可以被实现为存储于存储器rom230或ram240的一组指令(例如,一个应用)。cpu210可以执行该组指令,并且可以相应地用于执行该过程和/或方法300。在步骤302中,处理引擎112可以获取与移动设备相关的至少两个位置点(例如,gps点)。例如,位置点可以是由安装在车辆上的gps装置检测到的车辆的位置点。位置点也可以是车辆中的移动终端(例如,请求者终端130或提供者终端140)的位置点。至少两个位置点的数量可以是至少3个。当处理引擎112获得至少两个位置点时,处理引擎112可识别所述至少两个位置点所在的区域,并确定地图数据是否可用于该区域。如果地图数据可用于区域,则处理引擎112可基于地图数据分析至少两个位置点并在地图上(例如,腾讯地图、谷歌地图)确定移动设备的路径(例如,道路或街道的一部分)。如果地图数据不可用于该区域,则处理引擎112可以进一步处理至少两个位置点,例如,确定至少两个位置点中的任意两点之间的平均速度并确定是否出现干扰位置点。如本申请所使用的,干扰位置点可以指不能反映移动设备的实际位置的错误点。错误点可以包括偏离移动设备的正常轨道的点或者由系统错误导致的点。由于干扰位置点被错误地测量,因此可能导致估计的移动设备的路径不准确。处理引擎112可以基于至少两个位置点中的任何两点之间的至少两个平均速度来确定干扰位置点,并从至少两个位置点中移除干扰位置点。在一些实施例中,处理引擎112可以从集成在移动设备中的定位系统中获得至少两个位置点。例如,处理引擎112可以从请求者终端130、提供者终端140或车辆中的gps获得至少两个位置点。作为另一示例,处理引擎112可从车辆中的行车记录仪获得至少两个位置点。处理引擎112可以经由网络120与gps或行车记录仪通信。作为另一示例,提供者终端140可以与车辆连接或通信,处理引擎112可以从提供者终端140获得车辆的至少两个位置点。在一些实施例中,处理引擎112可以从数据库150中获得至少两个位置点。数据库可以存储按时间(例如,一小时、一天、一周)分类的移动设备的至少两个位置点。至少两个位置点中的任何一点可以包括位置信息和时间信息。位置信息可以指移动设备的地理位置(例如,纬度、经度、高度)。时间信息可以指移动设备到达该地理位置的时间点。例如,时间信息可以是定位系统将地理信息发送到处理引擎112的时间点。作为另一示例,时间信息可以是处理引擎112从定位系统接收图形信息的时间点。在本公开中,时间信息可以被统称为“位置点的时间点”。在一些实施例中,处理引擎112可以周期性地获得至少两个位置点。例如,处理引擎112可以根据预定的时间间隔(例如,5s)获得至少两个位置点。在步骤304中,处理引擎112可以确定至少两个位置点中的两个位置点之间的移动设备的至少一个平均速度。处理引擎112可以基于对应于两个位置点的位置信息和时间信息来确定平均速度。例如,处理引擎112可以基于位置信息确定两个位置点之间的距离,并且基于时间信息确定两个位置点之间的时间差。处理引擎112可以进一步基于距离和时间差确定平均速度。应当注意的是,本申请中所使用的“距离”可以指空间距离或行进距离。处理引擎112可以进一步基于距离和时间差确定平均速度。应当注意的是,本申请中所使用的“距离”可以指空间距离或行进距离。如本文所使用的,空间距离可以指车辆可以行进的路径的距离,例如道路或街道的一部分。在步骤306中,处理引擎112可以基于移动设备的至少一个平均速度来确定有效位置点集。处理引擎112可以确定一个或以上干扰位置点并从至少两个位置点中移除干扰位置点。处理引擎112可以定义速度阈值(也称为“参考速度”)并且将平均速度与速度阈值进行比较。例如,如果两个位置点之间的平均速度大于或等于速度阈值,则意味着车辆在导航期间经历了异常的速度变化,这被认为是不可能的,或者至少两个位置点中的至少一个是没有被正确测量的。因此,处理引擎112可以确定至少两个位置点中的至少一个是干扰位置点。在步骤308中,处理引擎112可以基于该有效位置点集确定移动设备的路径。处理引擎112可以基于该有效位置点集来确定一条或以上路线。路线可以是直线或曲线。处理引擎112可以基于拟合方法确定路线。拟合方法可以包括线性拟合方法、多项式拟合方法等,或其组合。处理引擎112还可以基于一条或以上路线确定移动设备的路径。例如,处理引擎112可以确定两条路线并将这两条线连接为路径。在一些实施例中,处理引擎112可以将该有效位置点集划分为至少两个组(例如,包括3个有效位置点的组),并且同时或连续地处理该至少两个组。例如,对于至少两个组中的每一个,处理引擎112可以基于线性回归确定路线。处理引擎112还可以通过连接至少两条路线来确定移动设备的路径。在一些实施例中,处理引擎112还可以在数据库150或本申请中其他地方公开的任何存储设备中存储移动设备的路径的数据。在一些实施例中,处理引擎112可以进一步指示与移动设备(例如,请求者终端130、提供者终端140等)相关的显示器(例如,屏幕)以显示移动设备的路径。在一些实施例中,处理引擎112可以确定至少两个移动设备的至少两个路径。例如,对于地图数据不可用的区域,处理引擎112可以收集在区域中行进的至少两个车辆的位置信息(例如,gps点),并且确定至少两个车辆中的每一个的路径。所确定的至少两个车辆的路径可以指示该区域中的道路网络。在一些实施例中,处理引擎112可以基于与至少两个车辆相对应的所确定的路径来构建地图。此外,处理引擎112可以以特定的时间间隔(例如,10分钟)更新地图。在一些实施例中,处理引擎112可以将区域的地图存储在数据库150中或本申请中其他地方公开的任何存储设备中。在一些实施例中,至少两个位置点的数量或该有效位置点集的数量可以是2。在这种情况下,处理引擎112可以直接连接两个位置点并确定移动设备的路径。在一些实施例中,位置点或该有效位置点集的数量可以仅为1。在这种情况下,处理引擎112可以向用户(例如,请求者或提供者)提供警报或提供通知以通知错误。在一些实施例中,如结合图1所述,处理引擎112可以集成在请求者终端130或提供者终端140中。处理引擎112可以获得请求者终端130或提供者终端140的位置点,并基于位置点确定请求者终端130或提供者终端140的路径。处理引擎112还可以将请求者终端130或提供者终端140的路径存储在数据库150或请求者终端130或提供者终端140的存储器(例如,rom230或ram240)中。应当注意,除了图1所示的应用场景之外,处理引擎112可以用在任何系统(例如,智能运输系统)中并且集成在用于确定移动设备的路径的任何移动设备中。图4是根据本申请的一些实施例所示的确定有效位置点集的示例性过程/方法400的流程图。过程和/或方法400可以由按需服务系统100执行。例如,过程/方法可以被实现为存储于存储器rom230或ram240的一组指令(例如,一个应用)。cpu210可以执行这组指令,并且可以相应的用于执行该过程和/或方法400。在步骤402中,处理引擎112可以按时间顺序对至少两个位置点进行排名。至少两个位置点的数量可以是至少3个。如这里所使用的,“按时间顺序排列”可以指的是处理引擎112可以根据至少两个位置点的时间点对至少两个位置点进行排名,例如,从早到晚。如表1所示,处理引擎112可以生成第一排序结果。表1是示出至少两个位置点的排序结果的示意表在步骤404中,处理引擎112可以根据第一排序结果从至少两个位置点中选择第一点、第二点和第三点。例如,处理引擎112可以根据第一排序结果选择前3个位置点作为第一点、第二点和第三点。在步骤406中,处理引擎112可以确定第一点,第二点和第三点中的任何两个之间的三个平均速度。例如,处理引擎112可以确定第一点和第二点之间的第一平均速度、第二点和第三点之间的第二平均速度以及第一点和第三点之间的第三平均速度。为了方便和说明的目的,第一点被描述为点a,第二点被描述为点b,第三点被描述为点c。因此,第一平均速度被描述为vab、第二平均速度被描述为vbc、第三平均速度被描述为vac。在步骤408中,处理引擎112可以确定移动设备的速度阈值。该速度阈值可以是按需服务系统100的默认设置,或可以根据不同的情况进行调整。例如,在交通高峰期,速度阈值可以相对较小(例如,50km/h),而在空闲时段(例如,1:00-5:00am),速度阈值可能相对较大(例如80km/h)。又例如,处理引擎112可确定最早位置点(例如,表1中所示的位置点1)与最新位置点(例如,表1中所示的位置点n)之间的全局平均速度。在步骤410中,处理引擎112可基于速度阈值和三个平均速度确定是否出现任何干扰位置点。例如,处理引擎112可以将vab、vbc和vac与速度阈值进行比较,并生成下面表2中所示的比较结果。处理引擎112可以根据比较结果确定是否出现任何干扰位置点或者哪个点是干扰位置点。表2是说明干扰位置点的示例性确定结果的示意表其中vlimit是指速度阈值,表2中的斜线表示没有干扰位置点。如果处理引擎112确定在点a、点b和点c之间出现一个或以上干扰位置点,则处理引擎112可执行处理/方法400至步骤412以移除干扰位置点,然后到步骤412确定一个或以上有效位置点。如果处理引擎112确定在点a、点b和点c之间没有出现干扰位置点,则处理引擎112可执行过程/方法400至步骤414以确定点a、点b和点c为有效位置点。在步骤416中,处理引擎112可以确定是否选择了所有位置点。如果是,则处理引擎112可以执行过程和/或方法400至结束。然后,处理引擎112可以基于有效位置点确定移动设备的路径。如果不是,则处理引擎112可以执行过程和/或方法400至步骤418。在步骤418中,处理引擎112可以根据第一排序结果更新第一点、第二点和第三点。处理引擎112可以确定更新的第一点、更新的第二点和更新的第三点,并且重复步骤406-414中的至少一个,直到选择了所有位置点。在一些实施例中,在步骤414中,如果处理引擎112确定多于一个有效位置点,则处理引擎112可以将有效位置点中的最新一个确定为更新的第一点。如本文所使用的,“最新的一个”可以指根据第一排序结果具有最新时间点的位置点。例如,在步骤414中,如果处理引擎112将点a和点c确定为有效位置点,则在步骤418中,处理引擎112可将点c确定为更新的第一点。在一些实施例中,在步骤414中,如果处理引擎112仅确定一个有效位置点(例如,点a),则在步骤418中,处理引擎112可以直接将该有效位置点确定为更新的第一点。处理引擎112然后可以根据第一排序结果选择两个附随位置点(例如,点d和点e)。处理引擎112可将点d确定为更新的第二点,并将点e确定为更新的第三点。图5-a和图5-b是根据本申请的一些实施例所示的确定移动路径的示例性过程/方法500的流程图。过程和/或方法500可以由按需服务系统100执行。例如,过程/方法可以被实现为存储于存储器rom230或ram240的一组指令(例如,一个应用)。中央处理单元210可以执行所述组指令并相应地执行过程和/或方法500。过程和/或方法500可以是循环过程,直到处理了该有效位置点集中所有有效位置点。通过循环过程,处理引擎112可以确定至少两条路线(例如,第一路线、第二路线、......、第n路线)。在一些中间步骤中,处理引擎112可以更新至少两条路线并生成至少两条更新的路线(例如,更新的第一路线,更新的第二路线、......、更新的第n线路)。处理引擎112可以基于至少两条路线和/或至少两条更新的路线确定移动设备的路径。在步骤502中,处理引擎112可以按时间顺序对该有效位置点集进行排名。如步骤402所述,处理引擎112可以根据有效位置点的时间点对该有效位置点集进行排序,并生成下面表3中所示的第二排序结果。表3是示出有效位置点的集合的排序结果的示意表有效位置点时间点第二排序结果1’9:0012’9:0223’9:043………m’10:00m在步骤504中,处理引擎112可以根据第二排序结果从该有效位置点集中选择三个有效位置点。例如,处理引擎112可以根据第二排序结果选择前三个有效位置点(例如,有效位置点1'、位置点2'和位置点3')。在步骤506中,处理引擎112可以基于三个有效点确定第一路线。第一路线可以是直线或曲线。处理引擎112可以根据拟合方法确定第一路线。例如,处理引擎112可以根据线性拟合方法确定直线(例如,图6-a中示出的直线a'c')。第一路线可以包括第一起始点(例如,图6-a中示出的点a')和第一终点(例如,图6-a中示出的点c')。在步骤508中,处理引擎112可以确定是否选择了所有有效位置点。如果是,则处理引擎112可以执行过程和/或方法500至步骤510以基于第一路线确定路径。如果不是,则处理引擎112可以执行过程和/或方法500至步骤512。在步骤512中,在处理引擎112确定第一路线之后,处理引擎112可以根据第二排序结果选择三个有效位置点的附随有效位置点。例如,处理引擎112可以从该有效位置点集中选择有效位置点4'。在步骤514中,处理引擎112可以确定第一路线上所选择的附随点的对应点。如这里所使用的,“第一路线上的对应点”可以指第一路线上或第一路线的延长线上所选择的附随点的投影点。例如,处理引擎112可以从所选择的附随点确定垂直于第一路线的参考路线,并确定参考路线和第一路线的交叉点。处理引擎112可以将交叉点(例如,图6-a中示出的点d2')确定为所选择的附随点的对应点。在处理引擎112确定对应点之后,处理引擎112可以执行过程和/或方法500到节点a515,以执行从图5-b中所示的节点a515开始的至少一些步骤。在步骤516中,处理引擎112可以确定所选择的附随点与对应点之间的距离(例如,图6-a中示出的点d2和点d2'之间的距离),并确定距离是否为小于距离阈值(例如,20米)。如果是,则处理引擎112可以执行过程和/或方法500至步骤518,以基于所选择的附随点来更新第一路线。如果不是,则处理引擎112可以执行过程和/或方法500至步骤520,以将附随点确定为转折点。如本文所使用的,转折点可以指示移动设备从第一路线转向。在步骤518中,处理引擎112可以基于所选择的附随点来更新第一路线。在一些实施例中,如果第一路线是直线,则处理引擎112可以通过修改第一起点或第一终点来更新第一路线。例如,处理引擎112可以将第一终点修改为参考路线和第一路线的交叉点。又例如,处理引擎112可以对三个选择的有效位置点和所选择的附随点应用线性拟合方法,并确定更新后的第一路线。在一些实施例中,如果第一路线是曲线,则处理引擎112可以通过将曲线与附随点连接来更新第一路线。在处理引擎112更新第一路线之后,处理引擎112可以执行过程和/或方法500到节点b519并且重复从步骤508开始的至少一些步骤。在步骤520中,处理引擎112将附随点确定为转折点后,处理引擎112可以确定是否选择了所有有效位置点。如果是,则处理引擎112可以执行过程和/或方法500至步骤524以基于第一路线和转折点确定路径。例如,在步骤524中,处理引擎112可以通过直线或曲线将第一路线的端点与转折点连接。如果不是,则处理引擎112可以执行过程和/或方法500至步骤526,以根据第二排序结果选择转折点的两个附随有效位置点。在步骤528中,处理引擎112可以基于转折点和两个附随的有效位置点确定第二路线。与第一路线类似,第二路线可以是直线或曲线。如果仅有一个有效位置点要处理,则处理引擎112可以通过连接转折点和最新的有效位置点来确定第二路线。在步骤530中,处理引擎112可以确定是否选择了所有有效位置点。如果是,则处理引擎112可以执行过程和/或方法500至步骤532以基于第一路线和第二路线确定路径。如果不是,则处理引擎112可以执行过程和/或方法500到节点c531并且重复从步骤512开始的至少一些步骤。应当注意,以上描述仅以一个循环过程为例,在实际情况中,可能存在至少两个循环过程。此外,以上描述仅出于说明的目的而提供,并非旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的修正和改变。然而,这些修正和改变不会背离本申请的范围。例如,如果该有效位置点集的数量相对较大(例如,100),则可以省略处理引擎112确定是否选择了所有有效位置点的一些步骤。图6-a是根据本申请的一些实施例所示的确定转折点的示例性过程/方法的示意图。如图6-a所示,处理引擎112从该有效位置点集中选择点a、点b和点c。处理引擎112通过线性拟合方法基于点a、点b和点c确定路线a'c'。路线a'c'包括起点a'和终点c'。在处理引擎112确定路线a'c'之后,处理引擎112可以从该有效位置点的剩余项中选择附随点(例如,点d1或点d2)。对于点d1,处理引擎112可以确定路线a'c'上的对应点d1”并确定点d1和点d1”之间的距离d1d1”。处理引擎112还可以将距离d1d1”与距离阈值进行比较。如图所示,距离d1d1”大于距离阈值,处理引擎112然后可以将点d1确定为转折点。处理引擎112还可以选择两个附随有效位置点(即,点e和点f)并确定路线d1'f'。对于点d2,处理引擎112可以在路线a'c'上确定对应点d2'并确定点d2和点d2'之间的距离d2d2'。如图所示,距离d2d2'小于距离阈值,处理引擎112可以将路线a'c'更新为路线a'd2'。图6-b是根据本申请的一些实施例所示的至少两个位置点的示例性分布的示意图。如图6-b所示,虚线指的是移动设备正在移动的道路或街道的一部分。因为地图数据不可用,所以道路或街道可能是不可见的。实心点指的是至少两个位置点。至少两个位置点的分布可以是沿着道路或街道的正态分布,即,道路或街道可以是正态分布的回归线。可以假设干扰位置点已经被移除,处理引擎112可以在至少两个位置点上应用线性回归方法并且确定移动设备的路径(即,道路或者街道的一部分)。上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本申请的限定。虽然此处并没有明确说明,本领域技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。同时,本申请使用了特定术语来描述本申请的实施例。例如,“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特性可以进行适当的组合。此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以呈现为位于一个或以上计算机可读媒体中的计算机产品,该产品具有计算机可读程序编码。计算机可读信号介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合形式。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机可读信号介质上的程序编码可以通过任何合适的媒体进行传播,包括无线电、缆线、光纤电缆、rf、或类似媒体、或任何上述媒体的合适组合。本申请各方面操作所需的计算机程序码可以用一种或多种程序语言的任意组合编写,包括面向对象程序设计,如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net,python或类似的常规程序编程语言,如"c"编程语言,visualbasic,fortran2003,perl,cobol2002,php,abap,动态编程语言如python,ruby和groovy或其它编程语言。程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机上运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(saas)。此外,除非申请专利范围中明确说明,否则所述处理元素或序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请过程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统元件可以通过硬体装置实现,但是也可以只通过软件的解决方案得以实现,如在现有的伺服器或行动载具上安装所描述的系统。同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1