CN103828399A - 提供实时段表现信息 - Google Patents

提供实时段表现信息 Download PDF

Info

Publication number
CN103828399A
CN103828399A CN201280016174.6A CN201280016174A CN103828399A CN 103828399 A CN103828399 A CN 103828399A CN 201280016174 A CN201280016174 A CN 201280016174A CN 103828399 A CN103828399 A CN 103828399A
Authority
CN
China
Prior art keywords
section
user
data
certain embodiments
current active
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
CN201280016174.6A
Other languages
English (en)
Other versions
CN103828399B (zh
Inventor
M·肖
D·基彻尔
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.)
Strava Inc
Original Assignee
Strava Inc
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 Strava Inc filed Critical Strava Inc
Publication of CN103828399A publication Critical patent/CN103828399A/zh
Application granted granted Critical
Publication of CN103828399B publication Critical patent/CN103828399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • G01S19/19Sporting applications
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Instructional Devices (AREA)

Abstract

公开了提供实时段表现信息。在一些实施例中,至少部分地基于到目前为止记录的位置信息的至少一部分,确定与用户的当前活动相关联的段。在一些实施例中,对与用户在该段上的当前活动相关联的实时段表现信息进行传送。

Description

提供实时段表现信息
其它申请的交叉引用
本申请要求2011年3月31日提交的标题为“MOBILE GLOBALPOSITIONING SYSTEM(GPS)DEVICE FOR PROVIDING REAL-TIMEFEEDBACK”的美国临时专利申请No.61/470,238的优先权,为了所有目的通过引用将其结合到本文中。
背景技术
传统上,GPS设备可以在他或她的身体活动(例如,跑步、骑自行车)期间记录并存储运动员的GPS位置和其它数据点(例如,海拔、心率),并且GPS设备可能能够在这样的身体活动执行期间向远程服务器按照增量上传这些数据点。
附图说明
在下面的详细描述和附图中公开了本发明的各种实施例。
图1是根据一些实施例的用于定义和匹配段(segment)的系统。
图2A是示出根据一些实施例的段匹配服务器的实施例的图。
图2B是示出根据一些实施例的存储在成果(effort)数据库处的表格中的成果的示例的图。
图3是示出根据一些实施例的针对段匹配的过程的实施例的流程图。
图4是示出根据一些实施例的基于成果来定义段的过程的实施例的流程图。
图5是示出根据一些实施例的用于基于成果来定义段的用户界面的示例的图。
图6是示出根据一些实施例的显示段的起点选择的用户界面的示例的图。
图7是示出根据一些实施例的显示段的终点选择的用户界面的示例的图。
图8是示出根据一些实施例的用于使用地图上的一系列选择来定义段的用户界面的示例的图。
图9是示出根据一些实施例的将一系列GPS信息转换为最小边界矩形(MBR)集合的实施例的流程图。
图10A是示出根据一些实施例的将一系列GPS信息转换成MBR集合的示例的图。
图10B是示出根据一些实施例的用于存储段信息的数据库表格条目的示例的图。
图11A是示出根据一些实施例的在段数据库处搜索匹配段的过程的实施例的流程图。
图11B是示出根据一些实施例的将成果与段匹配的实施例的流程图。
图12是示出根据一些实施例的创建虚拟开始线的示例的图。
图13是示出根据一些实施例的确定匹配成果的过程的实施例的流程图。
图14是示出根据一些实施例的针对匹配成果的分析数据的显示的示例的图。
图15是示出根据一些实施例的用于在与段相关联的当前活动期间提供实时反馈的系统的实施例的图。
图16是示出根据一些实施例用户在执行活动的同时执行使用系统1500的图。
图17是示出根据一些实施例的段匹配服务器的实施例的图。
图18是示出根据一些实施例的用于在与段相关联的当前活动期间提供实时反馈的过程的实施例的流程图。
图19是示出根据一些实施例的用于配置与到远程段匹配服务器的在设备处记录的发送信息相关联的配置参数的过程的实施例的流程图。
图20是示出根据一些实施例的用于从服务器预取段数据并在设备处生成实时反馈的过程的实施例的流程图。
图21是示出用于配置与关于数据的过滤器相关联的参数以获取用户当前活动的表现(performance)数据并且与其比较的过程的实施例的流程图。
图22是示出根据一些实施例的用于将段匹配到用户当前活动的过程的实施例的流程图。
图23是示出根据一些实施例的用于确定沿着段的用户进程的过程的实施例的流程图。
图24是示出根据一些实施例的用于传送与用户当前活动相关联的实时表现信息的过程的实施例的流程图。
图25是示出根据一些实施例的与在“Marincello Trail”段上完成的成果相关联的排行榜的用户界面截图的图。
图26是示出根据一些实施例的接近用户的当前位置的检测段(“climbs”)列表的用户界面的屏幕截图的图。
图27是示出根据一些实施例的接近用户的当前位置的检测段(“climbs”)地图的用户界面的屏幕截图的图。
具体实施方式
本发明可以以许多方式被实施,包括作为:过程;装置;系统;物质的组成物;计算机可读存储介质上体现的计算机程序产品;和/或处理器,诸如被配置为执行存储在耦合到处理器的存储器上和/或由其提供的指令的处理器。在本说明书中,这些实施方式或本发明可采用的任何其它形式可被称为技术。通常,所公开过程的步骤的顺序可在本发明的范围内被改变。除非另外陈述,否则被描述为经配置以执行任务的组件(诸如处理器或存储器)可被实施为临时经配置以在给定时间执行任务的一般组件,或经制造以执行任务的特定组件。如本文所用,术语“处理器”指的是被配置为处理数据(诸如计算机程序指令)的一个或多个设备、电路和/或处理核。
以下与附图一起提供本发明的一个或多个实施例的详细描述,所述附图图示了本发明的原理。结合这样的实施例来描述本发明,但本发明并不限定于任何实施例。本发明的范围仅由权利要求限制,以及本发明涵盖许多可替换方案、修改和等同物。许多具体的细节在下面的描述中被阐述,以便提供对本发明的透彻理解。这些细节被提供用于示例的目的,并且可根据权利要求来实践本发明而无需这些具体细节中的一些或全部。为了清楚,在与本发明有关的技术领域中已知的技术材料尚未被详细描述,以不使本发明不必要地模糊。
在本文中公开了定义段以及将成果与段匹配。如本文中所使用的那样,段指的是所关心的地理轨迹,并且可以用作参考(例如,用于沿着该轨迹的运动表现的比较和/或用于其它应用)。例如,段可以用来为骑自行车的人识别流行的爬坡赛。如本文中所使用的那样,成果指的是所记录的具有时间戳的一系列GPS信息(例如,其可以表示运动表现的实例)。在一些实施例中,与关联数据(例如,成果与之相关联的活动度量)一起存储有成果。在一些实施例中,从所存储的成果中得到一个或多个段。在一些实施例中,用户可以定义段。在一些实施例中,在用户界面处呈现成果的视觉表示,以及用户使用该视觉表示来定义段。在一些实施例中,在用户界面处呈现地图,以及用户通过在地图上指示轨迹来定义段。在各种实施例中,在将一系列的GPS信息存储为段之前,将其转换成地理抽象(geographical abstraction)集合。在一些实施例中,与成果的关联数据一起存储有段,该成果已经被确定为匹配段。
在各种实施例中,将成果与所存储的段进行匹配。在各种实施例中,可以使用成果和所存储的段来执行两个级别的匹配。在第一级别的匹配中,如果成果与所存储的段之一的匹配百分比超过第一阈值,则做出第一确定(例如,成果是对段的宽松匹配)。在第二级别的匹配中,如果成果与所存储的段之一的匹配百分比超过第二阈值(其大于第一阈值),并且另外,成果还穿过与段相关联的开始线和终点线(或如果该段形成循环,以及确定了成果第二次穿过其在循环段处的入口点),则做出第二确定(例如,成果是对段的严格匹配)。在一些实施例中,可以确定成果是对一个或多个所存储的段的宽松匹配,以及成果也是对一个或多个所存储的段的严格匹配。在一些实施例中,如果成果匹配(例如,作为宽松匹配或者严格匹配)于段,则将成果的关联数据与和匹配的段一起存储的关联数据进行比较。在一些实施例中,如果成果匹配于段,则也将成果的关联数据与匹配段的其它成果的关联数据进行比较。
图1是根据一些实施例的用于定义和匹配段的系统。系统100包括设备102、网络104和段匹配服务器106。网络104包括各种高速数据网络和/或电信网络。设备102通过网络104与段匹配服务器106通信。在一些实施例中,系统100可包括比在图1的示例中所示的组件更多或更少的组件。
设备102是可以记录GPS信息和/或与身体活动相关联的其它数据的设备。设备102还可以是GPS信息和/或与身体活动相关联的其它数据可以被上传到其或者被传输到其的设备。设备102的示例包括(但不限于):GPS设备(例如,Garmin Forerunner和Edge设备,包括Garmin Forerunner110、205、301、305、310XT、405、405CX和Garmin Edge305、605、705、500)、移动电话(诸如包括GPS记录应用(例如,MotionX、Endomondo、RunKeeper)的智能电话(例如,基于Android的设备或苹果iPhone设备))、计算机、平板设备和/或其它通用计算设备和/或专用计算设备,其通常包括通用处理器、存储器或(一个或多个)其它存储组件、网络或输入/输出(I/O)能力、以及可能集成的GPS功能或针对GPS设备或GPS功能的支持或接口。
在各种实施例中,设备102(或其应用)被配置为在活动期间记录GPS信息和与身体活动相关联的数据。在一些实施例中,设备102被配置为在活动完成之后接收所记录的GPS信息和与身体活动相关联的数据(例如,这样的信息被上传到设备102)。在一些实施例中,所记录的GPS信息和关联数据被称为“成果”。换句话说,成果是身体活动的实例,并且可以通过其地理信息以及与运动表现有关的其它度量来表示。身体活动的示例包括骑自行车,跑步和滑雪。在一些实施例中,GPS信息包括一系列的连续和离散的GPS数据点(例如,经度和纬度坐标),其中每个点有一个时间戳。在一些实施例中,关联数据包括(但不限于):海拔、心率、功率/瓦特(例如,消耗的能量)、时间、速度(例如,每个段和/或路线的平均和/或最大速度,其中平均速度例如可以从时间和GPS信息得到)和/或节奏。可以以各种粒度记录关联数据。例如,关联数据可以对应于每个GPS数据点、整个活动(例如,关联数据包括度量的平均值)或活动的部分。作为示例,人可以在骑自行车时使用设备102。在骑自行车结束时,用户可以用所记录的GPS信息(例如,通过设备102的用户界面)来回顾他的表现,用以观察他经过的地理轨迹、他向前骑行消耗了多少能量、他完成它有多快、平均速度、基于海拔的度量和/或其它度量。在一些实施例中,设备102被配置为存储所记录的GPS信息以及关联数据(例如,成果)和/或向服务器106发送成果信息。在一些实施例中,设备102被配置为呈现交互式用户界面。用户界面可显示GPS信息并接收关于显示的(例如,由用户做出的)选择。在一些实施例中,设备102向段匹配服务器106发送它接收的选择。
在各种实施例中,段匹配服务器106被配置为在设备102处支持并且呈现用户界面。在一些实施例中,段匹配服务器106被配置为使用所记录的成果在用户界面处接收用户定义的段。段指的是所关心的地理轨迹,并可以被用作用于比较沿着该地理轨迹的运动表现的参考。段匹配服务器106被配置为接收一系列GPS信息和关联数据(例如,成果)。在一些实施例中,段匹配服务器106被配置为使用地图软件应用来在用户界面处显示GPS信息的视觉表示。视觉表示例如可以是图形地图上标记的一系列标志或连续线。在一些实施例中,段匹配服务器106能够通过包括被配置为与地图软件/应用(例如Google地图、MapQuest、Bing地图和/或另一映射应用/服务)的应用编程接口(API)进行交互的逻辑来在用户界面处支持地图。在一些实施例中,用户可以使用GPS信息的视觉表示来定义段。在一些实施例中,在图形地图上选择沿着GPS信息的视觉表示的起点和终(例如,结束)点以定义段。例如,用户可以(例如,通过放下标记或点击)选择沿着他或她在身体活动期间刚刚经过的地理轨迹的起点和/或终点。因此,在所选择的起点和终点之间的地理轨迹的部分被定义为段。在一些实施例中,与所定义的段一起存储有起点和终点。在一些实施例中,在所选择的起点和终点之间的地理轨迹的部分被转换成抽象形式,并且然后被存储在用于存储段的数据库中。在一些实施例中,对应于所定义的段的关联数据也与段一起被存储在数据库处。
在一些实施例中,段匹配服务器106被配置为使用地图上的选择而在用户界面处接收用户定义的段。在一些实施例中,段匹配服务器106呈现图形地图(例如,Google地图、MapQuest)并接收地图上的点的一系列选择,用以指示段的过程。地图上的点的该一系列选择不需要基于所记录的成果,而可以仅仅是所关心的任何地理轨迹。例如,所选择的段可以是骑自行车的人之前已经骑行过去但尚未记录该骑行的轨迹,或者所选择的段可以是骑自行车的人想在将来骑的轨迹。地图上的点的一系列选择可被转换成一系列GPS信息(例如,坐标)。在一些实施例中,该一系列GPS信息被转换成抽象形式,并且然后被存储为段。
在一些实施例中,在用户界面处的定义段之后,将所存储的成果(例如,来自过去的身体活动的GPS信息集合)与所定义的段进行比较。在一些实施例中,当将成果与该定义的段比较时,通过检查成果的GPS信息是否指示已经穿过的段的起点和终点,来确定成果是否部分地匹配段。一旦一个或多个成果被确定为匹配段,就对与成果相关联的数据进行检索和分析。在一些实施例中,与新定义的段相关联的数据也被包括在分析中。例如,可以比较数据来确定匹配段的哪个成果具有完成段的最快时间。
段匹配服务器106还被配置为将成果(例如,GPS信息集合)匹配于段。在一些实施例中,在确定成果的匹配之前,成果被转换成所存储的段的相同抽象形式。将成果匹配于段的一个目的是发现已经跨越相同的所关心的划定轨迹(即,段)发生了的身体活动的所存储的实例。换句话说,匹配段的成果指的是已经沿着所定义的轨迹发生了的身体活动的实例。一旦发现已经在同一段上发生了的身体活动的实例,就可以比较它们的关联信息(例如,完成时间、速度、心率和/或瓦特)以产生关于由一个或多个个人跨越同一轨迹的运动表现的特定统计(例如,最快时间、最高瓦特)。在一些实施例中,对于新定义的段,段匹配服务器106被配置为将所存储的成果与段进行比较。在一些实施例中,将成果的关联数据和已经确定成果匹配的段一起存储。在一些实施例中,段匹配服务器106被配置为(例如,从设备102)接收成果并且将成果与所存储的段进行比较以发现(一个或多个)匹配。在各种实施例中,一旦发现成果以匹配段,就比较它们的关联数据(例如,比较匹配段的所有成果的关联数据)。
图2A是示出根据一些实施例的段匹配服务器的实施例的图。在一些实施例中,可以使用图2A的示例来实施段匹配服务器106。在所示出的示例中,段匹配服务器106包括段数据库202、成果数据库204、定义引擎206以及匹配引擎208。然而,段匹配服务器106可以包括更多或更少的组件。在一些实施例中,使用市场上可获得的通用计算硬件(例如,使用主控服务提供商,诸如在市场上可获得的服务器(诸如HP BladeSystem刀片服务器)上执行Linux操作系统的Amazon的EC2云)来实施段匹配服务器。
段数据库202被配置为存储所定义的段。虽然段数据库202在本示例中被示为一个数据库,但段匹配服务器可包含多于一个数据库以存储所定义的段。在一些实施例中,段数据库202包括通过用户上传所存储的成果并在用户界面处沿着成果的视觉表示指示起点和终点/结束点而定义的段。在一些实施例中,段数据库202包括通过用户在用户界面处沿着地图上的轨迹进行一系列选择而定义的段。在一些实施例中,段数据库202包括基于各种轨迹或爬坡的已知特性(例如由专业协会提供的信息)而(例如,通过段服务器106的管理员)预定义的段。在一些实施例中,段以抽象形式(例如,作为最小边界矩形集合)被存储在段数据库202中。以抽象形式存储段的一个原因是使得可以高效地执行匹配段的成果或类似段的搜索查询。在一些实施例中,基于R-树索引来组织段数据库202。在一些实施例中,段在段数据库202中被存储为GPS数据点集合。在一些实施例中,将段数据库202中的每个段和已经被确定为匹配段的来自成果数据库204的成果的标识符一起存储。在一些实施例中,将段数据库202中的每个段和已经被发现匹配段的成果的关联数据一起存储。
成果数据库204被配置为将成果存储为GPS信息和时间戳的集合。虽然成果数据库204在示例中被示出为一个数据库,但段匹配服务器可以包含多于一个数据库以存储成果。在一些实施例中,成果数据库204包括从设备(例如,设备102)记录和上传的成果。成果数据库204处存储的成果至少包括GPS信息、对应于GPS信息的时间戳以及与成果的运动表现有关的度量(例如,关联数据)的。在一些实施例中,时间戳被包括在GPS信息中(例如,GPS信息包括纬度和经度坐标以及对应的时间戳)。在一些实施例中,成果与针对执行成果的运动员(例如,设备102的用户)的标识符一起被存储。在一些实施例中,成果数据库204的每个成果与已经确定该成果匹配于其的段数据库202的段的标识符一起被存储。
定义引擎206被配置为接收段的定义。可用硬件和/或软件来实施定义引擎206。在一些实施例中,定义引擎206被配置为呈现用户界面(例如,在设备处)。在一些实施例中,用户界面在用户界面处显示(例如,由设备记录的)成果的视觉表示。在一些实施例中,定义引擎206被配置为通过API与第三方地图应用(例如,Google地图、MapQuest)交互以获取地图服务(例如,显示地图、接收在所显示的地图上的选择的GPS坐标和/或其它地图服务)。在用户界面处做出起点和终点的选择并在定义引擎206处对其进行接收。然后,定义引擎206存储有由起点和终点划定的轨迹作为段数据库202处的段。在一些实施例中,在定义引擎206处接收由用户界面显示的地图上的轨迹(例如,被指示为一系列选择)。然后,定义引擎206将在地图上标记的轨迹存储为段数据库202处的段。在一些实施例中,在存储段之前,定义引擎206将段转换成抽象的地理形式(例如,作为最小边界矩形集合)。
在一些实施例中,定义引擎206被配置为将新定义的段与段数据库202处的所存储的段进行比较,以确定任何现有的段是否类似于新定义的段。在一些实施例中,如果确定现有的段类似于新定义的段,则显示器可向段的创建者警报已经存在的段。在一些实施例中,因为已经定义了类似的段,所以新段的创建者可选择放弃保存新段。
在一些实施例中,定义引擎206被配置为(例如,周期性地)比较段数据库202处存储的段,以确定两个或更多段的组是否类似。在一些实施例中,对于被发现类似的段,显示器呈现有这些段以使得只有一个可以被选择(例如,以使用用户团体的表决过程为来源的人群,所述用户使用诸如设备102之类的设备)以保留在数据库中。未被选择的段可以从数据库中丢弃,以便通过移除冗余段或将它们降级来释放空间,使得它们不被显示为公共段,但可以保留供提交用户私人使用。在一些实施例中,定义引擎206被配置为确定类似段包括被其它段完全包含的段(即,子段和超段)。在一些实施例中,在段数据库202处指出段和其超段或子段之间的关系。
匹配引擎208被配置为确定匹配于(例如,段数据库202的)一个或多个段的成果。在一些实施例中,匹配引擎208被配置为访问存储在成果数据库204处的成果。在一些实施例中,在段的用户定义(例如,基于上传的成果或地图上的标记)之后,匹配引擎208访问所存储的成果以匹配新定义的段。例如,用户(例如,骑自行车的人)可以定义段(并且可选地,公开地共享段以让其它用户看见),并且然后接收关于已经经过了所定义的段的过去活动(例如,骑自行车人本人或其它骑自行车人的过去骑行)的信息。在一些实施例中,匹配引擎208被配置为访问段数据库204处存储的段。在一些实施例中,响应于所接收的成果(例如,由设备102发送),匹配引擎208确定所接收的成果是否匹配段数据库202处存储的任何段。例如,用户(例如,骑自行车的人)可以检查最近记录的成果(例如,骑自行车)是否包括一个或多个已定义的段。如果确定成果包括段,则访问段的关联数据(例如,运动表现数据)并且将其与成果的关联数据比较。这样,用户可以通过能够自动检查他是否已经经过了段而从已定义的段受益,无需手动地确定段在哪开始或结束。
在一些实施例中,匹配引擎208被配置为将成果(例如,GPS坐标集合)转换成相同的抽象形式(例如,最小边界矩形集合),其中在执行与所存储的段的匹配(例如,经由查询段数据库)之前存储段。在一些实施例中,基于在成果和所存储的段之间执行匹配,可以做出两种类型的确定(例如,成果是松散匹配,成果是严格匹配)。如果它们匹配的百分比超过第一阈值(例如,65%或更高),则成果可以被确定为对所存储的段的松散匹配。在一些实施例中,作为对所存储的段的松散匹配的成果可能需要所记录的身体活动近似地经过与所匹配的段相同的轨迹。如果它们匹配的百分比超过第二阈值(例如,80%)以及另外,成果跨越与所存储的段相关联的开始线和结束线,则成果可以被确定为对所存储的段的严格匹配。在一些实施例中,作为对所存储的段的严格匹配的成果可能需要所记录的身体活动紧密地经过与所匹配的段相同的轨迹。在各种实施例中,以相同方式执行为该两个确定(例如,松散匹配和严格匹配)确定匹配百分比。在一些实施例中,成果可以被确定为对一个或多个段的松散匹配,以及成果也可以被确定为对一个或多个(相同或不同)段的严格匹配。例如,成果可以被确定为对段的松散匹配,并且它也可以被确定为对相同的段的严格匹配。在另一示例中,成果可以被确定为对一个段的松散匹配以及对不同段的严格匹配。在一些实施例中,做出作为对第一数据库中存储一个或多个段的松散匹配的成果的确定,以及做出作为对第二、不同数据库中存储的一个或多个段的严格匹配的成果的确定。
在一些实施例中,如果成果被确定为匹配段(例如,作为松散匹配或严格匹配),则访问该段的关联数据(例如,已经被确定为匹配段的所存储的成果的关联数据)以将其与成果的关联数据比较。在一些实施例中,多个存储的成果被确定为匹配新定义的段,以及针对匹配的段的关联数据被访问、聚合和分析。在一些实施例中,匹配引擎208被配置为基于检索数据来产生分析结果。在一些实施例中,匹配引擎208将分析结果发送到设备102(例如,用于作为用户界面显示)。
例如,用户可以定义段,以及匹配段的所有存储成果可以被聚合和分析,来产生以最快时间或最高功率经过段的用户列表(即,排行榜)。在另一个示例中,用户可以产生成果,以及段匹配服务器可以确定成果是否已经经过了任何定义的段。如果确定成果已经经过了定义的段,则可以将与该成果相关联的数据与已经被确定为已经经过了所定义的段的所有成果的历史进行比较。这样,用户可以确定他在段上的运动表现如何与跨越同一地理轨迹(如由段表示的那样)的所有其它成果相比较。此外,用户不需要知道(例如,当他骑自行车时)段确切在哪开始或结束。
在一些实施例中,设备102可以包括段数据库202、成果数据库204、定义引擎206、以及匹配引擎208或等效的功能,使得设备102可以在设备102处存储段、存储成果、定义段以及将段与成果匹配(而不需要从段匹配服务器106发送或接收信息)。在一些实施例中,设备102处的成果数据库仅包括由设备的用户所产生的成果。
图2B是示出根据一些实施例的在成果数据库处的表格中存储的成果的示例的图。在一些实施例中,在成果数据库204处存储的成果可以以与图2A的示例类似的方式被存储。然而,数据库处的成果的表格可以包括比示例中所示出的列更多或更少的列。在示例中,利用成果ID、其一系列GPS信息(例如,GPS坐标以及各自的时间戳)、与记录了成果的用户相关联的标识符、成果被记录的日期、以及包括速度(km/h)、心率(每分钟搏动)、功率(瓦特)和时间(小时:分钟)的关联数据,来存储每个成果。在一些实施例中,当将成果与段比较时,成果的GPS信息(例如,一系列GPS坐标以及时间戳)被访问并用于比较。在一些实施例中,当确定成果匹配段时,将针对成果的关联数据(例如,速度、心率、功率、时间、海拔、等级)与也匹配段的其它成果的关联数据(如果有的话)进行聚合。然后分析所聚合的数据(例如,以产生总结所聚合的数据的显示)。
图3是示出根据一些实施例的用于段匹配的过程的实施例的流程图。在一些实施例中,在系统100上实施过程300。
在302处,定义段。在一些实施例中,段是由用户在用户界面处通过沿着成果(例如,一系列GPS信息以及时间戳)的视觉表示选择起点和终点而被定义的。在一些实施例中,成果由配备有GPS跟踪功能的设备记录。在一些实施例中,段是由用户在用户界面处通过选择地图(例如,由诸如Google地图之类的第三方地图软件支持)上的一系列点而被定义的。在一些实施例中,使用地理轨迹的已知特性(例如,海拔和平均等级)来定义段(例如,由段匹配服务器的管理员)。所定义的段被存储在一个或多个数据库中。在一些实施例中,所定义的段被转换成抽象形式(例如,作为最小边界矩形集合),并以它们的抽象形式被存储。在一些实施例中,基于R-树索引来组织其中存储有段的数据库。
在304处,确定对段的匹配成果。在一些实施例中,对于所定义的段,访问关于所存储的成果的信息并将其与段比较。在一些实施例中,成果被存储为GPS信息以及时间戳(并且以及诸如运动表现的各种度量的关联数据)的集合。在一些实施例中,所存储成果的GPS信息被访问,并且在做出比较之前被转换成段所处于的任何一种形式(例如,最小边界矩形)。在一些实施例中,将所存储的成果与段相比较,以确定匹配段的所存储成果的子集。被发现匹配段的所存储成果的子集的关联数据被访问(例如,从存储成果的相同的数据库中)并聚合。对聚合的关联数据进行分析,并在一些实施例中,以(一个或多个)表格(例如,排行榜)和/或视觉呈现分析的(一个或多个)结果。
图4是示出了根据一些实施例的基于成果来定义段的过程的实施例的流程图。在一些实施例中,可以使用系统100来实施过程400。在一些实施例中,处理400可用于实施302。
在402处,呈现成果的视觉表示。在一些实施例中,该成果是具有时间戳的一系列GPS信息,其由配备有GPS跟踪功能的设备记录。在一些实施例中,在用户界面处呈现视觉表示。例如,GPS坐标可以被显示为地图上的连续线或地图上的一系列标记(例如,由诸如Google地图之类的地图应用支持)。在一些实施例中,即使一系列GPS信息是离散的地理坐标集合,也可以在产生以连续线形式的视觉表示时推断两个坐标之间的点。
例如,用户(例如,骑自行车的人)已经完成了自行车骑行,并想指定骑行的至少一部分作为段。这样,该骑自行车的人或其它骑自行车的人可能能够跟踪和比较他们跨越由该段引用的地理轨迹的表现。
在404处,接收起点的选择。在一些实施例中,用户在用户界面处沿着视觉呈现选择点来作为段的起点。在一些实施例中,如果在成果中已经多于一次地穿过了所选择的点,则生成显示以指示沿着成果穿过了所选择的起点的每一次时间。然后,用户可以选择对应于他或她想表示作为起点的期望实例的时间。在一些实施例中,所选择的起点被存储为其对应的GPS坐标(例如,如由与地图应用相关联的API返回的那样)。在一些实施例中,利用基于成果的所选择的起点和(一个或多个)其它点得到的虚拟开始线来存储所选择的起点。
返回到前面的示例,骑自行车的人可以沿着他的骑行来选择点以指定为段的起点。起点不需要处于整个段的开始点处,但可以是沿着该骑行的任何点。起点可以被认为是比赛的开始线。当稍后确定另一骑自行车的人(或在不同的场合下的相同的骑自行车的人)是否已经骑过了该段时,确定随后的骑行(即,成果)是否穿过了起点。
在406处,接收终点的选择。在一些实施例中,用户在用户界面处沿着视觉呈现选择点来作为段的终点或结束点。在各种实施例中,用于选择和存储终点的技术与用于起点的技术是一样的。例如,所选择的终点可以被存储为其对应的GPS坐标和/或具有得到的虚拟终点线。
返回到示例,骑自行车的人可以沿着他的骑行选择点以指定为段的终点。终点不需要处于骑行的最末尾,但可以是在起点之后的任何点。终点可以被认为是比赛的终点线。当稍后确定另一骑自行车的人(或在不同的场合下的相同的骑自行车的人)已经骑过该段时,确定随后骑行(即,成果)是否也已穿过了终点。在一些实施例中,如果将被定义的段包括循环,则所选择的起点和结束点可以是相同的GPS坐标集合。
在408处,可选地存储所定义的段。在一些实施例中,如果所定义的段被确定为类似于已经存在的段(例如,在包括预定义和/或用户定义的段的数据存储器中,诸如段数据库),则用对应的显示来提示用户。在一些实施例中,用户可以回顾现有的段和/或根据现有的重叠的段来选择丢弃新定义的段。如果用户选择丢弃新定义的段,则他或她可以选择将他的成果与现有的段相关联,并存储与他的成果相关联的数据以及现有的段。在一些实施例中,如果用户定义了段匹配现有的段,则匹配的现有的段已经被存储(例如,在包括预定义和/或用户定义的段的数据存储器(诸如段数据库)中)。如果没有现有的类似的段,或者如果用户无论如何选择存储新定义的段,尽管可能重叠,则新定义的段被存储。在一些实施例中,段被转换成抽象形式(例如,作为最小边界矩形的集合),并且然后被存储。在一些实施例中,新定义的段可以与名称和/或(例如,由用户选择的)一个或多个标志一起被保存。在一些实施例中,所存储的成果被访问以与该段匹配。如果/当发现匹配成果;与匹配成果相关联的数据被组合和比较。
返回到示例,骑自行车的人可以使用用户界面来创建段。骑自行车的人也可以输入如“Old La Honda”那样的段名称以将段与沿着其存在段的道路的名称关联。骑自行车的人也可以接收关于已经在“Old La Honda”上发生的过去的骑行的反馈(例如,如由段匹配确定),诸如哪些用户已经骑过段、何时、谁用最快的时间、在完成段方面谁耗费了最大量的能量。骑自行车的人也可以看到他在“Old La Honda”上的自身表现相比过去的骑行(例如,用户在该段上的骑行的历史之中排序在哪)进展如何。随后用户还可以通过在用户界面处输入“OldLa Honda”而搜索该段,该用户界面支持通过段数据库的搜索。随后用户也可以通过记录骑行并发送用于匹配段的待检测的骑行以检查看他们是否已经骑过了“Old La Honda”。如果确定(例如,如由段匹配确定的那样)骑行包括“OldLa Honda”段,则可以将在针对段长度的骑行期间的随后用户表现与已骑过该段的其它用户的历史表现相比较。
图5是示出根据一些实施例的用于基于成果来定义段的用户界面的示例的图。在一些实施例中,使用图5的示例来实施402。在所示的示例中,位于地图上的暗线是从例如由GPS设备记录的成果(例如,具有时间戳的一系列GPS信息)所呈递的视觉呈现502。如示例中所示,将从其选择段的成果的名称在区域504中被指示为“Easy Ride around Lake Fairley(Fairley湖周围的轻松骑行)”。在一些实施例中,用户界面中使用的地图被诸如Google地图之类的地图应用支持。地图应用可以通过相关联的API交互。
图6是示出根据一些实施例的显示段的起点选择的用户界面的示例的图。在一些实施例中,使用图6的示例来实施404。在所示的示例中,示出视觉呈现502的地图在其中将选择起点的区域上被放大。在一些实施例中,可以通过在地图的位置上点击来选择起点。在所示的示例中,标记602指示沿着成果的所选起点。在所示的示例中,沿着成果在三个不同时间(604、606和608)穿过所选择的起点。提示用户选择期望时间以设置为起点。在一些实施例中,用户被提示以选择多个可能起点之一,因为基于在起点和终点之间的成果长度来确定所定义段的长度。在一些实施例中,所选择的起点被存储为GPS坐标集合。在一些实施例中,所选择的起点与部分从该起点得到的虚拟开始线一起被存储。
图7是示出根据一些实施例的显示段的终点选择的用户界面的示例的图。在一些实施例中,使用图7的示例来实施406。在一些实施例中,终点被选择并且还由用于起点的相同技术存储。在所示的示例中,标记703指示段的所选择的终(例如,结束)点。在一些实施例中,所选择的终点被存储为GPS坐标集合。在一些实施例中,所选择的终点与部分从终点得到的虚拟终点线一起被存储。
图8是示出根据一些实施例的用于使用地图上的一系列选择来定义段的用户界面的示例的图。在一些实施例中,所示的示例可以用于实施302。在一些实施例中,可以通过直接在用户界面处的地图上做出选择而定义段。与如图5、6和7中所示的定义段的技术不同,在图8的示例中定义段的技术不需要所记录的成果。在所示的示例中,用户已经在地图上沿着轨迹(例如,“Montebello Rd”)按顺序放下标记802到818,以指示段。可以从地图应用(例如,Google地图)获取标记802至818的地理信息的集合,并将其存储为段。在一些实施例中,段的第一个放下的标记被认为是起点,而最后放下的标记被认为是终点。
图9是示出根据一些实施例的将一系列GPS信息转换成最小边界矩形(MBR)集合的实施例的流程图。在一些实施例中,一系列GPS信息(例如,被用于基于记录的成果来定义段,针对由地图应用支持的在地图上的一系列选择)被转换成将为段存储的最小边界矩形(MBR)集合。在一些实施例中,一系列GPS信息被转换成MBR集合,以用于查询被存储为MBR集合的段的R-树索引的数据库。
将一系列GPS信息转换成MBR集合的一个原因在于:在各种实施例中,MBR可以用于在MBR的R-树索引的数据库上执行高效的边界框查询。在一些实施例中,针对R-树数据库(例如,用于定义的段)查询的搜索输入是(例如,与成果相关联的)MBR,以及查询返回重叠输入MBR的(例如,与段相关联的)MBR。在一些实施例中,成果是否类似于(例如,匹配)段取决于使用边界框查询发现它们的MBR重叠的程度。在一些实施例中,一个段是否类似于另一段还取决于它们的MBR重叠的程度。
在902处,将一系列GPS信息映射到图块(tile)集合上。在一些实施例中,该一系列GPS信息来自由配备有GPS跟踪功能的设备记录的成果。在一些实施例中,该一系列GPS信息对应于(例如,在用户界面处定义的)段。
通用的图块的已知技术是用来将所关心的地理区域划分成一般均匀的图块。例如,每个图块可以是20米乘20米。这种通用的图块方案被应用于一系列GPS信息以产生对应的图块的集合。例如,包含GPS坐标的每个图块(以及两个这样的图块之间的任何图块)都被包括在图块集合中。在一些实施例中,大致覆盖相同地形的任何两个地理轨迹将映射到相同的通用图块集合,尽管在它们的各自的GPS信息集合中有小的差异。
在904处,可选地,填加图块以填充图块,用以在包括连续的图块集合的GPS点之间提供路径。例如,如果两个连续的GPS点未映射到相邻图块,则由连接连续GPS点的线经过的任何图块可以被添加到图块集合(例如,在扩展之前,在GPS点之间填充图块)。
在906处,可选地,扩展图块集合。在一些实施例中,图块集合可被扩展以涵盖相邻图块,用于补偿GPS数据中的差异。例如,在902处产生的图块集合中的每个图块的相邻8个图块可被包括在图块集合中,如果它们尚未被包括的话。然而,也可以以其它适当的方式扩展图块集合。
在908处,将图块集合分组成MBR集合。在一些实施例中,彼此接近的集合中的图块被分组成一个MBR。在一些实施例中,MBR的每个维度(例如,高度、宽度)是一个或多个完整的图块。例如,为了将图块集合分组成MBR集合,集合的图块首先被合并成非重叠的矩形框集合。在一种方法中,水平邻接的单元被合并成宽框集合,每个是一个图块高。接着,然后将每个框与下面行的框比较,并且如果存在相同宽度和水平位置的框,则将它们合并。作为结果的框的集合是MBR的期望集合。然而,将图块集合分组为MBR集合不仅限于之前的示例。
在一些实施例中,每个MBR由其四个相应的角部的坐标确定(例如,在图块方案上)。在一些实施例中,MBR集合被存储在针对段的数据库处。例如,集合的MBR可以存储在R-树索引的数据库表格的行中。集合的MBR也可以和与它们所表示的段相关联的标识符一起被存储。
然而,在一些实施例中,段可以被存储为GPS数据点的对应集合(与被转换成MBR并然后存储不同)。
图10A是示出根据一些实施例将一系列GPS信息转换成MBR集合的示例的图。在一些实施例中,图10A的示例是将过程900应用于一系列GPS信息的结果。在所示的示例中,所记录的自行车骑行包括GPS坐标集合,其由小的黑色圆形所表示。包括GPS坐标的通用的图块方案的每个图块被包括在GPS信息被映射的图块、以及由连接连续GPS点的线段经过的任何图块的集合中。在所示的示例中,图块集合中包括的图块以阴影显示。集合中每个图块的八个相邻图块也被包括在图块的扩展集合中(如果以前尚未包括图块)。图块的扩展集合然后被分为四个MBR(其由MBR1、MBR2、MBR3和MBR4标识)。在所示的示例中,每个MBR由暗色边框描画。每个MBR可以通过表示其四个角的(例如,图块方案的)坐标(x1、x2、y1、y2)集合来识别。如果一系列GPS信息意在定义段,则对应的MBR集合可以被存储,在一些实施例中,在具有段标识符的R-树索引的数据库处的表格中。
图10B是示出根据一些实施例的用于存储段信息的数据库表格条目的示例的图。在一些实施例中,数据库是R-树索引的数据库。例如,数据库可以是MySQL,Oracle或Postgres。在一些实施例中,图10B的示例包括在图10A的示例中创建的所存储MBR集合。在一些实施例中,段数据库中的每个段存储有字母数字标识符。假定图10A的示例创建了MBR集合用于具有“Old_La_Honda”的标识符的段。如图10B的示例中所示,每个MBR与其段标识符、其四个坐标和填充比(fill ratio)一起被存储。在所示的示例中,填充比指的是MBR中所包括的与段相关联的图块数量比与段相关联的图块总数。在一些实施例中,填充比可以被表示为百分比。例如,如图10A中所示,有26个阴影图块,并且因此有26个与段“Old_La_Honda”相关联的图块。由于那26个图块中的6个被包围在MBR1内,所以数据库中的针对MBR1的填充比条目是“6/26”。
虽然图10B的示例对于一个段只包括4个条目(针对集合中的每个MBR),但是实际的段在数据库处可包括数千条目,这取决于轨迹的长度。在一些实施例中,用于存储段信息的数据库条目可以包括比在图10B的示例中所示出的栏更多或更少的栏。在一些实施例中,在数据库处存储的用于段的信息集合包括已经被确定为匹配段的所有成果(例如,来自成果数据库)及其关联数据。这样,当从数据库检索段时,也可以快速地访问(例如,如由匹配成果和其关联数据表示的)运动表现的历史。
图11A是示出根据一些实施例的在段数据库处搜索匹配段的过程的实施例的流程图。
在一些实施例中,段在R-树索引的数据库中被存储为MBR集合。在一些实施例中,段在数据库中被存储为GPS数据点集合。
在一些实施例中,对段数据库进行查询,以确定查询输入(例如,由一系列GPS数据点所表示的地理轨迹)是否匹配于在数据库处定义的段。如本文中所使用的那样,一系列GPS信息(例如,属于成果)匹配于另一系列GPS信息(例如,属于段),当它们的匹配百分比超过特定阈值时。
在1102处,如果适当的话,转换一系列的GPS信息。在一些实施例中,从(例如,通过GPS使能设备所记录的)成果中提取一系列GPS信息。在一些实施例中,GPS信息是一系列连续的GPS数据点。在一些实施例中,段以抽象形式(诸如MBR集合)被存储。如果段被存储为MBR集合,则一系列GPS信息也被转换成MBR集合。在一些实施例中,段被存储为GPS数据点集合,因此GPS信息不需要被转换成另一种形式。
在1104处,使用GPS信息来查询段数据库。在一些实施例中,数据库的查询返回类似于一系列GPS信息的段的部分(例如,GPS数据点、MBR)。
在一些实施例中,段在R-树索引的数据库处被存储为MBR集合。例如,为了在数据库处搜索,从GPS信息转换的MBR用于在R-树索引的数据库上执行边界框查询。该查询返回与输入的MBR重叠的MBR。重叠的MBR被认为是类似的。对于重叠的MBR,可以返回来自数据库处的表格(例如,图10B的表格1000)的其相应的条目。参照表格1000,在这个示例中,假定已经发现了MBR1、MBR2和MBR3(其都属于段“Old_La_Honda”)重叠。因此,可以返回针对MBR1、MBR2和MBR3的相应的行,以使得可以分析它们的条目(例如,用以确定输入的MBR集合是否匹配于“Old_La_Honda”的段)。在一些实施例中,可以返同与多于一个段相关联的重叠的MBR。
在一些实施例中,段在数据库处被存储为GPS数据点集合。用于确定类似的一系列GPS数据点(例如,在容差内)的各种搜索技术可以被采用来发现数据库处的类似段。在一个示例技术中,数据库处的每个GPS数据点被假定为包括由所选长度的半径(例如,50米)指示的容差区域。还假定一系列GPS信息中的每个点包括由所选长度的半径指示的容差区域,该所选长度可以是与数据库处的点的半径相同的长度。结果,每个GPS数据点可以被认为是跨越圆形区域。随后,一系列GPS信息中的每个点的圆形区域被用于在数据库处搜索与GPS数据点相关联的(与段相关联的)重叠圆形。在一些实施例中,可以返回对应于重叠圆形的数据库的GPS数据点。在一些实施例中,可以返回与多于一个段相关联的GPS数据点。
在一些实施例中,与使用MBR和R-树索引的数据库所需相比,使用一系列GPS数据点来搜索类似段需要更多的计算时间和/或资源。
1106,分析查询结果。在一些实施例中,查询结果被用于确定一系列GPS信息是否匹配数据库处的任何段。在一些实施例中,执行计算以确定在一系列GPS信息和返回的一个或多个段(中的部分)之间的匹配百分比。
在一些实施例中,当段被存储为MBR时,使用返回的MBR来确定匹配百分比。在一些实施例中,基于段的重叠MBR的数量与段的MBR的总数之间的比率计算一系列GPS信息与段的匹配百分比。如果该比率超过阈值,则由一系列GPS信息表示的地理轨迹被认为是匹配段。在一些实施例中,基于返回的MBR的填充比的总和计算一系列GPS信息与段的类似性。如果填充比的总和超过阈值,则由一系列GPS信息表示的地理轨迹被认为是匹配段。在一些实施例中,作为查询(例如,1104)的结果而返回的MBR包括来自数据库处的表格的其相应的行。参照图10B的表格,在这个示例中,假定已经发现了MBR1、MBR2和MBR3(都属于段“Old_La_Honda”)重叠。因此,返回针对MBR1、MBR2和MBR3的相应的行。在这个示例中,基于针对重叠的MBR的填充比的总和计算一系列GPS信息与“Old_La_Honda”段之间的类似性。由于MBR1、MBR2和MBR3重叠,所以其相应的填充比之和(即,6/26+4/26+10/26)为20/26或大约76.9%。如果匹配的阈值百分比是65%,则一系列GPS信息被认为是匹配“Old_La_Honda”段。在一些实施例中,可以为多于一个段返回MBR,并且可以确定与那些段中的每一个的类似性。
在一些实施例中,当段被存储为GPS数据点集合时,基于由查询返回的GPS数据点的数量来确定匹配百分比。在一些实施例中,如果由查询返回的GPS数据点的数量与和该段相关联的GPS数据点的总数的比率超过特定阈值,则由一系列GPS信息表示的地理轨迹被认为是匹配段。在一些实施例中,可以为多于一个段返回GPS数据点,可以确定与那些段中的每一个的匹配百分比。
在一些实施例中,如果一系列GPS信息之间的匹配百分比降到阈值(例如,65%)之下,则地理轨迹被认为是不匹配段。在一些实施例中,有针对其一系列GPS信息可以匹配段的多个阈值。在一些实施例中,一系列GPS信息可以在更低阈值(例如,在65%到79%之间)处匹配段,并被认为是段的松散匹配。在一些实施例中,一系列GPS信息可以在更高阈值(例如,在80%和100%之间)处匹配段,并被认为是段的严格匹配的候选。在一些实施例中,为了被认为是段的严格匹配,不仅一系列GPS信息需要在更高阈值处匹配段,而且该一系列GPS信息还需要穿过段的虚拟开始线和终点线。当一系列GPS信息被认为是对段的松散匹配时,这意味着与GPS信息相关联的地理轨迹(例如,成果)未紧密地遵循由段引用的轨迹。例如,意在沿着由段划定的一般地形进行悠闲的自行车骑行的骑自行车的人可以与精确的段稍微有所偏离。当一系列GPS信息被认为是段的严格匹配时,则意味着与GPS信息相关联的地理轨迹已经紧密地遵循由段引用的轨迹。例如,意在跨越段与他自己的记录或其它人的表现竞争他的时间(或另一表现度量)的骑自行车的人将需要与由段划定的区域更紧密地进行遵循。此外,目标在于竞争其时间的骑自行车的人将需要穿过段的虚拟开始线和终点线(或者,如果该段形成循环,则骑自行车的人需要第二次穿过他或她在循环段处的入口点),以确保行进了段的充分长度(而不是只有其中的一部分)。
图11B是示出根据一些实施例的将成果与段匹配的实施例的流程图。在一些实施例中,根据一些实施例处理1150被用于实施1106。
在处理1150的开始处,假定已经执行了1104并且查询已经返回了段的类似部分(例如,在给定容差之内的重叠MBR或GPS数据点)。
在一些实施例中,将成果与段匹配包括1152并在1154后结束(例如,确定松散匹配),但不是严格匹配的确定。在一些实施例中,将成果与段匹配包括1155至1160(例如,严格匹配的确定),但不是松散匹配的确定。在一些实施例中,匹配成果包括确定成果与所存储段的松散匹配和严格匹配这两者。
在1152处,确定成果和段之间的匹配百分比是否超过第一阈值。如果匹配百分比小于第一阈值(例如,匹配百分比低于65%),则成果被视为是不匹配段,并且处理1150结束。如果匹配百分比超过第一阈值(例如,匹配百分比是在65%以上),则在1154处,成果被视为是对段的松散匹配,并且控制转到1155。
在1155处,确定成果和段之间的匹配百分比是否超过第二阈值。如果匹配百分比超过第二阈值(例如,匹配百分比是在80%以上),则成果被视为是段的严格匹配的候选,并且控制转到1156。如果匹配百分比低于第二阈值(例如,匹配百分比为65%至79%之间),则成果不被认为是严格匹配(并且仅为松散匹配),并且该处理结束。
在1156处,判断成果是否穿过段的开始线和终点线。如果穿过开始线和终点线这两者,则在1160处,成果被认为是段的严格匹配。然而,如果未穿过线之一或两者,则该处理结束,并且成果不被认为是严格匹配(并且仅作为松散匹配)。
在一些实施例中,在将成果与形成循环的段(例如,包括在纽约市的中央公园周围的周边的段)进行比较的情况下,不为循环段创建开始线和终点线,并且因此可以不执行1156。取而代之的是,在一些实施例中,对于已被视为循环段的严格匹配的候选的成果,首先确定成果第一次穿过循环段的入口点。然后,如果成果被确定为第二次穿过循环段的确定的入口点,则成果将被视为是循环段的严格匹配。
图12是示出根据一些实施例的创建虚拟开始线的示例的图。在一些实施例中,为定义的段创建虚拟的开始线。在一些实施例中,当使用记录的成果来定义段(例如,通过处理400)时,从GPS信息和所选择的起点得到虚拟开始线。在一些实施例中,如果段形成循环,则不为该段创建起始线或终点线。
在图12的示例中,所记录的成果由连续的一系列GPS坐标P1(t0)、P2(t1)、P3(t2)、P4(t3)和P5(t4)表示。点P1(t0)在时间上比P2(T1)更早被通过,以及P2(T1)在时间上比P3(t2)更早被通过,等等。在位置1202处选择起点。在通过了P1(t0)之后但也在通过P1(t1)之前,所选择的起点产生。由于该系列的下一GPS坐标为未被通过的P2(t1),所以从P2(t1)绘制直线路径1208到所选起点。虚拟开始线1206被选择为在正确位置中,以使得其中心和与所选择起点和P2(t1)之间的直线路径1208的中心交叉。在该示例中,虚拟开始线1206以90度角与直线路径1208交叉,虽然两者还可以以不同的角度交叉。虚拟开始线的长度可以被选为任何适当的长度(例如100米)。在一些实施例中,虚拟开始线可以与其关联段一起被存储在段数据库中。在一些实施例中,虚拟开始线可以仅被存储为线的两端的坐标(例如,因为可以通过在两个坐标之间画直线而创建线)。在一些实施例中,虚拟开始线可以被存储为沿着线的紧密的一系列连续的GPS坐标。
在一些实施例中,终点线可以被创建并以与前面技术类似的方式被存储。
在一些实施例中,当成果的一系列GPS信息可以被确定为相交线时,开始线(或终点)线被认为交叉。例如,即使一系列GPS信息由离散的点组成,如果发现了两个连续的点在线的不同侧上,则关联轨迹被认为是与线交叉。在一些实施例中,如果系列中的点被发现与线接近(例如,在给定的距离之内),则可以基于关于成果已知的关联数据(例如,速度、等级、心率)来做出一系列GPS信息的推断,用以确定实际的身体活动是否穿过虚拟线,即使对应的记录未指示这一点。例如,一些GPS使能的设备以与其它不同的频率记录GPS信息。同样地,根据使用的记录设备的类型,一些不相符可能会发生在记录的GPS信息之间。然而,基于其它已知数据来推断GPS信息,至少一些不相符可以被补偿,用于更好地确保将信任给予了实际已经穿过了线的运动员。
图13是示出根据一些实施例的确定匹配成果的过程的实施例的流程图。
在1302处,将成果与段相比较。在一些实施例中,段已经被定义。在一些实施例中,段被存储在数据库处。在一些实施例中,段被存储为MBR集合。在一些实施例中,段被存储为一系列GPS数据点。在一些实施例中,从已经存储了过去成果的数据库访问成果。
在各种实施例中,将成果和段相比较以确定匹配百分比。在一些实施例中,访问(例如从数据库中)与成果相关联的GPS信息。在一些实施例中,如果段被存储为MBR集合,则将成果的GPS信息也转换成MBR集合,并进行比较。在一些实施例中,如果段被存储为GPS信息集合,则成果的GPS信息不需被转换。
在一些实施例中,如果匹配百分比超过阈值,则成果被视为是匹配段。在一些实施例中,成果可以以两个不同的级别(例如,宽松匹配和严格匹配)匹配段。如果成果以更低阈值匹配段,则确定成果是松散匹配,其意味着成果的地理轨迹和段之间的更低程度的类似性。如果成果以更高阈值匹配段,并附加地确定成果穿过段的开始线和终点线(或者如果该段形成循环,并且确定成果第二次穿过它在循环段处的入口点),则确定成果是严格匹配。在一些实施例中,严格匹配意味着成果的地理轨迹(至少一部分)和段之间的更高程度的类似性。在一些实施例中,与匹配段的成果相关联的标识符和段一起被存储。在一些实施例中,匹配成果的段的标识符和成果一起被存储。
在1304处,判断是否有更多的成果来与段比较。在一些实施例中,将所有存储的成果和段比较。在一些实施例中,只将所存储的成果的子集和段比较。在一些实施例中,和段比较的所有成果与一个用户相关联。在一些实施例中,和段比较的成果与多于一个用户关联。
在1306处,聚合与所匹配的成果相关联的数据。在一些实施例中,已被视为匹配段(例如,作为近似匹配或接近匹配)的成果及其关联数据(例如,心脏、速度、心率、功率、时间)被访问(例如,在成果数据库处)和聚合。例如,聚合数据可被暂时存储在另一个数据库中。
在1308处,对聚合数据进行分析。在一些实施例中,使用匹配成果的聚合数据来执行计算。例如,可以计算平均心率、平均速度、平均时间、平均功率和/或平均等级。在一些实施例中,将针对每个成果的关联数据集合与针对每个其它成果的关联数据集合相比较以创建匹配成果的排序列表(例如,可以基于关联数据的任何一个度量来排序列表)。例如,排序列表可以包括具有最快时间的成果的降序列表。或者,在另一个实施例中,排序列表可以包括具有最高功率的成果的升序列表。例如,排序列表可以包括最近记录的成果的列表。在一些实施例中,可以显示聚合数据的分析(例如,在用户界面处)。显示可以包括表格和/或视觉。
图14是示出根据一些实施例的用于匹配成果的分析数据的显示的示例的图。在一些实施例中,为针对其已经确定了匹配成果的所选择段显示图14的示例。换句话说,已经被匹配于段的每个成果意味着每个成果已被认为已经经过了由段引用的地理轨迹。可以在用户界面处(例如,在设备处)显示图14的示例。在该示例中,与成果相关联的身体活动正在循环,因此每个成果被称为骑行。部分1402包括最新的骑行列表,包括用户、时间、心率、功率和时间。部分1404包括通过时间排序的骑行列表,其中首先列出完成段的最快时间。部分1402的列表是“排行榜”的示例。
通过将地理轨迹定义为段,它可以很容易地被引用以用于在轨迹上的运动表现的比较。在一些实施例中,用户可以使用来自他或她的身体活动的记录的GPS数据而在用户界面处定义段。在一些实施例中,用户可以通过在地图上做出选择而在用户界面处定义段。然而对段进行定义,一旦它已被定义,就可以访问运动表现(例如,成果)的存储历史以匹配段。匹配成果的关联数据可以被聚合并呈现在表格或视觉表示中,该视觉表示呈现与段相关联的所有运动表现的全部或子集。在一些实施例中,相同的用户或其它用户随后可以检查他或她的记录活动是否包括或匹配了所定义的段。在该随后的检查中,用户可以受益于他或她记录的活动与定义和存储的段的自动匹配,而不需要确切知道段在哪开始或结束。
使用常规系统,在执行身体活动期间基于用户的GPS位置和用户的其它数据点的分析不能够支持与其它用户的实时反馈比较,因为这种分析先前尚不可被计算,直到用户的GPS设备可以连接到计算机。
公开了提供与段关联的当前活动的实时反馈。在各种实施例中,当用户正在执行匹配一个或多个段的当前活动(例如,骑自行车,跑步)时,所定义和存储的段可被用于为用户实时地生成反馈。在一些实施例中,“实时”包括在设备处提供反馈或传送到用户,而用户仍在进行当前活动(即,向用户提供反馈,而当前活动正在进行)。在各种实施例中,在用户的当前活动期间向用户提供反馈,而无需由用户输入以请求反馈。取而代之,参数可以由用户或由设备处的默认设置配置,其指示何时、响应于哪个事件、什么类型的内容等等,将在用户的活动期间提供反馈。反馈类型的示例可以包括到目前为止在匹配段上的用户当前表现与在该段上的用户自己的历史表现数据或其它用户的历史表现数据的比较、检测邻近的用户和/或段、以及指示关于用户在该段上的到目前为止的表现的用户个人成就。结果,基于在(一个或多个)匹配段上的用户当前表现以及关于匹配段的其它信息,用户可以享受反馈,而不需要主动发起段匹配/发现或比较等,因为用户当前正处于执行活动的中间。例如,在身体活动期间,用户可能不会有兴趣,或者对于用户来说手动地发起关于用户当前活动的反馈的接收可能是不实际的。
图15是示出了根据一些实施例的用于在与段相关联的当前活动期间提供实时反馈的系统的实施例的图。在该示例中,系统1500包括设备1502、设备1504、网络1506和段匹配服务器1508。网络1506包括各种高速数据网络和/或电信网络。在一些实施例中,除了另外的组件和/或功能之外,系统1500至少包括系统200的组件。
在一些实施例中,当用户正在执行身体活动时,用户可以随身携带设备1502和设备1504之一或两者。例如,在身体活动期间,任一个或两个设备可以被戴在使用者的身体上(例如,被绑于用户的手臂)或附着到由用户采用的车辆(例如,诸如自行车等)。
这两个设备1502和设备1504中的任一个可以记录位置信息(例如,GPS数据)和/或与身体活动相关联的其它数据(例如,速度、心率)。设备1502和/或设备1504的示例包括GPS设备(例如,Garmin Forerunner和Edge设备,包括Garmin Forerunner110、205、301、305、310XT、405、405CX和Garmin Edge305、605、705、500)、移动电话(诸如包括GPS记录应用(例如,MotionX、Endomondo和RunKeeper)的智能电话(例如,基于Android的设备或苹果iPhone设备))、计算机、平板设备和/或其它通用计算设备和/或专用计算设备,其通常包括通用处理器、存储器或(一个或多个)其它存储组件、网络或输入/输出(I/O)能力、以及可能集成的GPS功能或针对GPS设备或GPS功能的支持或接口。
在一些实施例中,设备1502不包括通过网络1506向远程服务器(诸如段匹配服务器1508)发送和接收数据的功能,但确实包括与设备1504通信的功能。例如,设备1502可以使用无线通信的近距离协议(诸如蓝牙或以其它方式)使用有线连接与设备1504通信。在这种实施例中,设备1504包括通过网络1506向段匹配服务器1508发送和接收数据的功能。同样地,设备1502可以经由设备1504发送数据和从段匹配服务器1508接收数据。对于这种实施例,设备1502可以是非联网的设备,其记录用户的位置信息和/或与身体活动相关联的其它数据,并且然后向设备1504发送所记录的信息。例如,设备1504可以是联网设备(诸如智能电话或平板设备),其可以从设备1502(例如,使用已安装的应用)接收所记录的信息并且可以又向段匹配服务器1508发送所记录的信息。此外,由设备1504接收从段匹配服务器1508发送的信息(例如,反馈数据),并且然后发送到设备1502。
在一些实施例中,设备1502确实包括通过网络1506发送和接收数据的功能(即,设备1502是联网设备),而设备1504可选地被包括在系统中。在其中设备1502可以记录位置信息和/或与身体活动相关联的其它数据并且还可以通过网络1506发送和接收数据的实施例中,设备1502例如可以向段匹配服务器1508发送所记录的信息,并且例如从段匹配服务器1508接收所记录的信息的分析,而无需设备1504的帮助。
虽然多于一个设备可被用于记录与身体活动相关联的信息,并与段匹配服务器1508通信(诸如,如在上面的示例中所描述的设备1502和设备1504的组合),但是为了说明的目的,在附图和以下描述中描述只使用一台设备(具有网络就绪能力的设备1502)来记录信息并与段匹配服务器1508通信。
在各种实施例中,设备1502(或应用)被配置为在用户的身体活动执行期间记录位置信息(例如,GPS数据)和/或与身体活动相关联的其它数据。在一些实施例中,其中用户当前正在参与的身体活动被称为“当前活动”。身体活动的示例包括骑自行车、跑步和滑雪。在一些实施例中,GPS信息包括一系列的连续和离散的GPS数据点(例如,经度和纬度坐标),其中每个点有一个时间戳。在一些实施例中,关联数据包括(但不限于):海拔、心率、功率/瓦特(例如,消耗的能量)、时间、速度(例如,每个段和/或路线的平均和/或最大速度,其中平均速度例如可以从时间和GPS信息得到)和/或节奏。在一些实施例中,关联数据的至少一部分被称为“表现数据”。可以以各种粒度记录关联数据。例如,关联数据可以对应于每个GPS数据点、整个活动(例如,关联数据包括度量的平均值)或活动的部分。
在一些实施例中,在身体活动时使用设备1502之前,设备1502的参数(或与在设备1502处的应用相关联的用户的账户)被配置为确定其中在身体活动之前或期间设备1502将向段匹配服务器1508发送数据和从其接收数据的方式。设备1502的参数(或与设备1502处的应用相关联的用户的账户)可以通过用户和/或通过预设设置来配置。在一些实施例中,与设备1502相关联的参数可以被配置为确定在用户开始身体活动之前将在设备1502处从段匹配服务器1508接收哪些数据。在一些实施例中,参数可以过滤掉用户不关心的数据或识别用户关心的数据类型。例如,在身体活动前从段匹配服务器1508获取的数据可以在本地被存储(例如,高速缓存或以其它方式暂时存储)在设备1502处,并用于处理由设备1502在身体活动期间记录的信息。在一些实施例中,与设备1502相关联的参数可以被配置为确定在身体活动期间何时(例如,以什么频率)以及哪种类型的数据被发送或从段匹配服务器1508接收。例如,与设备和/或用户相关联的参数可在设备1502和/或其它地方被配置并下载到设备1502。在一些实施例中,配置参数的副本也被发送到段匹配服务器1508并被维持在该处。例如,在身体活动期间将从设备1502发送的数据可以包括记录的GPS数据和与到目前为止的用户当前活动相关联的其它数据。此外,例如,将在设备1502处从段匹配服务器1508接收的数据包括各种类型的实时反馈数据,该数据至少部分地基于处理所记录的GPS数据和从设备1502发送的其它数据。在一些实施例中,当设备1502连续地(例如,周期性地)向段匹配服务器1508发送新的和/或更新的记录信息时,而段匹配服务器1508可以连续地向设备1502发送回更新的反馈数据。在一些实施例中,反馈数据包括与用户的当前活动相关联的记录信息被确定为匹配于其或者被确定为接近其的一个或多个段。在一些实施例中,反馈数据包括用户在当前活动中的表现与为针对其确定用户当前活动匹配的一个或多个段存储的(例如,该用户或其它用户的)历史或并发的表现信息之间的比较结果。在一些实施例中,反馈数据包括与其它用户并发活动和/或该用户的个人成就指示相关联的警报和邀请。可在设备1502处接收除上面所描述的反馈数据类型以外的反馈数据类型。在一些实施例中,在设备1502处接收的数据(例如,反馈数据)的至少一部分以图形、文本和/或音频视觉的方式实时向用户呈现。例如,设备1502处的用户界面可以显示由反馈数据产生的比较结果,而设备1502的音频输出可以输出比较结果的音频发音。
在各种实施例中,段匹配服务器1508包括段匹配服务器106的功能,而且还包括附加的功能。在一些实施例中,段匹配服务器1508被配置为确定从设备1502接收的GPS数据是否匹配一个或多个所定义的段。例如,基于到目前为止从设备1502接收的GPS数据的至少一部分穿过段的至少一部分的确定(例如,GPS数据指示当前活动中的用户已经穿过了与段相关联的指定的开始线),段匹配服务器1508可以确定接收的GPS数据匹配段。在一些实施例中,当确定针对用户的当前活动记录的位置信息匹配段时,假定该用户是在匹配的段上(即,沿着其行进)。在一些实施例中,一旦确定了匹配段,段匹配服务器1508就被配置为基于用户的当前活动来检索与匹配的段相关联的存储历史或并发表现数据,以用于与从设备1502接收的当前表现数据比较。段匹配服务器1508被配置为向设备1502发送比较结果的至少一部分作为反馈数据的部分。在一些实施例中,段匹配服务器1508被配置为至少部分地基于匹配于到目前为止接收的关于用户当前活动的GPS数据的(一个或多个)段,来生成其它类型的反馈(例如,与其它用户的并发活动和/或该用户数据的个人成就指示相关联的警报和邀请)。在一些实施例中,段匹配服务器1508被配置为基于与该用户相关联的配置参数针对用户执行段匹配和/或生成反馈信息。在一些实施例中,段匹配服务器1508被配置为基于更新的GPS数据和随时间从设备1502接收的其它相关联数据而更新其生成的反馈数据。
图16是示出根据一些实施例的用户在执行活动的同时执行使用系统1500的图。在该示例中,用户1600正在执行骑自行车活动。假定当用户1600正在骑自行车时用户1600正在使用系统1500的设备1502。在开始活动之前,用户1600已经基于用户的兴趣配置了关于发送数据和从远程服务器接收反馈数据或在活动期间在设备处本地地生成反馈的设备1502的参数,以符合段、其它用户、比较类型等。当用户1600沿路径骑自行车时,用户并不需要知道他或她是否沿段经过或段相对于用户1600的骑自行车路径位于哪。然而,凭借通过使用设备1502,可以在用户1600的活动期间在设备1502处向用户1600呈现反馈。例如,如图中所示,可以在设备1502处向用户1600呈现反馈数据,该反馈数据指示用户1600当前正骑行在哪个段(“Old La Honda”),以及用户1600当前在段中沿着哪(“您已经完成了‘Old La Honda’的25%”)。随着用户1600沿段前行,用户1600可以连续地(例如,周期性地和/或在配置事件时)接收更新的反馈和其它类型的反馈数据(例如,“您正一直以您的最低心率在‘Old La Honda’上骑行!”),而不需要在活动期间发起或查询反馈。用户1600在身体活动期间接收的反馈有时可以激发或以其它方式使用户1600改变他或她沿着该段的其余部分的表现。例如,如果用户1600接收诸如“您比Old La Honda的领先者仅领先3秒”之列的反馈,则可以激发用户1600骑得更快以赶上或超越该段的领先者,如果这是用户1600的目标。如在示例中所示,在用户当前活动期间的系统1500的使用可以帮助实时地通知用户关于用户表现的信息,该信息是用户可能以其它方式不知道的直到完成活动之后。
图17是示出根据一些实施例的段匹配服务器的实施例的图。在一些实施例中,用图17的示例来实施段匹配服务器1508。如示例中所示,段匹配服务器1508包括与如上所述的段匹配服务器106的相同的组件(段数据库202和定义引擎206)中的一些组件,而且还包括附加组件,诸如配置参数数据库1702、反馈引擎1704、成果和当前活动数据库1703以及匹配引擎1708。
在一些实施例中,配置参数数据库1702被配置为存储与各种设备和/或用户相关联的配置参数的集合。在一些实施例中,与其中数据(例如,记录的GPS数据和关联数据)将被发送到段匹配服务器1508的方式以及其中将从段匹配服务器1508接收数据(例如,反馈)的方式相关联的参数结合由用户配置,用于特定的用户和/或特定的设备。在一些实施例中,参数集合包括用户配置的参数,并且还包括预置参数(例如,由诸如设备1502的设备的制造商确定的参数)。参数的示例可以包括:与段相关联的数据是否以及何时将被下载到设备、与特定用户关心的段关联的标识符、与其它用户(特定用户对比较该用户自身表现和其它用户的表现数据(例如历史的或并发的)关心)相关联的标识符、在与当前活动关联的用户的表现数据和另一表现数据集合之间的比较类型、从设备发送所记录的GPS和其它数据的频率、发送所记录的GPS和从设备发送的其它数据的一个或多个触发、与设备的电池寿命的保护相关联的关心的程度、用户所关心的哪些类型的个人成就、特定用户的表现是否以及何时应当被共享在一个或多个社交媒体/网络平台处、以及与多个用户之间的并发相关联的时间窗口的定义(例如,定义指示其中至少两个正参与身体活动的用户被认为是彼此并发的时间或距离的窗口)。在一些实施例中,参数集合和与用户和/或设备相关联的标识符一起被存储,为设备配置有标识符。
在一些实施例中,成果和当前活动数据库1703包括成果数据库204的功能,而且还包括附加功能。在一些实施例中,除了如为成果数据库204所述的存储所记录成果的数据以外,成果和当前活动数据库1703还存储有GPS数据和为用户的当前活动(即,正进行的活动)记录的关联数据。在各种实施例中,随着用户进一步沿着该当前活动前行,刷新和/或用新的和/或更新的GPS数据和随着时间过去为用户当前活动记录的关联数据添加到GPS数据和针对用户当前活动而记录的关联数据。例如,在用户Barry的当前正进行的活动期间,由时间t0记录的GPS数据和关联数据可被发送到段匹配服务器1508,并存储在成果和当前活动数据库1703的条目处。然后,针对Barry的当前正进行的活动由稍后时间t1记录的GPS数据和关联数据(或仅仅是在时间t0后直到时间t1所记录的数据)被发送到段匹配服务器1508,并添加到成果和当前活动数据库1703中的对应条目。
在一些实施例中,匹配引擎1708包括匹配引擎208的功能,而且包括附加功能。在一些实施例中,随着用户进行身体活动,匹配引擎1708被配置为连续地(例如,周期性地和/或在各种配置的触发事件处)接收新的或更新的GPS数据和在设备(诸如设备1502)处随时间过去而记录的其它数据。在一些实施例中,匹配引擎1708使用到目前为止从设备接收的GPS数据,以确定GPS数据是否遍历一个或多个定义段的至少一部分。例如,如果GPS数据指示至少有部分记录的GPS数据已经穿过了已经为段定义的虚拟开始线,则匹配引擎1708可以做出为当前活动记录的GPS数据匹配段(意味着该用户是在该段的路径上或非常接近段)的确定。可以使用上面图12所述的技术执行定义段的虚拟开始线,并确定是否已经穿过了虚拟开始线,例如其中并非使用与记录的成果相关联的GPS信息,而是到目前为止为当前活动记录的GPS数据被用于确定两个连续点是否已经被发现在虚拟开始线的不同侧上。如果是这样,则当前活动被确定为已经穿过了段的虚拟开始线,因此当前活动被确定为匹配段。在其中段形成循环的另一示例中,则并非定义循环段的虚拟开始线,为当前活动记录的GPS数据可用于确定当前活动是否已经进入循环(例如,通过至少已穿过循环段的至少一部分)。如果为当前活动记录的GPS数据被确定为已穿过循环段的至少一部分,则当前活动被确定为匹配该循环段。在一些实施例中,可以发现一个或多个段匹配为当前活动记录的GPS数据。在一些实施例中,当随时间过去而接收为当前活动记录的更多新的和/或更新的GPS数据时,匹配引擎1708可以使用新的和/或更新的GPS数据以确定和用户的当前活动相关联的GPS数据是否仍匹配之前确定当前活动匹配的段(即,用户仍在与段关联的路径上)。如果确定用户的当前活动仍匹配段,则匹配引擎1708可以确定用户沿段有多远。例如,基于到目前为止接收的为用户当前活动所记录的GPS数据,匹配引擎1708可以确定用户已经完成了70%的段。在一些实施例中,匹配引擎1708被配置为使用与当前正执行活动的用户相关联的(从配置参数数据库1702中检索的)配置参数集合,以将由用户识别的一个或多个段确定为他或她对匹配关心的段。然后,匹配引擎1708将用户当前活动的GPS数据仅与用户所关心的那些段匹配,而不是与数据库中所有可用/定义的段。在一些实施例中,匹配引擎308被配置为向反馈引擎1704发送与所匹配的(一个或多个)段相关联的标识符。
反馈引擎1704被配置为使用与用户相关联的配置参数集合和与用户的当前活动匹配的至少一段相关联的数据以确定发送到由用户使用的设备的反馈数据类型。在一些实施例中,反馈引擎1704从配置参数数据库1702检索与用户标识符相关联的配置参数集合。在一些实施例中,反馈引擎1704从匹配引擎1708接收与匹配用户的当前活动的段相关联的标识符。在一些实施例中,使用接收到的与所匹配的段相关联的标识符,反馈引擎1704被配置为从成果和当前活动数据库1703检索与该用户和/或也匹配段的其它用户的成果相关联的历史数据。在一些实施例中,反馈引擎1704被配置为从成果和当前活动数据库1703检索与也匹配该段的其它用户的当前活动相关联的并发数据。例如,基于针对所检索的配置参数集合中的并发的定义,其它用户的当前活动数据可以被确定为与用户并发。在一些实施例中,反馈引擎1704使用所检索的配置参数集合,以确定在比较用户当前活动的关联数据(或有时也被称为表现数据)时用户关心的与匹配段相关联的检索数据的至少哪个子集。例如,用户的配置参数可以指示:用户希望比较与用户当前活动相关联的用户表现数据以及他的朋友Carrie、Daniel和Eric在该匹配段上的历史或并发表现数据。在一些实施例中,反馈引擎1704可以使用所检索的配置参数集合,以确定将用检索的历史和/或并发数据生成的哪些类型的比较。例如,用户配置参数可以指示:用户希望接收与排行榜相关联的反馈数据,所述排行榜包括他自己的表现数据以及他的朋友Carrie、Daniel和Eric相关联的表现数据。在一些实施例中,反馈引擎1704被配置为发送与检测段和/或如旁边那样的用户关心的(如在检索到的配置参数集合中所指示的)另一用户相关联的警报。在一些实施例中,反馈引擎1704被配置为与第三方操作的社交网络通信,以在社交网络的平台上发布与用户在当前活动已经达到的用户特定表现和/或用户当前活动的更新进程报告相关联的指示。在一些实施例中,反馈引擎1704还可以被配置为提供除上述类型以外的反馈数据。
在一些实施例中,设备1502可以存储段数据库202、定义引擎206、成果和当前活动数据库1703、匹配引擎1708、配置参数数据库1702、以及反馈引擎1704或等效功能中的至少一些部分,使得设备1502可以在设备1502处提供实时反馈,而无需在用户活动期间从段匹配服务器1708接收信息或发送信息。在一些实施例中,在用户执行身体活动之前,设备1502预取和在本地存储来自段匹配服务器1508的数据,使得在活动的执行期间可以基于预取的数据生成反馈数据(例如,涉及至少一个匹配段)。
图18是示出根据一些实施例的用于在与段相关联的当前活动期间提供实时反馈的过程的实施例的流程图。在一些实施例中,在系统1500处实施过程1800。在一些实施例中,在系统1500的设备1502处实施过程1800。
在1802处,至少部分地基于到目前为止记录的位置信息的至少一部分,确定与用户的当前活动相关联的段。在一些实施例中,在用户的活动执行期间为用户的当前活动(例如,骑自行车或跑步)记录位置信息(例如,GPS数据)。在一些实施例中,用户当前活动的关联数据也在用户的活动执行期间被记录。至少一部分关联数据(例如,速度、心率、功率/瓦特、节奏)与用户在当前活动期间的表现相关联。随着时间的过去,为用户的当前活动记录更多的GPS数据和关联数据。在用户的当前活动期间的某个点处,记录的GPS数据的至少一部分用于确定与用户的当前活动相关联的段。在一些实施例中,与用户的当前活动相关联的段是到目前为止为用户当前活动记录的位置信息的至少一部分匹配的段。
在1804处,对与用户在该段上的当前活动相关联的实时段表现信息进行传送。在一些实施例中,基于与用户和/或从其生成了位置信息的设备相关联的配置参数集合,确定将被传送的表现信息的类型和方式。在一些实施例中,一旦确定段(例如,通过段匹配),则检索与该段相关联的存储的数据。在一些实施例中,所检索的数据可以包括当前在该段上的用户(包括执行当前活动的用户和其它用户)在关联(例如,匹配)段上的历史表现数据和其它用户在关联段上的并发表现数据。在一些实施例中,到目前为止为用户在确定段上的当前活动所记录的表现数据与和所确定段相关联的检索数据的对应部分进行比较,以及比较结果包括传送的表现信息。例如,可以通过比较用户在确定段上的历史表现数据和用户在该段上的当前活动的表现数据而生成比较结果。在一些实施例中,表现信息包括用户沿段的当前进程,并至少部分地基于到目前为止记录的位置信息和沿段识别地理点的数据而被确定。在一些实施例中,表现信息包括与基于所记录的位置信息和用户当前活动的关联数据而获得的个人成就相关联的指示。在一些实施例中,通过显示器或用户界面的音频和/或视觉输出(例如,在从其生成位置信息和关联数据的设备处)传送与用户在确定段上的当前活动相关联的表现信息(替换或除了其它信息以外)。
在一些实施例中,与接近/邻近用户当前活动的当前位置的段相关联的信息也被传送。在一些实施例中,邻近或接近用户当前位置的段包括不匹配用户当前活动但在用户当前位置的指定接近内的段。例如,用户可能关心接近(例如,在诸如10英里半径内的指定接近内)用户当前位置的推荐段和/或用户当前正沿着前行的段。向用户通知邻近的段可以帮助用户发现用户不知道存在或不知道邻近用户当前位置存在的段。在一些实施例中,可配置用于检测/通知/推荐关于邻近段的用户的过滤器的参数,以使得仅仅是符合一个或多个标准的段被检测并推荐给用户。例如,与检测邻近段相关联的标准可以包括以下各项中的一个或多个:用户当前位置的特定接近内的段、用户指示的关心的段,被确定为类似(例如基于地理、距离、仰角、和/或其它标准)于由用户指示的关心的段的段和/或被确定为在一个或多个其它用户中受欢迎的段。在一些实施例中,可以周期性地和/或在贯穿用户当前活动的其它事件时执行接近段的检测,因为当用户执行当前活动时,他或她的当前位置也改变。例如,当用户沿着当前活动前行时,他或她可进入新的和/或不同的地理区域,其中可检测并为用户推荐不同的邻近段集合。在一些实施例中,事件可被配置以使得在用户当前活动期间在每个这种事件发生时,可基于配置标准和用户更新的当前位置来做出邻近段的确定。例如,事件可以是从之前确定以来的10分钟时间段或从之前确定以来经过的5英里距离。
图19是示出根据一些实施例的用于配置与到远程段匹配服务器的在设备处记录的发送信息相关联的配置参数的过程的实施例的流程图。在一些实施例中,在系统1900处实施过程1900。在一些实施例中,在执行过程1800之前实施过程1900。
过程1900可以被用于配置当记录的GPS数据和关联数据(例如,表现数据)将被从记录有其的设备发送到段匹配服务器(诸如段匹配服务器1508)使得服务器可以对接收的数据执行分析时相关联的参数。在一些实施例中,可以由用户在与设备(诸如设备1502)相关联的用户界面处输入过程1900的选择。在一些实施例中,在用户活动期间,可存储并使用用过程1900配置的参数。在一些实施例中,用于数据传输的参数可以包括比示例中所示出的参数更多或更少的参数。在一些实施例中,基于配置参数,该设备向段匹配服务器发送所记录数据的频率在整个用户的当前活动中可以是动态的。在一些实施例中,如果数据传输的配置参数定义更频繁的数据传输,则来自服务器的数据(即,反馈数据)分析的返回结果可以是更频繁的/有细微差别的,但将产生更大的设备功耗。然而,更不频繁的数据传输可能需要来自服务器的更少/更不频繁的反馈数据,但产生更少的设备功耗。
在1902处,确定触发数据传输的事件是否将被配置。如果触发事件将被配置,则控制转到1904。否则,控制转到1906。在1904处,接收一个或多个触发事件的定义。例如,触发事件可以与用户当前活动中的暂停相关联,用户当前活动可指示用户正在进行休息和/或关于用户当前活动的异常的某事正在发生。
在1906处,确定数据传输是否将定期地发生。如果数据将被定期地发送,择控制转到1908。否则,控制转到1910。在1908处,接收时间段定义。例如,时间段可以是每隔10秒被发送到服务器的数据。
在1910处,确定传输的数据是否依赖于与设备的电池寿命保护相关联的关心程度。如果数据传输依赖于与电池寿命保护相关联的关心程度,则控制转到1912。否则,控制转到1914。在1912处,接收与电池寿命保护相关联的一个或多个定义。例如,可以用所记录数据被发送到服务器的频率的对应设置来定义对保护设备的电池寿命(例如,范围从节省电池寿命的强烈愿望到节省电池寿命的低关心)的若干级关心。因此,例如,对节省电池寿命的强烈关心可以与向服务器发送数据的相对少有的基础相关联,而对保护电池寿命的低关心可与用于将数据发送到服务器的相对频繁的基础相关联。
在1914处,确定将设置其它规则。如果将设置其它规则,则控制转到1916。否则,过程1900结束。例如,可以定义在1902、1906和1910处描述的示例以外的规则。
图20是示出根据一些实施例的用于从服务器预取段数据并在设备处生成实时反馈的过程的实施例的流程图。在一些实施例中,在系统1500处实施过程2000。
过程2000可用于确定在用户身体活动的开始之前从段匹配服务器(诸如段匹配服务器1508)预取哪些数据并将这样的数据存储在设备上,使得在用户的身体活动期间,可稍后在设备处在本地生成实时反馈。在一些实施例中,过程2000在用户身体活动期间将要求联网连接的使用,使得可以确定活动的GPS数据,然而,过程2000可不要求向远程段匹配服务器重复传输所记录的GPS数据和其它数据,因为可以使用从段匹配服务器预取的数据在本地执行用于生成反馈数据的分析。在一些实施例中,与要求来回与远程段匹配服务器的大量通信的过程相比,过程2000可以更慢地消耗电池寿命以及更快地提供反馈数据。
在2002处,可选地,接收与段相关联的一个或多个选择。在一些实施例中,这种选择可以由用户在与设备相关联的用户界面处输入。在一些实施例中,在用户从事身体活动之前(或者可能,在继续进行身体活动的用户的准备时),2002给予用户仅选择段的机会,用户对匹配于该段关心。因此,与在2002接收的段相关联的选择可用于确定仅具有那些段的数据,那些段与为其存储有数据的所有段不同。
在一些实施例中,当用户接近于(例如,在诸如10英里半径内的指定接近内)段同时从事身体活动时,也可以将诸如一个或多个选择与将被检测的用户关心的段相关联。例如,用户可以选择从段匹配服务器预取的与用户关心的段相关联的段数据,使得用户希望被告知他或她在身体活动期间何时邻近这种段。例如,稍后,当用户从事身体活动时,从段匹配服务器加载到设备上的预取数据可被用于确定(例如,周期性地和/或该用户已经行进的每X英里数)用户的当前活动是否匹配段和/或是否有任何段邻近用户的当前位置。
在2004处,至少部分地基于一个或多个选择,从服务器获取与段相关联的数据。在一些实施例中,与由选择识别的段相关联的数据包括以下之一或两者:被确定为匹配段的成果的历史表现数据和定义每个段的地理信息(例如,图块或MBR集合)。
在一些实施例中,可以获取除了由一个或多个选择识别的仅仅那些以外的与段相关联的附加段数据。例如,也可以获取与被确定为类似于选择段的段相关联的数据。
在2006处,在本地存储所获取的数据。在用户的身体活动开始之前获取的数据可以被存储在设备上的临时或永久存储器中,以便在用户的身体活动期间,可以稍后使用它,使得当他或她当前正执行身体活动时,将不需要远程段匹配服务器确定匹配的段和/或用户的任何邻近段。
在2008处,将与用户的当前活动相关联的位置信息和表现信息与所存储的数据进行比较。例如,到目前为止为用户当前活动记录的至少一部分GPS数据可用于匹配段,针对该段在本地存储有数据(包括在用户活动开始之前从段匹配服务器预取的数据)。此外,例如,被确定为匹配段(其匹配于用户当前活动)的成果的历史表现数据可以被用于与到目前为止为用户当前活动记录的表现数据进行比较。在一些实施例中,可以使用与用户的当前活动相关联的位置信息和表现信息以及在本地存储的数据来做出其它确定。例如,可以使用在本地存储的数据来确定是否任何段邻近/接近于用户的当前位置。
图21是示出根据一些实施例的用于配置与关于数据的过滤器相关联的参数以获取用户当前活动的表现数据并且与其进行比较的过程的实施例的流程图。在一些实施例中,在系统1500处实施过程2100。
过程2100可用于配置识别(例如,在用户的当前活动期间,从诸如段匹配服务器1508之类的段匹配服务器获取的)用户关心的数据的类型的参数,其可以用于过滤出用户不关心的数据。在一些实施例中,例如,过程2100的选择和定义可以由用户在与该设备相关联的用户界面处输入。在一些实施例中,过程2100用于识别:用户实际关心的可能匹配或检测在当前活动期间其是否邻近的段的子集(例如,因为用户可以经过包括许多段的地理区域,其中的许多是用户不关心的)、与其它用户相关联的表现数据的子集(例如,因为用户关心于将他或她的表现仅与他或她与其是朋友的特定其它用户比较)、以及至少两个用户之间并发窗口的用户期望定义(例如,因为用户想要将他或她的表现数据与“并发”用户的表现数据相比较,并想要定义并发窗口以仅包括他或她感觉暂时或空间上足够接近的那些用户,使得可以将其表现数据与同一段上的并发用户进行比较)。通过配置可以用作过滤器的参数(诸如在本示例中所示的那些),可以从段匹配服务器中以聚焦和高效的方式检索数据,而不用由设备检索什么可以是大量的大型数据,其中的大部分可能是使用设备的用户不期望的。
在2102处,接收与一个或多个段相关联的用以匹配或检测段是否在附近的一个或多个选择。在一些实施例中,与段相关联的选择可以是标识符,该标识符与段的名称(例如,“Old La Honda”)对应,或者选择可以描述一个或多个段的特性(例如,长度=30+英里,难度=适中,段内的最高倾斜数=5)。选择然后可被用于搜索对应于选择中所包括的描述的一个或多个段,并且所发现的段将是针对其将比较用户的当前活动的所记录的GPS数据以确定用户的当前活动是否与所发现的段中的一个或多个匹配或以其它方式在其附近的段。换句活说,只有对应于选择的段将被用于确定它们中的任何一个是否是在其上用户的当前活动正在发生和/或邻近于用户的当前位置的段。
在2104处,接收与检测的一个或多个其它用户相关联的一个或多个选择。在一些实施例中,使用与其它用户相关联的选择,来确定由用户当前活动匹配的段上的该用户可能希望将他或她在相同段上的表现数据与其进行比较的至少哪些其它用户的表现数据。例如,用户Barry可能只想比较他的表现数据和他朋友的那些些表现数据。在一些实施例中,与其它用户相关联的选择确定当用户正在执行活动时用户希望检测哪些其它用户。例如,用户Barry可以配置何时接收关于何时他的朋友Carrie(其也正在使用诸如设备1502之类的设备的实例)也在附近执行身体活动的通知,诸如当Barry外出骑自行车时在与Barry相同的段上或邻近的段上。在一些实施例中,与检测的其它用户相关联的选择包括与其它用户相关联的标识符,诸如,例如,在段匹配服务器处的用户的实际名称或与用户账户相关联的名字。在一些实施例中,与检测的其它用户相关联的选择包括一个或多个身体特性,诸如,例如年龄范围、性别和关联经验水平。例如,当用户Barry外出执行身体活动时,他可能希望检测与他具有类似身体特性的用户(他和该用户可能已经是或可能还不是朋友),以使得可在Barry活动期间确定他的表现数据和他们的表现数据之间的比较,用于给予Barry他相对于类似个体的表现的意见。
在2106处,接收至少两个用户之间的并发窗口的定义。在一些实施例中,并发窗口的定义可以是时间或距离的窗口,其可标记当并发时该窗口中的两个或更多用户。例如,两个用户可以沿相同的段骑自行车,但可能已经在不同时间开始,并且结果是均在给定的时间段在沿着段的不同点处。然而,用户可能仍然希望将在同一段上的另一用户认为是和他或她并发,即使这两个用户末在相同的时间开始段和/或未并排骑自行车。因此,例如,用户可以将并发窗口定义为两个用户之间隔开10英里或在两个用户之间的开始时间方面差两分钟。那样,用户可能可以接收当前在同一段上但已经在该用户穿过段的虚拟开始线之前1分钟穿过了段的虚拟开始线的另一用户的反馈数据。然后,一旦该用户接收到该并发用户的知识,他就可以受激励而赶上或超越其它并发用户。
图22是示出根据一些实施例的用于将段和用户当前活动匹配的过程的实施例的流程图。在一些实施例中,在设备1502处实施过程2200。
过程2200是用于确定在用户当前活动期间用户何时已经匹配了段(即,用户正在段上执行活动)的技术的一个示例。
在2202处,记录与用户的当前活动相关联的位置信息。在一些实施例中,位置信息包括GPS数据。在一些实施例中,以由用户或由记录信息的设备(诸如设备1502)的默认设置配置的频率记录用户的当前活动的位置信息。在一些实施例中,所记录的位置信息被发送到远程段匹配服务器(诸如远程段匹配服务器1508)。
在2204处,确定是否已经穿过了段的虚拟开始线。在一些实施例中,在用户当前活动期间到目前为止记录的位置信息的至少一部分被用于确定活动的地理路径是否已经穿过了针对所存储的段定义的虚拟开始线。例如,可以基于用图12所描述的技术做出是否已经穿过了虚拟开始线的确定。在一些实施例中,在段匹配服务器处做出2204的确定。在一些实施例中,如果在设备处在本地存储有段数据(例如,定义段和它们的虚拟开始线的数据集合),则在设备处做出2204的确定。如果确定已经穿过了虚拟开始线,则控制转到2206。如果确定尚未穿过虚拟开始线,则控制返回到2202,其中随着时间的过去记录与用户的当前活动相关联的更多位置信息。
在2206处,与穿过的开始线相关联的段被确定为匹配用户的当前活动。在一些实施例中,对于段而言,用户的当前活动的位置信息已经被确定为穿过了该段的关联虚拟开始线,假定用户在该段上。在一些实施例中,从段匹配服务器或在本地检索与已经被确定为匹配段的成果相关联的历史表现数据和/或已经被确定为也匹配段的其它用户的当前活动的并发表现数据,如果这种该数据的副本在设备处在本地可用。检索到的数据可用于为用户提供一个或多个类型的反馈数据,例如包括:用户的当前表现数据与匹配段上的用户的历史表现数据之间的比较结果、以及用户的当前表现数据与匹配段上的其它用户的历史和/或并发表现数据之间的比较结果。
在一些实施例中,在存储的段形成循环并且不具有为其定义的虚拟开始线的情况下,既不执行2204也不执行2206来确定用户的当前活动是否匹配这种循环段。取而代之,在一些实施例中,如果为用户的当前活动记录的位置信息穿过循环段的至少一个部分(其可指示用户已经进入了循环),则确定用户的当前活动匹配循环段匹配。
图23是示出根据一些实施例的用于确定用户沿着段的进程的过程的实施例的流程图。在一些实施例中,在系统1500处实施过程2300。在一些实施例中,使用过程2300来实施过程1800。
在(例如,通过诸如过程2200之类的过程)确定用户的当前活动匹配段(即在段上)之后,可使用过程2300。过程2300可用于确定(例如,周期性地)随着时间的过去用户的当前活动是否仍在匹配段上行进,并且若是,则确定用户沿着段走了多远。在一些实施例中,如果确定用户仍在匹配段上行进,则至少部分地基于该确定来提供反馈数据。
在步骤2302处,确定与用户的当前活动相关联的段。在一些实施例中,使用诸如过程2200之类的过程,将段确定为匹配到目前为止为用户的当前活动记录的至少一部分位置信息的段。
在2304处,确定用户是否仍在段上。在一些实施例中,在已经确定了匹配段之后的某个时间,执行2304一次。在一些实施例中,在2304处,将到目前为止为用户的当前活动记录的位置信息和定义匹配段的数据(例如,MBR集合)进行比较,以确定用户的当前活动是否仍看上去是沿着段前行或已经与段偏离。例如,如果匹配段被表示为存储的MBR集合,则到目前为止为用户当前活动记录的位置信息也可以被转换为MBR集合。然后,如果看起来是与到目前为止为用户当前活动记录的位置信息相关联的MBR大部分与和所存储的段相关联的MBR集合的至少一部分重叠,则确定用户的当前活动仍在段上。在一些实施例中,如果段数据在本地被存储在设备处,则在远程段匹配服务器(诸如段匹配服务器1508)处或在设备(诸如设备1502)处执行2304的确定。如果确定用户不再在段上,则过程2300结束。如果确定用户仍在段上,则控制转到2306。
在2306处,至少部分地基于到目前为止与用户的当前活动相关联的位置信息来确定沿着段的当前进程。例如,可以确定与所存储的段相关联的MBR集合的百分比,所述所存储的段与从到目前为止为用户的当前活动记录的位置信息转换的MBR重叠,以及该百分比被确定为用户沿着段的当前进程。
在2308处,传送至少部分地基于当前进程的与用户在该段上的当前活动相关联的实时段表现信息。在一些实施例中,可选地执行2308。在一些实施例中,传送至少部分地基于所确定的用户在该段上的当前进程来确定的表现信息反馈数据。例如,配置参数可用于确定在哪些情况下需要向用户传送当前进程。示例实例是当用户处于段的中途点时,此时向用户传送(例如,基于表现数据的比较来确定的)某些表现信息。例如,这种反馈数据向用户的传送可以表现为在设备处的显示和/或音频的输出,其表达:“您刚通过了Old La Honda的中途点,并且您还比您的个人记录速度领先11秒”。
图24是示出了根据一些实施例的用于传送与用户的当前活动相关联的实时表现信息的过程的实施例的流程图。在一些实施例中,在系统1500处执行过程2400。在一些实施例中,使用过程2400来实施过程1800的1804。
过程2400可用作确定在用户的当前活动期间向用户提供的实时反馈类型的一个示例。
在2402处,检索与被确定为匹配用户的当前活动的段相关联的数据。在一些实施例中,已经确定了用户的当前活动匹配段(例如,基于到目前为止为用户的当前活动记录的位置信息)。在一些实施例中,从诸如段匹配服务器1508之类的远程段匹配服务器检索与已经被确定为匹配段的成果相关联的历史表现数据和/或已经被确定为也匹配段的其它用户的当前活动的并发表现数据。
在2404处,将到目前为止与用户的当前活动相关联的表现数据与检索到的数据相比较。在一些实施例中,将由设备(诸如设备1502)为用户的当前活动记录的关联数据的表现数据部分与所检索的数据相比较。可以确定各种类型的数据比较。在一些实施例中,做出的比较的类型由检索的配置参数集合指示。例如,将与用户在该段上的当前活动相关联的表现数据可以与用户在同一段上的自己的历史表现数据(例如,从先前匹配的用户成果)相比较。此外例如,将与用户在该段上的当前活动相关联的表现数据可以与其它用户在同一段上的历史表现数据(例如,从先前匹配的这些其它用户的成果)相比较。在另一个示例中,将与用户在该段上的当前活动相关联的表现数据可以与同时在同一段上的其它用户的表现数据相比较。
在2406处,呈现至少部分地基于比较而确定的结果。例如,比较结果可以在设备的用户界面处通过图形、文本、视频和音频中的一个或多个被呈现给用户。
以下是当用户仍在执行活动时或在用户已经完成了活动之后不久可以确定并在设备(诸如设备1502)处呈现的实时反馈数据的一些示例。
基于与用户在段上的当前活动相关联的到目前为止所记录的表现数据,基于推断用户的未来表现来确定的反馈数据示例包括:
“您进入80Paradise循环路线的34英里。以您当前的速度,您将在2:15小时内在下午4:30的时间处完成。”
“您进入Paradise循环路线的大约一半。以您的整体平均速度,您将用45分钟完成。”
“您进入Paradise循环路线的大约一半。以您当前的平均速度,您应当用35分钟完成。”
“您进入Paradise循环路线的大约一半。平均骑自行车的人在45分钟内完成骑行。”
基于将与用户在段上的当前活动相关联的表现数据和用户在相同段上的历史表现数据比较而确定的反馈数据的示例包括:
“您以22秒在Old La Honda上设置新的个人记录。”
“您在Old La Honda上骑行了您的第三最佳时间,比您1个月前设置的个人记录落后了13秒。”
“您当前在Old La Honda的中途点处,并且您比您的个人记录速度领先11秒。”
“您当前在Old La Honda的中途点处,并且您比您的个人记录速度落后7秒。”
基于与用户在段上的当前活动相关联的表现数据和其它用户在相同段上的历史或并发表现数据比较而确定的反馈数据的示例包括:
“您在Old La Honda上设置了新的记录,比Mark Shaw此前的记录领先22秒。”在这个示例中,与Mark Shaw相关联的数据是历史的,并不是和Old LaHonda上的用户当前活动并发。
“您在Old La Honda上进入第28位,比处于第27位中的Aaron Foster落后15秒”。图25是示出根据一些实施例的与在“Marincello Trail”段上完成的成果相关联的排行榜的用户界面截图的图。示例截图与智能电话设备处的应用相关联。如截图中所示,已经完成了该段的各种用户(Christian Hobbs,Aaron Foster,Mark Shaw,Jane Mitchell,以及Rich Adams)基于其各自的段完成时间而被排序在该排行榜中。在示例中,刚完成段上的活动的当前用户Mark Shaw将在排行榜中被排序在第27位保持者Aaron Foster之后。
“当前排行榜状态:第一Mark S,第二Chris D,以及第三John D;您当前处于第17位中并且落后领先者4分30秒。”如在该示例中所指示的那样,当用户仍执行身体活动时,可为用户和与用户在相同段上的并发的其它用户确定排行榜(与只有在用户已经完成了身体活动后才为用户确定排行榜不同)。
“您当前领先Mark Shaw13秒,他在您身后300米。”在该示例中,与MarkShaw相关联的数据是并发的,因为Mark Shaw也正在与用户的当前活动相同的段上执行活动。
“您当前落后Mark Shaw13秒,他在您身后300米。”
“Mark在1.0英里远处,他刚刚完成Alpine Dam爬坡。如果你们俩都停留在Alpine Dam Mt.Tam循环路线上,以您当前的速度您将在30分钟内赶上他。”
“在Paradise循环路线上,道路上有2名骑自行车的人领先您:Mark·S领先30秒,Chris.D领先45秒。1名骑自行车的人在您身后:Pan.T.在5分钟处。”
包括基于将与用户的当前活动相关联的位置信息数据与所存储的段数据比较的检测的邻近段(例如,用户当前不在但接近的段)的反馈数据的示例包括:
“Mark Shaw在5.0英里远处。他看起来通过Paradise循环路线的大约一半。他今天已经骑行了16英里。”
“看起来您发现了新的种类2爬坡,具有1.5英里的距离,已经1500ft的海拔增益。您想保存此爬坡并命名它吗?”
图26是示出根据一些实施例的接近于用户的当前位置的检测段(“爬坡(climbs)”)的列表的用户界面截图的图。示例截图是与智能电活处的应用相关联。如示例中所示出的那样,邻近段的列表中的每个条目列出有段的物理描述中的一些。
图27是示出根据一些实施例的接近于用户的当前位置的检测段的地图(“爬坡”)的用户界面截图的图。示例截图与智能电话处的应用相关联。在该示例中,紫色大头针指示每个检测的段在哪开始。
包括向所检测的邻近的其它用户发送警报的反馈数据的示例包括:
“Mark Shaw在1.0英里远处。他刚刚完成了Alpine Dam爬坡。如果你们俩都停留在Alpine Dam Mt.Tam循环路线上,以您的当前速度,您将在30分钟内赶上他。您想将等待的警报发送他吗?”
包括关于与邻近的用户碰面的指示的反馈数据的示例包括:
“Mark.S和Chris.D正在Paradise循环路线的开始处等待领先的您的10分钟。”
“在您喜欢的骑行组中的骑自行车的人在您当前的段上并在您身后约5分钟处。”
包括向所检测的邻近的其它用户发送挑战的反馈数据的示例如下:
“Mark.S在1.0英里远处。您想与他在Old La Honda上单挑吗?他的个人最佳成绩比您自己的好22秒。祝您好运!”
包括用户的个人成就的指示的反馈数据的示例包括:
“本周您刚骑完您的第100英里,祝贺您!”
“本月您刚骑完您的第200英里,祝贺您!”
在一些实施例中,为用户或设备配置的参数可以确定为用户提供的哪些反馈数据应该被共享在一个或多个社交网络(例如,Facebook)处。例如,在用户开始身体活动之前配置的参数可以指示:在用户的身体活动期间,如果用户当前在针对段的排行榜的第一位置处,向用户的Facebook墙发布故事。例如,为了与第三方服务器(诸如支持Facebook平台的服务器)通信,段匹配服务器(诸如段匹配服务器1508)可以使用适当的API和认证信息与Facebook服务器通信。一旦在社交网络处共享故事,则例如社交网络处的朋友或其它用户可以做出关于该故事的选择(即,给用户虚拟奖赏),其又可以被发送到用户设备,以向用户告知社交网络处的其它用户的选择。
在一些实施例中为用户配置的参数可以确定用户的当前活动的实时进程是否可以被(一个或多个)其它用户查看,并且如果是,则是哪些其它用户。例如,在与段匹配服务器和/或与第三方服务器(诸如支持社交网络的服务器)相关联的网站处,随着用户沿着活动已经与其匹配的段进一步前行,用户当前活动的视觉表示可以被呈现并更新。视觉表示可以包括沿图形地图的标记和/或与用户在段上的表现数据相关联的其它数据。例如,在开始身体活动之前,用户可以配置参数,以指示他或她想分享他或她在活动期间沿着匹配段的实时进程,以及还有谁将能查看进程。例如,用户可以只给特定的其它用户(例如,用户在社交网络处的朋友)许可以在活动期间查看他或她的进程,或者用户可以选择允许任何其它用户查看他或她的进程。在一些实施例中,当用户活动仍在进行时,通过使用设备(例如,移动设备或桌上型计算机)访问适当的(例如,与段匹配服务器和/或社交网络相关联的)网站,具有查看沿着段的用户的实时进程的许可的其它用户可以这样做。在一些实施例中,例如,查看的用户也可以做出关于用户的实时进程的选择(即,给用户虚拟奖赏),其又可以被发送到用户设备,以通知他或她其它用户在网站处的选择。
虽然为了理解清楚的目的已经相当详细地描述了前述实施例,但是本发明并不限于所提供的细节。有许多实施本发明的可替换方式。公开的实施例是说明性的,而不是限制性的。

