CN112469971A - 用于评估导航应用性能的***和方法 - Google Patents

用于评估导航应用性能的***和方法 Download PDF

Info

Publication number
CN112469971A
CN112469971A CN201980007074.9A CN201980007074A CN112469971A CN 112469971 A CN112469971 A CN 112469971A CN 201980007074 A CN201980007074 A CN 201980007074A CN 112469971 A CN112469971 A CN 112469971A
Authority
CN
China
Prior art keywords
route
time
traverse
amount
destination 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.)
Granted
Application number
CN201980007074.9A
Other languages
English (en)
Other versions
CN112469971B (zh
Inventor
J.P.约翰
S.格曼
S.迪拉德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN112469971A publication Critical patent/CN112469971A/zh
Application granted granted Critical
Publication of CN112469971B publication Critical patent/CN112469971B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3492Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3446Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3697Output of additional, non-guidance related information, e.g. low fuel level
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M99/00Subject matter not provided for in other groups of this subclass
    • G01M99/008Subject matter not provided for in other groups of this subclass by doing functionality tests

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)
  • Traffic Control Systems (AREA)

Abstract

为了评估导航应用的性能,导航性能评估***接收由导航应用生成的若干路线的指示,该导航应用在路线完成时在若干用户的客户端设备上操作。然后,导航性能评估***提供路线的后见分析,以确定是否可以生成更快的路线。后见分析是通过基于与路线在同一地理区域内的路段的实际穿越时间为每条路线生成后见路线来执行的。基于在用户请求对应于路线的导航方向的时间附近的在路段上行进的车辆来确定实际的穿越时间。基于后见分析,导航性能评估***生成路线的总体性能度量,指示导航应用识别最快路线的能力。

Description

