ES2744865T3 - Validación de segmento - Google Patents

Validación de segmento Download PDF

Info

Publication number
ES2744865T3
ES2744865T3 ES13760859T ES13760859T ES2744865T3 ES 2744865 T3 ES2744865 T3 ES 2744865T3 ES 13760859 T ES13760859 T ES 13760859T ES 13760859 T ES13760859 T ES 13760859T ES 2744865 T3 ES2744865 T3 ES 2744865T3
Authority
ES
Spain
Prior art keywords
segment
effort
gps data
efforts
gps
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13760859T
Other languages
English (en)
Inventor
Davis Kitchel
Brian Riordan
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
Application granted granted Critical
Publication of ES2744865T3 publication Critical patent/ES2744865T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863—Structures of map data
    • G01C21/387—Organisation of map data, e.g. version management or database structures
    • G01C21/3878—Hierarchical structures, e.g. layering
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20—Instruments for performing navigational calculations
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804—Creation or updating of map data
    • G01C21/3807—Creation or updating of map data characterised by the type of data
    • G01C21/3815—Road data
    • G01C21/3819—Road shape data, e.g. outline of a route
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804—Creation or updating of map data
    • G01C21/3833—Creation or updating of map data characterised by the source of data
    • G01C21/3856—Data obtained from user input
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804—Creation or updating of map data
    • G01C21/3859—Differential updating map data
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13—Receivers
    • G01S19/14—Receivers specially adapted for specific applications
    • G01S19/19—Sporting applications
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01S—RADIO 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/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39—Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/40—Correcting position, velocity or attitude
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23—Updating
    • G06F16/2308—Concurrency control
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23—Updating
    • G06F16/2365—Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Navigation (AREA)

Abstract

Un sistema (100) para validar un segmento almacenado (702), el segmento almacenado consiste en datos GPS, que comprende: uno o más procesadores configurados para: determinar (302) que el segmento almacenado (702) cumple un criterio de validación; y validar el segmento almacenado; donde la validación del segmento almacenado incluye los pasos de: determinar (604) que una pluralidad de esfuerzos (704, 706, 708, 710) coinciden con el segmento almacenado (702), donde la pluralidad de esfuerzos (704, 706, 708, 710) está asociada con los respectivos de una pluralidad de instancias de actividades atléticas, un esfuerzo que comprende una serie registrada de datos GPS con marcas de tiempo; seleccionar un esfuerzo de la pluralidad de esfuerzos (704, 706, 708, 710); e identificar el subconjunto de puntos de datos GPS asociados con la pluralidad de esfuerzos_ (704, 706, 708, 710) dentro de cada área circular (904, 1104) centrada en cada uno de los puntos GPS asociados con el esfuerzo seleccionado; y determinar un centroide basado en la porción identificada de los conjuntos de datos GPS; y generar (614) un segmento validado basado en los centroides determinados; una o más memorias acopladas a uno o más procesadores y configuradas para almacenar el segmento validado.

Description