Claims (30)

1.一种提供实时段表现信息的方法,其包括:
至少部分地基于到目前为止记录的位置信息的至少一部分,确定与用户的当前活动相关联的段;以及
传送与用户在该段上的当前活动相关联的实时段表现信息。
2.根据权利要求1所述的方法,其中确定与用户的当前活动相关联的段包括:确定用户的当前活动是否匹配段。
3.根据权利要求2所述的方法,其中确定用户的当前活动是否匹配段包括:确定到目前为止记录的位置信息的至少一部分是否穿过与该段相关联的虚拟开始线。
4.根据权利要求2所述的方法,其中确定用户的当前活动是否匹配段包括:确定到目前为止记录的位置信息的至少一部分是否穿过与该段相关联的部分。
5.根据权利要求1所述的方法,其中位置信息包括全球定位系统(GPS)点和在每个GPS点处的关联时间戳。
6.根据权利要求1所述的方法,其进一步包括接收与由设备进行的数据传输相关联的用户可配置选择,这包括以下各项中的一个或多个:接收一个或多个触发事件定义、接收时间段定义、以及接收与电池寿命保护相关联的一个或多个定义。
7.根据权利要求1所述的方法,其中传送实时段表现信息至少部分地基于发送到设备的反馈数据。
8.根据权利要求1所述的方法,其中传送实时段表现信息至少部分地基于在设备处生成的反馈数据。
9.根据权利要求1所述的方法,其中段与可能匹配的段的用户选择相关联。
10.根据权利要求1所述的方法,其进一步包括:
获取与一个或多个段相关联的可能匹配于设备的数据,其中所获取的段数据将在本地被存储在设备处,以及其中至少一部分位置信息和与用户的当前活动相关联的其它数据将在设备处与在本地存储的数据进行比较。
11.根据权利要求1所述的方法,其中表现信息包括:在与用户在该段上的当前活动相关联的表现数据和与该段相关联的所存储的历史表现数据之间的比较结果。
12.根据权利要求11所述的方法,其中所存储的历史表现数据包括与该用户和另一用户之一或两者相关联的数据。
13.根据权利要求1所述的方法,其中表现信息包括:在与用户在该段上的当前活动相关联的表现数据和与其它用户在该段上的当前活动相关联的所存储的并发表现数据之间的比较结果。
14.根据权利要求1所述的方法,其进一步包括:接收与一个或多个其它用户相关联的用户可配置选择,其它用户的表现数据将与和用户的当前活动相关联的表现数据进行比较。
15.根据权利要求1所述的方法,其进一步包括:接收与并发窗口相关联的用户可配置选择,其中窗口内部的用户活动的表现数据将与彼此进行比较。
16.根据权利要求1所述的方法,其进一步包括:向第三方操作的社交网络发送表现信息的至少一部分。
17.根据权利要求16所述的方法,其进一步包括:至少部分地基于表现信息的发送部分,从第三方操作的社交网络接收响应。
18.根据权利要求1所述的方法,其进一步包括:确定与用户在该段上的当前活动相关联的当前进程。
19.根据权利要求1所述的方法,其进一步包括:确定另一段是否在用户的当前活动的当前位置附近。
20.一种用于提供实时段表现信息的系统,其包括:
处理器,其被配置为:
至少部分地基于到目前为止记录的位置信息的至少一部分,确定与用户的当前活动相关联的段;以及
传送与用户在该段上的当前活动相关联的实时段表现信息;以及
存储器,其耦合到该处理器,并被配置为向该处理器提供指令。
21.根据权利要求20所述的系统,其中确定与用户的当前活动相关联的段包括:确定用户的当前活动是否匹配段。
22.根据权利要求20所述的系统,其中该处理器被进一步配置为:接收与由设备进行的数据传输相关联的用户可配置选择,这包括以下各项中的一个或多个:接收一个或多个触发事件定义、接收时间段定义、以及接收与电池寿命保护相关联的一个或多个定义。
23.根据权利要求20所述的系统,其中传送实时段表现信息至少部分地基于发送到设备的反馈数据。
24.根据权利要求20所述的系统,其中传送实时段表现信息至少部分地基于在设备处生成的反馈数据。
25.根据权利要求20所述的系统,其中该处理器被进一步配置为:
获取与一个或多个段相关联的可能匹配于设备的数据,其中所获取的段数据将在本地被存储在设备处,以及其中至少一部分位置信息和与用户的当前活动相关联的其它数据将在设备处与在本地存储的数据进行比较。
26.根据权利要求20所述的系统,其中表现信息包括:在与用户在该段上的当前活动相关联的表现数据和与该段相关联的所存储的历史表现数据之间的比较结果。
27.根据权利要求20所述的系统,其中表现信息包括:在与用户在该段上的当前活动相关联的表现数据和与其它用户在该段上的当前活动相关联的所存储的并发表现数据之间的比较结果。
28.根据权利要求20所述的系统,其中该处理器被进一步配置为接收与一个或多个其它用户相关联的用户可配置选择,其它用户的表现数据将与和用户的当前活动相关联的表现数据进行比较。
29.根据权利要求20所述的系统,其中该处理器被进一步配置为接收与并发窗口相关联的用户可配置选择,其中窗口内部的用户活动的表现数据将与彼此进行比较。
30.一种用于提供实时段表现信息的计算机程序产品,该计算机程序产品被嵌入在非瞬态计算机可读存储介质中并且包括计算机指令,该计算机指令用于:
至少部分地基于到目前为止记录的位置信息的至少一部分,确定与用户的当前活动相关联的段;以及
传送与用户在该段上的当前活动相关联的实时段表现信息。
CN201280016174.6A 2011-03-31 2012-03-30 提供实时段表现信息 Active CN103828399B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201161470238P 2011-03-31 2011-03-31
US61/470238 2011-03-31
US61/470,238 2011-03-31
US13/434,435 2012-03-29
US13/434,435 US9291713B2 (en) 2011-03-31 2012-03-29 Providing real-time segment performance information
US13/434435 2012-03-29
PCT/US2012/031415 WO2012135602A2 (en) 2011-03-31 2012-03-30 Providing real-time segment performance information