用于评估导航应用性能的***和方法
技术领域
本公开涉及数字地图数据,更具体地,涉及评估导航应用中的路线确定方法的性能。
背景技术
本文提供的背景描述是为了大体呈现本公开的上下文。在本背景部分中描述的程度上,当前命名的发明人的工作,以及在提交时可能以其他方式不符合现有技术的描述的方面,既不明示也不暗示地被认为是针对本公开的现有技术。
今天,在计算机、智能电话、嵌入式设备等中执行的软件应用,生成可能包括交通数据的逐步导航方向。通常,用户指定起始位置和目的地位置,并且软件应用立即和/或在用户从起始位置向目的地位置行进时显示方向。软件应用通常生成在最短的时间量内将用户带到目的地位置的路线的方向。最短的时间量可以基于穿越路线的各段的预测时间量。
发明内容
为了评估生成从起始位置到目的地位置的路线的导航应用的性能,性能评估服务器接收由在若干用户的客户端设备上操作的导航应用生成的若干路线的指示。对于每条路线,性能评估服务器还接收穿越由导航应用生成的路线的预测时间量的指示,以及用户请求到目的地位置的导航方向的日期和时间或时间段的指示。此外,当用户同意共享位置和其他传感器数据时,性能评估服务器从向目的地位置行进的用户的客户端设备以及从同意共享位置和其他传感器数据的其他用户的客户端设备获得定位数据和其他传感器数据。
基于定位数据和/或其他传感器数据,性能评估服务器在用户到达目的地位置之后确定用户行进到目的地位置所花费的实际时间量。同样基于定位数据和/或其他传感器数据,性能评估服务器确定在用户请求导航方向的时间开始的最短时间内从起始位置行进到目的地位置的后见(hindsight)路线。更具体地,后见路线是通过根据来自用户的客户端设备的定位数据,计算用户穿越路线中包括的每个路段所花费的实际时间量来确定的。性能评估服务器还确定其他用户穿越路线中未包括的备选路段所花费的实际时间量。然后,性能评估服务器将后见路线识别为实际路线上的路段和备选路段的组合,其中该组合产生以最短时间量到达目的地位置的路线。
然后,性能评估服务器基于实际路线和后见路线之间的差异生成路线的性能度量。性能度量可以包括来自实际路线的包括在后见路线中的路段的百分比或后见路线的包括在实际路线中的总距离的百分比。性能度量还可以包括穿越路线的预测时间量和穿越路线的实际时间量的差异、穿越路线的实际时间量和穿越后见路线会花费的时间量的差异、以及穿越路线的预测时间量和穿越后见路线会花费的时间量的差异。导航应用的总体性能度量也可以基于每条路线的性能度量来生成。
然后,性能评估服务器可以提供每条路线的性能度量或总体性能度量,以用于在用户界面上显示。例如,该显示可以指示导航应用在95%的时间识别最快的路线。性能度量也可用于识别路线确定算法中的错误,并执行根本原因分析以确定错误的原因。此外,性能度量可用于调整用于生成从起始位置到目的地位置的路线的路线确定模型。例如,路线确定模型可以包括用于确定是否在路线上包括特定路段的若干参数的组合。每个参数可以被加权,并且性能评估服务器可以基于性能度量来调整参数的权重。
具体而言,本公开的技术的示例实施例是用于评估识别到目的地位置的最佳路线的导航应用的性能的方法。对于由导航应用生成的到多个目的地位置的多条路线中的每一条,该方法包括接收由导航应用响应于用户对从起始位置到目的地位置的导航方向的请求而生成的包括多个路段的路线的指示,基于穿越多个路段和穿越备选路段的实际时间量,确定在用户请求导航方向的时间处以最短时间量从起始位置行进到目的地位置的后见路线,该后见路线是在用户到达目的地位置之后确定的,并且将该路线与后见路线进行比较以确定该路线的性能度量。该方法还包括基于多条路线中的每一条的性能度量来提供导航应用的总体性能度量。
这些技术的另一实施例是用于评估识别到目的地位置的最佳路线的导航应用的性能的服务器设备。服务器设备包括一个或多个处理器和在其上存储指令的非暂时性计算机可读存储器。当指令由一个或多个处理器执行时,使得服务器设备对于由导航应用生成的到多个目的地位置的多条路线中的每一条,接收由导航应用响应于用户对从起始位置到目的地位置的导航方向的请求而生成的包括多个路段的路线的指示。指令还使得服务器设备基于穿越多个路段和穿越备选路段的实际时间量确定在用户请求导航方向的时间处以最短时间量从起始位置行进到目的地位置的后见路线,该后见路线是在用户到达目的地位置之后确定的,并且将该路线与后见路线进行比较,以确定该路线的性能度量。此外,指令使得服务器设备基于多条路线中的每条路线的性能度量来提供导航应用的总体性能度量。
这些技术的又一个实施例是在其上存储指令的非暂时性计算机可读介质。当指令由一个或多个处理器执行时,使得一个或多个处理器对于由导航应用生成的到多个目的地位置的多条路线中的每一条,接收由导航应用响应于用户对从起始位置到目的地位置的导航方向的请求而生成的包括多个路段的路线的指示。指令还使得一个或多个处理器基于穿越多个路段和穿越备选路段的实际时间量,确定在用户请求导航方向的时间处以最短时间量从起始位置行进到目的地位置的后见路线,该后见路线是在用户到达目的地位置之后确定的,并且将该路线与后见路线进行比较,以确定该路线的性能度量。此外,指令使得一个或多个处理器基于多条路线中的每一条路线的性能度量来提供导航应用的总体性能度量。
附图说明
图1示出了其中可以实施用于评估导航应用的性能的技术的示例通信***的框图;
图2A是包括由导航应用生成的从起始位置到目的地位置的路线的示例导航显示;
图2B是用于在用户已经到达目的地位置之后生成到达与图2A中相同的目的地位置的后见路线的后见导航数据的示例显示;
图3A是包括路段和分配给每个路段的相应权重的示例地图显示,以用于基于具有最低合计(aggregate)权重的路径来生成到达目的地的后见路线;
图3B是使用最小成本路径分析来生成后见路线的示例图;和
图4是用于评估导航应用的性能的示例方法的流程图,该方法可以由性能评估服务器来实施。
具体实施方式
一般来说,用于评估导航应用的性能的技术可以在一个或多个客户端计算设备、一个或多个网络服务器或包括这些设备的组合的***中实施。然而,为了清楚起见,下面的示例主要集中在其中导航应用在客户端计算设备上执行并且呈现经由由导航数据服务器确定的路线从起始位置到目的地位置的导航方向的实施例。导航应用还可以呈现到达目的地位置的时间量的估计。在到达目的地位置之后,并且当用户同意共享位置和其他传感器数据时,导航应用可以向性能评估服务器提供所生成的路线的指示、到达目的地位置的估计时间量、用户请求到目的地位置的导航方向的日期和时间或时间段的指示、和/或到达目的地或沿着路线穿越各种路段所花费的实际时间量的指示(本文也称为“穿越时间”)。性能评估服务器可以接收由导航应用在若干用户的客户端计算设备上呈现的若干路线的类似路线信息。
此外,性能评估服务器可以从在与用户相同的时间范围(time frame)内在与用户相同的地理区域内行进的用户的客户端计算设备获得定位数据和其他传感器数据。
然后,性能评估服务器可以生成用于在从用户请求导航方向的时间开始的最短时间量内从开始位置行进到目的地位置的后见路线。后见路线可以基于用户沿着路线穿越各种路段所花费的实际时间量和其他用户穿越该地理区域内各种路段所花费的实际时间量来生成。此外,后见路线可以包括用户穿越的路段和其他用户穿越的路段的组合。
然后,性能评估服务器可以将后见路线与导航应用生成的路线进行比较,以生成该路线的性能度量。性能评估服务器可以向客户端计算设备提供路线的性能度量以及后见路线和由导航应用生成的路线的指示。以这种方式,客户端计算设备可以向查看导航应用的性能的用户呈现性能度量和后见路线和/或由导航应用生成的路线的指示。性能评估服务器还可以基于导航应用在各种用户的客户端计算设备上生成的若干路线的性能度量来生成导航应用的总体性能度量。客户端计算设备可以例如向许可导航软件和服务的客户或合作伙伴呈现导航应用的总体性能度量。导航应用的总体性能度量和/或各种路线或路段的个体性能度量也可以呈现给创建导航应用的组织的员工或其他成员,以确定导航应用生成的路线的质量。组织的成员还可以查看性能度量,以发现路线确定方法中的缺陷,和/或对这些缺陷执行根本原因分析。
示例硬件和软件组件
参考图1,其中可以实施导航性能评估***的示例通信***100包括客户端计算设备10(本文也称为“客户端设备”)和若干其他客户端设备82a-n,例如被配置为执行地理应用84的计算设备,地理应用84也可以称为“导航应用84”。根据实施方式,应用84可以显示交互式数字地图,请求和接收路线选择数据以提供驾驶、步行或其他导航方向,提供各种地理定位内容等。客户端设备82a-n中的每个可以由显示数字地图的用户在导航到不同位置时操作。
除了客户端设备10和其他客户端设备82a-n之外,通信***100还包括性能评估服务器60,其被配置为向客户端设备10提供导航应用的总体性能度量和/或路线或路段的个体性能度量。性能评估服务器60可以通信地耦合到数据库80,在示例实施方式中,数据库80存储先前由导航应用84生成的路线的路线信息,以及指示在特定的日期、当天的时间等从起始位置行进到目的地位置的历史上最快的路线的后见路线。
更一般地,性能评估服务器60可以与存储任何类型的合适的地理空间信息或信息的一个或若干个数据库通信。通信***100还可以包括导航数据服务器34,其提供驾驶、步行、骑自行车或公共交通方向,例如以用于经由导航应用84呈现。此外,通信***100可以包括地图数据服务器50,其向客户端设备82a-n提供地图数据以用于生成地图显示86。在通信***100中操作的设备可以经由通信网络30互连。
客户端设备10可以是便携式设备,例如,诸如智能电话或平板计算机。客户端设备10也可以是膝上型计算机、台式计算机、个人数字助理(PDA)、诸如智能手表或智能眼镜的可佩戴设备等。客户端设备10还可以经由诸如***或第三代(分别是4G或3G)蜂窝网络的有线或无线通信网络30,与各种内容提供商、服务器等通信。客户端设备10可以包括存储器20、一个或多个处理器(CPUC)16、图形处理单元(GPU)12、I/O模块14和用户界面(UI)32。存储器20可以是非暂时性存储器,并且可以包括一个或若干个合适的存储器模块,诸如随机存取存储器(RAM)、只读存储器(ROM)、闪存、其他类型的永久存储器等。例如,I/O模块14可以是触摸屏。在各种实施方式中,客户端设备10可以包括比图1所示更少的组件,或者相反,包括附加组件。
存储器20存储操作***(OS)26,其可以是任何类型的合适的移动或通用操作***。存储器20还存储性能度量显示22,其被配置为接收导航应用的总体性能度量、导航应用所生成的路线或路段的个体性能度量和/或与导航应用相关的其他导航性能数据,诸如导航应用生成的路线和相应的后见路线的指示。性能度量显示22被配置为在用户界面32上呈现导航性能数据。
如上所述,每个客户端设备82a-n可以由用户操作显示地图数据。客户端设备82a-n中的每个可以是智能电话或平板计算机,并且可以具有一个或若干个传感器。另外,每个客户端设备82a-n可以包括存储操作***(OS)和导航应用84的存储器,导航应用84被配置为生成交互式数字地图和/或执行其他地理功能,如上所述。导航应用84可以从地图数据服务器50接收栅格(例如,位图)或非栅格(例如,矢量图形)格式的地图数据,并经由地图显示86呈现地图数据。在某些情况下,地图数据可以被组织成层,诸如描绘道路、街道、自然构造等的基本层,描绘当前交通状况的交通层,描绘当前天气状况的天气层,描绘到达目的地的路径的导航层等。导航应用84还可以显示驾驶、步行或交通方向,并且通常经由地图显示86提供与地理、地理定位、导航等相关的功能。
注意,尽管图1将导航应用84示为独立应用,但是导航应用84的功能也可以以可经由在客户端设备82a-n上执行的网络浏览器来访问的在线服务的形式提供,作为在客户端设备82a-n上执行的另一软件应用的插件或扩展提供,等等。导航应用84通常可以针对不同的相应操作***提供不同的版本。例如,客户端设备82a-n的制造商可以提供软件开发工具包(SDK),其包括用于AndroidTM平台的导航应用84、用于iOSTM平台的另一个SDK等。
在一些实施方式中,性能评估服务器60包括一个或多个处理器62和存储器64。存储器64可以是有形的、非暂时性的存储器,并且可以包括任何类型的合适的存储器模块,包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、其他类型的永久存储器等。存储器64存储可在处理器62上执行的指令,这些指令构成性能评估引擎68,性能评估引擎68可以生成导航应用的总体性能度量、导航应用生成的路线或路段的个体性能度量、或导航应用在特定地理政治区域(诸如城市、州或国家)生成的路线的区域性能度量。性能评估引擎68还可以提供由客户端设备10的性能度量显示22显示的导航性能数据。
性能评估引擎68和性能度量显示22可以作为导航性能评估***的组件来操作。或者,导航性能评估***可以仅包括服务器侧组件,并且简单地向性能度量显示22提供指令以显示导航性能数据。换句话说,这些实施例中的导航性能评估技术可以对性能度量显示22透明地实施。作为另一种选择,性能评估引擎68的整个功能可以在性能度量显示22中实施。
为简单起见,图1将性能评估服务器60示为服务器的仅一个实例。然而,根据一些实施方式的性能评估服务器60包括一个或多个服务器设备的组,每个服务器设备配备有一个或多个处理器并且能够独立于其他服务器设备操作。在这种组中操作的服务器设备可以单独地、以分布式方式、或者根据任何其他合适的技术处理来自客户端设备10的请求(例如,基于可用性),在上述分布式方式中与处理请求相关联的一个操作在一个服务器设备上执行,而与处理相同请求相关联的另一个操作在另一个服务器设备上执行。出于本讨论的目的,术语“服务器设备”可以指单个服务器设备或两个或更多个服务器设备的组。
在操作中,在客户端设备10中操作的性能度量显示22接收数据并将数据发送到性能评估服务器60。因此,在一个示例中,客户端设备10可以向性能评估引擎68(在性能评估服务器60中实施)发送请求导航性能数据的通信。该请求可以是针对特定起始位置/目的地位置对的,可以是针对从特定起始位置开始的所有路线或者到达特定目的地位置的所有路线的,可以是针对特定地理区域的(例如,针对由导航应用生成的在美国、加利福尼亚、西雅图等的路线的导航性能数据),或者可以是全球性的。
因此,性能评估引擎68可以从客户端设备82a-n获得在指定地理区域内生成的路线的路线信息。路线信息可以包括路线的起始位置和目的地位置、路线中包括的路段和/或操纵中的每个的指示、请求导航方向的日期和/或时间、在路线上行进时到达目的地的预测时间量等。性能评估引擎68还可以从在地理区域内行进的正在执行导航应用84的客户端设备82a-n获得定位数据和/或其他传感器数据。定位数据和/或其他传感器数据可以包括请求对应于路线的导航方向的用户的定位数据和/或其他传感器数据。
因此,性能评估引擎68可以分析定位数据和/或其他传感器数据,以确定用户完成从起始位置到目的地位置的路线的实际穿越时间、用户穿越路线上的每个路段的实际穿越时间、用户在各个路段上行进的速度或每个路段的平均速度等。定位数据和/或其他传感器数据可以包括没有请求对应于路线的导航方向的其他客户端设备82a-n的其他用户的定位数据和/或其他传感器数据。定位数据和/或其他传感器数据可以来自与用户请求对应于路线的导航方向的时间段相同的时间段。例如,当用户在2018年8月21日下午3点请求对应于路线的导航方向时,性能评估引擎68可以从其他客户端设备82a-n获得在2018年8月21日下午2:30到3:30之间的定位数据和/或其他传感器数据。
以这种方式,性能评估引擎68可以分析定位数据和/或其他传感器数据,以确定不在路线上的备选路段的穿越时间、其他用户在备选路段上行进的速度或者每个备选路段的平均速度等。性能评估引擎68然后可以生成后见路线,该后见路线在路线已经完成之后,基于在用户请求对应于路线的导航方向的日期和时间处各个路段的实际穿越时间和速度,指示从起始位置到目的地位置的实际最快路线。
性能评估引擎68可以通过将穿越时间分配给包括起始位置和目的地位置的地理区域中的路段,并识别用于在最短时间量内从起始位置行进到目的地位置的路段组合,来生成后见路线。例如,导航应用84可能已经呈现了在2018年8月21日下午3点从位置A到位置Z的导航方向,其包括从位置A到位置B到位置C到位置Z的行进,并且用户可能已经花费了20分钟以该路线从位置A行进到位置Z。然而,基于后见的益处,性能评估引擎68可以确定从位置A到位置D到位置C到位置Z的行进会更快,因为在2018年8月21日下午2:30到下午3:30之间,用户从位置A到位置D以及从位置D到位置C的行进花费平均总共12分钟,而用户从位置A到位置B到位置C的行进花费15分钟。
性能评估引擎68然后可以将后见路线与导航应用生成的路线进行比较,以确定该路线的性能度量。性能度量可以包括来自实际路线的包括在后见路线中的路段的百分比或后见路线的包括在实际路线中的总距离的百分比。性能度量还可以包括穿越路线的预测时间量和穿越路线的实际时间量的差异、穿越路线的实际时间量和穿越后见路线会花费的时间量的差异、以及穿越路线的预测时间量和穿越后见路线会花费的时间量的差异。
此外,性能评估引擎68可以生成后见路线,并确定指定地理区域内若干路线的性能度量。在一些实施方式中,性能评估引擎68可以基于路线或路段的个体性能度量生成导航应用和/或指定地理区域的总体性能度量。例如,总体性能度量可以是个体性能度量的平均值、个体性能度量的加权平均值(诸如移动平均值或时间衰减平均值)、个体性能度量的总和或个体性能度量的任何合适组合。
在任何情况下,性能评估引擎68可以提供总体性能度量和/或个体性能度量,以用于在客户端设备10上显示。性能度量显示22然后可以在客户端设备10的用户界面32上呈现总体性能度量和/或个体性能度量。以这种方式,许可导航软件和服务的客户或合作伙伴可以查看导航性能数据。此外,创建导航应用的组织的员工或其他成员可以查看导航性能数据,以确定导航应用生成的路线的质量,发现路线确定方法中的缺陷,对这些缺陷执行根本原因分析等。
图2A示出了由用户的客户端设备82a-n上的导航应用84呈现的从用户的当前位置到用户的营业地的示例路线。图2B示出了用于基于穿越包括起始位置和目的地位置的地理区域中的路段的实际时间区间后见地确定从用户的当前位置到用户的营业地的最快路线的示例候选后见路线。更具体地,图2A的导航显示200包括从用户的当前位置202到用户的营业地212的示例路线216。路线216包括若干路段(例如,从主街和州立街的拐角到主街和格林街的拐角)和操纵(例如,左转和右转)。导航显示200还包括穿越路线的预测时间量218。例如,路线216可以由导航数据服务器34在2018年7月25日上午10:34生成。在一些实施方式中,导航数据服务器34使用路线确定方法生成路线216,路线确定方法包括将起始位置(用户的当前位置)和目的地位置(用户的营业地)应用于路线确定模型。路线确定模型可以包括若干参数和/或分配给每个参数的权重,并且可以基于历史导航数据来生成。例如,路线确定模型可以基于来自先前在一天的不同时间、天气状况、交通状况、一年中的不同时间等穿越路段的车辆的训练数据,使用机器学习技术来生成。因此,导航数据服务器34可以生成路线216,并基于来自路线确定模型的历史数据、使用近期预测来预测穿越路线的时间量218。
在用户已经到达她的营业地212之后,客户端设备82a-n可以向性能评估服务器60提供路线216的指示和穿越路线的预测时间量218。客户端设备82a-n还可以提供客户端设备82a-n沿着路线的定位数据和/或其他传感器数据。这可以包括客户端设备82a-n沿着路线在不同时间处的位置的指示,包括客户端设备82a-n离开起始位置的时间和客户端设备82a-n到达目的地位置的时间。以这种方式,性能评估引擎68可以确定路线的实际穿越时间。此外,性能评估引擎68可以确定路线上每个路段的实际穿越时间和/或穿越路线上每个路段的平均速度。在一些实例中,性能评估引擎68可以确定客户端设备82a-n没有移动持续超过阈值时间量(例如,5分钟)。因此,性能评估引擎68可以确定用户从路线中休息了一段时间(例如停下来加油或去汽车穿梭站(drive thru)),并且可以从路线的总穿越时间中减去该时间段。
在任何情况下,性能评估引擎68还可以从在与用户相同的时间范围内在与用户相同的地理区域内行进的其他客户端设备82a-n获得定位和/或其他传感器数据。例如,地理区域可以是包括起始位置和目的地位置的n英里乘n英里的区域,其中n与起始位置和目的地位置之间的距离成比例(例如,n可以等于起始位置和目的地位置之间的距离,可以等于起始位置和目的地位置之间的距离的两倍,等等)。时间范围可以是包括用户请求导航方向的时间的一小时区间、两小时区间等。
然后,性能评估引擎68可以使用来自请求对应于路线216的导航方向的客户端设备82a-n的定位数据和/或其他传感器数据和来自在相同时间范围内在相同地理区域内行进的其他客户端设备82a-n的定位数据和/或其他传感器数据生成在用户请求导航方向时,地理区域中的路段的实际穿越时间。性能评估引擎68可以基于车辆进入路段的时间和离开路段的时间之间的差异来确定特定路段的实际穿越时间。当性能评估引擎68从若干客户端设备82a-n接收到对于同一路段的传感器数据时,性能评估引擎68可以将该路段的实际穿越时间确定为由每个客户端设备82a-n指示的实际穿越时间的平均值。例如,性能评估引擎68还可以将该路段的实际穿越时间确定为实际穿越时间的加权平均值,其中在该路段上行进的在时间上更接近用户请求导航方向的时间的客户端设备82a-n被更高地加权。此外,性能评估引擎68可以基于由每个客户端设备82a-n指示的穿越时间的任何其他合适的组合来确定路段的实际穿越时间。在其他实施方式中,性能评估引擎68可以基于车辆在路段上行进的平均速度和路段的长度来确定特定路段的实际穿越时间。
图2B示出了用于识别从起始位置202到目的地位置212的候选后见路线的在地理区域252内的后见导航数据的显示250。后见导航数据包括由性能评估引擎68为路线216上的路段(例如,路段254)和为地理区域中的不在路线216上的备选路段(例如,备选路段256)确定的实际穿越时间。虽然显示250包括地理区域252中包括的路段子集的实际穿越时间,但这仅仅是为了便于说明。性能评估引擎68可以确定地理区域252中每个路段的实际穿越时间。在任何情况下,性能评估引擎68可以使用寻路算法来识别从起始位置202到目的地位置212的候选后见路线,其中每个路段被分配对应于该路段的实际穿越时间的权重。
例如,从起始位置202开始,路段254-274中的每一个都被包括在候选路段集中。性能评估引擎68可以识别连接到起始位置202的具有最低权重的路段,并从集合中移除所识别的路段。在该示例中,连接到路段位置202的唯一路段是权重为5的路段254,因此性能评估引擎68识别路段254并从集合中移除路段254。接下来,性能评估引擎68识别集合中剩余的连接到路段254的具有最低权重的路段,并从集合中移除所识别的路段。重复该过程,直到到达目的地位置。在该示例中,集合中剩余的连接到路段254的路段是路段256和路段258。路段256的权重更低,为7,因此被识别并从集合中移除。集合中剩余的连接到路段256的路段是路段260和路段262。路段260的权重更低,为3,因此被识别并从集合中移除。路段264、270、272和274也被识别为候选后见路线。因此,候选后见路线的总权重或总穿越时间的总和是23分钟。
然后,对于在第一次迭代中未被选择的路段(例如,路段258、262、266、268),重复该过程。在第二次迭代中,性能评估引擎68识别包括路段254、258、266、268和274的第二候选后见路线,第二候选后见路线的总权重或总穿越时间的总和是19分钟。在第三次迭代中,性能评估引擎68识别包括路段254、256、262、268和274的第三候选后见路线,第三候选后见路线的总权重或总穿越时间的总和是20分钟。在第三次迭代之后,性能评估引擎68已经选择了路段254-274中的每一个,并且该过程完成。然后,性能评估引擎68比较三条候选后见路线,并确定第二候选后见路线最快时间到达目的地位置,最快时间为19分钟。因此,性能评估引擎68选择第二候选后见路线作为后见路线。
在其他实施方式中,性能评估引擎68通过给每个路段分配附加权重来识别候选后见路线,该附加权重估计从路段到目的地位置的时间量。可以使用启发式函数来确定附加权重。例如,对应于附加权重的估计可以基于从路段到目的地位置的物理距离。与距离目的地位置更远的路段相比,距离目的地位置更近的路段可以被分配更低的附加权重。例如,路段256的权重可以是7,而路段258的权重是8。然而,路段256可能比路段258具有更高的附加权重,因为路段258更接近目的地位置。性能评估引擎68可以识别连接到起始位置202的具有权重和附加权重的最低组合的路段。然后,性能评估引擎68可以识别连接到所识别的路段的具有权重和附加权重的最低组合的路段,并且可以重复该过程,直到到达目的地位置。以这种方式,由性能评估引擎68识别的第一候选后见路线可以是到达目的地位置的时间最快的后见路线,并且性能评估引擎68可以不必对在第一次迭代中没有识别的路段进行迭代。
图3A和图3B示出了用于识别从起始位置到目的地位置的候选后见路线的地理区域300、350内的后见导航数据的附加示例显示。图3A包括具有路段A、B、C、D、E、F和G的地理区域302的显示300。路段A的权重为8,路段B的权重为3,路段C的权重为1,路段D的权重为3,路段E的权重为1,路段F的权重为4,路段G的权重为5。使用权重,性能评估引擎68可以确定在地理区域302内从起始位置行进到目的地位置的后见路线。
图3B包括具有路段O、P、S、T、U、V和W的地理区域352的另一示例显示350。路段P的权重为6,路段T的权重为1,路段U的权重为1.5,以及路段V和W的权重为0.5。在一些实施方式中,性能评估引擎68可以根据从路段到下一个路段的操纵、从前一个路段到路段的操纵或者这些操纵的任何合适的组合来确定同一路段的不同穿越时间。例如,路段可能是高速公路出口,此处若干车辆左转,而很少车辆右转。因此,当从路段左转到下一个路段时,路段的穿越时间可能比右转时更长。在另一个示例中,从路段左转到另一个路段可能非常困难,使得从车辆到达交叉路口时直到完成左转可能花费平均额外的3分钟。因此,当从路段左转到下一个路段时,路段的穿越时间可能比继续直行到下一个路段时更长。结果,性能评估引擎68可以根据从路段到下一个路段的操纵、从前一个路段到路段的操纵或者这些操纵的任何合适的组合来识别同一路段的若干穿越时间。取决于从路段到下一个路段的操纵的路段穿越时间可以基于在与生成路线相同的时间范围内在路段上行进并且进行特定操纵到下一个路段的车辆的穿越时间。
在示例显示350中,路段O具有两个权重,包括当在路段O上行进并继续直行到路段P上时的第一权重5,以及当在路段O上行进并右转到路段S上时的第二权重4。路段S也具有两个权重,包括当在路段S上行进并左转到路段T上时的第一权重3,以及当在路段S上行进并右转到路段U上时的第二权重2。当确定从起始位置354到目的地位置356的后见路线时,性能评估引擎68可以识别路段O和S。然后,性能评估引擎68可以确定包括路段S和T的路段T的组合权重为4,而包括路段S和U的路段U的组合权重为3.5。因此,性能评估引擎68选择后见路线为包括路段O、S、U和W,即使路段T具有比路段U更低的权重,因为路段S的权重在左转到路段T时比在右转到路段U时更高
图4示出了用于评估识别到目的地位置的最佳路线的导航应用的性能的示例方法400,例如,该方法可以在网络服务器(诸如性能评估服务器60)上实施。该方法可以在存储在计算机可读存储器上并可在性能评估服务器60的一个或多个处理器上执行的指令集中实施。例如,该方法可以由性能评估引擎68实施。
在框402,例如从请求对应于路线的导航方向的用户的客户端设备82a-n接收从起始位置到目的地位置的路线的指示。路线的指示可以在路线已经完成之后提供给性能评估服务器60。此外,路线的指示可以包括穿越路线的预测时间量、路线的起始位置、路线的目的地位置、路线上的路段和操纵、穿越每个路段的预测时间量等。
然后在框404,性能评估服务器60确定路线的实际穿越时间。更具体地,当在路线上行进时,客户端设备82a-n可以向性能评估服务器60提供定位数据和/或其他传感器数据。这可以包括路线的开始时间、用户到达目的地位置的时间和/或对应于用户沿着路线的各种位置的时间。
性能评估服务器60还从在与路线相同的地理区域内并且在与路线相同的时间范围内行进的客户端设备82a-n接收定位数据和/或其他传感器数据。例如,地理区域可以是包括起始位置和目的地位置的n英里乘n英里的区域,其中n与起始位置和目的地位置之间的距离成比例(例如,n可以等于起始位置和目的地位置之间的距离,可以等于起始位置和目的地位置之间的距离的两倍,等等)。时间范围可以是包括用户请求导航方向的时间的一小时区间、两小时区间等。
然后,性能评估引擎68可以使用来自请求对应于路线的导航方向的客户端设备82a-n和来自在相同时间范围内在相同地理区域内行进的其他客户端设备82a-n的定位数据和/或其他传感器数据生成在用户请求导航方向时,地理区域中的路段的实际行进时间(框406)。性能评估引擎68可以基于车辆进入路段的时间和离开路段的时间之间的差异来确定特定路段的实际穿越时间。在其他实施方式中,性能评估引擎68可以基于车辆在路段上行进的平均速度和路段长度来确定特定路段的实际行驶时间。
然后,性能评估引擎68基于地理区域中路段的穿越时间,确定在用户请求导航方向的时间处,以最短的时间量从起始位置行进到目的地位置的后见路线(框408)。更具体地,性能评估引擎68可以使用寻路算法来识别从起始位置到目的地位置的候选后见路线,其中每个路段被分配对应于该路段的实际穿越时间的权重。在一些实施方式中,性能评估引擎68可以将从起始位置到目的地位置的路段的每个组合识别为候选后见路线。每个候选后见路线可以被分配候选后见路线上的路段的权重的总和,作为候选后见路线的分数。然后,性能评估引擎68可以选择具有最低分数的候选后见路线作为后见路线。
在其他实施方式中,为每个路段分配对应于该路段的实际穿越时间的第一权重,以及对应于从该路段到目的地位置的时间量的估计的第二权重。然后,性能评估引擎68可以识别连接到起始位置的具有第一权重和第二权重的最低组合的路段。然后,性能评估引擎68可以识别连接到所识别的路段的具有第一权重和第二权重的最低组合的路段,并且可以重复该过程,直到到达目的地位置。以这种方式,性能评估引擎68可以选择从起始位置到目的地位置的第一后见路线作为后见路线,并且可以不识别若干候选后见路线。
在任何情况下,在框410,性能评估引擎68将后见路线与在客户端设备82a-n上执行的导航应用生成的路线进行比较。性能评估引擎68还可以将穿越路线的预测时间量与穿越路线的实际时间量和/或穿越后见路线的时间量进行比较。
因此,性能评估引擎68可以基于后见路线与导航应用生成的路线的比较和/或基于穿越路线的预测时间量与穿越路线的实际时间量和/或穿越后见路线的时间量的比较来生成路线的性能度量(框412)。性能度量可以包括来自实际路线的包括在后见路线中的路段的百分比或后见路线的包括在实际路线中的总距离的百分比。性能度量还可以包括穿越路线的预测时间量和穿越路线的实际时间量的差异、穿越路线的实际时间量和穿越后见路线会花费的时间量的差异、以及穿越路线的预测时间量和穿越后见路线会花费的时间量的差异。
更具体地,性能评估引擎68可以基于以下因素中的一个或多个来生成性能度量:(i)包括在后见路线中的来自实际路线的路段的数量或百分比,(ii)包括在后见路线中的备选路段的数量或百分比,(iii)穿越路线的预测时间量和穿越路线的实际时间量之间的差异,(iv)穿越路线的实际时间量与穿越后见路线会花费的时间量之间的差异,(v)穿越路线的预测时间量与穿越后见路线会花费的时间量之间的差异,以及(vi)包括在实际路线中的后见路线总距离的百分比。性能评估引擎68可以根据每个因素来生成路线的若干性能度量,或者性能评估引擎68可以基于这些因素的任何合适的组合来生成性能度量。例如,性能评估引擎68可以为每个因素分配分数,并且可以以任何合适的方式合计或组合因素指定分数,以生成可以用作性能度量的总分数。总分数可以是平均值或因素指定分数、因素指定分数的加权平均值(其中每个因素被分配不同的权重)、因素指定分数的总和等。
此外,性能评估引擎68可以生成后见路线,并确定指定地理区域(例如,城市、州、国家等)内的若干路线的性能度量。然后,性能评估引擎68可以基于路线或路线上的路段的个体性能度量来生成导航应用和/或指定地理区域的总体性能度量。例如,总体性能度量可以是个体性能度量的平均值、个体性能度量的加权平均值(诸如移动平均值或时间衰减平均值)、个体性能度量的总和或个体性能度量的任何合适组合。
此外,性能评估引擎68可以提供总体性能度量和/或个体性能度量,以用于在客户端设备10上显示(框414)。性能度量显示22然后可以在客户端设备10的用户界面32上呈现总体性能度量和/或个体性能度量。以这种方式,许可导航软件和服务的客户或合作伙伴可以查看导航性能数据。此外,创建导航应用的组织的员工或其他成员可以查看导航性能数据,以确定导航应用生成的路线的质量,发现路线确定方法中的缺陷,对这些缺陷执行根本原因分析等。
在一些实施方式中,客户端设备10、性能评估服务器60和/或导航数据服务器34可以基于性能度量和/或后见路线来识别导航数据服务器34所使用的路线确定方法中的错误。例如,当路段的个体性能度量低于阈值时,性能评估服务器60可以分析路线,以识别导航应用生成的路线和后见路线之间的偏差。例如,性能评估服务器60可以在若干实例中(诸如在一天中的若干时间,针对不同的天气和交通状况等),根据路线确定方法,识别比路段的预测穿越时间更长的路段的实际穿越时间,从而识别路线确定方法中的错误。因此,性能评估服务器60和/或导航数据服务器34可以执行校正动作,诸如调整路线确定方法,使得路段被分配更长的预测穿越时间。
性能评估服务器60还可以通过分析导航应用生成的路线和后见路线之间的偏差来执行根本原因分析。例如,性能评估服务器60可以确定由于从路段到下一路段的左转困难,其中生成的路线的大部分包括左转困难,因此路段具有比预测的穿越时间更长的实际穿越时间。因此,性能评估服务器60可以确定偏差的造成是由于左转困难。在一些实例中,性能评估服务器60可以向导航数据服务器34提供根本原因分析的结果,以调整路线确定模型中的参数。例如,路线确定模型可以包括用于确定是否在路线上包括特定路段的若干参数的组合。可以对每个参数进行加权,并且可以基于性能度量来调整参数的权重。
其他考虑因素
以下附加考虑适用于前面的讨论。在整个说明书中,多个实例可以实施作为单个实例描述的组件、操作或结构。尽管一种或多种方法的单独操作被图示和描述为分开的操作,但是单独操作中的一个或多个可以同时执行,并且不要求操作以图示的顺序执行。在示例配置中作为分开的组件呈现的结构和功能可以被实施为组合结构或组件。类似地,呈现为单个组件的结构和功能可以实施为分开的组件。这些和其他变化、修改、添加和改进落入本公开的主题的范围内。
另外,某些实施例在本文被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如,存储在机器可读介质上的代码)或硬件模块。硬件模块是能够执行特定操作的有形单元,并且可以以特定方式配置或布置。在示例实施例中,一个或多个计算机***(例如,独立的、客户端或服务器计算机***)或计算机***的一个或多个硬件模块(例如,处理器或一组处理器)可以由软件(例如,应用或应用部分)配置为硬件模块,该硬件模块操作以执行如本文所述的某些操作。
在各种实施例中,硬件模块可以机械地或电子地实施。例如,硬件模块可以包括专用电路***或逻辑,其被永久配置(例如,作为专用处理器,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC))以执行某些操作。硬件模块还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路***(例如,作为包括在通用处理器或其他可编程处理器中)。应当理解,在专用和永久配置的电路***中或者在临时配置的电路***(例如,由软件配置)中机械地实施硬件模块的策略可以由成本和时间考虑来驱动。
因此,术语硬件应当被理解为包括有形实体,是物理构造的、永久配置的(例如,硬连线的)或临时配置的(例如,编程的)来以某种方式操作或执行本文所描述的某些操作的实体。考虑到其中硬件模块被临时配置(例如,编程)的实施例,每个硬件模块不需要在任何一个时刻被配置或实例化。例如,在硬件模块包括使用软件配置的通用处理器的情况下,通用处理器可以在不同时间被配置为相应的不同硬件模块。软件可以相应地配置处理器,例如,在一个时刻构成特定的硬件模块,并且在不同的时刻构成不同的硬件模块。
硬件和软件模块可以向其他硬件和/或软件模块提供信息,并从其他硬件和/或软件模块接收信息。因此,所描述的硬件模块可以被视为通信耦合的。当多个这样的硬件或软件模块同时存在时,可以通过连接硬件或软件模块的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件模块或软件在不同时间被配置或实例化的实施例中,这种硬件或软件模块之间的通信可以例如通过存储和检索多个硬件或软件模块可以访问的存储器结构中的信息来实现。例如,一个硬件或软件模块可以执行操作,并将该操作的输出存储在与其通信耦合的存储器设备中。然后,另外的硬件或软件模块可以在稍后的时间访问存储器设备,以检索和处理所存储的输出。硬件和软件模块也可以启动与输入或输出设备的通信,并且可以对资源(例如,信息集合)进行操作。
本文描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,这种处理器都可以构成处理器实施的模块,这些模块操作以执行一个或多个操作或功能。在一些示例实施例中,本文涉及到的模块可以包括处理器实施的模块。
类似地,本文描述的方法或例程可以至少部分由处理器实施。例如,方法的至少一些操作可以由一个或多个处理器或处理器实施的硬件模块来执行。某些操作的执行可以分布在一个或多个处理器中,不是仅驻留在单个机器中,而且部署在多个机器上。在一些示例实施例中,一个或多个处理器可以位于单个位置(例如,在家庭环境、办公室环境内或作为服务器群),而在其他实施例中,处理器可以分布在多个位置。
一个或多个处理器还可以在“云计算”环境中或作为SaaS来支持相关操作的性能。例如,如上所述,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)来执行,这些操作可以经由网络(例如,互联网)和经由一个或多个适当的接口(例如,应用编程接口(API))来访问。
某些操作的执行可以分布在一个或多个处理器中,不是仅驻留在单个机器中,而且部署在多个机器上。在一些示例实施例中,一个或多个处理器或处理器实施的模块可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施例中,一个或多个处理器或处理器实施的模块可以分布在多个地理位置上。
本说明书的一些部分是根据对机器存储器(例如,计算机存储器)中作为位或二进制数字信号存储的数据的运算的算法或符号表示来呈现的。这些算法或符号表示是数据处理领域的普通技术人员用来向本领域的其他技术人员传达其工作实质的技术的示例。如本文所使用的,“算法”或“例程”是导致期望结果的自给操作序列或类似处理。在这种情况下,算法、例程和操作涉及物理量的物理操作。典型地,但不是必须的,这些量可以采取能够被机器存储、访问、传输、组合、比较或以其他方式操纵的电、磁或光信号的形式。主要出于常用的原因,有时使用诸如“数据”、“内容”、“位”、“值”、“元素”、“符号”、“字符”、“术语”、“数字”、“附图标记”等词语来指代这种信号是方便的。然而,这些词仅仅是方便的标记,并且与适当的物理量相关联。
除非特别声明,否则本文中使用诸如“处理”、“计算(computing)”、“计算(calculating)”、“确定”、“呈现”、“显示”等词语的讨论可以指机器(例如,计算机)的动作或过程,该机器操纵或转换表示为一个或多个存储器(例如,易失性存储器、非易失性存储器或其组合)、寄存器或接收、存储、传输或显示信息的其他机器组件内的物理(例如,电子、磁或光学)量的数据。
如本文所使用的,对“一个实施例”或“实施例”的任何引用意味着结合该实施例描述的特定元件、特征、结构或特性被包括在至少一个实施例中。说明书中不同地方出现的短语“在一个实施例中”不一定都指同一实施例。
一些实施例可以使用表达“耦合”和“连接”以及它们的派生词来描述。例如,可以使用术语“耦合”来描述一些实施例,以指示两个或更多个元件直接物理或电接触。然而,术语“耦合”也可以意味着两个或更多个元件彼此不直接接触,但是仍然彼此合作或相互作用。实施例不限于这种情况。
如本文所使用的,术语“包括(comprises)”、“包括(comprising)”、“包括(includes)”、“包括(including)”、“具有(has)”、“具有(having)”或其任何其他变体,旨在覆盖非排他性的包括。例如,包括一系列元素的过程、方法、物品或装置不一定仅限于这些元素,而是可以包括未明确列出的或这些过程、方法、物品或装置固有的其他元素。此外,除非明确表示相反,“或”是指包括性的或,而不是排他性的或。例如,条件A或B满足以下任何一个条件:A为真(或存在),B为假(或不存在),A为假(或不存在),B为真(或存在),A和B都为真(或存在)。
此外,使用“一(a)”或“一个(an)”来描述本文的实施例的元件和组件。这样做仅仅是为了方便和给出描述的一般意义。该描述应被理解为包括一个或至少一个,并且单数也包括复数,除非显然其另有含义。
在阅读本公开之后,通过本文公开的原理,本领域技术人员将会理解用于评估导航应用的性能的另外附加的替代结构和功能设计。因此,虽然已经图示和描述了特定的实施例和应用,但是应当理解,所公开的实施例不限于本文公开的精确结构和组件。对于本领域技术人员来说显而易见的各种修改、改变和变化可以在本文公开的方法和设备的布置、操作和细节中进行,而不脱离所附权利要求中限定的精神和范围。