DESCRIPCIÓN
Validación de segmento
REFERENCIA CRUZADA A OTRAS SOLICITUDES
[0001] Esta solicitud tiene prioridad sobre la Solicitud de Patente Provisional de EE.UU. N°61/609,847 titulada TÉCNICAS PARA MEJORAR LA EXACTITUD DE LOS DATOS BASADOS EN GPS presentada el 12 de marzo de 2012.
ANTECEDENTES DE LA INVENCIÓN
[0002] Los datos geográficos, como los segmentos, se utilizan para representar pistas, senderos y/o rutas geográficas del mundo real. A veces, un segmento puede derivarse de un conjunto registrado de datos del sistema de posicionamiento geográfico (GPS) asociado con la actividad física de un usuario (por ejemplo, viajar en bicicleta, correr). Sin embargo, debido a que los datos de GPS asociados con la actividad física del usuario podrían haberse registrado con error, el segmento derivado de los datos de GPS asociados también podría incluir un error. Por ejemplo, el segmento puede no reflejar con precisión los atributos físicos del mundo real de el pista, sendero o ruta geográfica prevista. Además, incluso si un segmento, en general, refleja con precisión los atributos físicos del mundo-real de un sendero en un punto en el tiempo, la geografía real del sendero puede cambiar con el tiempo. Como tal, sería deseable actualizar los segmentos almacenados con el tiempo.
[0003] US 2008 082254 describe el aumento de datos detectados usando un dispositivo móvil e implica detectar, a través de un sensor del Sistema de Posicionamiento Global (GPS), datos de ubicación a lo largo de una ruta mientras un usuario la recorre. Se proporcionan datos de ruta predefinidos que reflejan con precisión las ubicaciones de la ruta. Los datos de ubicación detectados se aumentan utilizando los datos de ruta predefinidos a través de un terminal móvil capaz de interactuar con el sensor GPS. Se crea un registro del recorrido utilizando los datos de ubicación aumentados.
[0004] La presente invención está definida por las reivindicaciones.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0005] Se describen diversas realizaciones de la invención en la siguiente descripción detallada y los dibujos adjuntos.
FIG. 1 es un diagrama que muestra una realización de un sistema para validar segmentos.
FIG. 2 es un diagrama que muestra una realización de un servidor de validación de segmento.
FIG. 3 es un diagrama de flujo que muestra una realización de un procedimiento de validación de un segmento. FIG. 4 es un diagrama de flujo que muestra una realización de un procedimiento para realizar la validación de segmento.
FIG. 5 es un diagrama de flujo que muestra una realización de un procedimiento de validación de un segmento. FIG. 6 es un diagrama de flujo que muestra un ejemplo de determinación de un segmento validado.
FIG. 7 es un diagrama que muestra un ejemplo de representaciones visuales de un segmento y esfuerzos que coinciden con el segmento.
FIG. 8 es un diagrama que muestra un ejemplo de selección del mejor esfuerzo candidato.
FIG. 9 es un diagrama que muestra la determinación de un centroide basado en un punto de datos GPS del mejor esfuerzo candidato.
FIG. 10 es un diagrama que muestra un centroide determinado en base a un punto de datos GPS del mejor esfuerzo candidato.
FIG. 11 es un diagrama que muestra varios centroides determinados en función de los puntos de datos GPS correspondientes del mejor esfuerzo candidato.
FIG. 12 es un diagrama que muestra determinados centroides correspondientes a todos los puntos de datos GPS del mejor esfuerzo candidato.
FIG. 13 es un diagrama que muestra un segmento validado determinado en base a los centroides determinados.
DESCRIPCIÓN DETALLADA
[0006] La invención puede implementarse como un sistema; un método; o un producto de programa informático incorporado en un medio de almacenamiento legible por computadora. En esta especificación, estas implementaciones pueden denominarse técnicas. En general, el orden de los pasos de los procedimientos descritos puede modificarse dentro del alcance de la invención. A menos que se indique lo contrario, un componente como un procesador o una memoria descrita como configurada para realizar una tarea puede implementarse como un componente general que se configura temporalmente para realizar la tarea en un momento dado o un componente específico que se fabrica para realizar la tarea. Como se usa en este documento, el término "procesador" se refiere a uno o más dispositivos, circuitos y/o núcleos de procesamiento configurados para procesar datos, como las instrucciones del programa informático.
[0007] A continuación, se proporciona una descripción detallada de una o más realizaciones de la invención junto con las figuras adjuntas que ilustran los principios de la invención. La invención se describe en relación con tales realizaciones, pero la invención no se limita a ninguna realización. El alcance de la invención está limitado solo por las reivindicaciones y la invención abarca numerosas alternativas, modificaciones y equivalentes. Numerosos detalles específicos se exponen en la siguiente descripción con el fin de proporcionar una comprensión profunda de la invención. Estos detalles se proporcionan a modo de ejemplo y la invención se puede practicar según las reivindicaciones sin algunos o todos estos detalles específicos. Con fines de claridad, el material técnico que se conoce en los campos técnicos relacionados con la invención no se ha descrito en detalle para que la invención no se oscurezca innecesariamente.
[0008] Como se usa en el presente documento, un segmento se refiere a una representación de una pista geográfica del mundo real (por ejemplo, ruta, camino, sendero) que es de interés y puede usarse como referencia (por ejemplo, para comparar el rendimiento deportivo a lo largo de esa pista y/o para otras aplicaciones). Por ejemplo, un segmento se puede usar para identificar la subida de una colina popular para ciclistas, una ruta de carrera o una ruta de senderismo. En diversas realizaciones, un segmento puede definirse automáticamente. Por ejemplo, las fuentes de terceros que almacenan información sobre rutas comunes para diversas actividades físicas pueden usarse para definir segmentos automáticamente. En diversas realizaciones, un usuario puede definir un segmento. Por ejemplo, un usuario puede hacer selecciones a lo largo de un mapa en una interfaz de usuario para dibujar el segmento. En otro ejemplo de un segmento definido por el usuario, un usuario puede registrar un esfuerzo y definir al menos una parte de los datos de GPS asociados con el esfuerzo como el segmento. Como se usa en este documento, un esfuerzo se refiere a una serie registrada de datos de GPS con marcas de tiempo (por ejemplo, que puede representar una instancia del rendimiento deportivo o actividad física de un usuario). En algunas realizaciones, un esfuerzo se almacena con datos auxiliares (por ejemplo, métricas de la actividad con la que está asociado el esfuerzo). Se puede almacenar un segmento de modo que, por ejemplo, se pueda usar como referencia para determinar si un esfuerzo registrado puede coincidir para que, si se desea, el esfuerzo se pueda comparar con uno o más esfuerzos registrados que también coincidan con el mismo segmento. En diversas realizaciones, se determina un esfuerzo para hacer coincidir un segmento cumpliendo los criterios de coincidencia asociados con el segmento. En diversas realizaciones, un esfuerzo que coincide con un segmento se denomina "coincidencia de segmento" o "esfuerzo de coincidencia con el segmento". En algunas realizaciones, los datos que indican una relación de coincidencia se almacenan para cada esfuerzo de segmento (es decir, esfuerzo de coincidencia) con respecto al segmento que se ha determinado que el esfuerzo coincide.
[0009] Sin embargo, un segmento almacenado puede necesitar actualizarse con el tiempo porque puede haberse definido con error. Un ejemplo de un segmento que puede definirse con un error es un segmento que se deriva de los datos de GPS de un esfuerzo registrado. Específicamente, los datos GPS registrados pueden incluir medidas de latitud y longitud ("Datos Lat-Lng") y tiempo. El dispositivo puede capturar datos auxiliares, como la frecuencia cardíaca del usuario, la temperatura del aire, la elevación sobre el nivel del mar, la potencia de salida u otro parámetro fisiológico, de rendimiento o ambiental, por ejemplo, en los mismos puntos en el tiempo que los datos Lat-Lng . El dispositivo habilitado -GPS que se utilizó para registrar el esfuerzo puede registrar datos g Ps con error, que luego se pasan al segmento que se define a partir del esfuerzo. Hay varios tipos de errores que pueden dañar los datos del GPS. Por ejemplo, un tipo de error puede deberse a que el dispositivo con GPS pierde la conexión con uno o más de los satélites que necesita para rastrear con precisión los datos Lat-Lng. Otro tipo de error puede ser causado por el dispositivo que mide los datos con poca frecuencia como para identificar correctamente los datos que se recopilan en todos los puntos y momentos. Aún otro tipo de error puede ser causado por el dispositivo que tiene un grado limitado de precisión de tal manera que malinterpreta los datos Lat-Lng al introducir "deriva" a los datos Lat-Lng. Además, un segmento almacenado puede necesitar actualizarse con el tiempo porque la pista geográfica que está destinada a representar puede cambiar con el tiempo. Por ejemplo, el terreno de un sendero que un segmento se definió originalmente para representar puede cambiar con el tiempo, lo que hará que el segmento definido originalmente se convierta en una representación menos precisa.
[0010] Las realizaciones de los segmentos de validación se describen en este documento. En diversas realizaciones, validar un segmento comprende ajustar al menos algunos datos de GPS asociados con (por ejemplo, representar) el segmento usando datos de GPS agregados. En diversas realizaciones, los datos GPS agregados incluyen los datos GPS de uno o más esfuerzos que se determinaron para coincidir con el segmento. En algunas realizaciones, la validación del segmento comprende generar una nueva versión del segmento basada en el ajuste de los datos de GPS asociados con el segmento almacenado usando los datos de GPS agregados. En algunas realizaciones, la nueva versión del segmento reemplazará al segmento almacenado (la versión anterior del segmento) porque se supone que es una representación más precisa de la pista geográfica que el segmento almacenado estaba destinado a representar. En algunas realizaciones, los datos GPS de uno o más esfuerzos determinados para coincidir con la nueva versión del segmento pueden usarse posteriormente para validar ese segmento. La validación posterior del segmento se puede realizar de forma iterativa.
[0011] FIG. 1 es un diagrama que muestra una realización de un sistema para validar segmentos. En el ejemplo, el sistema 100 incluye el dispositivo 102, la red 104 y el servidor de validación de segmento 106. La red 104 incluye redes de datos de alta velocidad y/o redes de telecomunicaciones. El dispositivo 102 puede comunicarse con el servidor de validación de segmento 106 a través de la red 104. En algunas realizaciones, el sistema 100 puede incluir más o menos componentes que lo que se muestra en el ejemplo de la FIG. 1.
[0012] El dispositivo 102 es un dispositivo que puede registrar datos de GPS y/u otros datos asociados con una actividad física. El dispositivo 102 también puede ser un dispositivo al que se pueden cargar o transferir datos GPS y/u otros datos asociados con una actividad física. Los ejemplos del dispositivo 102 incluyen, entre otros: un dispositivo GPS (por ejemplo, dispositivos Garmin Forerunner® y Edge®, incluidos Garmin Forerunner® 110, 205, 301, 305, 310x T, 405, 405CX y Garmin Edge® 305, 605, 705, 500, 800), un teléfono móvil, como un teléfono inteligente (por ejemplo, un dispositivo basado en Android® o un dispositivo Apple iPhone®) que incluye una aplicación de grabación GPS (por ejemplo, MotionX®, Endomondo® y Run- Keeper®), una computadora, un dispositivo de tableta y/u otros dispositivos informáticos de uso general y/o dispositivos informáticos especializados, que generalmente incluyen un procesador general, una memoria u otros componentes de almacenamiento), una red o entrada/salida (I/O) capacidad, y posiblemente funcionalidad o soporte GPS integrado o una interfaz para un dispositivo GPS o funcionalidad GPS.
[0013] En diversas realizaciones, el dispositivo 102 (o una aplicación del mismo) está configurado para registrar datos GPS y datos auxiliares asociados con una actividad física durante la actividad. Por ejemplo, los datos auxiliares asociados con una actividad física pueden incluir datos fisiológicos, ambientales y/o de rendimiento. En algunas realizaciones, el dispositivo 102 está configurado para recibir datos GPS registrados y datos auxiliares asociados con una actividad física posterior a la finalización de la actividad (por ejemplo, dicha información se carga en el dispositivo 102).
[0014] Los datos GPS registrados y los datos auxiliares que representan una instancia de una actividad física se denominan "esfuerzo". Dicho de otra manera, un esfuerzo es una instancia de una actividad física y puede representarse a través de su información geográfica, así como otras métricas relacionadas con el rendimiento deportivo. Ejemplos de una actividad física incluyen ciclismo, correr y esquiar. En algunas realizaciones, los datos de GPS incluyen una serie de puntos de datos de GPS consecutivos y discretos (por ejemplo, coordenadas de latitud y longitud a veces denominadas "Datos de Lat-Lng") con una marca de tiempo para cada punto. En algunas realizaciones, los datos auxiliares incluyen, entre otros, elevación, frecuencia cardíaca, potencia/vatios (p. Ej., energía gastada), tiempo, velocidad (p. Ej., velocidad media y/o máxima por segmento y/o ruta, donde la velocidad promedio, por ejemplo, puede derivarse del tiempo y la información del g Ps ), y/o la cadencia. Los datos auxiliares se pueden registrar con varias granularidades. Por ejemplo, los datos auxiliares pueden corresponder a cada punto de datos GPS, toda la actividad (por ejemplo, los datos auxiliares incluyen promedios de las métricas) o partes de la actividad. Como ejemplo, uno puede usar el dispositivo 102 en un viaje en bicicleta. Al final del viaje en bicicleta, el usuario puede revisar su rendimiento con los datos GPS registrados (por ejemplo, a través de una interfaz de usuario del dispositivo 102) para observar la pista geográfica que atravesó, cuánta energía gastó a lo largo del viaje, qué tan rápido lo terminó en velocidad promedio, métricas basadas en elevación y/u otras métricas. En algunas realizaciones, el dispositivo 102 está configurado para almacenar los datos GPS registrados y los datos auxiliares (por ejemplo, esfuerzo) y/o enviar la información de esfuerzo al servidor 106. En algunas realizaciones, el dispositivo 102 está configurado para presentar una interfaz de usuario interactiva. La interfaz de usuario puede mostrar datos de GPS y recibir selecciones (por ejemplo, hechas por un usuario) con respecto a las pantallas. En algunas realizaciones, el dispositivo 102 envía las selecciones que recibe al servidor de validación de segmento 106.
[0015] En algunas realizaciones, se puede presentar una interfaz de usuario en el dispositivo 102. En algunas realizaciones, la interfaz de usuario puede presentarse por el servidor de validación de segmento 106 o por otro componente que no se muestra en el ejemplo de la FIG. 1. La interfaz de usuario está configurada para recibir una definición de usuario de un segmento. En algunas realizaciones, la interfaz de usuario está configurada para mostrar una representación visual de los datos GPS de un esfuerzo registrado en la interfaz de usuario usando una aplicación de software de mapas. La representación visual puede ser, por ejemplo, una serie de banderas o una línea continua marcada en un mapa gráfico. En algunas realizaciones, el servidor de validación de segmento 106 puede soportar un mapa en la interfaz de usuario al incluir lógica configurada para interactuar con la Interfaz de Programación de Aplicaciones (API) de un software/aplicación de mapas (por ejemplo, Google® Maps, MapQuest®, Bing® mapas y/u otra aplicación/servicio de mapeo). En algunas realizaciones, un usuario puede definir un segmento usando la representación visual de la información del GPS. En algunas realizaciones, un punto de inicio y un punto de finalización (por ejemplo, final) a lo largo de la representación visual de la información del GPS se seleccionan en el mapa gráfico para definir un segmento. Por ejemplo, un usuario puede seleccionar (por ejemplo, soltando un marcador o haciendo clic) los puntos de inicio y/o final a lo largo de la pista geográfica que él o ella acaba de atravesar durante una actividad física. La parte de la pista geográfica entre los puntos de inicio y finalización seleccionados se define, así como un segmento. En algunas realizaciones, los puntos de inicio y finalización se almacenan con el segmento definido. En algunas realizaciones, la parte de la pista geográfica entre los puntos de inicio y finalización seleccionados se convierte en una forma resumida y luego se almacena en una base de datos para almacenar segmentos. En algunas realizaciones, los datos asociados que corresponden al segmento definido también se almacenan con el segmento en la base de datos.
[0016] En algunas realizaciones, la interfaz de usuario está configurada para recibir una definición de usuario de un segmento utilizando selecciones en un mapa sin una representación visual de un esfuerzo registrado. En algunas realizaciones, se presenta un mapa gráfico (por ejemplo, Google® Maps, MapQuest®) y una serie de selecciones de puntos en el mapa para indicar el curso de un segmento que se recibe. Esta serie de selecciones de puntos en el mapa no necesita basarse en un esfuerzo registrado y simplemente puede ser cualquier pista geográfica que sea de interés. Por ejemplo, el segmento seleccionado puede ser una pista que un ciclista ha recorrido antes, pero no ha documentado el recorrido o el segmento seleccionado puede ser una pista donde el ciclista quisiera continuar en el futuro. La serie de selecciones de puntos en el mapa se puede convertir en una serie de datos GPS (por ejemplo, datos Lat-Lng). En algunas realizaciones, la serie de datos GPS se convierte en una forma abstracta y luego se almacena como un segmento.
[0017] Después de una definición de un segmento en la interfaz de usuario, los esfuerzos almacenados (por ejemplo, conjuntos de datos GPS de actividades físicas pasadas) se comparan con el segmento definido. Cuando se compara un esfuerzo con este segmento definido, se determina si el esfuerzo coincide con el segmento en parte al verificar si los datos de GPS del esfuerzo indican que el punto de inicio y/o el punto final del segmento se han cruzado. Los identificadores asociados con los esfuerzos de coincidencia se almacenan para cada segmento.
[0018] El servidor de validación de segmento 106 está configurado para validar un segmento almacenado. El servidor de validación de segmento 106 está configurado para validar un segmento almacenado basado en datos GPS agregados asociados con el segmento. En algunas realizaciones, los datos de GPS agregados asociados con el segmento incluyen al menos algunos de los esfuerzos que se han determinado para que coincidan con el segmento. En algunas realizaciones, el servidor de validación de segmento 106 está configurado para iniciar la validación de un segmento almacenado en respuesta a un disparador para iniciar el procedimiento de validación. En respuesta al disparador, en algunas realizaciones, el servidor de validación de segmento 106 está configurado para usar al menos algunos de los datos de GPS asociados con uno o más esfuerzos que se han determinado para que coincidan con el segmento para ajustar los datos de GPS asociados con el segmento. En algunas realizaciones, ajustar los datos de GPS asociados con el segmento incluye generar una nueva versión del segmento. En algunas realizaciones, la nueva versión del segmento puede comprender una versión modificada del conjunto de datos GPS asociados con la versión anterior del segmento. En algunas realizaciones, la nueva versión del segmento también puede denominarse "segmento validado". En algunas realizaciones, el segmento validado reemplazará la versión anterior del segmento. En algunas realizaciones, se determinan los esfuerzos almacenados, si los hay, que coinciden con el segmento validado. En algunas realizaciones, el servidor de validación de segmento 106 está configurado para validar el segmento validado basado en datos GPS agregados (por ejemplo, datos GPS que coinciden con el segmento validado). De esta manera, el servidor 106 de validación de segmento está configurado para validar iterativamente un segmento usando datos GPS asociados con el segmento (por ejemplo, datos GPS asociados con esfuerzos que coinciden con el segmento).
[0019] La validación de un segmento aprovecha un cuerpo de datos GPS enviados por los usuarios relevantes para generar una representación más precisa y/o más actual de la pista geográfica prevista. Solo una parte de los datos GPS enviados por el usuario relevante registrados por uno o más dispositivos GPS que se sabe que son más precisos puede seleccionarse para validar el segmento, para aumentar la precisión del procedimiento de validación. Los segmentos más precisos pueden proporcionar mejores coincidencias con los esfuerzos registrados y, por lo tanto, aumentar la probabilidad de que un esfuerzo registrado a lo largo de una determinada pista geográfica se determine que coincida con el segmento definido para representar esa pista geográfica.
[0020] FIG. 2 es un diagrama que muestra una realización de un servidor de validación de segmento. En algunas realizaciones, el servidor de validación de segmento 106 del sistema 100 de la FIG. 1 puede implementarse usando el ejemplo de la FIG. 2. En algunas realizaciones, un servidor de validación de segmento puede incluir más o menos componentes de lo que se muestra en el ejemplo de la FIG. 2. El ejemplo del servidor de validación de segmentos incluye la base de datos de segmentos 202, la base de datos de esfuerzos 204, el motor de creación de segmentos 206, el motor de coincidencia de segmentos 208 y el motor de validación de segmentos 210. Cada una de las bases de datos de segmentos 202 y la base de datos de esfuerzos 204 pueden implementarse usando una o más bases de datos. Cada uno de los motores de creación de segmentos 206, el motor de coincidencia de segmentos 208 y el motor de validación de segmentos 210 pueden implementarse usando uno o ambos de hardware y software.
[0021] La base de datos de segmentos 202 está configurada para almacenar segmentos. En algunas realizaciones, la base de datos de segmentos 202 está configurada para almacenar segmentos derivados de esfuerzos de usuario registrados. En algunas realizaciones, la base de datos de segmentos 202 está configurada para almacenar segmentos generados por selecciones de usuario a lo largo de una aplicación de mapa (independiente de un esfuerzo registrado). En algunas realizaciones, la base de datos de segmentos 202 está configurada para almacenar segmentos generados en base a fuentes de terceros. Un segmento se almacena como un conjunto de datos GPS. En algunas realizaciones, el conjunto de datos GPS asociados con un segmento se convierte en una forma abstraída (por ejemplo, rectángulos delimitadores mínimos) y los datos convertidos se almacenan para representar el segmento. En algunas realizaciones, cada segmento se almacena con un conjunto de metadatos. Por ejemplo, el conjunto de metadatos asociados con cada segmento puede incluir un identificador asociado con el segmento, varias veces que un segmento asociado con el identificador de segmento ha sido validado/refinado (por ejemplo, un número de versión del segmento asociado con el identificador de segmento), identificadores de esfuerzos almacenados que se han determinado que coinciden con el segmento (por ejemplo, dentro de un período de tiempo reciente o desde la última vez que se validó el segmento), una hora donde se creó originalmente el segmento asociado con el identificador, y uno o más tipos de actividad física que están asociados con el segmento (por ejemplo, correr y andar en bicicleta). En algunas realizaciones, si un segmento ha sido validado al menos una vez anteriormente, entonces al menos una o más versiones anteriores del segmento pueden almacenarse (pero no usarse para hacer coincidir los esfuerzos).
[0022] En algunas realizaciones, cada segmento almacenado en la base de datos de segmentos 202 está asociado con uno o más criterios coincidentes. Si se determina un esfuerzo (por ejemplo, por el motor de coincidencia de segmentos 208) para cumplir los criterios asociados con un segmento, entonces se determina que el esfuerzo coincide con el segmento y los datos que indican la relación de coincidencia entre el segmento y el esfuerzo pueden almacenarse con el segmento y/o el esfuerzo. Por ejemplo, los criterios de coincidencia asociados con un segmento pueden incluir un grado umbral de similitud que un esfuerzo tiene que cumplir para poder coincidir con el segmento. En algunas realizaciones, cada segmento almacenado en la base de datos de segmentos 202 está asociado con el mismo conjunto de criterios coincidentes. En algunas realizaciones, diferentes segmentos almacenados en la base de datos de segmentos 202 pueden estar asociados con diferentes conjuntos de criterios coincidentes.
[0023] El motor de creación de segmentos 206 está configurado para recibir la definición de segmentos por parte del usuario. En algunas realizaciones, el motor de creación de segmento 206 está configurado para presentar una interfaz de usuario asociada con la definición de segmento. En algunas realizaciones, un usuario puede enviar al motor de creación de segmento 206 un conjunto de datos GPS asociados con un esfuerzo registrado y el motor de creación de segmento 206 está configurado para presentar una representación visual del esfuerzo en la interfaz de usuario. Luego, se reciben las selecciones de usuario asociadas con un punto de inicio y un punto final a lo largo de la representación visual de los datos de GPS asociados con el esfuerzo y el motor de creación de segmento 206 está configurado para almacenar al menos la parte de los datos de GPS asociados con el esfuerzo entre el punto de inicio y el punto final como un segmento en la base de datos de segmentos 202, por ejemplo. En algunas realizaciones, el motor de creación de segmentos 206 está configurado para presentar una aplicación de mapa (por ejemplo, asociada con un servicio de un tercero como Google® maps) en la interfaz de usuario y recibir una o más selecciones de usuario (por ejemplo, clics de usuario a lo largo de una ruta en el mapa) con respecto a la aplicación del mapa. La una o más selecciones de usuario en la aplicación de mapa se convierten luego en un conjunto de datos (por ejemplo, GPS) y se almacenan como un segmento en la base de datos de segmentos 202, por ejemplo. En algunas realizaciones, el motor de creación de segmento 206 está configurado para solicitar al usuario (a través de la interfaz de usuario) que ingrese metadatos asociados con el segmento. Por ejemplo, se le puede solicitar al usuario que ingrese un identificador para el segmento y uno o más tipos de actividad física asociados con el segmento.
[0024] La base de datos de esfuerzos 204 está configurada para almacenar esfuerzos registrados y cargados por el usuario. En algunas realizaciones, un dispositivo habilitado para GPS registra un esfuerzo durante la actividad física de un usuario. Ejemplos de la actividad física de un usuario pueden incluir andar en bicicleta o correr. Los ejemplos de un dispositivo con GPS pueden incluir un teléfono inteligente con GPS con una aplicación asociada con el registro de datos de GPS instalada o un reloj con GPS. Por ejemplo, un usuario puede usar un dispositivo con GPS en su cuerpo mientras realiza una actividad física. El usuario puede interactuar con el dispositivo para iniciar y finalizar el registro. Mientras el dispositivo está en el modo de grabación, puede regsitrar puntos de datos discretos, donde cada punto de datos puede estar asociado con una coordenada GPS (p. Ej., Coordenadas Lat-Lng), una asociación de tiempo y uno o más físicos, fisiológicos, ambientales, y/o métricas relacionadas con el rendimiento (por ejemplo, frecuencia cardíaca, cadencia, potencia, velocidad, aceleración). En algunas realizaciones, se puede proporcionar una interfaz de usuario para el usuario y el usuario puede cargar un esfuerzo registrado utilizando al menos la interfaz de usuario. Por ejemplo, el usuario puede establecer una conexión por cable o inalámbrica entre el dispositivo habilitado para GPS y una computadora para cargar los datos asociados con los esfuerzos registrados, dirigir el navegador web instalado en la computadora a una dirección web asociada con el usuario interfaz y cargar los datos asociados con los esfuerzos registrados al servidor de validación de segmento. Además, la interfaz de usuario puede solicitar al usuario que proporcione metadatos para asociarlos con un esfuerzo cargado como, por ejemplo, un identificador, un tipo de actividad física asociada con el esfuerzo, un identificador asociado con el tipo de dispositivo donde se registró el esfuerzo. con, un identificador de un usuario asociado con el esfuerzo y notas adicionales. En algunas realizaciones, el conjunto de metadatos asociados con un esfuerzo puede actualizarse con el tiempo. Por ejemplo, con el tiempo, se puede determinar un esfuerzo para que coincida con segmentos diferentes o adicionales.
[0025] En algunas realizaciones, un esfuerzo almacenado en la base de datos de esfuerzos 204 se compara con uno o más segmentos almacenados en la base de datos de segmentos 202. Por ejemplo, después de que un usuario cargue un esfuerzo registrado en el servidor de validación de segmento, el motor de coincidencia de segmento 208 está configurado para comparar el esfuerzo con cada uno de los segmentos almacenados en la base de datos de segmentos 202, por ejemplo, para determinar si el esfuerzo coincide con uno o más segmentos En algunas realizaciones, se determina un esfuerzo para que coincida con un segmento basado en el conjunto de datos GPS asociados con el esfuerzo que cumple uno o más criterios de coincidencia asociados con el segmento. En el caso de que se determine que un esfuerzo coincide con un segmento (por ejemplo, almacenado en la base de datos de segmentos 202), el esfuerzo se almacena con un identificador asociado con el segmento de coincidencia. Como tal, si se determinan los esfuerzos que coinciden con un determinado segmento, entonces se pueden buscar los esfuerzos de la base de datos de esfuerzos 204 para aquellos que están asociados con el identificador del segmento.
[0026] El motor de coincidencia de segmentos 208 está configurado para hacer coincidir los esfuerzos con los segmentos almacenados. En algunas realizaciones, el motor de coincidencia de segmentos 208 está configurado para determinar si al menos algunos esfuerzos almacenados en la base de datos de esfuerzos 204 coinciden con uno o más segmentos almacenados en la base de datos de segmentos 202. El motor de coincidencia de segmento 208 está configurado para determinar si un esfuerzo cumple con uno o más criterios de coincidencia asociados con un segmento particular. En el caso de que el motor de coincidencia de segmento 208 determine que un esfuerzo coincide con un segmento, entonces los datos que indican la relación de coincidencia entre el segmento y el esfuerzo pueden almacenarse con el segmento y/o el esfuerzo.
[0027] El motor de validación de segmento 210 está configurado para validar segmentos. Un objetivo de la validación de segmento es mejorar continuamente la calidad de un segmento y cambiar el segmento, si corresponde, para reflejar mejor la pista geográfica verdadera (p. Ej., del mundo-real) que se supone que representa el segmento. En algunas realizaciones, el motor de validación de segmento 210 valida al menos algunos de los segmentos almacenados en la base de datos de segmentos 202. El motor de validación de segmento 210 valida un segmento basado en datos GPS agregados. En algunas realizaciones, el motor de validación de segmento 210 realiza la validación en un segmento que cumple uno o más criterios de validación. Por ejemplo, un criterio de validación es que ha pasado un período de tiempo predeterminado desde que el segmento se creó o se validó por última vez. Otro ejemplo de un criterio de validación es que se ha determinado un número predeterminado de esfuerzos (por ejemplo, registrado por un dispositivo habilitado con GPS en particular) para que coincida con el segmento. Otro ejemplo más de un criterio de validación es que se ha determinado que menos de un umbral predeterminado de esfuerzos coincide con el segmento desde que el segmento ha sido creado o validado por última vez.
[0028] Una vez que el motor de validación de segmento 210 determina que un segmento almacenado ha cumplido al menos un criterio de validación, el motor de validación de segmento 210 procede a validar el segmento. En algunas realizaciones, el motor de validación de segmento 210 está configurado para validar un segmento almacenado basado en datos GPS agregados que incluyen al menos el conjunto de esfuerzos que se han determinado para que coincidan con el segmento. Por ejemplo, el motor de validación de segmento 210 puede consultar en la base de datos de esfuerzos 204 los esfuerzos que se han determinado para que coincidan con el segmento que se va a validar (por ejemplo, en función de los metadatos almacenados con los esfuerzos). En algunas realizaciones, el motor de validación de segmento 210 está configurado para usar al menos los esfuerzos obtenidos (por ejemplo, los conjuntos de datos GPS correspondientes de los esfuerzos) que se han determinado para que coincidan con el segmento para validar el segmento. En algunas realizaciones, el motor de validación de segmento 210 está configurado para generar una nueva versión del segmento basado en el conjunto de esfuerzos obtenidos. En algunas realizaciones, el motor de validación de segmento 210 está configurado para reemplazar la versión anterior del segmento con la nueva versión del segmento como resultado de la validación. En algunas realizaciones, la nueva versión del segmento, que a veces se denomina "segmento validado", se almacena con al menos algunos de los metadatos (por ejemplo, identificador de segmento) asociados con la versión anterior del segmento para reemplazar la versión anterior. En algunas realizaciones, los metadatos asociados con la nueva versión del segmento pueden actualizarse para incluir un número de versión incrementado. En algunas realizaciones, el motor de validación de segmento 210 está configurado para hacer coincidir uno o más esfuerzos (de la base de datos de esfuerzos 204) con el segmento validado. Como resultado de la validación, se pueden determinar más, menos o diferentes esfuerzos para que coincidan con el segmento. En diversas realizaciones, el motor de validación de segmento 210 está configurado para validar iterativamente un segmento basado en datos GPS agregados. Por ejemplo, la nueva versión del segmento (el segmento validado) puede eventualmente cumplir con un criterio de validación y ser validado por el motor de validación de segmento 210 basado en los esfuerzos que se han determinado para que coincida con esa versión del segmento.
[0029] Debido a que un segmento puede ser derivada originalmente a partir de los datos GPS asociados con un esfuerzo de usuario registrado, a veces, el error incluido en el registro de que el esfuerzo puede ser pasados sobre el segmento resultante. Como resultado, ciertos esfuerzos que se registraron con mayor precisión a lo largo de la pista geográfica que un segmento estaba destinado a representar, no se pueden determinar para que coincidan con el segmento, lo que afectará negativamente la capacidad de los usuarios para comparar el desempeño a lo largo de la misma pista geográfica. Sin embargo, al actualizar/validar continuamente un segmento existente utilizando al menos datos GPS de usuario agregados que sean relevantes para el segmento (por ejemplo, esfuerzos de coincidencia), el segmento puede mejorarse continuamente para reflejar con mayor precisión la forma actual de la pista geográfica en el mundo-real.
[0030] FIG. 3 es un diagrama de flujo que muestra un procedimiento de validación de un segmento. El procedimiento 300 puede implementarse en el sistema 100 de la FIG. 1.
[0031] En 302, se determina que un segmento almacenado cumple un criterio de validación. En algunas realizaciones, la validación de segmento para un segmento almacenado comienza cuando el segmento cumple con un criterio de validación. Uno o más criterios de validación pueden ser configurados por el usuario. Un primer ejemplo de un criterio de validación es un lapso de un intervalo de tiempo predeterminado desde la última validación del segmento o desde la creación inicial del segmento. Un segundo ejemplo de un criterio de validación es cuando se determina que menos de un número predeterminado de esfuerzos coinciden con el segmento dentro de un período de tiempo predeterminado (por ejemplo, la falta de esfuerzos coincidentes puede indicar que el segmento se creó con un error significativo). Un tercer ejemplo de un criterio de validación es cuando el número de esfuerzos que coinciden con el segmento que ha alcanzado un umbral predeterminado. Un cuarto ejemplo de un criterio de validación es cuando el número de esfuerzos registrados por un dispositivo seleccionado (por ejemplo, que se sabe que es relativamente más preciso que otros dispositivos) que coinciden con el segmento que ha alcanzado un umbral predeterminado. Un quinto ejemplo de un criterio de validación es la recepción de una indicación de una selección de usuario para iniciar el procedimiento de validación.
[0032] En 304, los datos de GPS asociados con el segmento almacenado se ajustan utilizando datos de GPS agregados. En diversas realizaciones, los conjuntos de datos de GPS asociados con el segmento se agregan y se usan para ajustar los datos de GPS asociados con el segmento. Los conjuntos de datos GPS asociados con el segmento comprenden los datos GPS asociados con los esfuerzos que se han determinado para que coincidan con el segmento. Los conjuntos de datos GPS correspondientes a los esfuerzos de correspondencia se obtienen y se utilizan para generar una nueva versión del segmento. La nueva versión del segmento se utiliza para reemplazar la versión anterior del segmento.
[0033] FIG. 4 es un diagrama de flujo que muestra un procedimiento para realizar la validación de segmento. El procedimiento 400 se puede realizar en el sistema 100 de la FIG. 1.
[0034] El procedimiento 400 muestra que un segmento puede ser validado repetidamente para mejorar aún más la precisión y calidad del segmento. El procedimiento 400 se realiza para cada segmento almacenado.
[0035] En 402, se determina si un segmento debe ser validado. En algunas realizaciones, se determina que el segmento se valida con base en el segmento que cumple al menos un criterio de validación. Los ejemplos de criterios de validación incluyen el lapso de un intervalo de tiempo predeterminado desde una validación o creación previa del segmento, cuando el número de esfuerzos determinados para coincidir con el segmento alcanza un número de umbral predeterminado, cuando el número de esfuerzos de coincidencia es menor que un número predeterminado durante un período de tiempo predeterminado, y cuando se recibe una indicación asociada con una selección de usuario para el segmento a validar.
[0036] En 404, la validación se realiza en el segmento almacenado. Los datos GPS agregados asociados con el segmento se utilizan para realizar la validación del segmento. Como resultado de la validación, se genera una nueva versión del segmento y se utiliza para reemplazar la versión anterior del segmento.
[0037] En 406, se determina si se detiene la validación del segmento. Por ejemplo, el ciclo de validación de segmento puede ser detenido en respuesta a una selección del usuario para detener el procedimiento o en respuesta a la pérdida de energía del sistema. En el caso de que se determine que la validación se detiene, el procedimiento 400 finaliza. De lo contrario, en caso de que se determine que la validación continúa, el control pasa al inicio de 400. Por ejemplo, después de una iteración del paso 404, se determina que la nueva versión del segmento reemplaza a la versión anterior del segmento. Luego, cuando se realiza el siguiente procedimiento de iteración 400, se determina que esta nueva versión del segmento está validada.
[0038] FIG. 5 es un diagrama de flujo que muestra una realización de un procedimiento de validación de un segmento. El procedimiento 500 se realiza en el sistema 100 de la FIG. 1. El paso 404 del procedimiento 400 de la FIG. 4 se realiza utilizando al menos una parte del procedimiento 500.
[0039] El procedimiento 500 muestra que los esfuerzos pueden compararse con un segmento validado recientemente generado (es decir, una nueva versión de un segmento generado a partir de la validación de un segmento).
[0040] En 502, se recibe una indicación para validar un segmento almacenado. Por ejemplo, se determina que el segmento almacenado ha cumplido un criterio de validación.
[0041] En 504, se obtiene una primera pluralidad de conjuntos de datos de GPS asociados con el segmento almacenado. La primera pluralidad de conjuntos de datos GPS comprende los conjuntos de datos GPS correspondientes a los esfuerzos que se han determinado para que coincidan con el segmento almacenado desde que el segmento se creó inicialmente o se validó por última vez.
[0042] En 506, se genera un segmento validado basado, al menos en parte, en la primera pluralidad de conjuntos de datos GPS asociados con el segmento almacenado. El segmento validado comprende una nueva versión del segmento generado en base al conjunto de esfuerzos que se determinó que coinciden con el segmento. La versión anterior del segmento, que es la versión del segmento anterior al procedimiento de validación actual, se reemplaza por la nueva versión del segmento. Reemplazar un segmento con una nueva versión del segmento incluye descartar el segmento y almacenar la nueva versión del segmento con al menos algunos de los metadatos que se almacenaron para la versión descartada. Los metadatos asociados con la nueva versión del segmento incluyen un número de versión incremental.
[0043] En 508, se determina si alguno de una segunda pluralidad de conjuntos de datos GPS coincide con el segmento validado. En algunas realizaciones, el conjunto de esfuerzos almacenados se compara con la nueva versión del segmento para determinar qué esfuerzos coinciden con esta nueva versión. A veces, el segmento validado (la nueva versión del segmento) puede diferir de la versión anterior del segmento lo suficiente como para que los esfuerzos que no coincidían previamente con la versión anterior del segmento y puedan coincidir con esta nueva versión y/o los esfuerzos que anteriormente coincidían la versión anterior del segmento que pueden no coincidir con la nueva versión del segmento. En algunas realizaciones, los identificadores de esfuerzos que se determinan que coinciden con la nueva versión del segmento se almacenan con el segmento para que tales esfuerzos puedan usarse, en el futuro, para validar la versión anteriormente nueva del segmento.
[0044] FIG. 6 es un diagrama de flujo que muestra una realización de la presente invención para determinar un segmento validado. El procedimiento 600 se puede realizar en el sistema 100 de la FIG. 1. Los pasos 502, 504 y 506 del procedimiento 500 de la FIG. 5 se pueden realizar utilizando el procedimiento 600.
[0045] En 602, se determina un segmento almacenado para validar. Por ejemplo, se determina que el segmento almacenado ha cumplido un criterio de validación.
[0046] En 604, se obtiene una pluralidad de conjuntos de datos de GPS asociados con la coincidencia del segmento almacenado. La pluralidad de conjuntos de datos GPS asociados con la coincidencia del segmento almacenado se asocia con los esfuerzos que se han determinado para que coincida con el segmento almacenado.
[0047] En 606, se identifica un conjunto de datos GPS de la pluralidad de conjuntos de datos GPS. El conjunto de datos GPS asociados con uno de los esfuerzos de correspondencia se identifica en función de uno o más factores. Cada esfuerzo de emparejamiento encontrado puede considerarse como un esfuerzo candidato y el esfuerzo identificado puede denominarse el "mejor esfuerzo candidato". Por ejemplo, las pruebas se pueden aplicar a cada uno de un subconjunto de los esfuerzos candidatos que se registran por un dispositivo seleccionado (por ejemplo, un dispositivo que se selecciona por ser conocido para grabar con relativamente más precisión) y el esfuerzo candidato asociado con el puntaje más alto basado en las pruebas dadas se identifica. El esfuerzo candidato identificado como el "mejor esfuerzo candidato" es el esfuerzo que se determina que probablemente sea el esfuerzo más preciso (por ejemplo, el esfuerzo que se registró con la mayor precisión). El mejor esfuerzo candidato se identifica "recorriendo a lo largo" de cada esfuerzo candidato y midiendo un recuento de puntos de datos GPS encontrados asociados con otros esfuerzos candidatos dentro de un radio dado de cada punto de datos GPS a lo largo de ese esfuerzo candidato. Cada punto de datos GPS tiene un intervalo de distancia estándar desde el punto de datos GPS anterior y siguiente desde el inicio hasta el final del esfuerzo candidato. Se determina una suma para cada esfuerzo candidato en función de sumar el recuento de puntos de datos GPS encontrados dentro del radio dado de cada uno de los puntos de datos GPS del esfuerzo candidato. Se determina que el esfuerzo candidato que tiene la suma más alta es el mejor esfuerzo candidato porque está más cerca de un centroide del grupo de esfuerzos candidatos y, como se describirá a continuación, el segmento validado se determina al encontrar los centroides asociados con el grupo de candidatos esfuerzos
[0048] En 608, se determina un centroide que usa al menos la pluralidad de conjuntos de datos GPS para un punto de datos GPS asociado con el conjunto identificado de datos GPS. Cada punto de datos GPS del mejor esfuerzo candidato se "recorre" para determinar un centroide basado en puntos de datos GPS cercanos asociados con al menos algunos otros esfuerzos candidatos. Por ejemplo, para un punto de datos GPS dado del mejor esfuerzo candidato (por ejemplo, comenzando con el primer punto de datos GPS registrado), se extiende un radio de una cierta distancia alrededor de este punto de datos GPS y al menos algunos puntos de datos GPS asociados con otros esfuerzos candidatos dentro del círculo barrido se utilizan para determinar un centroide. Solo se considera un subconjunto de todos los esfuerzos candidatos para validar el segmento. En un ejemplo específico, solo los esfuerzos candidatos que fueron grabados por un dispositivo seleccionado (por ejemplo, un Garmin Edge® 800) se consideran al validar el segmento y, por lo tanto, al determinar un centroide para cada punto de datos GPS incluido en el mejor esfuerzo candidato, solo los puntos de datos GPS de los esfuerzos registrados por el dispositivo seleccionado que se incluyen en el radio de una cierta distancia desde el punto de datos GPS se utilizan para encontrar el centroide.
[0049] La técnica de centroide también filtra los puntos de datos GPS que no van en la misma dirección general que el punto de datos GPS de mejor esfuerzo actual que se está considerando (es decir, no se utilizan puntos de datos GPS de esfuerzos candidatos que no son los mejores esfuerzos candidatos) para determinar el centroide si no están en la misma dirección general que el punto de datos GPS de mejor esfuerzo candidato). De esta manera, cuando hay una curva cerrada de tal manera que los puntos de datos GPS se mezclan desde ambos lados de la horquilla, solo se consideran los puntos de datos g Ps que van en la misma dirección general del punto de datos GPS de mejor esfuerzo candidato, por lo tanto, evite usar puntos de datos GPS que van en la dirección incorrecta y hacen un camino correcto alrededor del giro. En algunas realizaciones, la técnica de encontrar un centroide se repite un número predeterminado de veces (por ejemplo, cuatro veces) para determinar el centroide. Lo racional para las iteraciones múltiples es que un corredor principal solo podría ser tocado inicialmente por el área del círculo alrededor del punto de datos GPS de un mejor esfuerzo candidato, de modo que el centroide de los puntos de datos GPS encontrados todavía está fuera del corredor principal de puntos de datos GPS. Se encuentra que las iteraciones múltiples permiten que el centroide "marche" hacia el corredor, y una vez allí, permanecerá allí.
[0050] En 610, se determina si hay más puntos de datos GPS en el conjunto identificado. En el caso de que se determine que hay más puntos de datos GPS incluidos en el mejor esfuerzo candidato, el control pasa a 612. De lo contrario, el control pasa a 614.
[0051] En 612, se considera el siguiente punto de datos GPS en el conjunto identificado de datos GPS y el control vuelve a 608. El siguiente punto de datos GPS (p. Ej., El punto de datos GPS registrado a continuación) del mejor esfuerzo del candidato se considera hasta que cada punto de datos GPS del mejor esfuerzo del candidato es recorrido para crear un nuevo centroide basado en el paso 608.
[0052] En 614, se genera un segmento validado basado, al menos en parte, en uno o más centroides determinados. Los centroides creados en función de recorrer a lo largo de cada punto de datos GPS del mejor esfuerzo candidato están conectados para formar la nueva versión del segmento que reemplazará la versión anterior.
[0053] FIGS. 7 a través de 13 ilustran un ejemplo de realización del procedimiento 600 de la FIG. 6 para validar un segmento.
[0054] FIG. 7 es un diagrama que muestra un ejemplo de representaciones visuales de un segmento y los esfuerzos que se han determinado para que coincida con el segmento. Un segmento puede estar representado por una serie de puntos de datos GPS discretos. Por ejemplo, el punto de datos GPS 712 está asociado con el segmento 702. Por ejemplo, el segmento 702 puede haberse definido en base a los datos de GPS asociados con el esfuerzo cargado de un usuario particular. El usuario puede haber registrado un esfuerzo e indicado (por ejemplo, a través de una interfaz de usuario) una parte de los datos de GPS asociados con el esfuerzo para almacenar como segmento 702. Cada esfuerzo también corresponde a una serie de puntos de datos GPS discretos. Por ejemplo, el punto de datos GPS 714 está asociado con el esfuerzo 704. Como se muestra en el ejemplo, los puntos de datos GPS del segmento 702 se trazan en un espacio bidimensional (asociado con coordenadas latitudinales y longitudinales). Los puntos de datos GPS de cuatro esfuerzos cargados por el usuario (esfuerzo 704, esfuerzo 706, esfuerzo 708 y esfuerzo 710) que se ha determinado que coinciden con el segmento 702 también se trazan en el mismo espacio. Si se asume que se determina que un procedimiento de validación debe comenzar en el segmento 702 (por ejemplo, porque el segmento 702 ha cumplido un criterio de validación), entonces al menos algunos de los esfuerzos que se han determinado para hacer coincidir el segmento 702 se utilizan para validar el segmento 702. En el ejemplo, los cuatro esfuerzos coincidentes, esfuerzo 704, esfuerzo 706, esfuerzo 708 y esfuerzo 710, se utilizan para validar el segmento 702. Cada uno de los esfuerzos 704, esfuerzo 706, esfuerzo 708 y esfuerzo 710 pueden ser registrados por el mismo o diferentes dispositivos habilitados para GPS. En algunas realizaciones, solo los esfuerzos de coincidencia que se registran por un tipo seleccionado de dispositivo habilitado con GPS se usan para validar el segmento (por ejemplo, porque se determina que el tipo seleccionado de dispositivo habilitado con GPS es relativamente más preciso).
[0055] Por ejemplo, el segmento 702 puede haberse definido en función del esfuerzo cargado del usuario Steve asociado con un viaje en bicicleta. Steve puede haber registrado el viaje en bicicleta e indicado (por ejemplo, a través de una interfaz de usuario) una parte de la geografía cubierta por el paseo en bicicleta para almacenar como segmento 702. Por ejemplo, Steve puede ingresar el identificador de "ascenso a la colina Montalvo" para el segmento 702 para indicar el nombre del ascenso popular que recorrió en bicicleta y la pista geográfica que el segmento 702 está destinado a representar. Con el tiempo, otros usuarios han registrado varios esfuerzos que se han determinado para que coincidan con el segmento 702 y tales esfuerzos incluyen al menos el esfuerzo 704, el esfuerzo 706, el esfuerzo 708 y el esfuerzo 710.
[0056] FIG. 8 es un diagrama que muestra un ejemplo de selección del mejor esfuerzo candidato. Continuando con el ejemplo de la FIG. 7, en la FIG. 8, uno de los esfuerzos de coincidencia (esfuerzos candidatos) se identifica como el mejor esfuerzo candidato. Por ejemplo, un esfuerzo puede identificarse como el mejor esfuerzo candidato como resultado de determinar que el esfuerzo está asociado con la suma más alta de los recuentos de puntos de datos GPS en la proximidad de cada uno de sus puntos de datos GPS. El mejor esfuerzo candidato es servir como un esfuerzo de referencia para determinar el segmento validado (es decir, la nueva versión del segmento 702). En el ejemplo, se determina que el esfuerzo 708 es el mejor esfuerzo candidato.
[0057] FIG. 9 es un diagrama que muestra la determinación de un centroide basado en un punto de datos GPS del mejor esfuerzo candidato. Como se describió anteriormente, cada punto de datos GPS del mejor esfuerzo candidato se usa para formar el centro de un área circular (por ejemplo, de un radio predeterminado) para el cual al menos un subconjunto de puntos de datos GPS asociados con los otros esfuerzos de coincidencia considerados (y en algunas realizaciones, el segmento original, segmento 702) encerrado en el área circular se usa para determinar un centroide. El centroide está asociado con su propio conjunto de coordenadas Lat-Lng. En algunas realizaciones, se puede aplicar una función de determinación de centroide un número predeterminado de veces (por ejemplo, cuatro) en los puntos de datos GPS incluidos en el área circular centrada en el punto de datos GPS actual del mejor esfuerzo candidato para que dichos puntos de datos GPS converjan en un centroide. En el ejemplo, el punto de datos GPS 902 del mejor esfuerzo candidato, esfuerzo 708, es el punto de datos GPS actual alrededor del cual se dibuja el área circular 904. Los puntos de datos GPS de los otros esfuerzos (esfuerzo 704, esfuerzo 706 y esfuerzo 710) que se incluyen en el área circular 904 se usan para calcular un centroide.
[0058] FIG. 10 es un diagrama que muestra un centroide determinado en base a un punto de datos GPS del mejor esfuerzo candidato. Continuando con el ejemplo de la FIG. 9, en la FIG. 10, el centroide 1002 se calcula en base al menos a un subconjunto de los puntos de datos GPS de los otros esfuerzos (esfuerzo 704, esfuerzo 706 y esfuerzo 710) que se incluyen en el área circular 904. Cada punto de datos GPS posterior del mejor esfuerzo candidato puede usarse de manera similar para determinar un centroide correspondiente.
[0059] En algunas realizaciones, al determinar el centroide asociado con el primer punto de datos GPS del mejor esfuerzo candidato, tal como el punto 902 de datos GPS del mejor esfuerzo candidato en el ejemplo, solo el primer punto de datos de cada uno de los otros esfuerzos candidatos (p. Ej., como el punto de datos GPS 1004 del esfuerzo 710), se considera que el centroide caerá a lo largo del mismo plano de inicio que el segmento original, el segmento 702. Asegurarse de que el centroide caiga a lo largo de los mismos planos inicial y final que el segmento antes de la validación ayudará a preservar la longitud del segmento.
[0060] FIG. 11 es un diagrama que muestra varios centroides determinados en función de los puntos de datos GPS correspondientes del mejor esfuerzo candidato. Continuando con el ejemplo de la FIG. 10, en la FIG. 11, los puntos de datos GPS posteriores en el mejor esfuerzo candidato se recorren y se utilizan para determinar un centroide correspondiente. En el ejemplo, un centroide correspondiente al punto de datos GPS 1102 del mejor esfuerzo candidato se está determinando actualmente utilizando al menos el área circular 1104.
[0061] FIG. 12 es un diagrama que muestra determinados centroides correspondientes a todos los puntos de datos GPS del mejor esfuerzo candidato. Continuando con el ejemplo de la FIG. 11, la FIG. 12 muestra los centroides correspondientes que se han determinado para cada punto de datos GPS del mejor esfuerzo candidato. En algunas realizaciones, al determinar el centroide asociado con el último punto de datos GPS del mejor esfuerzo candidato, solo se considera el último punto de datos GPS de cada uno de los otros esfuerzos coincidentes para que el centroide caiga a lo largo del mismo plano final como el segmento original, segmento 702.
[0062] FIG. 13 es un diagrama que muestra un segmento validado determinado en base a los centroides determinados. Continuando con el ejemplo de la FIG. 12, la FIG. 13 muestra todos los centroides determinados correspondientes a cada punto de datos GPS del mejor esfuerzo candidato. Dichos centroides pueden almacenarse para representar el segmento validado, el segmento 1202, que es la nueva versión del segmento validado, el segmento 702. En algunas realizaciones, el segmento 1202 puede almacenarse con al menos algunos de los metadatos que se asociaron previamente con el segmento 1202 (por ejemplo, el identificador de "subida de la colina Montalvo") de modo que el segmento 1202 pueda reemplazar al segmento 702. Los esfuerzos existentes y nuevos se pueden comparar con el segmento 1202 para determinar los esfuerzos coincidentes.
[0063] Otro ejemplo de generar un segmento validado, que no se muestra, incluye encontrar un promedio de todos los puntos de datos GPS incluidos en cada área circular centrada en cada punto de datos GPS del mejor esfuerzo candidato. Otro ejemplo más de generar un segmento de validación, que no se muestra, incluye ingresar los datos de GPS asociados con el segmento a validar y los esfuerzos coincidentes en un programa GIS. Los datos del GPS se pueden convertir en una imagen ráster. Se pueden aplicar diferentes colores a áreas de la imagen ráster con diferentes densidades. Por ejemplo, las áreas con las densidades más altas pueden ser de color blanco. Las porciones blancas de la imagen ráster pueden conectarse para formar el segmento validado.
[0064] Aunque las realizaciones anteriores se han descrito con cierto detalle con fines de claridad de comprensión, la invención se define por las reivindicaciones adjuntas. Hay muchas formas alternativas de implementar la invención. Las realizaciones descritas son ilustrativas y no restrictivas.