Publications (2)

Publication Number Publication Date
CN103828399A true CN103828399A (zh) 2014-05-28
CN103828399B CN103828399B (zh) 2018-01-02

Family

ID=46928264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280016174.6A Active CN103828399B (zh) 2011-03-31 2012-03-30 提供实时段表现信息

Country Status (5)

Country Link
US (2) US9291713B2 (zh)
EP (1) EP2691902A4 (zh)
JP (1) JP5748900B2 (zh)
CN (1) CN103828399B (zh)
WO (1) WO2012135602A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104857692A (zh) * 2015-05-25 2015-08-26 惠州Tcl移动通信有限公司 一种用户运动状态的处理方法、系统及移动设备
CN107809944A (zh) * 2015-06-17 2018-03-16 三星电子株式会社 提供锻炼信息的方法及其可穿戴设备
CN110442131A (zh) * 2014-06-03 2019-11-12 奥卡多创新有限公司 控制运输设备移动的方法、系统和装置
TWI799337B (zh) * 2020-05-11 2023-04-11 美商尼安蒂克公司 用於提供用於在一平行實境體驗中顯示之一虛擬元素之方法及電腦可讀儲存媒體

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9664518B2 (en) 2010-08-27 2017-05-30 Strava, Inc. Method and system for comparing performance statistics with respect to location
US8683008B1 (en) 2011-08-04 2014-03-25 Google Inc. Management of pre-fetched mapping data incorporating user-specified locations
US8280414B1 (en) 2011-09-26 2012-10-02 Google Inc. Map tile data pre-fetching based on mobile device generated event analysis
US9275374B1 (en) 2011-11-15 2016-03-01 Google Inc. Method and apparatus for pre-fetching place page data based upon analysis of user activities
US9063951B1 (en) 2011-11-16 2015-06-23 Google Inc. Pre-fetching map data based on a tile budget
US8886715B1 (en) 2011-11-16 2014-11-11 Google Inc. Dynamically determining a tile budget when pre-fetching data in a client device
US8711181B1 (en) 2011-11-16 2014-04-29 Google Inc. Pre-fetching map data using variable map tile radius
US9305107B2 (en) * 2011-12-08 2016-04-05 Google Inc. Method and apparatus for pre-fetching place page data for subsequent display on a mobile computing device
US9197713B2 (en) 2011-12-09 2015-11-24 Google Inc. Method and apparatus for pre-fetching remote resources for subsequent display on a mobile computing device
US8803920B2 (en) 2011-12-12 2014-08-12 Google Inc. Pre-fetching map tile data along a route
US9389088B2 (en) 2011-12-12 2016-07-12 Google Inc. Method of pre-fetching map data for rendering and offline routing
US10456077B1 (en) * 2012-02-04 2019-10-29 Thomas Chu-Shan Chuang Athletic training optimization
US11103747B1 (en) 2012-02-04 2021-08-31 Thomas Chu-Shan Chuang Athletic training optimization
US10300334B1 (en) 2012-02-04 2019-05-28 Thomas Chu-Shan Chuang Athletic training optimization
US8718927B2 (en) * 2012-03-12 2014-05-06 Strava, Inc. GPS data repair
US8983637B2 (en) 2012-07-30 2015-03-17 Mapmyfitness, Inc. Determining authenticity of reported fitness-related activities
US20210252384A1 (en) * 2012-07-31 2021-08-19 Niantic, Inc. Linking real world activities with a parallel reality game
US9669296B1 (en) * 2012-07-31 2017-06-06 Niantic, Inc. Linking real world activities with a parallel reality game
US20140107816A1 (en) * 2012-10-16 2014-04-17 Qualcomm Iskoot, Inc. Dynamically creating future routes based on user characteristics
US10042893B2 (en) 2012-10-31 2018-08-07 Under Armour, Inc. System and method for personal and peer performance ranking of outdoor activities
WO2014089238A1 (en) 2012-12-04 2014-06-12 Mapmyfitness, Inc. Gait analysis system and method
US20150081062A1 (en) * 2013-09-16 2015-03-19 4Iiii Innovations Inc. Location-Based Athlete Pacing With Biofeedback Systems And Methods
US20160019360A1 (en) 2013-12-04 2016-01-21 Apple Inc. Wellness aggregator
US12080421B2 (en) 2013-12-04 2024-09-03 Apple Inc. Wellness aggregator
US9297651B2 (en) 2013-12-11 2016-03-29 Strava, Inc. Generating user preference activity maps
CN106537397B (zh) 2014-09-02 2019-12-13 苹果公司 身体活动和健身监视器
US9746331B1 (en) * 2014-12-15 2017-08-29 Marvell International Ltd. Method and apparatus for map matching
KR20170101996A (ko) * 2015-01-05 2017-09-06 나이키 이노베이트 씨.브이. 다수의 디바이스들로부터의 데이터를 이용한 에너지 소비량 계산
JP6560354B2 (ja) * 2015-01-05 2019-08-14 ナイキ イノベイト シーブイ 複数のデバイスからのデータを使用したエネルギー消費計算
US20160302030A1 (en) * 2015-04-10 2016-10-13 Visor, Inc. Location-Based Real-Time Contextual Data System
CN113521710A (zh) 2015-08-20 2021-10-22 苹果公司 基于运动的表盘和复杂功能块
JP6586818B2 (ja) * 2015-08-21 2019-10-09 オムロンヘルスケア株式会社 診療支援装置、診療支援方法、診療支援プログラム、生体情報測定装置
US10429192B2 (en) 2015-09-16 2019-10-01 Strava, Inc. Generating trail network maps
JP6758820B2 (ja) 2015-11-18 2020-09-23 マクセル株式会社 情報処理装置、及びその画像データ制御方法
US10111033B2 (en) * 2016-03-31 2018-10-23 Hitachi Ltd. GIS based compression and reconstruction of GPS data for transmission from a vehicular edge platform to the cloud
AU2017100667A4 (en) 2016-06-11 2017-07-06 Apple Inc. Activity and workout updates
US10736543B2 (en) 2016-09-22 2020-08-11 Apple Inc. Workout monitor interface
US10540483B2 (en) 2017-04-25 2020-01-21 International Business Machines Corporation Personalized training based on planned course and personal assessment
US10845955B2 (en) 2017-05-15 2020-11-24 Apple Inc. Displaying a scrollable list of affordances associated with physical activities
US10717005B2 (en) 2017-07-22 2020-07-21 Niantic, Inc. Validating a player's real-world location using activity within a parallel reality game
US11274935B2 (en) 2017-12-05 2022-03-15 Google Llc Landmark-assisted navigation
US10136253B1 (en) 2017-12-18 2018-11-20 LapKing Holdings, LLC System and method for tracking a vehicle's course by comparing geolocation data from a known course
US10739857B2 (en) * 2018-04-21 2020-08-11 Dale Kazdan Wearable tracking computer
US11317833B2 (en) * 2018-05-07 2022-05-03 Apple Inc. Displaying user interfaces associated with physical activities
JP6585770B1 (ja) * 2018-05-22 2019-10-02 株式会社アールビーズ 軌跡表示装置およびプログラム
DK201970532A1 (en) 2019-05-06 2021-05-03 Apple Inc Activity trends and workouts
KR20220016503A (ko) 2019-06-01 2022-02-09 애플 인크. 다중 모드 활동 추적 사용자 인터페이스
US12002588B2 (en) 2019-07-17 2024-06-04 Apple Inc. Health event logging and coaching user interfaces
EP3792815A1 (en) 2019-09-14 2021-03-17 MyLaps B.V. Sports timing based on a camera system
DK202070616A1 (en) 2020-02-14 2022-01-14 Apple Inc User interfaces for workout content
JP7485528B2 (ja) * 2020-03-27 2024-05-16 株式会社コロプラ プログラム
US11926385B2 (en) * 2021-03-01 2024-03-12 IRL Incorporated Cycling exercise system, device, and method
KR20220150086A (ko) * 2021-05-03 2022-11-10 삼성전자주식회사 개인화된 운동 코칭을 제공하기 위한 전자 장치 및 그의 동작 방법
EP4323992A1 (en) 2021-05-15 2024-02-21 Apple Inc. User interfaces for group workouts
US11915805B2 (en) 2021-06-06 2024-02-27 Apple Inc. User interfaces for shared health-related data
US11977729B2 (en) 2022-06-05 2024-05-07 Apple Inc. Physical activity information user interfaces
US12023567B2 (en) 2022-06-05 2024-07-02 Apple Inc. User interfaces for physical activity information

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101583403A (zh) * 2006-09-07 2009-11-18 耐克国际有限公司 运动表现感测和/或跟踪系统和方法
CN101622550A (zh) * 2007-03-01 2010-01-06 艾利森电话股份有限公司 用于竞赛期间跟踪竞争者的移动服务
CN101713660A (zh) * 2008-10-03 2010-05-26 阿迪达斯股份公司 用于提供位置感知健身监测服务的程序产品,方法和系统
US20110032105A1 (en) * 2009-04-26 2011-02-10 Nike, Inc. GPS Features and Functionality in an Athletic Watch System