Claims (20)

1.一种用于评估识别到目的地位置的最佳路线的导航应用的性能的方法,所述方法包括:
对于由导航应用生成的到多个目的地位置的多条路线中的每一条:
在一个或多个处理器处,接收由所述导航应用响应于用户对从起始位置到目的地位置的导航方向的请求而生成的包括多个路段的路线的指示;
由所述一个或多个处理器基于穿越所述多个路段和穿越备选路段的实际时间量,确定在所述用户请求所述导航方向的时间处,以最短时间量从所述起始位置行进到所述目的地位置的后见路线,其中,所述后见路线是在所述用户到达所述目的地位置之后确定的;
由所述一个或多个处理器将所述路线与所述后见路线进行比较,以确定所述路线的性能度量;和
由所述一个或多个处理器基于所述多条路线中的每条路线的所述性能度量来提供所述导航应用的总体性能度量。
2.根据权利要求1所述的方法,还包括:
在所述一个或多个处理器处,接收在所述用户请求所述导航方向的所述时间处计算的穿越所述路线的预测时间量的指示;
在所述一个或多个处理器处,接收在所述用户到达所述目的地位置之后计算的穿越所述路线所花费的实际时间量的指示;和
由所述一个或多个处理器,将所述路线和所述后见路线进行比较,以及将穿越所述路线的预测时间量与穿越所述路线花费的实际时间量进行比较,以确定所述路线的所述性能度量。
3.根据权利要求2所述的方法,其中,将所述路线与所述后见路线进行比较以确定所述路线的性能度量包括由所述一个或多个处理器基于以下至少一个来确定所述性能度量:
所述路线和所述后见路线两者中均包括的路段的数量;
所述后见路线中包括的备选路段的数量;
穿越所述路线的预测时间量和穿越所述路线花费的实际时间量之间的差异;
穿越所述路线花费的实际时间量与穿越所述后见路线会花费的时间量之间的差异;或者
穿越所述路线的预测时间量与穿越所述后见路线会花费的时间量之间的差异。
4.根据权利要求1所述的方法,还包括:
由所述一个或多个处理器基于所述总体性能度量和由所述导航应用生成的所述多条路线与所述后见路线之间的偏差来识别由所述导航应用执行的路线确定方法中的错误;和
由所述一个或多个处理器确定所述路线确定方法中的错误的原因,以执行校正动作。
5.根据权利要求4所述的方法,其中,识别由所述导航应用执行的路线确定方法中的错误包括:
确定所述路线的性能度量低于阈值;
分析所述路线以识别所述路线上的路段具有比预测的穿越时间更长的实际穿越时间;和
识别所述路段的预测穿越时间中的错误。
6.根据权利要求1所述的方法,还包括:
由所述一个或多个处理器基于所述总体性能度量调整用于识别到目的地位置的路线的路线确定模型。
7.根据权利要求1所述的方法,其中,确定后见路线包括:
在所述一个或多个处理器处,在与用户穿越所述路线到达所述目的地位置的时间段相同的时间段内的多个时间实例处,从一个或多个计算设备接收定位数据;
由所述一个或多个处理器分析在所述多个时间实例处的定位数据,以确定穿越路段的时间量;和
由所述一个或多个处理器使用所述确定的穿越所述路段的时间量来确定以最短时间量从所述起始位置行进到所述目的地位置的所述后见路线。
8.根据权利要求7所述的方法,还包括:
由所述一个或多个处理器基于所述路段上的所述多个时间实例处的定位数据来确定每个路段的速度值;
由所述一个或多个处理器基于所述路段的速度值来确定穿越每个路段的时间量;和
由所述一个或多个处理器通过识别从所述起始位置到所述目的地位置的路段的组合来确定以最短时间量从所述起始位置行进到所述目的地位置的所述后见路线,所述组合使到达所述目的地位置的总时间量最小化。
9.一种用于评估识别到目的地位置的最佳路线的导航应用的性能的服务器设备,所述服务器设备包括:
一个或多个处理器;和
耦合到所述一个或多个处理器并在其上存储指令的非暂时性计算机可读存储器,所述指令在被所述一个或多个处理器执行时,使得所述服务器设备:
对于由导航应用生成的到多个目的地位置的多条路线中的每一条:
接收由所述导航应用响应于用户对从起始位置到目的地位置的导航方向的请求而生成的包括多个路段的路线的指示;
基于穿越所述多个路段和穿越备选路段的实际时间量,确定在所述用户请求所述导航方向的时间处,以最短时间量从所述起始位置行进到所述目的地位置的后见路线,其中,所述后见路线是在所述用户到达所述目的地位置之后确定的;
将所述路线与所述后见路线进行比较,以确定所述路线的性能度量;和
基于所述多条路线中的每条路线的所述性能度量来提供所述导航应用的总体性能度量。
10.根据权利要求9所述的服务器设备,其中,所述指令还使得所述服务器设备:
接收在所述用户请求所述导航方向的所述时间处计算的穿越所述路线的预测时间量的指示;
接收在所述用户到达所述目的地位置之后计算的穿越所述路线所花费的实际时间量的指示;和
将所述路线和所述后见路线进行比较以及将穿越所述路线的预测时间量与穿越所述路线花费的实际时间量进行比较,以确定所述路线的性能度量。
11.根据权利要求10所述的服务器设备,其中,所述性能度量是基于以下至少一个来确定的:
所述路线和所述后见路线两者中包括的路段的数量;
所述后见路线中包括的备选路段的数量;
穿越所述路线的预测时间量和穿越所述路线花费的实际时间量之间的差异;
穿越所述路线花费的实际时间量与穿越所述后见路线会花费的时间量之间的差异;或者
穿越所述路线的预测时间量与穿越所述后见路线会花费的时间量之间的差异。
12.根据权利要求9所述的服务器设备,其中,所述指令还使得所述服务器设备:
基于所述总体性能度量来识别由所述导航应用执行的路线确定方法中的错误;和
确定所述路线确定方法中的错误的原因,以执行校正动作。
13.根据权利要求9所述的服务器设备,其中,所述指令还使得所述服务器设备:
基于所述总体性能度量调整用于识别到目的地位置的路线的路线确定模型。
14.根据权利要求9所述的服务器设备,其中,为了确定后见路线,所述指令使得所述服务器设备:
在与用户穿越所述路线到达所述目的地位置的时间段相同的时间段内的多个时间实例处,从一个或多个计算设备接收定位数据;
分析在所述多个时间实例处的定位数据,以确定穿越路段的时间量;和
使用所述确定的穿越所述路段的时间量来确定以最短时间量从所述起始位置行进到所述目的地位置的所述后见路线。
15.根据权利要求14所述的服务器设备,其中,所述指令还使得所述服务器设备:
基于所述路段上的所述多个时间实例处的定位数据来确定每个路段的速度值;
基于所述路段的速度值来确定穿越每个路段的时间量;和
通过识别从所述起始位置到所述目的地位置的路段的组合来确定以最短时间量从所述起始位置行进到所述目的地位置的所述后见路线,所述组合使到达所述目的地位置的总时间量最小化。
16.一种存储指令的非暂时性计算机可读介质,所述指令在被计算设备中的一个或多个处理器执行时,使得所述一个或多个处理器:
对于由导航应用生成的到多个目的地位置的多条路线中的每一条:
接收由所述导航应用响应于用户对从起始位置到目的地位置的导航方向的请求而生成的包括多个路段的路线的指示;
基于穿越所述多个路段和穿越备选路段的实际时间量,确定在所述用户请求所述导航方向的时间处,以最短时间量从所述起始位置行进到所述目的地位置的后见路线,其中,所述后见路线是在所述用户到达所述目的地位置之后确定的;
将所述路线与所述后见路线进行比较,以确定所述路线的性能度量;和
基于所述多条路线中的每条路线的所述性能度量来提供所述导航应用的总体性能度量。
17.根据权利要求16所述的计算机可读介质,其中,所述指令还使得所述一个或多个处理器:
接收在所述用户请求所述导航方向的所述时间处计算的穿越所述路线的预测时间量的指示;
接收在所述用户到达所述目的地位置之后计算的穿越所述路线所花费的实际时间量的指示;和
将所述路线和所述后见路线进行比较以及将穿越所述路线的预测时间量与穿越所述路线花费的实际时间量进行比较,以确定所述路线的性能度量。
18.根据权利要求17所述的计算机可读介质,其中,所述性能度量是基于以下至少一个来确定的:
所述路线和所述后见路线两者中包括的路段的数量;
所述后见路线中包括的备选路段的数量;
穿越所述路线的预测时间量和穿越所述路线花费的实际时间量之间的差异;
穿越所述路线花费的实际时间量与穿越所述后见路线会花费的时间量之间的差异;或者
穿越所述路线的预测时间量与穿越所述后见路线会花费的时间量之间的差异。
19.根据权利要求16所述的计算机可读介质,其中,所述指令还使得所述一个或多个处理器:
基于所述总体性能度量来识别由所述导航应用执行的路线确定方法中的错误;和
确定所述路线确定方法中的错误的原因,以执行校正动作。
20.根据权利要求16所述的计算机可读介质,其中,所述指令还使得所述一个或多个处理器:
基于所述总体性能度量调整用于识别到目的地位置的路线的路线确定模型。
CN201980007074.9A 2019-06-24 2019-06-24 用于评估导航应用性能的***和方法 Active CN112469971B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/038657 WO2020263213A1 (en) 2019-06-24 2019-06-24 Systems and methods for evaluating navigation application performance

Publications (2)

Publication Number Publication Date
CN112469971A true CN112469971A (zh) 2021-03-09
CN112469971B CN112469971B (zh) 2022-04-19

Family

ID=67185770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980007074.9A Active CN112469971B (zh) 2019-06-24 2019-06-24 用于评估导航应用性能的***和方法

Country Status (6)

Country Link
US (1) US20220349717A1 (zh)
EP (1) EP3775778B1 (zh)
JP (1) JP6995205B2 (zh)
KR (1) KR102360102B1 (zh)
CN (1) CN112469971B (zh)
WO (1) WO2020263213A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102297700A (zh) * 2005-10-10 2011-12-28 应用类属有限公司 用于时间相关的路线计划的方法和导航装置
CN104596531A (zh) * 2014-05-28 2015-05-06 腾讯科技(深圳)有限公司 一种导航路线的生成方法、装置及服务器
US20150279218A1 (en) * 2014-03-28 2015-10-01 The Boeing Company Aircraft fuel optimization analytics
CN106163862A (zh) * 2014-04-04 2016-11-23 特斯拉汽车公司 具有能源约束的行程规划
US20170314939A1 (en) * 2016-04-27 2017-11-02 Telenav, Inc. Navigation system with arrival time mechanism and method of operation thereof
CN107407571A (zh) * 2015-02-26 2017-11-28 通腾导航技术股份有限公司 用于产生路线选择策略及路线的方法及***
CN109146333A (zh) * 2018-09-29 2019-01-04 百度在线网络技术(北京)有限公司 导航算法评估方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3237454B2 (ja) * 1995-04-21 2001-12-10 住友電気工業株式会社 車載用経路算出装置
US6246957B1 (en) * 2000-03-31 2001-06-12 The Mitre Corporation Method of dynamically generating navigation route data
JP4187395B2 (ja) 2000-09-06 2008-11-26 三菱電機株式会社 配送計画立案システム
JP3939951B2 (ja) 2001-10-04 2007-07-04 富士通株式会社 タクシ料金予測装置、タクシ料金予測プログラムおよびタクシ車載装置
KR101042811B1 (ko) * 2003-10-08 2011-06-20 삼성전자주식회사 네비게이션 시스템의 경로 결정 방법
US7908080B2 (en) * 2004-12-31 2011-03-15 Google Inc. Transportation routing
JP4645203B2 (ja) * 2005-01-19 2011-03-09 株式会社ケンウッド 案内経路生成装置および案内経路生成方法
DE102009047409A1 (de) * 2009-12-02 2011-06-09 Robert Bosch Gmbh Verfahren und Rechnersystem zur Routenbestimmung unter Berücksichtigung von Störungswahrscheinlichkeiten
JP2013242198A (ja) 2012-05-18 2013-12-05 Sumitomo Electric System Solutions Co Ltd 経路探索装置及びコンピュータプログラム
US9587954B2 (en) * 2013-07-10 2017-03-07 Ford Global Technologies, Llc System and method for vehicle routing using stochastic optimization
KR101607384B1 (ko) * 2014-05-14 2016-03-30 인하대학교 산학협력단 대체 경로를 위한 반사실적 운행 시간 제공 방법 및 시스템
KR20170069094A (ko) * 2015-12-10 2017-06-20 현대자동차주식회사 최적 경로 제공서버 및 이를 이용한 최적 경로 제공방법
US10458802B2 (en) * 2017-06-13 2019-10-29 Gt Gettaxi Limited System and method for navigating drivers to dynamically selected drop-off locations for shared rides

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102297700A (zh) * 2005-10-10 2011-12-28 应用类属有限公司 用于时间相关的路线计划的方法和导航装置
US20150279218A1 (en) * 2014-03-28 2015-10-01 The Boeing Company Aircraft fuel optimization analytics
CN106163862A (zh) * 2014-04-04 2016-11-23 特斯拉汽车公司 具有能源约束的行程规划
CN104596531A (zh) * 2014-05-28 2015-05-06 腾讯科技(深圳)有限公司 一种导航路线的生成方法、装置及服务器
CN107407571A (zh) * 2015-02-26 2017-11-28 通腾导航技术股份有限公司 用于产生路线选择策略及路线的方法及***
US20170314939A1 (en) * 2016-04-27 2017-11-02 Telenav, Inc. Navigation system with arrival time mechanism and method of operation thereof
CN109146333A (zh) * 2018-09-29 2019-01-04 百度在线网络技术(北京)有限公司 导航算法评估方法和装置

Also Published As

Publication number Publication date
EP3775778B1 (en) 2021-05-05
KR20210002101A (ko) 2021-01-06
US20220349717A1 (en) 2022-11-03
JP6995205B2 (ja) 2022-01-14
EP3775778A1 (en) 2021-02-17
KR102360102B1 (ko) 2022-02-08
CN112469971B (zh) 2022-04-19
WO2020263213A1 (en) 2020-12-30
JP2021521411A (ja) 2021-08-26

Similar Documents

Publication Publication Date Title
CN105222796B (zh) 在作用中的导航期间整合在线导航数据与高速缓存的导航数据
US10915914B2 (en) Method, apparatus, and computer program product for incentivizing travel along road segments
US9200910B2 (en) Ranking of path segments based on incident probability
US11448516B2 (en) Scenic route-based navigation directions
US11118926B2 (en) Computer-implemented method for recommending booths-to-visit
US11079245B1 (en) Techniques for route planning optimization
CN113808400B (zh) 车流迁徙情况的展示方法、装置、设备及介质
US11333505B2 (en) Method and system to generate updated map data for parallel roads
US20200082313A1 (en) Efficiency of a transportation matching system using geocoded provider models
US20180216948A1 (en) Route recommendation in map service
WO2019246063A1 (en) Pre-fetching map data
CN112469971B (zh) 用于评估导航应用性能的***和方法
US11112263B2 (en) Inventory quantity prediction for geospatial ads with trigger parameters
US20220412762A1 (en) Default map zoom level by travel time
US8688379B1 (en) Method and system for generating drive time isocontours using nested graphs
CN113112850A (zh) 众包导航***和方法
US20240219195A1 (en) System and method for optimization of lane data

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