Claims (11)

REIVINDICACIONES
1. Un sistema (100) para validar un segmento almacenado (702), el segmento almacenado consiste en datos GPS, que comprende:
uno o más procesadores configurados para:
determinar (302) que el segmento almacenado (702) cumple un criterio de validación; y validar el segmento almacenado; donde la validación del segmento almacenado incluye los pasos de:
determinar (604) que una pluralidad de esfuerzos (704, 706, 708, 710) coinciden con el segmento almacenado (702), donde la pluralidad de esfuerzos (704, 706, 708, 710) está asociada con los respectivos de una pluralidad de instancias de actividades atléticas, un esfuerzo que comprende una serie registrada de datos GPS con marcas de tiempo; seleccionar un esfuerzo de la pluralidad de esfuerzos (704, 706, 708, 710); e identificar el subconjunto de puntos de datos GPS asociados con la pluralidad de esfuerzos_ (704, 706, 708, 710) dentro de cada área circular (904, 1104) centrada en cada uno de los puntos GPS asociados con el esfuerzo seleccionado; y determinar un centroide basado en la porción identificada de los conjuntos de datos GPS; y
generar (614) un segmento validado basado en los centroides determinados;
una o más memorias acopladas a uno o más procesadores y configuradas para almacenar el segmento validado.
2. Un método para validar un segmento almacenado que consiste en datos GPS y que comprende: determinar (302) que el segmento almacenado (702) cumple un criterio de validación; y
validando el segmento almacenado;
donde la validación del segmento almacenado incluye los pasos de:
determinar (604) que una pluralidad de esfuerzos (704, 706, 708, 710) coinciden con el segmento almacenado (702), donde la pluralidad de esfuerzos (704, 706, 708, 710) está asociada con los respectivos de una pluralidad de instancias de actividades atléticas, un esfuerzo que comprende una serie registrada de datos GPS con marcas de tiempo; seleccionar un esfuerzo de la pluralidad de esfuerzos (704, 706, 708, 710); e identificar el subconjunto de puntos de datos GPS asociados con la pluralidad de esfuerzos_ (704, 706, 708, 710) dentro de cada área circular (904, 1104) centrada en cada uno de los puntos GPS asociados con el esfuerzo seleccionado; y
determinar un centroide basado en la porción identificada de los conjuntos de datos GPS; y generar (614) un segmento validado basado en los centroides determinados;
una o más memorias acopladas a uno o más procesadores y configuradas para almacenar el segmento validado.
3. El sistema de la reivindicación 1 o el método de la reivindicación 2, donde el criterio de validación comprende uno o más de los siguientes: ha pasado un período de tiempo predeterminado desde que el segmento (702) se ha creado o validado por última vez, se ha realizado un número predeterminado de esfuerzos se ha determinado que coincide con el segmento (702), se ha determinado que menos del umbral predeterminado de esfuerzos coincide con el segmento (702) desde que el segmento (702) se creó o se validó por última vez, y se recibió una indicación de una selección de usuario para iniciar un procedimiento de validación.
4. El sistema o el método de la reivindicación 3, donde el número predeterminado de esfuerzos (704) que se ha determinado que coincide con el segmento (702) está asociado con un dispositivo habilitado con GPS seleccionado (102).
5. El sistema de la reivindicación 1 o el método de la reivindicación 2, donde la pluralidad de esfuerzos (704, 706, 708, 710) comprende una primera pluralidad de esfuerzos, y donde el uno o más procesadores están configurados adicionalmente para determinar si alguno de las segundas pluralidades de esfuerzos coincide con el segmento validado generado.
6. El sistema de la reivindicación 1 o el método de la reivindicación 2, donde la pluralidad de esfuerzos (704, 706, 708, 710) está asociada con un dispositivo habilitado con GPS seleccionado (102).
7. Un producto de programa informático para validar un segmento almacenado que consiste en datos GPS, el producto de programa de computadora está incorporado en un medio de almacenamiento legible por computadora y comprende instrucciones de computadora para:
determinar (302) que el segmento almacenado (702) cumple un criterio de validación; y validar el segmento almacenado; donde la validación del segmento almacenado incluye los pasos de:
determinar (604) que una pluralidad de esfuerzos (704, 706, 708, 710) coinciden con el segmento almacenado (702), donde la pluralidad de esfuerzos (704, 706, 708, 710) está asociada con los respectivos de una pluralidad de instancias de actividades atléticas, un esfuerzo que comprende una serie registrada de datos GPS con marcas de tiempo; seleccionar un esfuerzo de la pluralidad de esfuerzos (704, 706, 708, 710); e
identificar el subconjunto de puntos de datos GPS asociados con la pluralidad de esfuerzos_ (704, 706, 708, 710) dentro de cada área circular (904, 1104) centrada en cada uno de los puntos GPS asociados con el esfuerzo seleccionado; y
determinar un centroide basado en la porción identificada de los conjuntos de datos GPS; y
generar (614) un segmento validado basado en los centroides determinados;
una o más memorias acopladas a uno o más procesadores y configuradas para almacenar el segmento validado.
8. El sistema de la reivindicación 1 o el método de la reivindicación 2, donde seleccionar el esfuerzo de la pluralidad de esfuerzos comprende determinar una puntuación (606) asociada con cada esfuerzo de al menos un subconjunto de la pluralidad de esfuerzos.
9. El sistema o el método de la reivindicación 8, donde determinar la puntuación asociada con cada esfuerzo del al menos subconjunto de la pluralidad de esfuerzos incluye:
determinar, para cada punto GPS asociado con cada esfuerzo, un recuento de puntos GPS asociados con los demás de la pluralidad de esfuerzos dentro de un radio predeterminado desde ese punto GPS;
determinar, para cada esfuerzo, una suma de los puntos GPS contados correspondientes a los respectivos puntos del conjunto de puntos GPS asociados con ese esfuerzo; y
donde el puntaje (606) asociado con cada esfuerzo comprende la suma.
10. El producto de programa informático de la reivindicación 7, donde el criterio de validación comprende uno o más de los siguientes: ha pasado un período de tiempo predeterminado desde que el segmento (702) se ha creado o validado por última vez, se ha determinado un número predeterminado de esfuerzos para que coincida se ha determinado que el segmento (702), inferior a un umbral predeterminado de esfuerzos, coincide con el segmento (702) desde que el segmento (702) se creó o se validó por última vez, y se recibió una indicación de una selección de usuario para iniciar un procedimiento de validación.
11. El producto de programa informático de la reivindicación 10, donde el número predeterminado de esfuerzos (704) que se ha determinado que coincide con el segmento (702) está asociado con un dispositivo habilitado con GPS seleccionado (102).
ES13760859T 2012-03-12 2013-03-08 Validación de segmento Active ES2744865T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261609847P 2012-03-12 2012-03-12
US13/788,392 US8996301B2 (en) 2012-03-12 2013-03-07 Segment validation
PCT/US2013/029887 WO2013138181A1 (en) 2012-03-12 2013-03-08 Segment validation

Publications (1)

Publication Number Publication Date
ES2744865T3 true ES2744865T3 (es) 2020-02-26

Family

ID=49114836

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13760859T Active ES2744865T3 (es) 2012-03-12 2013-03-08 Validación de segmento

Country Status (4)

Country Link
US (5) US8996301B2 (es)
EP (2) EP2825902B1 (es)
ES (1) ES2744865T3 (es)
WO (2) WO2013138183A1 (es)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9174085B2 (en) 2012-07-31 2015-11-03 John Paul Foley Exercise system and method
US11610664B2 (en) 2012-07-31 2023-03-21 Peloton Interactive, Inc. Exercise system and method
US9881075B2 (en) * 2013-07-30 2018-01-30 Excalibur Ip, Llc Method and apparatus for accurate localization of points of interest using a world shape
GB201317033D0 (en) * 2013-09-25 2013-11-06 Naylor David Selecting routes
US20150256977A1 (en) * 2014-03-04 2015-09-10 Apple Inc. Determining Activity Paths from Anonymous Application Usage Data and Motion Activity
US9913100B2 (en) 2014-05-30 2018-03-06 Apple Inc. Techniques for generating maps of venues including buildings and floors
US9767104B2 (en) * 2014-09-02 2017-09-19 Netapp, Inc. File system for efficient object fragment access
US20160062832A1 (en) 2014-09-02 2016-03-03 Netapp. Inc. Wide spreading data storage architecture
US9823969B2 (en) 2014-09-02 2017-11-21 Netapp, Inc. Hierarchical wide spreading of distributed storage
KR101704565B1 (ko) * 2014-11-27 2017-02-08 현대자동차주식회사 차량 운행 정보 수집 장치, 그 수집 방법, 및 차량 운행 정보를 이용한 서비스 시스템
US9431061B1 (en) 2015-04-24 2016-08-30 Netapp, Inc. Data write deferral during hostile events
US9817715B2 (en) 2015-04-24 2017-11-14 Netapp, Inc. Resiliency fragment tiering
KR101765196B1 (ko) * 2015-09-02 2017-08-07 현대자동차주식회사 차량 및 맵 생성방법
US10429192B2 (en) * 2015-09-16 2019-10-01 Strava, Inc. Generating trail network maps
US12468467B2 (en) 2015-10-31 2025-11-11 Netapp, Inc. Sequential write based durable file system
US10379742B2 (en) 2015-12-28 2019-08-13 Netapp, Inc. Storage zone set membership
US10514984B2 (en) 2016-02-26 2019-12-24 Netapp, Inc. Risk based rebuild of data objects in an erasure coded storage system
US10055317B2 (en) 2016-03-22 2018-08-21 Netapp, Inc. Deferred, bulk maintenance in a distributed storage system
US20170356748A1 (en) * 2016-06-14 2017-12-14 nuTonomy Inc. Route Planning for an Autonomous Vehicle
US10309792B2 (en) 2016-06-14 2019-06-04 nuTonomy Inc. Route planning for an autonomous vehicle
US11092446B2 (en) 2016-06-14 2021-08-17 Motional Ad Llc Route planning for an autonomous vehicle
US10126136B2 (en) 2016-06-14 2018-11-13 nuTonomy Inc. Route planning for an autonomous vehicle
US10829116B2 (en) 2016-07-01 2020-11-10 nuTonomy Inc. Affecting functions of a vehicle based on function-related information about its environment
US10681513B2 (en) 2016-10-20 2020-06-09 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10473470B2 (en) 2016-10-20 2019-11-12 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10857994B2 (en) 2016-10-20 2020-12-08 Motional Ad Llc Identifying a stopping place for an autonomous vehicle
US10331129B2 (en) 2016-10-20 2019-06-25 nuTonomy Inc. Identifying a stopping place for an autonomous vehicle
US10482369B2 (en) 2016-12-14 2019-11-19 Trackonomy Systems, Inc. Window based locationing of mobile targets using complementary position estimates
US11003978B2 (en) 2016-12-14 2021-05-11 Ajay Khoche Programmable network node roles in hierarchical communications network
EP3358303B1 (en) 2017-02-07 2021-09-01 HERE Global B.V. An apparatus and associated methods for use in updating map data
US11536576B2 (en) * 2017-02-23 2022-12-27 Here Global B.V. Map data compatibility processing architecture
CN107728178B (zh) * 2017-09-29 2024-08-09 杭州吉吉知识产权运营有限公司 一种运动轨迹的处理方法及装置
CN107862068B (zh) * 2017-11-17 2021-01-19 深圳广联赛讯股份有限公司 数据处理方法、装置及计算机可读存储介质
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
JP7077044B2 (ja) * 2018-02-13 2022-05-30 株式会社トプコン データ処理装置、データ処理方法およびデータ処理プログラム
US10102415B1 (en) * 2018-03-29 2018-10-16 Secugen Corporation Method and apparatus for simultaneous multiple fingerprint enrollment
US11062063B2 (en) * 2018-04-09 2021-07-13 International Business Machines Corporation System and method for generating vehicle travel data
US11487720B2 (en) * 2018-05-08 2022-11-01 Palantir Technologies Inc. Unified data model and interface for databases storing disparate types of data
US11567632B2 (en) 2018-07-03 2023-01-31 Apple Inc. Systems and methods for exploring a geographic region
DE102018219220A1 (de) 2018-11-12 2020-05-14 Robert Bosch Gmbh Erstellung und Aktualisierung von Karten im Off-Street Bereich
US11625051B2 (en) * 2019-01-25 2023-04-11 Uber Technologies, Inc. Proactive generation of tuning data for autonomous vehicle dispatch
CN114174850B (zh) 2019-05-01 2025-10-03 斯威夫特导航股份有限公司 用于高完整性卫星定位的系统和方法
CN110188777B (zh) * 2019-05-31 2023-08-25 东莞先知大数据有限公司 一种基于数据挖掘的多周期钢轨伤损数据对齐方法
CN110927768A (zh) * 2019-11-08 2020-03-27 广东高驰运动科技有限公司 基于移动坐标定位的测距方法及便携式终端设备
CN111190891B (zh) * 2019-12-27 2023-07-25 武汉长江通信产业集团股份有限公司 一种多语义轨迹数据分段存储方法
US11144369B2 (en) 2019-12-30 2021-10-12 Bank Of America Corporation Preemptive self-healing of application server hanging threads
WO2021202004A2 (en) 2020-02-14 2021-10-07 Swift Navigation, Inc. System and method for reconverging gnss position estimates
US11768083B2 (en) * 2020-05-15 2023-09-26 Apple Inc. User interfaces for providing navigation directions
US11740096B2 (en) 2020-06-11 2023-08-29 Apple Inc. User interfaces for customized navigation routes
US12047841B2 (en) 2020-09-21 2024-07-23 Trackonomy Systems, Inc. Detecting special events and strategically important areas in an IoT tracking system
US11819305B1 (en) 2020-10-05 2023-11-21 Trackonomy Systems, Inc. Method for determining direction of movement through gates and system thereof
CN112380230B (zh) * 2020-12-03 2021-07-06 腾讯科技(深圳)有限公司 位置参数更新方法、装置、计算机设备及存储介质
US20220185315A1 (en) * 2020-12-15 2022-06-16 Uber Technologies, Inc. Authentication of Autonomous Vehicle Travel Networks
WO2022133294A1 (en) * 2020-12-17 2022-06-23 Swift Navigation, Inc. System and method for fusing dead reckoning and gnss data streams
US11761773B2 (en) * 2021-01-18 2023-09-19 Azuga, Inc. Method and system for path reconstruction of periodically sampled geographical position data
US12281912B2 (en) 2021-06-07 2025-04-22 Apple Inc. User interfaces for maps and navigation
EP4334683A2 (en) 2021-06-07 2024-03-13 Apple Inc. User interfaces for maps and navigation
US12372364B2 (en) 2021-12-03 2025-07-29 Terrain Scouts LLC Systems, methods, and storage media for path validation
US12292292B2 (en) * 2022-08-07 2025-05-06 Adam Mancini System and method of observing and measuring dismount land navigation
US12656139B1 (en) 2023-12-10 2026-06-16 John Paul Gonsalves System and method for providing route guidance

Family Cites Families (67)

* 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
US6013007A (en) * 1998-03-26 2000-01-11 Liquid Spark, Llc Athlete's GPS-based performance monitor
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
EP1669719B1 (en) 2003-09-30 2009-09-23 Kabushiki Kaisha Kenwood Guide route search method
US8768617B2 (en) 2003-10-06 2014-07-01 Csr Technology Inc. Method and system for a data interface for aiding a satellite positioning system receiver
FR2861491B1 (fr) 2003-10-24 2006-01-06 Thales Sa Procede de selection d'unites de synthese
FI118148B (fi) * 2003-12-05 2007-07-31 Elisa Oyj Menetelmä, mittalaite, tietokoneohjelma ja järjestelmä palautteen antamiseksi käyttäjälle toiminnan aikana
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
US7672778B1 (en) 2004-07-20 2010-03-02 Navteq North America, Llc Navigation system with downloaded map data
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
US7693817B2 (en) * 2005-06-29 2010-04-06 Microsoft Corporation Sensing, storing, indexing, and retrieving data leveraging measures of user activity, attention, and interest
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
WO2008030484A2 (en) 2006-09-07 2008-03-13 Nike, Inc. Athletic performance sensing and/or tracking systems and methods
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
CN101563625A (zh) 2006-11-06 2009-10-21 电子地图有限公司 用于二维和三维精确位置和定向确定的布置和方法
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
US20080167801A1 (en) 2007-01-10 2008-07-10 Pieter Geelen Navigation device and method for establishing and using profiles
US20100099437A1 (en) 2007-03-01 2010-04-22 Adriaan Jan Moerdijk Mobile Service For Keeping Track Of Competitors During A Race
US8930135B2 (en) 2007-04-17 2015-01-06 Esther Abramovich Ettinger Device, system and method of landmark-based routing and guidance
JP5064870B2 (ja) 2007-04-17 2012-10-31 株式会社日立製作所 デジタル道路地図の生成方法及び地図生成システム
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
US8108139B1 (en) 2008-02-29 2012-01-31 Williams-Pyro, Inc. System and method for route representation with waypoint storage
US8047966B2 (en) 2008-02-29 2011-11-01 Apple Inc. Interfacing portable media devices and sports equipment
EP3352107B1 (en) * 2008-03-03 2025-10-22 NIKE Innovate C.V. Interactive athletic equipment system
US8260006B1 (en) 2008-03-14 2012-09-04 Google Inc. System and method of aligning images
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
WO2010081836A1 (en) 2009-01-16 2010-07-22 Tele Atlas B.V. Method for computing an energy efficient route
WO2010105714A1 (en) 2009-03-16 2010-09-23 Tele Atlas B.V. Method for updating digital maps using altitude information
EP2866103B1 (en) 2009-04-26 2023-12-13 NIKE Innovate C.V. Athletic watch
WO2011023246A1 (en) * 2009-08-25 2011-03-03 Tele Atlas B.V. A vehicle navigation system and method
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 アイシン・エィ・ダブリュ株式会社 地図更新データ供給装置及び地図更新データ供給プログラム
US9273968B2 (en) * 2010-06-23 2016-03-01 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
US9291713B2 (en) * 2011-03-31 2016-03-22 Strava, Inc. Providing real-time segment performance information
US8798909B2 (en) * 2011-04-15 2014-08-05 Blackberry Limited Enhanced geolocation device
JP5466341B2 (ja) * 2011-05-19 2014-04-09 エスケー プラネット カンパニー、リミテッド リアルタイム地図データアップデートシステム及び方法
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

Also Published As

Publication number Publication date
EP2825902B1 (en) 2022-02-23
WO2013138181A1 (en) 2013-09-19
EP2825902A1 (en) 2015-01-21
WO2013138183A1 (en) 2013-09-19
US20170131108A1 (en) 2017-05-11
EP2825850A1 (en) 2015-01-21
EP2825850A4 (en) 2015-11-04
US8996301B2 (en) 2015-03-31
US20140207378A1 (en) 2014-07-24
US20130238578A1 (en) 2013-09-12
US20150211869A1 (en) 2015-07-30
US9534908B2 (en) 2017-01-03
US8718927B2 (en) 2014-05-06
EP2825850B1 (en) 2019-05-22
US9709408B2 (en) 2017-07-18
US20130238235A1 (en) 2013-09-12
US10323948B2 (en) 2019-06-18
EP2825902A4 (en) 2015-10-21

Similar Documents

Publication Publication Date Title
US8996301B2 (en) Segment validation
Chen et al. TrajCompressor: An online map-matching-based trajectory compression framework leveraging vehicle heading direction and change
ES2818076T3 (es) Generación de datos de elevación para mapas
CN106574975B (zh) 使用外围信号的轨迹匹配
CN104270714B (zh) 确定用户行动轨迹的方法和装置
ES2920837T3 (es) Navegar, seguir y posicionar los dispositivos móviles en zonas sin GPS o con GPS inexacto con la generación automática de mapas
CN104111073B (zh) 一种识别地图数据中不准确路段的方法和装置
CN106781478B (zh) 一种基于lte信令数据的轨迹跟踪方法
WO2020243937A1 (en) Systems and methods for map-matching
CN111811533A (zh) 偏航判定方法、装置及电子设备
CN110345964B (zh) 路径匹配方法、装置、系统及存储介质
CN111664848B (zh) 一种多模态室内定位导航方法及系统
CN110967006A (zh) 基于隧道地图导航定位的方法、装置、存储介质和终端设备
US20150134850A1 (en) Method and apparatus for probe-based routing
CN116701492B (zh) 轨迹匹配程度校验方法、装置、计算机设备及存储介质
RU2014119437A (ru) Способ и система для навигации с использованием связанных географических регионов
CN105138589A (zh) 地理位置监测方法及设备
CN111207759A (zh) 一种显示车辆位置的方法及装置
CN119622123B (zh) 一种融合用户移动方向的轻量级兴趣点推荐方法及装置
CN115098799A (zh) 轨迹相似度确定、风险评估、风险溯源方法及装置
WO2018227507A1 (en) Trace segments based navigation
WO2025001914A1 (zh) 轨迹修正方法、装置、电子设备及可读存储介质
US20170347240A1 (en) Detecting group activities
CN108195379A (zh) 一种基于WiFi接收信号强度梯度值的室内导航方法
US10902033B2 (en) Point of interest accuracy using tickets