Family Cites Families (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469360A (en) 1991-03-10 1995-11-21 Matsushita Electric Industrial Co., Ltd. Vehicle position detecting apparatus
JP2826086B2 (ja) 1995-12-28 1998-11-18 アルパイン株式会社 ナビゲーション装置
US6029173A (en) 1997-11-26 2000-02-22 Navigation Technologies Corporation Method and system for representation and use of shape information in geographic databases
US7454002B1 (en) 2000-01-03 2008-11-18 Sportbrain, Inc. Integrating personal data capturing functionality into a portable computing device and a wireless communication device
US6282486B1 (en) 2000-04-03 2001-08-28 International Business Machines Corporation Distributed system and method for detecting traffic patterns
AU2002255568B8 (en) 2001-02-20 2014-01-09 Adidas Ag Modular personal network systems and methods
US7080065B1 (en) 2001-06-22 2006-07-18 Oracle International Corporation Query pruning using interior rectangles in an R-tree index
JP2003065784A (ja) 2001-08-28 2003-03-05 Vertex Standard Co Ltd Gpsナビゲーション装置
US7480512B2 (en) 2004-01-16 2009-01-20 Bones In Motion, Inc. Wireless device, program products and methods of using a wireless device to deliver services
US6837827B1 (en) 2003-06-17 2005-01-04 Garmin Ltd. Personal training device using GPS data
US20050033515A1 (en) 2003-08-07 2005-02-10 Motorola, Inc. Wireless personal tracking and navigation system
US20050049765A1 (en) 2003-08-27 2005-03-03 Sacagawea21 Inc. Method and apparatus for advertising assessment using location and temporal information
DE602004023313D1 (de) 2003-09-30 2009-11-05 Kenwood Corp Führungsroutensuchverfahren
WO2005076031A2 (en) 2003-10-06 2005-08-18 Sirf Technology, Inc. A system and method for augmenting a satellite-based navigation solution
FR2861491B1 (fr) 2003-10-24 2006-01-06 Thales Sa Procede de selection d'unites de synthese
DE102004013629B4 (de) 2004-03-19 2023-06-01 Volkswagen Ag Kommunikationssystem für ein Kraftfahrzeug
US7901292B1 (en) 2004-04-15 2011-03-08 Navteq North America, Llc Method for comparing performances on remotely located courses
GB0420097D0 (en) 2004-09-10 2004-10-13 Cotares Ltd Apparatus for and method of providing data to an external application
US7254516B2 (en) 2004-12-17 2007-08-07 Nike, Inc. Multi-sensor monitoring of athletic performance
US7828697B1 (en) 2005-09-23 2010-11-09 Garmin Switzerland Gmbh Portable personal training device
JP5082295B2 (ja) 2006-05-19 2012-11-28 株式会社デンソー 地図データ提供装置
US7787857B2 (en) 2006-06-12 2010-08-31 Garmin Ltd. Method and apparatus for providing an alert utilizing geographic locations
US7771320B2 (en) * 2006-09-07 2010-08-10 Nike, Inc. Athletic performance sensing and/or tracking systems and methods
US20080082254A1 (en) 2006-10-02 2008-04-03 Yka Huhtala Route-assisted GPS location sensing via mobile device
JP2010509585A (ja) 2006-11-06 2010-03-25 テレ アトラス ベスローテン フエンノートシャップ 2次元及び3次元の正確な場所及び方位を判定する装置及び方法
FR2908323B1 (fr) 2006-11-09 2009-01-16 Parrot Sa Procede de definition d'un referentiel commun pour un systeme de jeux video
CA2597347A1 (en) 2006-11-30 2008-05-30 Ittay Ronen Automated travel log system
US20080167812A1 (en) 2007-01-10 2008-07-10 Pieter Geelen Navigation device and method for fuel pricing display
JP5064870B2 (ja) 2007-04-17 2012-10-31 株式会社日立製作所 デジタル道路地図の生成方法及び地図生成システム
US8930135B2 (en) 2007-04-17 2015-01-06 Esther Abramovich Ettinger Device, system and method of landmark-based routing and guidance
DE102007028401B4 (de) 2007-06-15 2011-08-25 Navigon Ag, 20251 Verfahren zum Betrieb einer Navigationseinrichtung
JP4453728B2 (ja) 2007-08-07 2010-04-21 株式会社デンソー 位置補正装置
US8121785B2 (en) 2007-08-28 2012-02-21 Garmin Switzerland Gmbh Bicycle computer having position-determining functionality
US7885764B2 (en) 2007-09-06 2011-02-08 GM Global Technology Operations LLC Method for adaptively constructing and revising road maps
US8234264B2 (en) 2008-02-08 2012-07-31 International Business Machines Corporation System and method for preferred services in nomadic environments
US8015144B2 (en) 2008-02-26 2011-09-06 Microsoft Corporation Learning transportation modes from raw GPS data
US8047966B2 (en) 2008-02-29 2011-11-01 Apple Inc. Interfacing portable media devices and sports equipment
US8108139B1 (en) 2008-02-29 2012-01-31 Williams-Pyro, Inc. System and method for route representation with waypoint storage
CN101978374A (zh) 2008-03-03 2011-02-16 耐克国际有限公司 交互式运动设备系统
US8512211B2 (en) 2008-09-05 2013-08-20 Apple Inc. Method for quickstart workout generation and calibration
US9409052B2 (en) * 2008-10-03 2016-08-09 Adidas Ag Program products, methods, and systems for providing location-aware fitness monitoring services
US20100131184A1 (en) 2008-11-21 2010-05-27 Richard Stanton Method for creating suggested pathways for helping pedestrians cross open spaces
US8880568B2 (en) 2008-12-16 2014-11-04 Here Global B.V. Report generation for a navigation-related database
EP2387698B1 (en) 2009-01-16 2017-01-04 TomTom Global Content B.V. Method for creating speed profiles for digital maps
WO2010105712A1 (en) 2009-03-16 2010-09-23 Tele Atlas B.V. System and method for verifying map update reports using probe data
WO2011023247A1 (en) 2009-08-25 2011-03-03 Tele Atlas B.V. Generating raster image representing road existence probability based on probe measurements
US8271497B2 (en) 2009-12-03 2012-09-18 Sony Computer Entertainment Inc. Information processing apparatus and information processing method outputting information on movement of person
US9304005B2 (en) 2009-12-04 2016-04-05 GM Global Technology Operations LLC Application programming interface (API) for navigation applications that merges incremental updates with existing map database
US8401250B2 (en) 2010-02-19 2013-03-19 MindTree Limited Detecting objects of interest in still images
US9261376B2 (en) 2010-02-24 2016-02-16 Microsoft Technology Licensing, Llc Route computation based on route-oriented vehicle trajectories
JP5511060B2 (ja) 2010-03-23 2014-06-04 アイシン・エィ・ダブリュ株式会社 地図更新データ供給装置及び地図更新データ供給プログラム
US8793090B2 (en) 2010-06-23 2014-07-29 Aisin Aw Co., Ltd. Track information generating device, track information generating method, and computer-readable storage medium
US9460419B2 (en) 2010-12-17 2016-10-04 Microsoft Technology Licensing, Llc Structuring unstructured web data using crowdsourcing
US8798909B2 (en) 2011-04-15 2014-08-05 Blackberry Limited Enhanced geolocation device
WO2012157850A2 (ko) 2011-05-19 2012-11-22 에스케이플래닛 주식회사 실시간 지도 데이터 업데이트 시스템 및 방법
JP5845016B2 (ja) 2011-07-27 2016-01-20 株式会社デンソー 地図差分データ作成装置及び地図差分データ作成方法
EP2570771B1 (en) 2011-09-13 2017-05-17 TomTom Global Content B.V. Route smoothing
US9424397B2 (en) 2011-12-22 2016-08-23 Adidas Ag Sports monitoring system using GPS with location beacon correction

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101583403A (zh) * 2006-09-07 2009-11-18 耐克国际有限公司 运动表现感测和/或跟踪系统和方法
CN101622550A (zh) * 2007-03-01 2010-01-06 艾利森电话股份有限公司 用于竞赛期间跟踪竞争者的移动服务
CN101713660A (zh) * 2008-10-03 2010-05-26 阿迪达斯股份公司 用于提供位置感知健身监测服务的程序产品,方法和系统
US20110032105A1 (en) * 2009-04-26 2011-02-10 Nike, Inc. GPS Features and Functionality in an Athletic Watch System

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110442131A (zh) * 2014-06-03 2019-11-12 奥卡多创新有限公司 控制运输设备移动的方法、系统和装置
CN104857692A (zh) * 2015-05-25 2015-08-26 惠州Tcl移动通信有限公司 一种用户运动状态的处理方法、系统及移动设备
CN107809944A (zh) * 2015-06-17 2018-03-16 三星电子株式会社 提供锻炼信息的方法及其可穿戴设备
TWI799337B (zh) * 2020-05-11 2023-04-11 美商尼安蒂克公司 用於提供用於在一平行實境體驗中顯示之一虛擬元素之方法及電腦可讀儲存媒體

Also Published As

Publication number Publication date
CN103828399B (zh) 2018-01-02
US20120253488A1 (en) 2012-10-04
WO2012135602A2 (en) 2012-10-04
JP5748900B2 (ja) 2015-07-15
US9291713B2 (en) 2016-03-22
JP2014517947A (ja) 2014-07-24
US9804269B2 (en) 2017-10-31
WO2012135602A3 (en) 2014-03-13
EP2691902A4 (en) 2015-04-08
US20160178751A1 (en) 2016-06-23
EP2691902A2 (en) 2014-02-05

Similar Documents

Publication Publication Date Title
CN103828399A (zh) 提供实时段表现信息
US10817560B2 (en) Method and system for logging and processing data relating to an activity
US9996998B2 (en) Adaptive advisory engine and methods to predict preferential activities available at a region associated with lodging
US10456679B2 (en) Display of system-level achievements with real-time updating
US9992630B2 (en) Predicting companion data types associated with a traveler at a geographic region including lodging
US9208175B2 (en) Defining and matching segments
CN106407252B (zh) 旅游路线规划方法及服务器
US20100088023A1 (en) Program Products, Methods, and Systems for Providing Location-Aware Fitness Monitoring Services
US10257648B2 (en) Methods and mobile devices to implement traveler interactions and activity to channelize customized data
CN103458980B (zh) 信息处理系统、用于控制信息处理系统的方法、程序和信息存储介质
US20190089765A1 (en) Computer system for network node review for actionable item
CN112907394A (zh) 基于旅游场景的行程推荐方法及系统、设备及存储介质
CN110347842B (zh) 基于智能腕表的知识图谱导游系统
US20170347240A1 (en) Detecting group activities
CN117191066A (zh) 一种导航方法、装置、车辆及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant