ES2818076T3 - Generación de datos de elevación para mapas - Google Patents

Generación de datos de elevación para mapas Download PDF

Info

Publication number
ES2818076T3
ES2818076T3 ES14869089T ES14869089T ES2818076T3 ES 2818076 T3 ES2818076 T3 ES 2818076T3 ES 14869089 T ES14869089 T ES 14869089T ES 14869089 T ES14869089 T ES 14869089T ES 2818076 T3 ES2818076 T3 ES 2818076T3
Authority
ES
Spain
Prior art keywords
elevation
edge
data
user
recorded
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
ES14869089T
Other languages
English (en)
Inventor
Davis Kitchel
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 ES2818076T3 publication Critical patent/ES2818076T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3484Personalized, e.g. from learned user behaviour or user-defined profiles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3461Preferred or disfavoured areas, e.g. dangerous zones, toll or emission zones, intersections, manoeuvre types, segments such as motorways, toll roads, ferries
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C5/00Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels
    • G01C5/06Measuring height; Measuring distances transverse to line of sight; Levelling between separated points; Surveyors' levels by using barometric means
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/14Receivers specially adapted for specific applications
    • G01S19/19Sporting applications
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2503/00Evaluating a particular growth phase or type of persons or animals
    • A61B2503/10Athletes
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/024Detecting, measuring or recording pulse rate or heart rate
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1112Global tracking of patients, e.g. by using GPS
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1118Determining activity level
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/10Positions
    • A63B2220/14Geo-tagging, e.g. for correlating route or track location data with specific information related to that specific location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Social Psychology (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Navigation (AREA)
  • Instructional Devices (AREA)

Abstract

Un sistema que comprende: un motor de determinación de elevación (212) configurado para: seleccionar (802) una actividad de usuario candidata de datos barométricos de entre una pluralidad de actividades de usuario que coincide con un borde, donde la actividad de usuario candidata de datos barométricos comprende una actividad de usuario seleccionada, registrada con datos barométricos; normalizar (804) una elevación registrada correspondiente a cada uno de al menos un subconjunto de una pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos seleccionada en base, al menos en parte, a los datos de elevación obtenidos asociados con el borde; y almacenar (806) la elevación registrada normalizada correspondiente a cada uno del al menos subconjunto de la pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos como un conjunto de datos de elevación asociados con el borde en un mapa de preferencias de usuario; y un motor de consulta de mapa (216) configurado para usar (808) el conjunto de datos de elevación asociados con el borde en el mapa de preferencias de usuario para determinar una ruta sugerida en base, al menos en parte, a una preferencia de ruta de entrada de usuario asociada con una elevación de ruta deseada; caracterizado porque el motor de determinación de elevación está configurado además para seleccionar la actividad de usuario candidata de datos barométricos de la pluralidad de actividades de usuario que coinciden con el borde, lo que se logra al: determinar un subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos; determinar una diferencia respectiva entre una elevación de inicio registrada y una elevación final registrada asociada con cada uno del subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos; obtener una primera elevación obtenida asociada con un primer extremo del borde y una segunda elevación obtenida asociada con un segundo extremo del borde; determinar una diferencia entre la primera elevación obtenida asociada con el primer extremo del borde y la segunda elevación obtenida asociada con el segundo extremo del borde; clasificar el subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos en una lista clasificada en base, al menos en parte, a comparar la diferencia respectiva asociada con cada actividad de usuario del subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos con la diferencia entre la primera elevación obtenida asociada con el primer extremo del borde y la segunda elevación obtenida asociada con el segundo extremo del borde; y determinar la actividad de usuario candidata de datos barométricos seleccionada en base, al menos en parte, a la lista clasificada.

Description

DESCRIPCIÓN
Generación de datos de elevación para mapas
REFERENCIA CRUZADA A OTRAS SOLICITUDES
[0001] Esta solicitud reivindica la prioridad de la Solicitud de patente provisional estadounidense No.
61/914.859, titulada GENERACIÓN DE MAPAS DE CALOR DE ACTIVIDAD ATLÉTICA, depositada el 11 de diciembre de 2013.
ANTECEDENTES DE LA INVENCIÓN
[0002] La tecnología típica de cartografía usa la clasificación funcional para clasificar una carretera en la clase o grupo de carreteras a las que pertenece la carretera. Los ejemplos de dichas clases funcionales incluyen arterial, colector y local. Sin embargo, al usar dicha tecnología de mapeo, la tecnología de enrutamiento convencional para atletas como ciclistas y corredores generalmente no se basa en el comportamiento real de los atletas.
[0003] El comportamiento real de los atletas también es difícil de rastrear. Para rastrear el comportamiento de los ciclistas, por ejemplo, los departamentos de transporte gubernamentales comúnmente colocan sensores en carreteras seleccionadas y/o despliegan personas a diferentes áreas para contar manualmente el número de ciclistas que pasan. Sin embargo, estas técnicas pueden ser ineficientes, laboriosas y/o pueden no proporcionar un muestreo amplio del comportamiento real de los atletas.
[0004] Tener perfiles de elevación precisos para una ruta planificada puede ser esencial para planificar una actividad atlética. A veces una persona puede querer una ruta relativamente plana, y a veces una persona puede querer una ruta montañosa. Al planificar una ruta montañosa, es importante conocer la pendiente más pronunciada que se encontrará. Los ejemplos de por qué es útil conocer el grado más pronunciado en una ruta planificada son que el conocimiento permite a los ciclistas elegir el equipamiento de bicicleta adecuado para el paseo, y es algo que ayuda tanto a los corredores como a los ciclistas a dosificar sus esfuerzos durante la ruta. Sin embargo, actualmente no existen perfiles de elevación global en carreteras y senderos con la precisión necesaria para ciclistas y corredores.
[0005] El documento EP 2357449 describe la monitorización del rendimiento atlético que utiliza datos de satélite de posicionamiento global ("GPS") y proporciona datos e información a los atletas y/o al equipo usado por los atletas durante un evento atlético. Se puede proporcionar información de la ruta a los atletas y/o sus entrenadores, y se puede proporcionar información en tiempo real al atleta mientras se lleva a cabo el evento. Los datos y la información recopilados pueden ayudar en el análisis posterior al evento.
[0006] El documento de los EE.UU. 2004102931 describe una red personal modular (MPN, por sus siglas en inglés) que incluye múltiples dispositivos que pueden usarse, transportarse o usarse cerca de un usuario. Los dispositivos se comunican de manera inalámbrica. Las funciones de la MPN se pueden modificar mediante la adición o eliminación de componentes. La MPN puede comunicarse con un ordenador personal. Los dispositivos de propósito general pueden incluir un conjunto de control, una pantalla, una entrada de usuario y una salida de audio. La MPN puede proporcionar una variedad de funciones, incluso de tiempo, de comunicación, de entretenimiento, de organización, de orientación, atlética, médica, de viajes, de aire libre, de identidad, de seguridad y militar.
[0007] La presente invención está definida por las reivindicaciones.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0008] En la siguiente descripción detallada y los dibujos adjuntos, se describen varias realizaciones de la invención.
La FIG. 1 es un diagrama que muestra un sistema para generar un mapa de preferencias de usuario según algunas realizaciones.
La FIG. 2 es un diagrama que muestra un ejemplo de un servidor de generación de mapas de preferencias de usuario según algunas realizaciones.
La FIG. 3 es un diagrama de flujo que muestra un procedimiento para usar un mapa de preferencias de usuario según algunas realizaciones.
La FIG. 4 es un diagrama de flujo que muestra un ejemplo de un procedimiento para generar un mapa de preferencias de usuario según algunas realizaciones.
La FIG. 5 es un diagrama de flujo que muestra un ejemplo de un procedimiento para determinar y analizar las actividades de usuario que coinciden con un borde según algunas realizaciones.
La FIG. 6 es un diagrama de flujo que muestra un ejemplo de un procedimiento para almacenar metadatos asociados con actividades de usuario que coinciden con un borde por cada intervalo de tiempo preestablecido según algunas realizaciones.
La FIG. 7 es un diagrama que muestra una tabla de ejemplo que se usa para almacenar metadatos asociados con actividades de usuario que coinciden con un borde y están asociados con un intervalo de tiempo preestablecido particular en un período preestablecido según algunas realizaciones.
La FIG. 8 es un diagrama de flujo que muestra un procedimiento para determinar un conjunto de datos de elevación asociados con un borde según algunas realizaciones.
La FIG. 9 es un diagrama de flujo que muestra un ejemplo de un procedimiento para determinar un conjunto de datos de elevación asociados con un borde según algunas realizaciones.
La FIG. 10A es un diagrama que muestra un ejemplo de datos de elevación registrados y buscados asociados con un borde según algunas realizaciones.
La FIG. 10B es un diagrama que muestra un ejemplo de normalización de la elevación barométrica de inicio registrada y la elevación barométrica final registrada de una actividad de usuario candidata de datos barométricos que se seleccionó para un borde según algunas realizaciones.
La FIG. 10C es un diagrama que muestra un ejemplo de normalización de la elevación barométrica registrada correspondiente a un segundo punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada según algunas realizaciones.
La FIG. 10D es un diagrama que muestra un ejemplo de normalización de la elevación barométrica registrada correspondiente a un tercer punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada según algunas realizaciones.
La FIG. 10E es un diagrama que muestra un ejemplo de normalización de la elevación barométrica registrada correspondiente al punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada al final del borde según algunas realizaciones.
La FIG. 11 es un diagrama que muestra un ejemplo de una presentación de un mapa de preferencias de usuario según algunas realizaciones.
La FIG. 12 es un diagrama de flujo que muestra un procedimiento para determinar una o más rutas sugeridas usando un mapa de preferencias de usuario según algunas realizaciones.
La FIG. 13 es un diagrama que muestra un ejemplo de presentación de una ruta sugerida según algunas realizaciones.
La FIG. 14 es un diagrama de flujo que muestra un procedimiento para determinar una presentación de un mapa de preferencias de usuario según algunas realizaciones.
DESCRIPCIÓN DETALLADA
[0009] La invención puede implementarse de numerosas maneras, incluyendo como un procedimiento; un aparato; un sistema; una composición de la materia; un producto de programa informático incorporado en un medio de almacenamiento legible por ordenador; y/o un procesador, tal como un procesador configurado para ejecutar instrucciones almacenadas y/o proporcionadas por una memoria acoplada al procesador. En esta memoria descriptiva, estas implementaciones, o cualquier otra forma que la invención pueda adoptar, pueden denominarse técnicas. En general, el orden de los pasos de los procedimientos descritos puede modificarse dentro del alcance de la invención como se define en las reivindicaciones adjuntas. 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.
[0010] 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 algunos aspectos de las posibles realizaciones 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 dentro del alcance de las reivindicaciones adjuntas. Numerosos detalles específicos se exponen en la siguiente descripción con el fin de proporcionar una comprensión completa de la invención. Estos detalles se proporcionan a modo de ejemplo y la invención se puede practicar según las reivindicaciones adjuntas. A efectos 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, de modo que la invención no se complique innecesariamente.
[0011] En esta invención, se describen realizaciones para generar un mapa de preferencias de usuario. Se recopilan las actividades de usuario recopiladas por los dispositivos de registro de satélites de posicionamiento geográfico (GPS). Por ejemplo, cada actividad de usuario comprende un conjunto de datos GPS (por ejemplo, una serie de coordenadas GPS) a lo largo de los cuales ocurrió la actividad, un conjunto correspondiente de información de tiempo (por ejemplo, una marca de tiempo correspondiente a cada coordenada GPS), datos barométricos asociados y, opcionalmente, otros datos asociados con la actividad de usuario. Las actividades de usuario recopiladas se analizan y agregan con respecto a cada uno de al menos un subconjunto de bordes en un mapa base obtenido para generar un mapa de preferencias de usuario. Por ejemplo, el mapa base puede comprender un conjunto de datos del sistema de información geográfica (GIS) que se pueden obtener de una fuente de terceros. El mapa base incluye un número de bordes, cada uno de los cuales representa un camino, carretera o sendero. En varias realizaciones, se recibe un primer extremo de entrada de usuario (por ejemplo, un punto/ubicación de inicio) y un segundo extremo de entrada de usuario (por ejemplo, un extremo/ubicación) y se determina una o más rutas sugeridas desde el primer extremo de entrada de usuario hasta el segundo extremo de entrada de usuario usando el mapa de preferencias de usuario. En algunas realizaciones, además de un primero y un segundo extremo y un segundo extremo, también se recibe una o más preferencias de ruta de entrada de usuario. Los ejemplos de preferencias de ruta incluyen una longitud de ruta deseada, un tipo de superficie deseado, un tipo de elevación deseado, una popularidad deseada, un uso de energía deseado y/o si la ruta debe ser pintoresca. En algunas realizaciones, una o más rutas sugeridas pueden determinarse, a continuación, en base al primer extremo de entrada de usuario, el segundo extremo de entrada de usuario y el usuario introduce una o más preferencias de ruta. En algunas realizaciones, las rutas sugeridas pueden mostrarse visualmente en un mapa en una interfaz de usuario.
[0012] En esta invención se describen realizaciones para generar un conjunto de datos de elevación asociados con un borde. Se determinan las actividades de usuario recopiladas que coinciden con un borde (por ejemplo, en un mapa base). Se selecciona al menos una de dichas actividades de usuario coincidentes que incluye datos de elevación/barométricos. La actividad de usuario coincidente seleccionada asociada con los datos barométricos registrados se usa con datos de elevación buscados (por ejemplo, datos de elevación buscados a partir de una fuente de terceros, tal como el Servicio Geológico de los Estados Unidos (USGS)) para determinar un conjunto de datos de elevación para el borde. En algunas realizaciones, los datos de elevación determinados para el borde también se almacenan en el mapa de preferencias de usuario con los otros datos de actividad de usuario agregados para ese borde.
[0013] Un mapa de preferencias de usuario generado puede tener varias aplicaciones. En un primer ejemplo, el mapa de preferencias de usuario puede ser usado por un planificador de rutas inteligente para generar una ruta sugerida, que agrega la popularidad de borde agregado en una estructura de costos dinámica que también puede incluir preferencias de ganancia de elevación y otras entradas de preferencia. En un segundo ejemplo, el mapa de preferencias de usuario puede ser usado por un producto con el propósito de analizar y mostrar corredores de transporte alternativos registrados en áreas metropolitanas. Este tipo de producto puede facilitar la identificación y mejora de corredores de ciclismo por parte de departamentos locales de transporte (DOT) y/o empresas de ingeniería especializadas en dicho análisis, así como también en análisis y recomendación de infraestructura, por ejemplo. En un tercer ejemplo, el mapa de preferencias de usuario puede ser usado por productos que aprovechan los datos de elevación agregados, que incluyen información precisa de la pendiente de la carretera, a fin de determinar el ahorro de combustible en las rutas. En un cuarto ejemplo, el mapa de preferencias de usuario se puede usar mediante enrutamiento dinámico móvil para atletas en tiempo real, durante las actividades de usuario.
[0014] La FIG. 1 es un diagrama que muestra un sistema para generar un mapa de preferencias de usuario según algunas realizaciones. En el ejemplo, el sistema 100 incluye el dispositivo 102, el servidor de agregación de datos de actividad de usuario 106, la red 108, el servidor de datos de terceros 104 y el servidor de generación de mapas de preferencias de usuario 110. La red 108 incluye redes de datos de alta velocidad y/o redes de telecomunicaciones.
[0015] El dispositivo 102 es un dispositivo que puede registrar datos de GPS y/u otros datos asociados con la actividad de un usuario atleta. 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, 310XT, 405, 405CX y Garmin Edge® 305, 605, 705, 500, 800, 810 y 1000), 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®, Strava® y RunKeeper®), un ordenador, 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 otro(s) componente(s) 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.
[0016] En varias realizaciones, el dispositivo 102 (o una aplicación del mismo) está configurado para registrar datos GPS y datos auxiliares, incluyendo datos barométricos, asociados con una actividad física durante la actividad. Por ejemplo, los datos auxiliares asociados con una actividad de usuario pueden incluir también 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 de usuario posterior a la finalización de la actividad (por ejemplo, dicha información se carga en el dispositivo 102).
[0017] En algunas realizaciones, una "actividad de usuario" se refiere a un rendimiento atlético completado. Los ejemplos de una actividad de usuario incluyen hacer 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. Según la invención, los datos auxiliares incluyen, de modo no limitante, datos barométricos (por ejemplo, datos de elevación). Los datos auxiliares pueden incluir también, frecuencia cardíaca, potencia/vatios (por ejemplo, energía gastada), tiempo, velocidad (por ejemplo, velocidad media y/o máxima por segmento y/o ruta, en la que la velocidad media, por ejemplo, puede derivarse del tiempo y la información del GPS), 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 medias de las métricas) y/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 media, 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 y/o enviar los datos registrados asociados con una actividad de usuario al servidor de agregación de datos de actividad de usuario 106. En algunas realizaciones, el dispositivo 102 está configurado para enviar los datos registrados asociados con una actividad de usuario al servidor de agregación de datos de actividad de usuario 106 durante la actividad de usuario (por ejemplo, en tiempo real) y/o después de que se haya completado la actividad de usuario. 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 generación de mapas de preferencias 110.
[0018] En algunas realizaciones, se puede presentar una interfaz de usuario en el dispositivo 102. En algunas realizaciones, la interfaz de usuario puede ser presentada por el servidor de generación de mapa de preferencias de usuario 110 o por otro componente que no se muestra en el ejemplo de la FIG. 1. En algunas realizaciones, la interfaz de usuario está configurada para recibir entradas de usuario tales como un primer extremo y un segundo extremo asociados con una ruta deseada y/o una o más preferencias de ruta asociadas con la ruta deseada. En algunas realizaciones, la interfaz de usuario está configurada para recibir entradas de usuario tales como un intervalo de tiempo. Las entradas de usuario recibidas en el dispositivo 102 están configuradas para enviarse al servidor de generación de mapas de preferencias de usuario 110.
[0019] El servidor de agregación de datos de actividad de usuario 106 está configurado para agregar datos de actividad de usuario registrados desde dispositivos tales como el dispositivo 102. En algunas realizaciones, los datos de actividad de usuario registrados recibidos en el servidor de agregación de datos de actividad de usuario 106 se reciben durante las actividades de usuario (por ejemplo, en tiempo real) y/o después de la finalización de las actividades de usuario. El servidor de agregación de datos de actividad de usuario 106 está configurado para almacenar información asociada con cada actividad de usuario. Por ejemplo, la información asociada con cada actividad de usuario incluye un identificador asociado con el atleta que realizó la actividad, el tipo de actividad asociada con la actividad, la fecha y/o período de tiempo durante el cual tuvo lugar la actividad, el tipo de dispositivo que se usó para registrar los datos de actividad y el equipo usado por el atleta durante la actividad. En algunas realizaciones, la información asociada con cada actividad de usuario puede incluir atributos asociados con la actividad de usuario que fueron ingresados por un usuario y/o atributos asociados con la actividad de usuario que fueron inferidos a partir de los datos registrados. En algunas realizaciones, la información asociada con cada actividad es almacenada por el servidor de agregación de datos de actividad de usuario 106 en una tabla de actividad que comprende una tabla de datos basada en SQL. El servidor de agregación de datos de actividad de usuario 106 está configurado para almacenar el conjunto de datos GPS (por ejemplo, un conjunto de puntos de datos GPS/Lat-Lng) y un dato auxiliar correspondiente (por ejemplo, datos barométricos/de elevación, marcas de tiempo, vatios, frecuencias cardíacas, energía, etc.) asociado con (por ejemplo, punto de datos GPS registrado a lo largo) cada actividad de usuario. En algunas realizaciones, el conjunto de datos GPS y un conjunto correspondiente de datos auxiliares asociados con cada actividad de usuario son almacenados por el servidor de agregación de datos de actividad de usuario 106 en un disco duro virtual (por ejemplo, el Servicio de almacenamiento simple de Amazon) asociado con la disponibilidad de almacenamiento en expansión dinámica. El servidor de agregación de datos de actividad de usuario 106 está configurado para procesar los datos recibidos para cada actividad de usuario y realizar la indexación espacial para cada actividad de usuario en base al conjunto de datos GPS asociados con la actividad de usuario. En algunas realizaciones, al realizar la indexación espacial, la información de la tabla de actividades y el GPS y los datos auxiliares correspondientes del disco duro virtual se juntan y registran para cada punto de datos GPS grabado y se colocan en una base de datos PostGIS u otra estructura de datos indexada y habilitada espacialmente. El servidor de agregación de datos de actividad de usuario 106 está configurado para enviar los datos de actividad de usuario agregados al servidor de generación de mapas de preferencias de usuario 110.
[0020] El servidor de generación de mapas de preferencias de usuario 110 está configurado para recibir los datos de actividad de usuario agregados del servidor de agregación de datos de actividad de usuario 106. El servidor de generación de mapas de preferencias de usuario 110 está configurado para obtener un mapa base de un servidor de datos de terceros, tal como un servidor de datos de terceros 104. Por ejemplo, el mapa base puede comprender un conjunto de datos del GIS que describe carreteras y caminos con bordes. Por ejemplo, el mapa base puede comprender un conjunto de datos GIS de Codificación y referencia geográfica integrada topológicamente (TIGER) o Mapa de calle abierta. Como se describirá en detalle a continuación, para generar un mapa de preferencias de usuario, el servidor de generación de mapas de preferencias de usuario 110 está configurado para extraer datos de al menos un subconjunto de datos de actividad de usuario asociados con cada región del mapa base. El servidor de generación de mapas de preferencias de usuario 110 está configurado para determinar un conjunto de actividades de usuario que coinciden con cada uno de al menos un subconjunto de bordes en la región y almacenar los metadatos (por ejemplo, información de actividad de usuario, datos GPS y datos auxiliares) asociados con aquellas actividades de usuario coincidentes con el borde en un mapa de preferencias de usuario. En algunas realizaciones, el mapa de preferencias de usuario comprende el mapa base obtenido almacenado con los metadatos asociados con las actividades de usuario que coinciden con cada borde del mapa base.
[0021] En varias realizaciones, el servidor de generación de mapas de preferencias de usuario 110 está configurado para determinar para cada uno de al menos un subconjunto de bordes del mapa base, un conjunto de datos de elevación. La determinación de un conjunto de datos de elevación para un borde incluye seleccionar una actividad de usuario que coincida con el borde y que esté asociada con los datos de elevación/barométricos registrados. Se presume que los datos barométricos registrados con la actividad de usuario seleccionada están asociados con una precisión relativa. Determinar un conjunto de datos de elevación para un borde también incluye consultar datos de elevación asociados con el borde desde un servidor de datos de terceros tal como un servidor de datos de terceros 104. Por ejemplo, un servicio de terceros que proporciona datos de elevación es el USGS. Se presume que los datos de elevación consultados o, de otro modo, buscados asociados con el borde están asociados con una precisión absoluta. Como se describirá en detalle a continuación, el conjunto de datos de elevación para un borde se determina en base, al menos parcialmente, a los datos barométricos asociados con la actividad de usuario coincidente seleccionada y los datos de elevación buscados asociados con el borde. En algunas realizaciones, el conjunto de datos de elevación determinado para un borde se almacena con los metadatos asociados con las actividades de usuario que coinciden con ese borde en el mapa de preferencias de usuario.
[0022] El servidor de generación de mapas de preferencias de usuario 110 está configurado para recibir entradas de usuario desde un dispositivo tal como el dispositivo 102. En algunas realizaciones, las entradas de usuario recibidas están asociadas con las preferencias de ruta. En algunas realizaciones, las entradas de usuario recibidas están asociadas con un intervalo de tiempo especificado. Como se describirá más adelante, en algunas realizaciones, en respuesta a las entradas de usuario del dispositivo 102 para las preferencias de ruta, el servidor de generación de mapas de preferencias de usuario 110 está configurado para presentar, en un mapa presentado, representaciones visuales de una o más rutas sugeridas que coinciden con las entradas de usuario de un mapa de preferencias de usuario generado. Como se describirá más adelante, en algunas realizaciones, en respuesta a las entradas de usuario del dispositivo 102 asociadas con un intervalo de tiempo, el servidor de generación de mapas de preferencias de usuario 110 está configurado para presentar, en un mapa presentado, representaciones visuales de actividades de usuario que coinciden con el intervalo de tiempo recibido de un mapa de preferencias de usuario generado. En algunas realizaciones, el servidor de generación de mapas de preferencias de usuario 110 puede soportar la presentación de 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).
[0023] La FIG. 2 es un diagrama que muestra un ejemplo de un servidor de generación de mapas de preferencias de usuario según algunas realizaciones. En algunas realizaciones, el servidor de generación de mapas de preferencias de usuario 110 del sistema 100 de la FIG. 1 puede implementarse con el ejemplo de la FIG. 2. En el ejemplo de la FIG. 2, el servidor de generación de mapas de preferencias de usuario incluye el motor de recopilación de datos de actividad de usuario 202, el almacenamiento de datos de actividad de usuario 203, el motor de recopilación de datos de mapa base 204, el motor de recopilación de datos de elevación 206, el motor de extracción de datos 208, el motor de agregación de datos de mapa 210, el motor de determinación de elevación 212, el almacenamiento de mapas de preferencias de usuario 214, el motor de consulta de mapa 216 y el motor de visualización 218. Cada uno de los motores de recopilación de datos de actividad de usuario 202, de recopilación de datos de mapa base 204, de recopilación de datos de elevación 206, de extracción de datos 208, de agregación de datos de mapa 210, de determinación de elevación 212, de consulta de mapa 216 y de visualización 218 se pueden implementar, por ejemplo, como componentes de software distintos o integrados, que pueden incluir módulos, paquetes y/u otros subcomponentes para proporcionar un programa informático ejecutable que pueda realizar estas funciones descritas cuando se ejecuta en un procesador, y se pueden implementar usando un lenguaje de programación tal como Java, Python, Objective C y/u otros lenguajes de programación. Un ejemplo de entorno informático de hardware para ejecutar los motores de la FIG. 2 incluye un servicio informático en la nube, tal como los Servicios Web de Amazon.
[0024] El motor de recopilación de datos de actividad de usuario 202 está configurado para recopilar datos de actividad de usuario registrados por dispositivos habilitados para GPS. Cada conjunto de datos de actividad incluye, por ejemplo, uno de los siguientes: un conjunto de datos GPS, datos auxiliares correspondientes a los datos GPS e información de actividad de usuario. En algunas realizaciones, el motor de recopilación de datos de actividad de usuario 202 está configurado para recibir datos de actividad de usuario en tiempo real, mientras las actividades de usuario aún están en curso. En algunas realizaciones, el motor de recopilación de datos de actividad de usuario 202 está configurado para recibir datos asociados con actividades de usuario completadas. Los datos de actividad de usuario recopilados pueden asociarse con uno o más tipos de actividades (por ejemplo, hacer ciclismo, correr, nadar, etc.). En algunas realizaciones, los datos de actividad de usuario recopilados se almacenan en el almacenamiento de datos de actividad de usuario 203.
[0025] El motor de recopilación de datos de mapas base 204 está configurado para obtener un mapa base mediante la consulta de una fuente de terceros. Por ejemplo, el mapa base puede comprender un conjunto de datos GIS de TIGRE u Open Street Map, por ejemplo. Por ejemplo, un mapa base puede incluir calles, carreteras, límites para el censo, zonas postales, políticas, ríos, lagos, parques, puntos de referencia, nombres de lugares y mapas de trama de levantamiento geológico de EE.UU. (USGS). El mapa base incluye un número de bordes, cada uno de los cuales representa un camino, carretera o sendero.
[0026] El motor de recopilación de datos de elevación 206 está configurado para buscar datos de elevación correspondientes a cada uno de al menos un subconjunto de bordes en el mapa base obtenido por el motor de recopilación de datos de mapa base 204. Por ejemplo, los datos de elevación se pueden obtener consultando un servidor USGS.
[0027] El motor de extracción de datos 208 está configurado para extraer los datos de actividad de usuario agregados por el motor de recopilación de datos de actividad de usuario 202 y/o almacenados en el almacenamiento de datos de actividad de usuario 203. En algunas realizaciones, el motor de extracción de datos 208 está configurado para extraer una cantidad de actividades de usuario asociadas con el mismo tipo de actividad (por ejemplo, hacer ciclismo o correr), asociadas con cada región del mapa base obtenido por el motor de recopilación de datos del mapa base 204. En algunas realizaciones, la cantidad de actividades de usuario para extraer puede determinarse en base a una regla preestablecida.
[0028] El motor de agregación de datos de mapa 210 está configurado para agregar las actividades de usuario extraídas por el motor de extracción de datos 208 con bordes coincidentes del mapa base obtenido por el motor de recopilación de datos de mapa base 204. En algunas realizaciones, el motor de agregación de datos de mapa 210 está configurado para determinar qué actividades de usuario extraídas coinciden con cada uno de al menos un subconjunto de bordes en el mapa base. Se determina que una actividad de usuario coincide con un borde si cumple con un conjunto de criterios de coincidencia de bordes. En varias realizaciones, los metadatos (por ejemplo, los datos GPS, los datos auxiliares correspondientes, la información de actividad de usuario) asociados con el conjunto de actividades de usuario que se ha determinado que coinciden con un borde se almacenan con el borde en un mapa de preferencias de usuario. El motor de agregación de datos de mapa 210 está configurado para almacenar el mapa de preferencias de usuario en el almacenamiento de mapas de preferencias de usuario 214. En algunas realizaciones, se determina un mapa de preferencias de usuario para cada tipo de actividad.
[0029] El motor de determinación de elevación 212 está configurado para determinar un conjunto de datos de elevación asociados con cada uno de al menos un subconjunto de bordes en el mapa base obtenido por el motor de recopilación de datos del mapa base 204. En varias realizaciones, el motor de determinación de elevación 212 está configurado para seleccionar una actividad de usuario determinada por el motor de agregación de datos de mapa 210 para que coincida con un borde y también está asociado con datos barométricos registrados como una actividad de usuario candidata de datos barométricos seleccionada. En algunas realizaciones, el motor de determinación de elevación 212 está configurado para usar datos de elevación obtenidos por el motor de recolección de datos de elevación 206 para que el borde ajuste la elevación registrada correspondiente a cada punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada asociada con el borde a fin de obtener el conjunto de datos de elevación para ese borde. En algunas realizaciones, el motor de determinación de elevación 212 está configurado para almacenar el conjunto de datos de elevación determinados para un borde con los otros metadatos almacenados con el borde en el mapa de preferencias de usuario correspondiente almacenado en el almacenamiento de mapa de preferencias de usuario 214.
[0030] El motor de consulta de mapas 216 está configurado para recibir entradas de usuario asociadas con preferencias de ruta y/o intervalos de tiempo asociados con un tipo de actividad. En algunas realizaciones, el motor de consulta de mapas 216 está configurado para consultar el mapa de preferencias de usuario asociado con el tipo de actividad almacenado en el almacenamiento de mapas de preferencias de usuario 214 en base a las entradas de usuario y usar el mapa de preferencias de usuario consultado para generar representaciones visuales en un mapa asociado con datos que coinciden con las entradas de usuario. Por ejemplo, las entradas del usuario pueden describir una ruta deseada desde un primer extremo a un segundo extremo y/o preferencias de ruta para hacer ciclismo (por ejemplo, un paseo popular de cinco millas (8 km) con baja elevación) y las presentaciones visuales generadas podrían presentar una o más rutas sugeridas en un mapa que tienen aproximadamente cinco millas (8 km) de longitud, caminos de travesía con una baja elevación y se encuentran en el 10% superior de los caminos atravesados con más frecuencia. Por ejemplo, las entradas de usuario pueden incluir un intervalo de tiempo de marzo de 2014 y el tipo de actividad de correr y las presentaciones visuales generadas podrían presentar el grado en que cada camino en un mapa fue atravesado por corredores durante el período de marzo de 2014. En varias realizaciones, el motor de consulta de mapas 216 está configurado para comparar las entradas de usuario con metadatos almacenados para cada uno de al menos un subconjunto de bordes en el mapa de preferencias de usuario para determinar una o más rutas, comprendiendo cada una uno o más bordes, que coinciden con las entradas de usuario. En algunas realizaciones, el motor de consulta de mapas 216 está configurado para recibir entradas de usuario de un usuario mientras el usuario está realizando actualmente una actividad de usuario. El motor de consulta de mapas 216 está configurado para enviar los datos de presentación generados en respuesta a las entradas de usuario al motor de visualización 218. El motor de visualización 218 está configurado para presentar los datos de presentación en una interfaz de usuario.
[0031] La FIG. 3 es un diagrama de flujo que muestra un procedimiento para usar un mapa de preferencias de usuario según algunas realizaciones. En algunas realizaciones, el procedimiento 300 se implementa en el sistema 100 de la FIG. 1.
[0032] En la etapa 302, se recopila una pluralidad de actividades de usuario registradas por una pluralidad de dispositivos de grabación GPS. En varias realizaciones, cada actividad de usuario se registra con al menos un conjunto de datos GPS (por ejemplo, puntos de datos GPS) y un conjunto de datos auxiliares correspondientes (es decir, datos barométricos y, opcionalmente, frecuencia cardíaca, energía/vatios, tiempo, velocidad y/o cadencia correspondientes a cada punto de datos GPS). Por ejemplo, los datos asociados con una actividad de usuario se registran usando un dispositivo habilitado para GPS mientras el usuario realiza la actividad de usuario. En varias realizaciones, cada actividad de usuario también se registra con información de actividad de usuario tal como, por ejemplo, un identificador asociado con el atleta que realizó la actividad, el tipo de actividad asociado con la actividad, la fecha y/o período de tiempo durante el cual tuvo lugar la actividad, el tipo de dispositivo que se usó para registrar los datos de actividad y el equipo usado por el atleta durante la actividad.
[0033] En la etapa 304, un mapa de preferencias de usuario se determina en base, al menos en parte, a analizar la pluralidad de actividades de usuario para agregar datos de actividad de usuario asociados con un mapa base. En varias realizaciones, un mapa base comprende un conjunto de datos GIS. Por ejemplo, el mapa base se obtiene de una fuente de terceros. En varias realizaciones, el mapa base incluye varios bordes, cada uno de los cuales representa un camino, carretera o sendero. En varias realizaciones, se determina la parte de las actividades de usuario recopiladas que coinciden con cada borde del mapa base y los metadatos asociados con las actividades de usuario que coinciden con cada borde se almacenan con ese borde en un mapa de preferencias de usuario. Por ejemplo, los metadatos almacenados con cada borde en el mapa de preferencias de usuario pueden incluir la cantidad de actividades de usuario que se determinó que coincidían con el borde, los datos auxiliares asociados con cada actividad de usuario que se determinó que coincidía con el borde y la información de actividad de usuario asociada con cada actividad que se determinó que coincidía con el borde.
[0034] En algunas realizaciones, se selecciona una actividad de usuario que se determinó que coincidía con un borde y se usa con datos de elevación buscados asociados con un borde para determinar un conjunto de datos de elevación asociados con el borde. El conjunto de datos de elevación asociados con el borde comprende, en varias realizaciones, un perfil de elevación del borde. En algunas realizaciones, el conjunto determinado de datos de elevación asociados con el borde también se almacena con ese borde en el mapa de preferencias de usuario. En varias realizaciones, se determina un mapa de preferencias de usuario para cada tipo de actividad.
[0035] En 306, una o más rutas sugeridas se determinan entre un primer extremo de entrada de usuario y un segundo extremo de entrada de usuario, en base, al menos en parte, al mapa de preferencias de usuario. En varias realizaciones, las entradas de usuario incluyen al menos un primer extremo (por ejemplo, un punto/ubicación de inicio) y un segundo extremo (por ejemplo, un punto/ubicación final), y opcionalmente, una o más preferencias de ruta (por ejemplo, longitud de ruta deseada, elevación de ruta deseada, tipo de actividad deseado, nivel de popularidad deseado y/o preferencias asociadas con el lapso de tiempo deseado, etc.) asociadas con una ruta deseada. El mapa de preferencias de usuario generado (por ejemplo, asociado con el tipo de actividad deseado) se usa para encontrar una o más rutas sugeridas que coincidan con las entradas de usuario. Las rutas sugeridas pueden mostrarse en una interfaz de usuario para el usuario.
[0036] La FIG. 4 es un diagrama de flujo que muestra un ejemplo de un procedimiento para generar un mapa de preferencias de usuario según algunas realizaciones. En algunas realizaciones, el procedimiento 400 se implementa en el sistema 100 de la FIG. 1.
[0037] El procedimiento 400 describe un ejemplo de procedimiento de extracción de datos de actividades de usuario recopiladas y agrega las actividades de usuario recopiladas con bordes de un mapa base para generar un mapa de preferencias de usuario. En varias realizaciones, un mapa de preferencias de usuario está asociado con un tipo de actividad particular (por ejemplo, hacer ciclismo o correr) y, por lo tanto, las únicas actividades asociadas con el mismo tipo de actividad se usan para generar el mapa de preferencias de usuario asociado con ese tipo de actividad. Por ejemplo, se puede generar un mapa de preferencias de usuario separado para cada una de las actividades de ciclismo y carreras.
[0038] En la etapa 402, se extrae una pluralidad de actividades de usuario a partir de actividades de usuario agregadas. Se extraen actividades de usuario del mismo tipo de actividad. En algunas realizaciones, aunque se puede haber agregado una gran cantidad de actividades de usuario (del mismo tipo de actividad), los datos asociados con solo un subconjunto de las actividades de usuario agregadas deben extraerse y usarse para generar el mapa de preferencias de usuario (asociado con ese tipo de actividad). Esto se debe a que, en algunos casos, un muestreo suficiente de las actividades de usuario puede proporcionar aproximadamente el mismo nivel de datos de preferencias de usuario que todo el cuerpo de actividades de usuario. En algunas realizaciones, la cantidad de actividades de usuario para extraer minerales de cierta región geográfica (por ejemplo, polígonos que abarcan condados, áreas metropolitanas y redes de senderos son ejemplos de regiones) se determina en base a una relación del número de actividades de usuario para una longitud total de bordes en esa región. Se pueden preestablecer diferentes proporciones de un número de actividades de usuario respecto de una longitud total de bordes para cada tipo de actividad. Por ejemplo, se puede extraer una actividad por cada kilómetro (km) de carretera en una región para hacer ciclismo o se puede extraer una actividad por cada 100 metros de carretera en la región. Por ejemplo, si hay un total de 1.000 kilómetros de carretera en una región, a continuación, se extraerán de las actividades de ciclismo agregadas 1.000 actividades de usuario que se hayan realizado a lo largo de cualquier carretera de la región. Las actividades de usuario extraídas pueden asociarse con uno o más usuarios diferentes. La cantidad de datos de actividad de usuario extraídos es suficiente para determinar las preferencias de carreteras y senderos. En algunas realizaciones, todos los datos se extraen durante un período de tiempo específico, tal como horas de viaje al trabajo durante los días de la semana, para permitir que el mapa de preferencias de usuario modele patrones de viaje al trabajo en bicicleta para un área metropolitana específica, por ejemplo.
[0039] En algunas realizaciones, las actividades de usuario se extraen en un orden asociado con el tipo de dispositivo de grabación GPS que registró los datos de actividad de usuario. Los diferentes tipos de dispositivo pueden estar asociados con diferentes niveles de precisión (por ejemplo, asociados con el registro de datos GPS y/o el registro de datos auxiliares) y, por lo tanto, en algunas realizaciones, se usa una lista de tipos de dispositivo, en orden descendente de precisión prevista, para realizar la extracción de datos. En algunas realizaciones, la precisión de un dispositivo se determina en base a una granularidad registrada (por ejemplo, la existencia de más puntos de datos GPS registrados entre intervalos de tiempo más cortos indica una mejor precisión) y la precisión espacial relativa de los puntos de datos GPS registrados (por ejemplo, una mejor precisión espacial de los puntos de datos GPS registrados indica una mejor precisión general). Por ejemplo, supongamos que Garmin Edge 805 y 810 son los tipos de dispositivo que están asociados con las mayores precisiones previstas horizontal y verticalmente y, por lo tanto, los datos de actividad cargados por el usuario que fueron registrados por los dispositivos habilitados para GPS Garmin Edge 805 u 810 se extraen primero. A continuación, si la cantidad deseada de datos de actividad de usuario aún no se ha extraído, se pueden extraer datos de actividad de usuario adicionales de los datos de actividad cargados por el usuario asociados con el tipo de dispositivo que se predice que es el segundo más preciso en la lista de tipos de dispositivo, y así sucesivamente. En algunas realizaciones, los datos de actividad cargados por el usuario que fueron registrados por dispositivos móviles pueden extraerse en último lugar debido a la menor precisión prevista del dispositivo móvil y (a menudo) la falta de datos de elevación barométrica registrados.
[0040] En algunas realizaciones, se extraen datos asociados con todas las actividades de usuario agregadas (del mismo tipo de actividad) asociadas con una ventana de tiempo preestablecida (por ejemplo, el año pasado), independientemente del dispositivo de registro GPS que se usó para registrar los datos de actividad de usuario y que se usó para generar el mapa de preferencias de usuario.
[0041] En algunas realizaciones, los datos extraídos de los datos de actividad cargados por el usuario pueden incluir uno o más de los siguientes atributos ejemplares:
id_actividad: actividad:
El atributo " id_actividad: actividad" permite contar actividades distintas.
id_atleta: actividad:
El atributo " id_atleta: actividad " permite contar atletas distintos.
tipo_actividad:
El atributo "tipo_actividad " indica si la actividad de usuario comprende una carrera o paseo, por ejemplo. tipo_dispositivo:
El atributo "tipo_dispositivo " identifica el dispositivo usado para registrar los puntos de datos GPS asociados con la actividad de usuario.
fecha_inicio:
El atributo "fechajnicio" indica la fecha de la actividad de usuario y no la fecha de carga de los datos de la actividad.
tiempo:
El atributo "tiempo" indica el número de segundos en la actividad en la que se registró cada punto de datos GPS. tiempos_inicio_fin:
El atributo "tiempos_inicio_fin" indica la hora de inicio y la hora de finalización durante la cual tuvo lugar/se registró la actividad de usuario.
altitud:
El atributo "altitud" indica la elevación registrada para cada punto de datos GPS asociado con la actividad de usuario. Los dispositivos de registro habilitados para GPS que tienen altímetros barométricos pueden registrar datos de altitud para cada punto de datos GPS asociado con la actividad de usuario.
frecuencia cardíaca:
El atributo "frecuencia cardíaca" indica la frecuencia cardíaca registrada (cuando está presente) del usuario en cada punto de datos GPS que se registró.
watts:
El atributo "watts" indica el número de watts (cuando están presentes) del usuario en cada punto de datos GPS que se registró.
rumbo:
El atributo "rumbo" indica la dirección de desplazamiento desde el último punto de datos GPS registrado de la actividad hasta el punto de datos GPS actual. En algunas realizaciones, el atributo rumbo correspondiente a cada punto de datos GPS se calcula durante el procedimiento de extracción de datos (en lugar de ser registrado durante la actividad de usuario). Los datos del atributo rumbo se pueden usar para sintetizar aún más la realidad del terreno al encontrar centros gravitacionales de puntos que van todos en la misma dirección básica. Esto convierte las horquillas apretadas, que pueden ser un desenfoque de puntos, en una representación perfecta de la horquilla real. En algunas realizaciones, el atributo rumbo puede calcularse para toda la capa de la realidad del terreno, o en ubicaciones estratégicas a fin de identificar claramente corredores de carreteras y senderos donde la capa de la realidad del terreno tiene una gran recopilación de puntos, lo cual genera dificultades en algunos casos. geometría:
[0042] El atributo "geometría" indica la ubicación del punto de datos GPS indexado espacialmente para una búsqueda rápida.
[0043] En la etapa 404, se obtiene un mapa base. El mapa de base comprende un conjunto de datos del GIS. En varias realizaciones, el conjunto de datos GIS puede estar en cualquier formato. En varias realizaciones, el conjunto de datos GIS se obtiene de una fuente de terceros.
[0044] En la etapa 406, se determina un subconjunto de la pluralidad de actividades de usuario que coincide con un borde del mapa base. En varias realizaciones, qué actividades de usuario (del tipo de actividad asociado con el mapa de preferencias de usuario) han atravesado completamente un borde en el mapa base es algo que se determina usando un conjunto de criterios de coincidencia. En algunas realizaciones, el conjunto de criterios de coincidencia que se usa para determinar si una actividad de usuario coincide con un borde es configurado por un administrador. La FIG. 7, a continuación, describe un ejemplo de uso de un conjunto de criterios de coincidencia para determinar si una actividad de usuario coincide con un borde.
[0045] En la etapa 408, los metadatos asociados con el subconjunto de la pluralidad de actividades de usuario que coinciden con el borde en un mapa de preferencias de usuario se almacenan en un mapa de preferencias de usuario. En varias realizaciones, se genera un mapa de preferencias de usuario (asociado con un tipo de actividad) mediante la escritura de metadatos de las actividades de usuario que coinciden con cada borde en el mapa base obtenido. En varias realizaciones, los metadatos asociados con las actividades de usuario que coinciden con el borde incluyen el número de actividades de usuario que coincidieron con el borde, los datos que se registraron (por ejemplo, mediante dispositivos habilitados para GPS) para las actividades de usuario (por ejemplo, los conjuntos de datos de GPS y los datos auxiliares correspondientes), información asociada con las actividades de usuario (por ejemplo, el identificador asociado con el atleta que realizó la actividad, el tipo de actividad asociado con la actividad, la fecha y/o el período de tiempo durante el cual tuvo lugar la actividad, el tipo de dispositivo que se usó para registrar los datos de actividad y el equipo usado por el atleta durante la actividad) y los atributos de actividad de usuario que fueron enviados por los usuarios asociados con las actividades de usuario coincidentes (por ejemplo, calidad del carril para bicicletas, calidad de la carretera, por qué se eligieron ciertas intersecciones en lugar de otras). En varias realizaciones, los metadatos asociados con las actividades de usuario que coinciden con el borde incluyen los atributos asociados con las actividades de usuario que se describen con la etapa 402. En varias realizaciones, los metadatos asociados con las actividades de usuario que coinciden con el borde incluyen información que se determinó a partir del análisis de dichas actividades de usuario. Por ejemplo, el análisis de las actividades de usuario puede proporcionar un número de veces que el borde se atravesó en cada una de ambas direcciones, una superficie de carretera prevista (por ejemplo, una carretera de montaña o carretera pavimentado) asociada con el borde y una mediana de tiempo en que el borde fue atravesado. Como se describirá con más detalles a continuación, los metadatos asociados con las actividades de usuario que coinciden con cada borde se pueden usar para determinar rutas (por ejemplo, que abarcan uno o más bordes) del mapa de preferencias de usuario que coinciden con las entradas de usuario asociadas con las preferencias de ruta.
[0046] En algunas realizaciones, al menos algunos de los metadatos asociados con las actividades de usuario que coinciden con cada borde se almacenan en el mapa de preferencias de usuario correspondiente en intervalos de tiempo asociados. En algunas realizaciones, se pueden configurar intervalos de tiempo, cada uno de una longitud preestablecida (por ejemplo, intervalos de tiempo de un minuto), que abarcan un período de tiempo preestablecido (por ejemplo, el año más reciente), y al menos algunos metadatos asociados con cada actividad de usuario que coincide con el borde y que había estado atravesando el borde durante uno o más intervalos de tiempo se almacenan con cada uno de esos intervalos de tiempo correspondientes. Como se describirá con más detalles a continuación, los metadatos, organizados por intervalos de tiempo, asociados con las actividades de usuario que coinciden con cada borde se pueden usar para determinar rutas (por ejemplo, que abarcan uno o más bordes) del mapa de preferencias de usuario que coinciden con las entradas de usuario asociadas con las preferencias de ruta, que incluyen un lapso de tiempo de entrada de usuario. Las FIG. 6 y 7, a continuación, describen ejemplos de almacenamiento de metadatos de actividades de usuario que coinciden con un borde con diferentes intervalos de tiempo correspondientes.
[0047] Volviendo a la FIG. 4, en la etapa 410, opcionalmente, un conjunto de datos de elevación asociados con el borde se determina en base, al menos en parte, al subconjunto de la pluralidad de actividades de usuario que coinciden con el borde. En algunas realizaciones, opcionalmente, un conjunto de datos de elevación describe el perfil de elevación del borde. Por ejemplo, el perfil de elevación del borde incluye una elevación determinada correspondiente a cada uno de los varios puntos a lo largo de la ruta. Las FIG. 8 a 10E a continuación, describen ejemplos de determinación de datos de elevación para un borde.
[0048] Volviendo a la FIG. 4, en la etapa 412, opcionalmente, el conjunto de datos de elevación se almacena con el borde en el mapa de preferencias de usuario. En algunas realizaciones, si el conjunto de datos de elevación se ha determinado para el borde en la etapa 410, a continuación, el conjunto de datos de elevación se almacena con los otros metadatos que se almacenaron con el borde en el mapa de preferencias de usuario en la etapa 408.
[0049] En la etapa 414, se determina si hay al menos un borde más en el mapa base. En el caso de que haya al menos un borde más en el mapa base, el control se transfiere a la etapa 416. De lo contrario, en el caso de que no haya al menos un borde más en el mapa base, el control se transfiere a la etapa 418.
[0050] En la etapa 416, se selecciona un borde siguiente del mapa base. A continuación, el control regresa a la etapa 406 para determinar los metadatos que se almacenarán para el siguiente borde seleccionado del mapa base.
[0051] En algunas realizaciones, las etapas 406 a 412 se realizan para cada borde que se encuentra en el mapa base. En algunas realizaciones, las etapas 406 a 412 se realizan para cada borde de solo un subconjunto de los bordes en el mapa base. Las etapas 414 y 416 pueden usarse para determinar si hay al menos un borde más en el mapa base y que debe seleccionarse para el procesamiento usando las etapas 406 a 412.
[0052] En la etapa 418, opcionalmente, el mapa de preferencias de usuario se muestra en una interfaz de usuario. Después de que el mapa de preferencias de usuario se genera al almacenar metadatos asociados con las actividades de usuario que se ha determinado que coinciden con cada borde en el mapa base, los metadatos almacenados con cada borde en el mapa base se pueden visualizar y presentar en un mapa en una interfaz de usuario. Por ejemplo, al menos un atributo de los metadatos almacenados con cada borde en el mapa de preferencias de usuario se puede visualizar y mostrar en el mapa. Por ejemplo, el número de actividades de usuario que se determinó que coincidían con cada borde puede considerarse como un grado de popularidad asociado con ese borde. Las popularidades de los diferentes bordes se pueden visualizar y mostrar en el mapa de manera tal que se puedan presentar las popularidades relativas de los bordes. Por ejemplo, los bordes más populares pueden mostrarse en una opacidad diferente o un color diferente al de los bordes menos populares.
[0053] La FIG. 5 es un diagrama de flujo que muestra un ejemplo de un procedimiento para determinar y analizar las actividades de usuario que coinciden con un borde según algunas realizaciones. En algunas realizaciones, el procedimiento 500 se implementa en el sistema 100 de la FIG. 1. En algunas realizaciones, el procedimiento 500 puede usarse para implementar la etapa 406, al menos en parte, del procedimiento 400 de la FIG. 4.
[0054] El procedimiento 500 es un procedimiento ejemplar que muestra la determinación de una actividad de usuario que cumple con uno o más criterios de coincidencia asociados con un borde de un mapa base que coincide con ese borde. En algunas realizaciones, una actividad de usuario que se determina que coincide con un borde es una actividad de usuario que ha atravesado completamente el borde desde un extremo del borde hasta el otro extremo del borde. El procedimiento 500 también es un procedimiento ejemplar que describe el análisis de las actividades de usuario que se han determinado para que coincidan con el borde.
[0055] En la etapa 502, se genera un búfer respectivo en cada una de una o más ubicaciones a lo largo de un borde. Por ejemplo, se genera un búfer de 20 metros en cada uno de los puntos de inicio, mitad y final del borde. Los extremos de inicio y final del borde pueden designarse inicialmente de manera arbitraria, pero las designaciones permanecerán consistentes durante todo el procedimiento 500. Generalmente, los puntos de datos GPS registrados asociados con una actividad de usuario casi nunca están directamente en una carretera, camino o sendero, todos ellos se desplazan desde unas pocas pulgadas (es decir, unos pocos centímetros) hasta unos pocos metros. Sin embargo, en algunas realizaciones, se ignoran los puntos de datos GPS registrados que están más allá del búfer generado desde el borde.
[0056] En la etapa 504, una actividad de usuario que coincide con el búfer respectivo en cada una de la una o más ubicaciones a lo largo del borde se incluye en una pluralidad de actividades de usuario que coincide con el borde. En algunas realizaciones, un criterio de coincidencia para un borde es que los puntos de datos GPS registrados asociados con una actividad de usuario deben estar presentes en cada una de las tres ubicaciones almacenadas (por ejemplo, inicio, medio, final) del borde. Por ejemplo, las actividades de usuario extraídas se consultan para las actividades de usuario que están presentes en cada una de las ubicaciones de inicio, medio y búfer del borde. Dicho de otra manera, se determinan las actividades de usuario cuyos datos GPS correspondientes indican la presencia en cada una de las ubicaciones de búfer de inicio, medio y final del borde. Se considera que las actividades de usuario para las cuales los datos GPS registrados están presentes en cada una de las tres ubicaciones de borde almacenadas han cruzado/atravesado todo el borde.
[0057] En la etapa 506, se filtra cualquier actividad de usuario de las múltiples actividades de usuario que comprende puntos no contiguos a través del búfer respectivo en cada una de la una o más ubicaciones a lo largo del borde. En algunas realizaciones, otro criterio de coincidencia para un borde es que los puntos de datos GPS registrados asociados con una actividad de usuario que están presentes en cada una de las tres ubicaciones almacenadas (por ejemplo, inicio, medio, final) del borde no pueden ser no contiguos. Como tal, cualquier actividad de usuario que esté asociada con puntos de datos GPS no contiguos a través de las tres ubicaciones de borde almacenadas puede eliminarse del conjunto de actividades de usuario que se ha determinado que coinciden con el borde. Filtrar las actividades de usuario con puntos de datos GPS no contiguos garantiza que los puntos de datos GPS de las actividades de usuario presentes se registraron de forma contigua y no desde diferentes partes del mismo recorrido o camino. Esto asegura que cada actividad de usuario coincidente realmente cruzó el borde desde un extremo al otro.
[0058] En la etapa 508, se determina un número de actividades de usuario asociadas con la pluralidad de actividades de usuario que coinciden con el borde. Se determina el número total de actividades de usuario que se ha determinado que coinciden con el borde.
[0059] En algunas realizaciones, se determina un tipo de equipo asociado con cada actividad de usuario coincidente y se usa para inferir el tipo de superficie asociado con el borde. Por ejemplo, si las actividades de usuario se asociaron con hacer ciclismo, a continuación, se puede determinar el tipo de armazón (por ejemplo, tipo de armazón de bicicleta de montaña o tipo de armazón de bicicleta de carretera) de cada actividad de usuario coincidente. Si hay más actividades de usuario que coinciden con el tipo de armazón de bicicleta de montaña, a continuación, se puede inferir que el tipo de superficie del borde no está pavimentado y si hay más actividades de usuario que coinciden con el tipo de armazón de bicicleta de carretera, a continuación, se puede inferir que el tipo de superficie del borde está pavimentado. En algunas realizaciones, el tipo de superficie inferida asociado con el borde puede almacenarse con el borde en el mapa de preferencias de usuario.
[0060] En la etapa 510, se determina una primera parte de la cantidad de actividades de usuario asociadas con la travesía del borde en una primera dirección. Una dirección asociada con la travesía de una actividad de usuario a través del borde se puede determinar comparando la marca de tiempo registrada asociada con el punto de datos GPS registrado de la actividad de usuario que está más cerca del extremo de inicio designada del borde con la marca de tiempo registrada asociada con el punto de datos GPS registrado de la actividad de usuario que está más cerca del extremo final designado del borde. Si la marca de tiempo registrada de la actividad de usuario cerca del inicio designado del borde es anterior a la marca de tiempo registrada cerca del final designado del borde, a continuación, se determina que la actividad de usuario ha atravesado el borde desde el inicio designado del borde hasta el final designado. De lo contrario, si la marca de tiempo registrada de la actividad de usuario cerca del inicio designado del borde es posterior a la marca de tiempo registrada cerca del final designado del borde, a continuación, se determina que la actividad de usuario ha atravesado el borde desde el final designado del borde hasta el inicio designado. Se determina un número de actividades de usuario que coinciden con el borde que se determina que ha atravesado el borde en una primera dirección (por ejemplo, desde el inicio designado hasta el final designado del borde).
[0061] En la etapa 512, se determina un primer tiempo de travesía asociado con la primera parte de la cantidad de actividades de usuario asociadas con la travesía del borde en la primera dirección. Los tiempos medios de travesía son complicados aquí porque a veces los usuarios se detienen durante una hora en medio de un borde, lo que descoloca las medias. En algunas realizaciones, se determina una mediana de tiempo de travesía (por ejemplo, una duración de la actividad de usuario asociada con una travesía del borde) entre las actividades de usuario que se determinó que habían atravesado el borde en la primera dirección. Esta mediana de tiempo de travesía representa un tiempo medio que se tarda en atravesar el borde en la primera dirección.
[0062] En la etapa 514, se determina una segunda parte de la cantidad de actividades de usuario asociadas con la travesía del borde en una segunda dirección. También se determina un número de actividades de usuario que coinciden con el borde que se determina que ha atravesado el borde en una segunda dirección opuesta (por ejemplo, desde el final designado hasta el inicio designado del borde).
[0063] En la etapa 516, se determina un segundo tiempo de travesía asociado con la segunda parte de la cantidad de actividades de usuario asociadas con la travesía del borde en la segunda dirección. En algunas realizaciones, se determina una mediana de tiempo de travesía (por ejemplo, una duración de la actividad de usuario asociada con una travesía del borde) entre las actividades de usuario que se determinó que habían atravesado el borde en la segunda dirección. Esta mediana de tiempo de travesía representa un tiempo medio que se tarda en atravesar el borde en la segunda dirección.
[0064] En algunas realizaciones, la mediana de tiempo de travesía en cada dirección se puede comparar entre sí para inferir un perfil de elevación general asociado con el borde. Por ejemplo, si la mediana de tiempo de travesía en una primera dirección es más larga que la mediana de tiempo de travesía en una segunda dirección, a continuación, se puede inferir que atravesar el borde en la primera dirección incluye más escalada cuesta arriba que atravesar el borde en la segunda dirección. En algunas realizaciones, la cantidad de travesías en cada dirección del borde, las medianas de tiempo de travesía en cada dirección del borde y/o un perfil de elevación inferido del borde se almacenan con el borde en el mapa de preferencias de usuario.
[0065] La FIG. 6 es un diagrama de flujo que muestra un ejemplo de un procedimiento para almacenar metadatos asociados con actividades de usuario que coinciden con un borde por cada intervalo de tiempo preestablecido según algunas realizaciones. En algunas realizaciones, el procedimiento 600 se implementa en el sistema 100 de la FIG. 1. En algunas realizaciones, el procedimiento 600 puede usarse para implementar la etapa 408, al menos en parte, del procedimiento 400 de la FIG. 4.
[0066] El procedimiento 600 es un ejemplo de procedimiento usado para determinar qué actividades de usuario que coinciden con un borde están asociadas con atravesar el borde durante cada intervalo de tiempo (de una longitud preestablecida) durante un período preestablecido. En algunas realizaciones, la longitud preestablecida de cada intervalo de tiempo y el período preestablecido son configurados por un administrador del sistema. Por ejemplo, cada intervalo de tiempo preestablecido tiene un minuto de duración y el período preestablecido es el año pasado (por ejemplo, los 365 días más recientes). Por ejemplo, si el año pasado se extendió desde el 1 de enero de 2014 hasta el 31 de diciembre de 2014, a continuación, el primer intervalo de tiempo preestablecido de ese período preestablecido abarcaría desde el 1 de enero de 2014 a las 12:00 a. m. al 1 de enero de 2014 a las 12:01 a. m., y el segundo intervalo de tiempo preestablecido de ese período preestablecido abarcaría desde el 1 de enero de 2014 a las 12:01 a. m. al 1 de enero de 2014 a las 12:02 a. m., y así sucesivamente, y el último intervalo de tiempo preestablecido de ese período preestablecido abarcaría desde el 31 de diciembre de 2014 a las 11:58 p. m. al 31 de diciembre de 2014 a las 11:59 p. m.
[0067] En la etapa 602, para una actividad de usuario que coincide con un borde, se determina una hora de inicio asociada con la actividad de usuario y una cantidad de tiempo transcurrido después de la hora de inicio en que la actividad de usuario había coincidido con el borde. En el procedimiento 600, se asume que las actividades de usuario que coinciden con el borde ya se han determinado (por ejemplo, mediante un procedimiento tal como el procedimiento 500 de la FIG. 5). Se considera que cada actividad de usuario coincidente ve la hora de inicio registrada para la actividad de usuario (por ejemplo, la hora de inicio es la hora registrada en la que la actividad de usuario había comenzado) y una cantidad de tiempo (por ejemplo, un número de segundos) en la actividad de usuario antes de que la actividad de usuario hubiera coincidido con el borde. Por ejemplo, hacer coincidir el borde incluye el momento en que los puntos de datos GPS registrados asociados con la actividad de usuario indicaron que la actividad de usuario comenzó a atravesar las ubicaciones del borde. Por ejemplo, suponiendo que la hora de inicio registrada para una actividad de usuario coincidente fue el 21 de septiembre de 2014 a la 1:00 p. m., se determina que el 21 de septiembre de 2014 a la 1:34 p. m., la actividad de usuario realmente comenzó a atravesar el borde. En algunas realizaciones, también se puede determinar una cantidad de tiempo transcurrido después de la hora de inicio de la actividad de usuario antes de que la actividad de usuario hubiera completado el borde (por ejemplo, que hubiese dejado de atravesar el borde). La hora de inicio de la actividad de usuario coincidente y la cantidad de tiempo transcurrido después de la hora de inicio en que la actividad de usuario coincidió con el borde se usan para determinar los tiempos durante los cuales la actividad de usuario coincidente realmente había atravesado el borde.
[0068] En la etapa 604, se determina si hay al menos una actividad de usuario más entre las múltiples actividades de usuario que coinciden con el borde. En el caso de que haya al menos una actividad de usuario coincidente más, el control se transfiere a la etapa 606, donde se aborda la siguiente actividad de usuario. De lo contrario, en el caso de que no haya al menos una actividad de usuario coincidente más, el control se transfiere a la etapa 608.
[0069] En la etapa 608, para un intervalo de tiempo preestablecido durante un período preestablecido, se determinan una o más actividades de usuario de la pluralidad de actividades de usuario que coinciden con el borde en el intervalo de tiempo preestablecido. Para determinar cuál de las actividades de usuario coincidentes coincide con el borde en un intervalo de tiempo preestablecido, se determina si la duración de una actividad de usuario que coincide con el borde, como se determinó anteriormente en la etapa 602, incluye el intervalo de tiempo preestablecido. Por ejemplo, si el intervalo de tiempo preestablecido actual abarcaba el minuto entre el 26 de noviembre de 2014 a las 9:10 a. m. y el 26 de noviembre de 2014 a las 9:11 a. m., a continuación, una primera actividad de usuario que atravesó el borde entre el 26 de noviembre de 2014 a las 8:29 a. m. y el 26 de noviembre de 2014 a las 11:23 a. m. coincidiría con el borde en ese intervalo de tiempo preestablecido, pero una segunda actividad de usuario que atravesó el borde entre el 26 de noviembre de 2014 a la 1:03 p. m. y el 26 de noviembre de 2014 a las 3:45 p. m. no coincidiría con el borde en ese intervalo de tiempo preestablecido.
[0070] En la etapa 610, los metadatos asociados con la una o más actividades de usuario se almacenan con el intervalo de tiempo preestablecido con respecto al borde en un mapa de preferencias de usuario. Los metadatos asociados con aquellas actividades de usuario que coinciden con el borde y se ha determinado que coinciden con el borde en el intervalo de tiempo preestablecido se almacenan, por ejemplo, en una estructura de datos o tabla asociada con ese intervalo de tiempo preestablecido asociado con el borde en el mapa de preferencias de usuario. Como tal, para un borde, se puede usar una estructura o tabla de datos para almacenar los metadatos asociados con la una o más actividades de usuario asociadas con cada intervalo de tiempo preestablecido correspondiente en el período preestablecido. La FIG. 7, a continuación, muestra un ejemplo de dicha tabla que corresponde a un intervalo de tiempo preestablecido particular para un borde.
[0071] Volviendo a la FIG. 6, en la etapa 612, se determina si hay al menos un intervalo de tiempo preestablecido más en el período preestablecido. En el caso de que haya al menos un intervalo de tiempo preestablecido más en el período preestablecido, el control se transfiere a la etapa 614, donde se aborda el siguiente intervalo de tiempo preestablecido. De lo contrario, en el caso de que no haya al menos un intervalo de tiempo preestablecido más en el período preestablecido, el procedimiento 600 finaliza. Hasta que se alcance el último intervalo de tiempo preestablecido del período preestablecido, las etapas 608 a 614 se repiten para cada intervalo de tiempo preestablecido posterior.
[0072] La FIG. 7 es un diagrama que muestra una tabla de ejemplo que se usa para almacenar metadatos asociados con actividades de usuario que coinciden con un borde y están asociados con un intervalo de tiempo preestablecido particular en un período preestablecido según algunas realizaciones. La Tabla 700 almacena los metadatos asociados con cuatro actividades de usuario que coinciden con un borde con respecto a un intervalo de tiempo preestablecido particular. Cada fila de la tabla 700 almacena un conjunto de metadatos asociados con una actividad de usuario que se determinó que coincidía con el borde con respecto al intervalo de tiempo preestablecido particular. En el ejemplo de la tabla 700, el conjunto de metadatos asociado a cada actividad de usuario incluye "ID_Actividad" (un identificador de la actividad de usuario), "ID_Atleta" (un identificador del usuario asociado a la actividad), "¿Viaje al trabajo?" (una indicación de si la actividad tuvo lugar durante un lapso de tiempo de viaje al trabajo), "Género" (un género del usuario asociado con la actividad, si está disponible) y "Edad" (una edad del usuario asociado con la actividad). Por ejemplo, los metadatos en la fila 702 asociados con una actividad de usuario se asocian con un identificador de actividad de 1, un identificador de atleta de 10, una indicación de que tuvo lugar durante un lapso de tiempo de viaje al trabajo, un género masculino y una edad de 23 años. Se puede almacenar una tabla similar a la tabla 700 para cada intervalo de tiempo preestablecido en el período preestablecido y para cada borde en un mapa de preferencias de usuario.
[0073] La FIG. 8 es un diagrama de flujo que muestra un procedimiento para determinar un conjunto de datos de elevación asociados con un borde según algunas realizaciones. En algunas realizaciones, el procedimiento 800 se implementa en el sistema 100 de la FIG. 1. En algunas realizaciones, el procedimiento 800 se usa para implementar la etapa 410, al menos en parte, del procedimiento 400 de la FIG. 4.
[0074] En la etapa 802, una actividad de usuario candidata de datos barométricos se selecciona de entre una pluralidad de actividades de usuario que coinciden con un borde, donde la pluralidad de actividades de usuario se registra mediante una pluralidad de dispositivos de grabación GPS. Se selecciona una actividad de usuario del conjunto de actividades de usuario que se ha determinado que coincide con el borde y se denomina "actividad de usuario candidata de datos barométricos seleccionada".
[0075] En la etapa 804, una elevación registrada correspondiente a cada uno de al menos un subconjunto de una pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos se normaliza en base, al menos en parte, a los datos de elevación obtenidos asociados con el borde. En varias realizaciones, los datos de elevación existentes asociados con el borde se buscan a partir de una fuente de terceros (por ejemplo, el USGS). La elevación registrada correspondiente a cada punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada se normaliza en base, al menos en parte, a los datos de elevación buscados a fin de determinar el conjunto de datos de elevación para el borde.
[0076] En la etapa 806, la elevación registrada normalizada correspondiente a cada uno del al menos subconjunto de la pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos se almacena como un conjunto de datos de elevación asociados con el borde en un mapa de preferencias de usuario. En algunas realizaciones, el conjunto de datos de elevación determinados para el borde se almacena con el borde en un mapa de preferencias de usuario. El conjunto de datos de elevación determinados para el borde describe un perfil de elevación del borde. En varias realizaciones, el mapa de preferencias de usuario puede determinarse como se describió anteriormente.
[0077] En la etapa 808, el conjunto de datos de elevación asociados con el borde en el mapa de preferencias de usuario se usa para determinar una ruta sugerida en base, al menos en parte, a una preferencia de ruta de entrada de usuario asociada con una elevación de ruta deseada. El conjunto de datos de elevación almacenados con el borde en el mapa de preferencias de usuario se puede usar para ayudar en el enrutamiento. En particular, cuando una preferencia de ruta de entrada de usuario está asociada con una elevación de ruta deseada, el conjunto de datos de elevación almacenados con el borde en el mapa de preferencias de usuario puede usarse para determinar si el borde debe incluirse como parte de una ruta sugerida (por ejemplo, entre un extremo de inicio de entrada de usuario y un extremo de entrada de usuario). Por ejemplo, una elevación de ruta deseada puede asociarse con una elevación media deseada de una ruta, una elevación máxima deseada en una ruta o una elevación mínima deseada en una ruta.
[0078] En varias realizaciones, dos fuentes de datos de datos de elevación asociadas con un borde están disponibles y, cuando se usan en conjunto, los datos combinados proporcionan un perfil de elevación altamente preciso agregado a cada borde en un mapa de preferencias de usuario.
[0079] En algunas realizaciones, la primera fuente de datos para datos de elevación es un recurso tal como el USGS (Servicio Geológico de los Estados Unidos), que se compila usando varias técnicas. Este tipo de datos de elevación buscados proporciona una precisión absoluta suficiente. "Precisión absoluta" describe que los valores de elevación buscados proporcionados están cerca de los números correctos y son lo suficientemente precisos para el propósito para el que este procedimiento los usa. Este tipo de datos de elevación buscados, sin embargo, no es lo suficientemente preciso para el propósito de buscar un perfil de elevación para un borde.
[0080] En algunas realizaciones, la segunda fuente de datos para datos de elevación son datos barométricos recopilados por varios dispositivos de registro GPS en asociación con actividades de usuario registradas. Por ejemplo, las series Garmin Edge 305, 500, 800 y 1000, así como también algunos de los teléfonos móviles más nuevos, como la serie iPhone 6, recopilan datos barométricos además de los datos GPS correspondientes. Los datos de elevación capturados por estos dispositivos son altamente precisos en un sentido relativo, lo que significa que la diferencia en el valor de elevación registrado correspondiente a un punto de datos GPS y el valor de elevación registrado correspondiente a un punto de datos GPS inmediatamente sucesivo es altamente precisa. Sin embargo, este tipo de datos de elevación registrados no es preciso en un sentido absoluto. El mismo dispositivo puede registrar valores de elevación en la misma calle de un día para el otro que tienen perfiles idénticos, pero se desplazan por decenas de metros, lo que los hace relativamente muy precisos, pero absolutamente imprecisos.
[0081] En varias realizaciones, los dos tipos de datos de elevación, los datos de elevación buscados y los datos barométricos de actividad de usuario registrados se usan juntos para determinar un conjunto de datos de elevación que describe un perfil de elevación de cada borde en un mapa de preferencias de usuario. La elevación absoluta buscada desde el USGS y similares se usan para "anclar" la elevación barométrica relativamente precisa, lo que hace que los datos de elevación barométrica sean tanto absoluta como relativamente precisos. A continuación, estos datos se agregan a los bordes (por ejemplo, carreteras, caminos y senderos) en los que se registran para futuras búsquedas de enrutamiento y la corrección de elevación de actividades que lo atraviesan, por ejemplo.
[0082] La FIG. 9 es un diagrama de flujo que muestra un ejemplo de un procedimiento para determinar un conjunto de datos de elevación asociados con un borde según algunas realizaciones. En algunas realizaciones, el procedimiento 900 se implementa en el sistema 100 de la FIG. 1. En algunas realizaciones, el procedimiento 900 se usa para implementar el procedimiento 800, al menos en parte, de la FIG. 8.
[0083] En la etapa 902, se obtiene una primera elevación obtenida asociada con un primer extremo de un borde y una segunda elevación obtenida asociada con un segundo extremo del borde. La elevación del inicio del borde y la elevación del final del borde se busca a través del servidor de USGS o el servidor de una fuente de elevación similar. Los extremos de inicio y final del borde se pueden designar inicialmente de manera arbitraria, pero las designaciones permanecerán consistentes a través del procedimiento 900.
[0084] En la etapa 904, una actividad de usuario candidata de datos barométricos se selecciona de entre una pluralidad de actividades de usuario que coinciden con el borde. En el procedimiento 900, se asume que las actividades de usuario que coinciden con el borde ya se han determinado (por ejemplo, mediante un procedimiento tal como el procedimiento 500 de la FIG. 5). Es posible que menos que todas las actividades de usuario coincidentes se registren con datos barométricos (por ejemplo, dependiendo de la disponibilidad de una función de altímetro barométrico en los dispositivos de registro GPS correspondientes). De las actividades de usuario coincidentes que se registran con datos barométricos, se selecciona una de dichas actividades de usuario para actuar como una actividad de usuario de referencia, cuyo conjunto registrado correspondiente de datos GPS se normalizará y, a continuación, se almacenará como el conjunto de datos de elevación asociados con el borde. Esta actividad de usuario de referencia se conoce como la actividad de usuario candidata de datos barométricos seleccionada".
[0085] En algunas realizaciones, para seleccionar la actividad de usuario candidata de datos barométricos, en primer lugar, se calcula la diferencia entre la elevación de inicio del borde buscada y la elevación final buscada. Por ejemplo, supongamos que un borde tiene una elevación de inicio de 100 metros (m) y una elevación final de 110 m. La diferencia entre la elevación de inicio del borde mirando hacia arriba y la elevación final mirando hacia arriba del borde en este ejemplo sería de 10 m. Se obtiene cada una de las actividades de usuario que se ha determinado que coinciden con el borde y las mismas se registran con datos barométricos. Se determina la diferencia entre la elevación de inicio registrada (por ejemplo, la elevación registrada correspondiente al punto de datos GPS de la actividad de usuario que está más cerca del inicio del borde) y la elevación final registrada (por ejemplo, la elevación registrada correspondiente al
punto de datos GPS de la actividad de usuario que está más cerca del final del borde) de cada una de dichas actividades de usuario. A cada una de estas actividades de usuario se le da una clasificación en base a qué tan cerca se compara la diferencia de las elevaciones de inicio y final registradas de la actividad de usuario con la diferencia calculada entre la elevación de inicio del borde buscada y la elevación final buscada del borde. Por ejemplo, la mejor actividad de usuario candidata es la que tiene la diferencia más cercana y, por lo tanto, es la actividad de usuario con la clasificación más alta. Por ejemplo, la mejor actividad de usuario candidata se selecciona de modo tal que sea la "actividad de usuario candidata de datos barométricos".
[0086] En algunas realizaciones, la actividad de usuario candidata de datos barométricos seleccionada se procesará en base a las etapas 906 a 916, pero si la actividad de usuario candidata de datos barométricos seleccionada cumple con una o más condiciones de ignorar, a continuación, la actividad de usuario candidata de datos barométricos seleccionada actual se ignora y se reemplaza con la siguiente actividad de usuario de mayor clasificación de la lista clasificada. Un primer ejemplo de una condición de ignorar es si durante el procedimiento, una pendiente máxima dentro de la elevación registrada normalizada excede una pendiente del 40%, la actividad de usuario candidata de datos barométricos seleccionada es ignorada y se considera y se prueba la siguiente actividad de usuario de mayor clasificación. Un segundo ejemplo de una condición de ignorar es si hay un espacio de registro superior a 40 m o 1 minuto entre dos puntos de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada, a continuación, la actividad de usuario candidata de datos barométricos seleccionada es ignorada y se considera y se prueba la siguiente actividad de usuario de mayor clasificación. La presión barométrica puede cambiar rápidamente, creando la posibilidad de grandes cambios de elevación aparentes si pasa demasiado tiempo entre los puntos de datos GPS registrados. Normalmente, un intervalo de tiempo significa que la actividad de usuario registrada se detuvo parcialmente a través de un borde antes de reanudarse. Sin embargo, este procedimiento requiere datos consistentes y sin fisuras.
[0087] En la etapa 906, una distancia asociada con la actividad de usuario candidata de datos barométricos seleccionada se normaliza en base, al menos en parte, a una distancia asociada con el borde. La distancia de la actividad de usuario candidata de datos barométricos seleccionada desde donde coincidió con el inicio y el final del borde debe normalizarse para que coincida con la distancia del borde, por lo que los puntos de datos g Ps a lo largo del borde donde se colocarán los datos de elevación normalizados corresponden exactamente a los lugares en el borde donde se deben colocar las elevaciones.
[0088] Por ejemplo, si el borde tiene 100 metros de largo y la actividad de usuario candidata de datos barométricos seleccionada tiene 104 metros de largo, a continuación, esos 104 metros deben comprimirse para ajustarse a los 100 metros del borde. En este ejemplo, el intervalo de distancia entre los puntos de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada debe establecerse en el 96,15% de la distancia registrada, lo que hace que la suma de la distancia registrada sea igual a exactamente 100 metros, la misma que la longitud del borde.
[0089] En la etapa 908, cada una de una primera elevación registrada correspondiente a un primer extremo de la actividad de usuario candidata de datos barométricos seleccionada y una segunda elevación registrada correspondiente a un segundo extremo asociado con la actividad de usuario candidata de datos barométricos se normalizan en base, al menos en parte, a una diferencia entre la elevación registrada correspondiente al primer extremo asociado con la actividad de usuario candidata de datos barométricos y la primera elevación obtenida asociada con el primer extremo del borde. En varias realizaciones, los datos de elevación registrados de la actividad de usuario candidata de datos barométricos seleccionada que coincidieron con el inicio y el final del borde se normalizan para que coincidan con la elevación buscada del inicio y el final del borde para garantizar un perfil de elevación sin fisuras y liso para el borde.
[0090] La primera etapa en la normalización de los datos de elevación de la actividad de usuario candidata de datos barométricos seleccionada es normalizar la elevación de inicio registrada de la actividad de usuario candidata de datos barométricos seleccionada al mismo valor que la elevación de inicio buscada del borde. La cantidad que se normaliza la elevación de inicio registrada de la actividad de usuario candidata de datos barométricos seleccionada se convierte en la línea de base con la que se normaliza la elevación registrada correspondiente a cada punto de datos GPS posterior de la actividad de usuario candidata de datos barométricos seleccionada, de modo que la elevación final normalizada de la actividad de usuario candidata de datos barométricos seleccionada se vuelva igual a la elevación final buscada del borde.
[0091] En la etapa 910, se determina una diferencia entre la segunda elevación registrada normalizada correspondiente al segundo extremo asociado con la actividad de usuario candidata de datos barométricos seleccionada y la segunda elevación obtenida asociada con el segundo extremo del borde. Se determina la diferencia entre la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada y la elevación final buscada del borde.
[0092] Por ejemplo, si el borde tiene una elevación de inicio buscada de 100 m y una elevación final buscada de 110 m y la actividad de usuario candidata de datos barométricos seleccionada tiene una elevación barométrica de inicio registrada de 120 m y una elevación barométrica final registrada de 132 m, la primera etapa es reducir tanto la elevación barométrica de inicio registrada como la elevación barométrica final registrada en 20 m (la diferencia entre la elevación barométrica de inicio registrada de 120 m y la elevación de inicio buscada de 100 m, haciendo así que las elevaciones registradas normalizadas sean de 100 m y 112 m, respectivamente). Esto hace que la elevación de inicio registrada de la actividad de usuario candidata de datos barométricos seleccionada sea la misma que la elevación de inicio buscada del borde, y la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada sea 2 m más alta que la elevación final buscada del borde.
[0093] En la etapa 912, una elevación registrada correspondiente a un punto de datos actual de la actividad de usuario candidata de datos barométricos seleccionada se normaliza en base, al menos en parte, a una cantidad de normalización de elevación asociada con un punto de datos anterior de la actividad de usuario candidata de datos barométricos seleccionada. En varias realizaciones, cada punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada se itera a través de y la elevación registrada correspondiente de cada punto de datos GPS actual se normaliza en base, al menos en parte, a la cantidad de normalización aplicada al punto de datos GPS anterior de la actividad de usuario candidata de datos barométricos seleccionada. En algunas realizaciones, la elevación registrada de cada punto de datos GPS actual se normaliza en base a la cantidad de normalización aplicada al punto de datos GPS anterior de la actividad de usuario candidata de datos barométricos seleccionada, la distancia de intervalo entre el punto de datos GPS actual y el punto de datos GPS anterior con respecto a la distancia del borde, y la diferencia entre la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada y la elevación final buscada del borde. Por ejemplo, la elevación registrada para el punto de datos GPS actual se normaliza por la cantidad de normalización aplicada al punto de datos GPS anterior además de una cantidad determinada multiplicando el porcentaje de la distancia del intervalo entre el punto de datos GPS actual y el punto de datos GPS anterior de la actividad de usuario candidata de datos barométricos seleccionada para la distancia total del borde y la diferencia entre la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada y la elevación final buscada del borde.
[0094] Volviendo al ejemplo descrito con la etapa 912, la diferencia entre el valor de elevación final registrado normalizado y el valor final buscado del borde es de 2 m. La distancia del borde es de 100 m. Si el punto de datos GPS registrado actual, que es el punto de datos GPS que es inmediatamente posterior al punto de datos GPS registrado al inicio del borde, está a 5 m del punto de datos GPS anterior al inicio del borde (la distancia de intervalo entre el punto de datos GPS actual y el punto de datos GPS anterior es del 5% de la distancia del borde), el producto del 5% y la diferencia de elevación total entre el valor de elevación final registrado normalizado y el valor final buscado del borde (es decir, 2 m) es de 0,1 m. Dado que la cantidad de normalización de la elevación registrada de los datos anteriores fue de 10 m, a continuación, la elevación registrada correspondiente al punto de datos GPS actual sería de (10 0,1 =) 10,1 m. Por lo tanto, la elevación registrada correspondiente al punto de datos GPS actual se normaliza restando 10,1 m del valor de elevación registrado original correspondiente al punto de datos GPS actual.
[0095] Las FIG. 10A a 10D, a continuación, describen un ejemplo de normalización de la elevación registrada de cada punto de datos GPS posterior en una actividad de usuario candidata de datos barométricos seleccionada.
[0096] Volviendo a la FIG. 9, en la etapa 914, se determina si hay al menos un punto de datos más en la actividad de usuario candidata de datos barométricos seleccionada. En el caso de que haya al menos un punto de datos GPS más en la actividad de usuario candidata de datos barométricos seleccionada, el control se transfiere a la etapa 916. De lo contrario, en el caso de que no haya al menos un punto de datos GPS más en la actividad de usuario candidata de datos barométricos seleccionada, el procedimiento 900 finaliza.
[0097] En la etapa 916, se selecciona un siguiente punto de datos de la actividad de usuario candidata de datos barométricos seleccionada. El control regresa a la etapa 912 para continuar la normalización en la elevación registrada para este punto de datos GPS posterior de la actividad de usuario candidata de datos barométricos seleccionada.
[0098] Después de aplicar el procedimiento 900, la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada debe ajustarse para que coincida con la elevación final buscada del borde. El conjunto normalizado de elevaciones correspondiente a los respectivos puntos de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada se puede usar como el conjunto de datos de elevación asociados con el borde. En algunas realizaciones, el conjunto normalizado de elevaciones correspondiente a los respectivos puntos de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada se almacena como el conjunto de datos de elevación asociados con el borde en el mapa de preferencias de usuario.
[0099] Las FIG. 10A a 10E muestran un ejemplo de normalización de los datos de elevación asociados con una actividad de usuario candidata de datos barométricos seleccionada para servir como el conjunto de datos de elevación para un borde. Como se ilustrará con las FIG. 10A a 10E, la cantidad que la elevación registrada de cada punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada se normaliza lleva al siguiente punto de datos GPS. Como tal, para el momento en que la elevación registrada correspondiente al último punto de datos GPS (por ejemplo, el punto de datos GPS al final del borde) se va a normalizar, su elevación registrada se puede normalizar por una cantidad que será igual a la diferencia entre la elevación final buscada del borde y la elevación final registrada original.
[0100] La FIG. 10A es un diagrama que muestra un ejemplo de datos de elevación registrados y buscados asociados con un borde según algunas realizaciones. En el ejemplo de la FIG. 10A, el borde es de 100 m y ya se ha seleccionado una actividad de usuario candidata de datos barométricos para el borde. Hay 11 puntos de datos GPS registrados para la actividad de usuario candidata de datos barométricos seleccionada que abarcan el inicio y el final del borde. La elevación registrada para cada uno de los 11 puntos de datos GPS registrados está representada por un pequeño círculo blanco en el diagrama, tal como el círculo 1002. Es posible que la distancia de la actividad de usuario candidata de datos barométricos seleccionada ya se haya normalizado para que coincida con la distancia del borde. Como se muestra en el ejemplo, la elevación de inicio buscada del borde es de 100 m, la elevación final buscada del borde es de 110 m, la elevación registrada del primer punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada al inicio del borde (la "elevación de inicio registrada") es de 120 m, y la elevación registrada del último punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada al final del borde (la "elevación final registrada") es de 132 m. Tal como se describe en la etapa 908 del procedimiento 900 de la FIG. 9, cada una de la elevación de inicio registrada y la elevación final registrada de la actividad de usuario candidata de datos barométricos seleccionada se normalizará por la diferencia entre la elevación de inicio registrada (120 m) y la elevación de inicio buscada (100 m), que es de 20 m.
[0101] La FIG. 10B es un diagrama que muestra un ejemplo de normalización de la elevación barométrica de inicio registrada y la elevación barométrica final registrada de una actividad de usuario candidata de datos barométricos que se seleccionó para un borde según algunas realizaciones. Para continuar con el ejemplo de la FIG. 10A, después de que cada una de la elevación de inicio registrada y la elevación final registrada de la actividad de usuario candidata de datos barométricos seleccionada se normaliza (reduce) en 20 m, la elevación de inicio registrada normalizada y la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada son ahora 100 y 112 m, respectivamente. La cantidad de normalización para la elevación de inicio registrada normalizada correspondiente al punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada al inicio del borde, A 1, es de 20 m. Si bien que la elevación de inicio registrada normalizada de 100 m ahora coincide con la elevación de inicio buscada de 100 m, la elevación de final registrada normalizada de 112 m sigue siendo 2 m mayor que la elevación final buscada de 110 m. Como tal, la elevación registrada de cada punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada posterior al primer punto de datos GPS al inicio del borde, incluyendo la elevación final registrada originalmente correspondiente al punto de datos GPS asociado con el final del borde, se normaliza/ajusta iterativamente, de modo que la elevación final registrada normalizada coincida con la elevación final buscada.
[0102] La FIG. 10C es un diagrama que muestra un ejemplo de normalización de la elevación barométrica registrada correspondiente a un segundo punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada según algunas realizaciones. Para continuar con el ejemplo de la FIG. 10B, a continuación, se normalizará la elevación registrada correspondiente al punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada registrada inmediatamente después del punto de datos GPS al inicio del borde (el segundo punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada).. Como se muestra en el diagrama, la distancia de intervalo entre el punto de datos GPS anterior, que está a 0 m con respecto al inicio del borde, y el punto de datos GPS actual, que está a 10 m con respecto al inicio del borde, es de 10 m. Tal como se describe con la etapa 910 del procedimiento 900 de la FIG. 9, la elevación registrada del punto de datos GPS actual se normaliza en base a la cantidad de normalización aplicada al punto de datos GPS anterior de la actividad de usuario candidata de datos barométricos seleccionada, la distancia de intervalo entre el punto de datos GPS actual y el punto de datos GPS anterior con respecto a la distancia del borde, y la diferencia entre la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada y la elevación final buscada del borde. En el ejemplo de la FIG. 10C, la cantidad de normalización aplicada al punto de datos GPS anterior de la actividad de usuario candidata de datos barométricos seleccionada, A1, es de 20 m, la distancia de intervalo entre el punto de datos GPS actual y el punto de datos GPS anterior con respecto a la distancia del borde es de 10 m, y la diferencia entre la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada y la elevación final buscada del borde, como se describió anteriormente, es de 2 m. Como tal, la cantidad de normalización que se aplicará a la elevación registrada del punto de datos GPS actual es A2 = A1 (10/100) * 2 = 20 0,2 = 20,2 m. Como se muestra en el diagrama, la elevación registrada original correspondiente al segundo punto de datos GPS actual de la actividad de usuario candidata de datos barométricos seleccionada se reduce en A2 = 20,2 m.
[0103] La FIG. 10D es un diagrama que muestra un ejemplo de normalización de la elevación barométrica registrada correspondiente a un tercer punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada según algunas realizaciones. Para continuar con el ejemplo de la FIG. 10C, la elevación registrada correspondiente al tercer punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada se normalizará a continuación. Como se muestra en el diagrama, la distancia de intervalo entre el punto de datos GPS anterior, que está a 10 m con respecto al inicio del borde, y el punto de datos GPS actual, que está a 20 m con respecto al inicio del borde, es de 10 m. Tal como se describe con la etapa 910 del procedimiento 900 de la FIG. 9 y con el ejemplo de la FIG. 10C, la elevación registrada del punto de datos GPS actual se normaliza en base a la cantidad de normalización aplicada al punto de datos GPS anterior de la actividad de usuario candidata de datos barométricos seleccionada, la distancia de intervalo entre el punto de datos GPS actual y el punto de datos GPS anterior con respecto a la distancia del borde, y la diferencia entre la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada y la elevación final buscada del borde. En el ejemplo de la FIG.
10D, la cantidad de normalización aplicada al punto de datos GPS anterior de la actividad de usuario candidata de datos barométricos seleccionada, A 2, es de 20,2 m, la distancia de intervalo entre el punto de datos GPS actual y el punto de datos GPS anterior con respecto a la distancia del borde es de 10 m, y la diferencia entre la elevación final registrada normalizada de la actividad de usuario candidata de datos barométricos seleccionada y la elevación final buscada del borde, como se describió anteriormente, es de 2 m. Como tal, la cantidad de normalización que se aplicará a la elevación registrada del punto de datos GPS actual es A3 = A2 (10/100) * 2 = 20,2 0,2 = 20,4 m. Como se muestra en el diagrama, la elevación registrada original correspondiente al tercer punto de datos GPS actual de la actividad de usuario candidata de datos barométricos seleccionada se reduce en A3 = 20,4 m.
[0104] Las cantidades de normalización aplicadas a cada uno de los puntos de datos GPS cuarto, quinto, sexto, séptimo, octavo, noveno y décimo de la actividad de usuario candidata de datos barométricos seleccionada no se muestran en la FIG. 10D. La distancia de intervalo entre cada punto de datos GPS posterior y su punto de datos GPS anterior en la actividad de usuario candidata de datos barométricos seleccionada es de 10 m. Las cantidades de normalización respectivas aplicadas a los puntos de datos GPS cuarto, quinto, sexto, séptimo, octavo, noveno y décimo de la actividad de usuario candidata de datos barométricos seleccionada, que son, respectivamente, A4, A5, A6, A7, A8, A9 y A10, son las siguientes:
A4 = A3 (10/100) * 2 = 20,4 0,2 = 20,6 m
A5 = A4 (10/100) * 2 = 20,6 0,2 = 20,8 m
A6 = A5 (10/100) * 2 = 20,8 0,2 = 21,0 m
A7 = A6 (10/100) * 2 = 21,0 0,2 = 21,2 m
A8 = A7 (10/100) * 2 = 21,2 0,2 = 21,4 m
A9 = A8 (10/100) * 2 = 21,4 0,2 = 21,6 m
A10 = A9 (10/100) * 2 = 21,6 0,2 = 21,8 m
[0105] La FIG. 10E es un diagrama que muestra un ejemplo de normalización de la elevación barométrica registrada correspondiente al punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada al final del borde según algunas realizaciones. Para continuar con el ejemplo de la FIG. 10D, eventualmente, después de iterar y aplicar cantidades de normalización respectivas al cuarto, quinto, sexto, séptimo, octavo, noveno y décimo punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada, el undécimo y último punto de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada, el punto de datos GPS al final del borde se normalizará. La cantidad de normalización que se aplicará al punto de datos GPS al final del borde A11 se determina mediante A11 = A10 (10/100) * 2 = 21,8 0,2 = 22,0 m. Como se muestra en el diagrama, la elevación final registrada original de 132 m (no la elevación final registrada anteriormente normalizada de 110 m) correspondiente al último punto de datos GPS actual de la actividad de usuario candidata de datos barométricos seleccionada se reduce en A11 = 22,0 m (la diferencia entre la elevación final buscada y la elevación final registrada original) para proporcionar una elevación final registrada normalizada de 110 m, que es la misma que la elevación final buscada.
[0106] Como se muestra en los diagramas de las FIG. 10A a 10E, como resultado del procedimiento de normalización de elevación, las elevaciones de inicio y final registradas normalizadas se ajustan para que coincidan con la elevación final buscada. El conjunto de elevaciones registradas normalizadas correspondientes a los respectivos puntos de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada se almacena como el conjunto de datos de elevación asociados con el borde. En varias realizaciones, el conjunto de datos de elevación calculados para un borde se almacena con el borde en un mapa de preferencias de usuario. El conjunto de elevaciones registradas normalizadas correspondientes a los respectivos puntos de datos GPS de la actividad de usuario candidata de datos barométricos seleccionada comprende un perfil de elevación preciso del borde y se puede usar para proporcionar sugerencias de enrutamiento con respecto al borde en respuesta a una preferencia de ruta de entrada de usuario asociada con la elevación de ruta deseada. En algunas realizaciones, el conjunto de datos de elevación asociados con el borde se almacena como una serie de valores de elevación absolutos en algunas realizaciones, y el conjunto de datos de elevación asociados con el borde se almacena como una serie de valores de elevación relativos, donde cada valor de elevación posterior representa un cambio (por ejemplo, desplazamiento) con respecto al valor de elevación anterior.
[0107] La FIG. 11 es un diagrama que muestra un ejemplo de una presentación de un mapa de preferencias de usuario según algunas realizaciones. El mapa de preferencias de usuario presentado se genera en base a los datos de actividad de usuario agregados asociados con un tipo de actividad particular (por ejemplo, hacer ciclismo o correr). El ejemplo de la FIG. 11 muestra varios bordes del mapa base en el que se basó el mapa de preferencias de usuario. Como se describió anteriormente, los metadatos de las actividades de usuario que coinciden con cada borde se almacenan con cada borde en el mapa de preferencias de usuario. En varias realizaciones, una actividad de usuario que se determina que coincide con un borde es una actividad de usuario que se determina que ha atravesado el borde en su totalidad (por ejemplo, desde un extremo del borde al otro extremo). Un mapa de preferencias de usuario se puede presentar mostrando al menos una parte de los metadatos de las actividades de usuario que coinciden con cada borde. En el ejemplo de la FIG. 11, el mapa de preferencias de usuario se presenta mostrando cada borde en una sombra de escala de grises que representa la cantidad de actividades de usuario coincidentes que se determinó que coincidían con ese borde. En el ejemplo de la FIG. 11, cuanto más oscuro es el tono de la escala de grises de un borde, mayor es el número de actividades de usuario que se determinó que coincidían con el borde y, por lo tanto, más popular es el borde. Por ejemplo, de los tres bordes 1102, 1104 y 1106 que se presentan en el mapa de preferencias de usuario, el borde 1102 se muestra en el tono más oscuro de la escala de grises y, por lo tanto, es el borde más popular de los tres, el borde 1104 se muestra en el segundo tono más oscuro de la escala de grises y, por lo tanto, es el segundo más popular de los tres, y el borde 1106 se muestra en el tono más claro de la escala de grises y, por lo tanto, es el menos popular de los tres.
[0108] El ejemplo de la FIG. 11 simplemente muestra una presentación ejemplar de un mapa de preferencias de usuario. En algunas realizaciones, la presentación del mapa de preferencias de usuario puede ajustarse en base, al menos en parte, a una o más entradas de usuario, como se describirá con las FIG. 12 a 14 a continuación.
[0109] La FIG. 12 es un diagrama de flujo que muestra un procedimiento para determinar una o más rutas sugeridas usando un mapa de preferencias de usuario según algunas realizaciones. En algunas realizaciones, el procedimiento 1200 se implementa en el sistema 100 de la FIG. 1. En algunas realizaciones, el procedimiento 1200 se usa para implementar la etapa 306, al menos en parte, del procedimiento 300 de la FIG. 3.
[0110] El procedimiento 1200 describe un procedimiento ejemplar para permitir que un usuario planifique rutas en base a las preferencias de ruta deseadas usando un mapa de preferencias de usuario. El procedimiento 1200 permite que el usuario personalice la presentación de los datos almacenados en el mapa de preferencias de usuario para que se adapte a sus preferencias de ruta. En algunas realizaciones, el procedimiento 1200 se puede realizar antes o después de una actividad de usuario. En algunas realizaciones, el procedimiento 1200 se puede realizar durante una actividad de usuario en curso.
[0111] En la etapa 1202, se recibe una solicitud para proporcionar una ruta desde un primer extremo a un segundo extremo. La solicitud se puede recibir a través de una interfaz de usuario de un dispositivo. Cada uno del primer extremo y el segundo extremo representa información geográfica asociada con un inicio y un final de una ruta deseada. En un primer ejemplo, cada uno del primero y el segundo extremo puede ser introducido por un usuario a medida que caen los marcadores en una aplicación de mapa. En un segundo ejemplo, cada uno del primero y el segundo extremo puede ser introducido por un usuario como coordenadas GPS. En un tercer ejemplo, cada uno del primero y el segundo extremo puede ser introducido por un usuario como direcciones. En varias realizaciones, la solicitud para proporcionar la ruta también puede incluir un tipo de actividad.
[0112] En la etapa 1204, se reciben una o más preferencias de ruta. También se reciben entradas de usuario adicionales, incluidas las preferencias de ruta. Por ejemplo, las preferencias de ruta también se pueden recibir a través de una interfaz de usuario de un dispositivo y/o a partir de datos de perfil almacenados asociados con el usuario. Por ejemplo, las preferencias de ruta pueden ser introducidas por un usuario que realiza varias selecciones en la interfaz de usuario. En varias realizaciones, las preferencias de ruta describen las características deseadas de una ruta. Los ejemplos de preferencias de ruta pueden incluir uno o más de los siguientes: una distancia deseada de la ruta, un tipo de superficie deseado asociado con la ruta, una elevación deseada (por ejemplo, media o más alta) asociada con una ruta, un grado deseado de popularidad asociado con la ruta, un uso de energía deseado asociado con la ruta y una preferencia por si la ruta debe ser la ruta más pintoresca o la ruta de distancia más corta entre el primer extremo y el segundo extremo.
[0113] Otra preferencia de ruta puede incluir un lapso de tiempo asociado con cuándo se desea atravesar la ruta.
[0114] En la etapa 1206, una o más rutas sugeridas se determinan usando un mapa de preferencias de usuario en base, al menos en parte, al primer extremo, el segundo extremo y la una o más preferencias de ruta. Se recupera un mapa de preferencias de usuario almacenado asociado con el tipo de actividad especificado en la solicitud. Las entradas de usuario del primer extremo, el segundo extremo y la una o más preferencias de ruta se comparan con los metadatos asociados con cada borde del mapa de preferencias de usuario para encontrar la una o más rutas sugeridas entre el primer extremo y el segundo extremo que mejor coincida con las preferencias de ruta. En algunas realizaciones, una ruta comprende uno o más bordes. Por ejemplo, primero se determina un conjunto de bordes que se pueden atravesar desde el primer extremo y el segundo extremo y, a continuación, se comparan los metadatos almacenados con cada borde con las preferencias de usuario para determinar una o más rutas, incluyendo cada una uno o más bordes, que mejor coincidan con las preferencias de usuario. En el caso de que se recibiera un lapso de tiempo como una preferencia de ruta de usuario, a continuación, por ejemplo, solo se usan los metadatos almacenados para bordes dentro del lapso de tiempo especificado para determinar una o más rutas, incluyendo cada una uno o más bordes, que mejor coincidan con las preferencias de ruta de entrada de usuario.
[0115] La o las rutas determinadas se presentan como rutas sugeridas.
[0116] En la etapa 1208, se presentan una o más rutas sugeridas. Las rutas sugeridas se presentan en una aplicación de mapa que se muestra en una interfaz de usuario. En algunas realizaciones, la información adicional asociada con cada ruta sugerida también se presenta con cada ruta sugerida en la interfaz de usuario. Por ejemplo, la información adicional asociada con cada ruta sugerida puede incluir la distancia total de la ruta, la elevación asociada con varias ubicaciones a lo largo de la ruta, el tiempo de travesía previsto, el o los tipos de superficie asociados con la ruta, una popularidad asociada de la ruta, un uso de energía previsto asociado con la ruta y si se espera que la ruta sea pintoresca o no.
[0117] La FIG. 13 es un diagrama que muestra un ejemplo de presentación de una ruta sugerida según algunas realizaciones. En algunas realizaciones, la ruta sugerida 1314 se determinó usando un mapa de preferencias de usuario y un procedimiento tal como el procedimiento 1200 de la FIG. 12. En algunas realizaciones, la ruta sugerida 1314 entre el primer extremo 1302 y el segundo extremo 1304 que se presenta en un mapa en una interfaz de usuario en el ejemplo de la FIG. 13 se presenta en respuesta a la recepción de varias entradas de usuario en la interfaz de usuario. Un usuario dejó caer el primer extremo 1302 y el segundo extremo 1304 como marcadores en el mapa. Se recibieron otras entradas de usuario asociadas con las preferencias de ruta a través de las selecciones en la interfaz de usuario. La selección de tipo de actividad de "paseo" 1310 fue seleccionada por un usuario para indicar que deseaba recibir una ruta sugerida que se determina en base a las actividades de usuario de ciclismo. El botón "Usar popularidad" 1306 fue seleccionado por un usuario para indicar que deseaba recibir una ruta sugerida entre el primer extremo 1302 y el segundo extremo 1304 que es popular entre los usuarios. El botón "Elevación mínima" 1308 fue seleccionado por un usuario para indicar que deseaba recibir una ruta sugerida entre el primer extremo 1302 y el segundo extremo 1304 que minimiza la elevación. La ruta sugerida 1314 fue una ruta que se determinó usando el mapa de preferencias de usuario para que coincidiera mejor con las entradas de usuario recibidas. En el área 1312 se muestra información adicional sobre la ruta sugerida 1314. La información adicional incluye la indicación de que el tipo de ruta es para una actividad de ciclismo, la distancia de la ruta (11,7 millas, es decir, 18,7 km), la ganancia de elevación (503 pies, es decir, 151 metros), el tiempo de movimiento estimado (46:51 minutos) y el perfil de elevación a lo largo de varios puntos de la ruta.
[0118] La FIG. 14 es un diagrama de flujo que muestra un procedimiento para determinar una presentación de un mapa de preferencias de usuario según algunas realizaciones. En algunas realizaciones, el procedimiento 1400 se implementa en el sistema 100 de la FIG. 1.
[0119] El procedimiento 1400 describe un procedimiento ejemplar para permitir que un usuario personalice la presentación de un mapa de preferencias de usuario asociado con un lapso de tiempo específico. Como se describió anteriormente, en algunas realizaciones, los metadatos almacenados con bordes en el mapa de preferencias de usuario están asociados con intervalos de tiempo. El procedimiento 1400 permite al usuario filtrar los metadatos almacenados con bordes en el mapa de preferencias de usuario que no están asociados con el lapso de tiempo especificado, que puede incluir uno o más intervalos de tiempo. Visualizar los datos de actividad de usuario del mapa de preferencias de usuario que coincide con el lapso de tiempo especificado puede ayudar a un usuario, tal como un planificador de la ciudad, a comprender los patrones de tráfico durante diferentes momentos del día, estaciones del año, donde hay construcción de carreteras, antes y/o después de, por ejemplo, la instalación de una nueva pieza de infraestructura, etc.
[0120] En la etapa 1402, se recibe una solicitud para proporcionar un mapa asociado con los datos de actividad de usuario asociados con un lapso de tiempo específico. La solicitud se puede recibir a través de una interfaz de usuario de un dispositivo. El lapso de tiempo especificado describe los tiempos/duraciones en que los datos de actividad de usuario son de interés para un usuario. En un primer ejemplo, el lapso de tiempo especificado puede comprender un período de tiempo a través de múltiples días (por ejemplo, horarios de viaje al trabajo por la mañana y por la noche a lo largo del último año). En un segundo ejemplo, el lapso de tiempo especificado puede comprender un período de tiempo durante un solo día (por ejemplo, de 5:00 a. m. a 10:00 a. m., el 13 de junio de 2014). En varias realizaciones, la solicitud para proporcionar la ruta también puede incluir un tipo de actividad.
[0121] En la etapa 1404, se determina el mapa que incluye los datos de actividad de usuario que coinciden con el lapso de tiempo especificado. Se recupera un mapa de preferencias de usuario almacenado asociado con el tipo de actividad especificado en la solicitud. Se consultan y obtienen los metadatos almacenados con bordes en el mapa de preferencias de usuario que coinciden con el lapso de tiempo especificado. Por ejemplo, al menos un atributo de los metadatos obtenidos almacenados con cada borde en el mapa de preferencias de usuario se puede visualizar y mostrar en el mapa. Por ejemplo, el número de actividades de usuario que se determinó que coincidían con cada borde puede considerarse como un grado de popularidad asociado con ese borde. Las popularidades de los diferentes bordes se pueden visualizar y mostrar en el mapa de manera tal que se puedan presentar las popularidades relativas de los bordes.
[0122] En la etapa 1406, se presenta el mapa que incluye los datos de actividad de usuario que coinciden con el lapso de tiempo especificado. Por ejemplo, los bordes más populares pueden mostrarse en una opacidad diferente o un color diferente al de los bordes menos populares.
[0123] En algunas realizaciones, el procedimiento 1400 puede realizarse dos o más veces para determinar mapas asociados con diferentes lapsos, de tiempo de modo que el usuario pueda observar una comparación entre las características de las actividades de usuario en cada uno de esos diferentes lapsos de tiempo. En algunas realizaciones, se puede crear un mapa delta entre dos mapas generados en diferentes lapsos de tiempo para mostrar más claramente la diferencia en los datos de actividad de usuario durante esos dos tiempos diferentes. Este mapa delta se puede presentar en una interfaz de usuario.
[0124] 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 dentro del alcance de las reivindicaciones adjuntas. Las realizaciones descritas son ilustrativas y no restrictivas.

Claims (14)

REIVINDICACIONES
1. Un sistema que comprende:
un motor de determinación de elevación (212) configurado para:
seleccionar (802) una actividad de usuario candidata de datos barométricos de entre una pluralidad de actividades de usuario que coincide con un borde, donde la actividad de usuario candidata de datos barométricos comprende una actividad de usuario seleccionada, registrada con datos barométricos;
normalizar (804) una elevación registrada correspondiente a cada uno de al menos un subconjunto de una pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos seleccionada en base, al menos en parte, a los datos de elevación obtenidos asociados con el borde; y
almacenar (806) la elevación registrada normalizada correspondiente a cada uno del al menos subconjunto de la pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos como un conjunto de datos de elevación asociados con el borde en un mapa de preferencias de usuario; y
un motor de consulta de mapa (216) configurado para usar (808) el conjunto de datos de elevación asociados con el borde en el mapa de preferencias de usuario para determinar una ruta sugerida en base, al menos en parte, a una preferencia de ruta de entrada de usuario asociada con una elevación de ruta deseada;
caracterizado porque el motor de determinación de elevación está configurado además para seleccionar la actividad de usuario candidata de datos barométricos de la pluralidad de actividades de usuario que coinciden con el borde, lo que se logra al:
determinar un subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos;
determinar una diferencia respectiva entre una elevación de inicio registrada y una elevación final registrada asociada con cada uno del subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos;
obtener una primera elevación obtenida asociada con un primer extremo del borde y una segunda elevación obtenida asociada con un segundo extremo del borde;
determinar una diferencia entre la primera elevación obtenida asociada con el primer extremo del borde y la segunda elevación obtenida asociada con el segundo extremo del borde; clasificar el subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos en una lista clasificada en base, al menos en parte, a comparar la diferencia respectiva asociada con cada actividad de usuario del subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos con la diferencia entre la primera elevación obtenida asociada con el primer extremo del borde y la segunda elevación obtenida asociada con el segundo extremo del borde; y determinar la actividad de usuario candidata de datos barométricos seleccionada en base, al menos en parte, a la lista clasificada.
2. El sistema de la reivindicación 1, donde el sistema comprende además un motor de recopilación de datos de elevación (206) configurado para obtener los datos de elevación obtenidos, asociados con el borde, de una fuente de terceros.
3. El sistema de la reivindicación 1, donde la pluralidad de actividades de usuario que coinciden con el borde se determina mediante un motor de agregación de datos de mapa (210) configurado para:
generar (502) un búfer respectivo en cada una de una o más ubicaciones a lo largo del borde;
incluir (504) una actividad de usuario que coincide con el búfer respectivo en cada una de la una o más ubicaciones a lo largo del borde, en las múltiples actividades de usuario que coinciden con el borde; y
filtrar (506) cualquier actividad de usuario de la pluralidad de actividades de usuario que coincida con el borde que comprende puntos no contiguos a través del búfer respectivo en cada una de la una o más ubicaciones a lo largo del borde.
4. El sistema de la reivindicación 1, en el que el motor de determinación de elevación (212) está configurado además para normalizar (804) una distancia asociada con la actividad de usuario candidata de datos barométricos seleccionada en base, al menos en parte, a una distancia asociada con el borde.
5. Un procedimiento que comprende:
seleccionar (802) una actividad de usuario candidata de datos barométricos de entre una pluralidad de actividades de usuario que coinciden con un borde, donde la actividad de usuario candidata de datos barométricos comprende una actividad de usuario seleccionada, registrada con datos barométricos;
normalizar (804), usando un procesador, una elevación registrada correspondiente a cada uno de al menos un subconjunto de una pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos seleccionada en base, al menos en parte, a los datos de elevación obtenidos asociados con el borde; almacenar (806) la elevación registrada normalizada correspondiente a cada uno del al menos subconjunto de la pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos como un conjunto de datos de elevación asociados con el borde en un mapa de preferencias de usuario; y usar (808) el conjunto de datos de elevación asociados con el borde en el mapa de preferencias de usuario para determinar una ruta sugerida en base, al menos en parte, a una preferencia de ruta de entrada de usuario asociada con una elevación de ruta deseada; caracterizado porque la selección de la actividad de usuario candidata de datos barométricos de la pluralidad de actividades de usuario que coinciden con el borde comprende: determinar un subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos;
determinar una diferencia respectiva entre una elevación de inicio registrada y una elevación final registrada asociada con cada uno del subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos;
obtener una primera elevación obtenida asociada con un primer extremo del borde y una segunda elevación obtenida asociada con un segundo extremo del borde;
determinar una diferencia entre la primera elevación obtenida asociada con el primer extremo del borde y la segunda elevación obtenida asociada con el segundo extremo del borde; clasificar el subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos en una lista clasificada en base, al menos en parte, a comparar la diferencia respectiva asociada con cada actividad de usuario del subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos con la diferencia entre la primera elevación obtenida asociada con el primer extremo del borde y la segunda elevación obtenida asociada con el segundo extremo del borde; y determinar la actividad de usuario candidata de datos barométricos seleccionada en base, al menos en parte, a la lista clasificada.
6. El procedimiento de la reivindicación 5, que comprende además obtener los datos de elevación obtenidos, asociados con el borde, de una fuente de terceros.
7. El procedimiento de la reivindicación 5, en el que la pluralidad de actividades de usuario que coinciden con el borde se determina al:
generar (502) un búfer respectivo en cada una de una o más ubicaciones a lo largo del borde;
incluir (504) una actividad de usuario que coincide con el búfer respectivo en cada una de la una o más ubicaciones a lo largo del borde en la pluralidad de actividades de usuario que coincide con el borde; y
filtrar (506) cualquier actividad de usuario de las múltiples actividades de usuario que coinciden con el borde que comprende puntos no contiguos a través del búfer respectivo en cada una de la una o más ubicaciones a lo largo del borde.
8. El sistema de la reivindicación 1 o el procedimiento de la reivindicación 5, donde, en el caso de que la actividad de usuario candidata de datos barométricos seleccionada cumpla con una condición de ignorar, que comprende además seleccionar otra actividad de usuario de la lista clasificada para usar como la actividad de usuario candidata de datos barométricos seleccionada.
9. El sistema de la reivindicación 1 o el procedimiento de la reivindicación 5, donde además comprende normalizar una distancia asociada con la actividad de usuario candidata de datos barométricos seleccionada en base, al menos en parte, a una distancia asociada con el borde.
10. El sistema de la reivindicación 1 o el procedimiento de la reivindicación 5, donde normalizar la elevación registrada correspondiente a cada uno de al menos el subconjunto de la pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos seleccionada en base. al menos en parte, a los datos de elevación obtenidos asociados con el borde comprende:
obtener una primera elevación obtenida asociada con un primer extremo del borde y una segunda elevación obtenida asociada con un segundo extremo del borde;
normalizar cada una de una primera elevación registrada correspondiente a un primer extremo de la actividad de usuario candidata de datos barométricos seleccionada y una segunda elevación registrada correspondiente a un segundo extremo asociado con la actividad de usuario candidata de datos barométricos en base, al menos en parte, a una primera diferencia entre la elevación registrada correspondiente al primer extremo asociado con la actividad de usuario candidata de datos barométricos seleccionada y la primera elevación obtenida asociada con el primer extremo del borde;
determinar una segunda diferencia entre la segunda elevación registrada normalizada correspondiente al segundo extremo asociado con la actividad de usuario candidata de datos barométricos seleccionada y la segunda elevación obtenida asociada con el segundo extremo del borde;
para una elevación registrada respectiva correspondiente a cada punto de datos de la actividad de usuario candidata de datos barométricos seleccionada que no sea el primer extremo de la actividad de usuario candidata de datos barométricos seleccionada: normalizar esa elevación registrada respectiva en base, al menos en parte, a una normalización de elevación asociada con un punto de datos anterior con respecto a ese punto de datos de la actividad de usuario candidata de datos barométricos seleccionada, la segunda diferencia y una distancia entre el punto de datos anterior y ese punto de datos.
11. El sistema o el procedimiento de la reivindicación 10, donde la elevación registrada correspondiente a ese punto de datos de la actividad de usuario candidata de datos barométricos seleccionada se normaliza adicionalmente en base, al menos en parte, a la distancia entre el punto de datos anterior y ese punto de datos con respecto a una distancia asociada con el borde.
12. El sistema de la reivindicación 1 o el procedimiento de la reivindicación 5, donde el conjunto de datos de elevación comprende uno o más valores de elevación absolutos.
13. El sistema de la reivindicación 1 o el procedimiento de la reivindicación 5, donde el conjunto de datos de elevación comprende uno o más valores de elevación relativos.
14. Un producto de programa informático, estando el producto de programa informático incorporado en un medio de almacenamiento legible por ordenador no transitorio y comprendiendo instrucciones informáticas para: seleccionar (802) una actividad de usuario candidata de datos barométricos de entre una pluralidad de actividades de usuario que coincide con un borde, donde la actividad de usuario candidata de datos barométricos comprende una actividad de usuario seleccionada, registrada con datos barométricos;
normalizar (804) una elevación registrada correspondiente a cada uno de al menos un subconjunto de una pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos seleccionad en base, al menos en parte, a los datos de elevación obtenidos asociados con el borde;
almacenar (806) la elevación registrada normalizada correspondiente a cada uno del al menos subconjunto de la pluralidad de puntos de datos asociados con la actividad de usuario candidata de datos barométricos como un conjunto de datos de elevación asociados con el borde en un mapa de preferencias de usuario; y
usar (808) el conjunto de datos de elevación asociados con el borde en el mapa de preferencias de usuario para determinar una ruta sugerida en base, al menos en parte, a una preferencia de ruta de entrada de usuario asociada con una elevación de ruta deseada; caracterizado porque la selección de la actividad de usuario candidata de datos barométricos de la pluralidad de actividades de usuario que coinciden con el borde comprende: determinar un subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos;
determinar una diferencia respectiva entre una elevación de inicio registrada y una elevación final registrada asociada con cada uno del subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos;
obtener una primera elevación obtenida asociada con un primer extremo del borde y una segunda elevación obtenida
asociada con un segundo extremo del borde;
determinar una diferencia entre la primera elevación obtenida asociada con el primer extremo del borde y la segunda elevación obtenida asociada con el segundo extremo del borde;
clasificar el subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos en una lista clasificada en base, al menos en parte, a comparar la diferencia respectiva asociada con cada actividad de usuario del subconjunto de la pluralidad de actividades de usuario que coincide con el borde que se registra con datos barométricos con la diferencia entre la primera elevación obtenida asociada con el primer extremo del borde y la segunda elevación obtenida asociada con el segundo extremo del borde; y
determinar la actividad de usuario candidata de datos barométricos seleccionada basándose al menos en parte en la lista clasificada.
ES14869089T 2013-12-11 2014-12-10 Generación de datos de elevación para mapas Active ES2818076T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361914859P 2013-12-11 2013-12-11
US14/564,911 US9267798B2 (en) 2013-12-11 2014-12-09 Generating elevation data for maps
PCT/US2014/069579 WO2015089201A1 (en) 2013-12-11 2014-12-10 Generating elevation data for maps

Publications (1)

Publication Number Publication Date
ES2818076T3 true ES2818076T3 (es) 2021-04-09

Family

ID=53270825

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14869089T Active ES2818076T3 (es) 2013-12-11 2014-12-10 Generación de datos de elevación para mapas

Country Status (4)

Country Link
US (5) US9267798B2 (es)
EP (1) EP3080724B1 (es)
ES (1) ES2818076T3 (es)
WO (2) WO2015089144A2 (es)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2203715A1 (en) 2007-10-26 2010-07-07 TomTom International B.V. A method and machine for generating map data and a method and navigation device for determining a route using map data
CN105430032A (zh) * 2014-09-17 2016-03-23 阿里巴巴集团控股有限公司 结合终端地理位置推送信息的方法及服务器
US10429192B2 (en) * 2015-09-16 2019-10-01 Strava, Inc. Generating trail network maps
DE102015222464A1 (de) * 2015-11-13 2017-05-18 Robert Bosch Gmbh Verfahren zur Ermittlung von Radstrecken, Verfahren zur Radstreckenanfrage, Servervorrichtung und Fahrradnavigationsvorrichtung
US11144107B2 (en) 2015-12-01 2021-10-12 Amer Sports Digital Services Oy Apparatus and method for presenting thematic maps
US11210299B2 (en) 2015-12-01 2021-12-28 Amer Sports Digital Services Oy Apparatus and method for presenting thematic maps
DE102016012597A1 (de) * 2015-12-01 2017-06-01 Suunto Oy Vorherbestimmung einer Betätigung auf der Grundlage einer thematischen Karte
US11215457B2 (en) 2015-12-01 2022-01-04 Amer Sports Digital Services Oy Thematic map based route optimization
US11137820B2 (en) 2015-12-01 2021-10-05 Amer Sports Digital Services Oy Apparatus and method for presenting thematic maps
US11587484B2 (en) 2015-12-21 2023-02-21 Suunto Oy Method for controlling a display
US11284807B2 (en) 2015-12-21 2022-03-29 Amer Sports Digital Services Oy Engaging exercising devices with a mobile device
US11541280B2 (en) 2015-12-21 2023-01-03 Suunto Oy Apparatus and exercising device
GB2545668B (en) 2015-12-21 2020-05-20 Suunto Oy Sensor based context management
US11838990B2 (en) 2015-12-21 2023-12-05 Suunto Oy Communicating sensor data in wireless communication systems
DE102016015065A1 (de) 2015-12-21 2017-06-22 Suunto Oy Aktivitätsintensitätspegel-Bestimmungsfeld
CN107102833B (zh) * 2016-02-22 2020-01-10 腾讯科技(深圳)有限公司 线路信息互动方法及电子设备
US10024675B2 (en) * 2016-05-10 2018-07-17 Microsoft Technology Licensing, Llc Enhanced user efficiency in route planning using route preferences
DE102017009171A1 (de) 2016-10-17 2018-04-19 Amer Sports Digital Services Oy Eingebettete rechenvorrichtung
US11703938B2 (en) 2016-10-17 2023-07-18 Suunto Oy Embedded computing device
US10274327B2 (en) 2016-12-29 2019-04-30 Fastzach, Llc Configurable routes
CN116465428A (zh) 2017-06-02 2023-07-21 苹果公司 提供轻度导航引导
US20190178672A1 (en) * 2017-12-08 2019-06-13 Uber Technologies, Inc Personalized bicycle route guidance using stored profile
JP6991053B2 (ja) * 2017-12-14 2022-01-12 フォルシアクラリオン・エレクトロニクス株式会社 車載装置、情報提示方法
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
EP3715790A1 (en) 2019-03-29 2020-09-30 Naver Corporation System and method for generating tours
US20220252421A1 (en) * 2019-07-09 2022-08-11 Honda Motor Co., Ltd. Vehicle control device, vehicle control method, and storage medium
JP7417384B2 (ja) * 2019-08-29 2024-01-18 株式会社Subaru 情報処理装置、情報処理方法、プログラム、情報処理システム
CN117274462B (zh) * 2023-10-31 2024-02-13 腾讯科技(深圳)有限公司 道路地图的渲染方法、装置、电子设备和存储介质
CN117237560B (zh) * 2023-11-10 2024-02-23 腾讯科技(深圳)有限公司 一种数据处理方法和相关装置

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3633850A (en) * 1969-01-06 1972-01-11 Lewis Feldman Flexible sail rotor devices
US4359733A (en) * 1980-09-23 1982-11-16 Neill Gerard K O Satellite-based vehicle position determining system
US5178010A (en) * 1990-06-20 1993-01-12 Better Boating Association, Inc. Continuous graphical display of barometric data
US6606034B1 (en) * 1995-07-31 2003-08-12 Honeywell International Inc. Terrain awareness system
US6138060A (en) 1995-07-31 2000-10-24 Alliedsignal Inc. Terrain awareness system
US5839080B1 (en) * 1995-07-31 2000-10-17 Allied Signal Inc Terrain awareness system
US6691004B2 (en) * 1995-07-31 2004-02-10 Honeywell International, Inc. Method for determining a currently obtainable climb gradient of an aircraft
US6292721B1 (en) 1995-07-31 2001-09-18 Allied Signal Inc. Premature descent into terrain visual awareness enhancement to EGPWS
US5828332A (en) 1996-03-11 1998-10-27 Imaging Accessories, Inc. Automatic horizontal and vertical scanning radar with terrain display
US6529827B1 (en) 1999-11-01 2003-03-04 Garmin Corporation GPS device with compass and altimeter and method for displaying navigation information
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
AU2002255568B8 (en) * 2001-02-20 2014-01-09 Adidas Ag Modular personal network systems and methods
US6798378B1 (en) 2002-11-22 2004-09-28 Garmin Ltd. Device and method for displaying track characteristics
US7805149B2 (en) 2004-01-16 2010-09-28 Adidas Ag Location-aware fitness training device, methods, and program products that support real-time interactive communication and automated route generation
US6856897B1 (en) * 2003-09-22 2005-02-15 Navteq North America, Llc Method and system for computing road grade data
US7254516B2 (en) * 2004-12-17 2007-08-07 Nike, Inc. Multi-sensor monitoring of athletic performance
US7610151B2 (en) 2006-06-27 2009-10-27 Microsoft Corporation Collaborative route planning for generating personalized and context-sensitive routing recommendations
US8121785B2 (en) 2007-08-28 2012-02-21 Garmin Switzerland Gmbh Bicycle computer having position-determining functionality
US9782660B2 (en) 2007-11-30 2017-10-10 Nike, Inc. Athletic training system and method
US9409052B2 (en) 2008-10-03 2016-08-09 Adidas Ag Program products, methods, and systems for providing location-aware fitness monitoring services
US20100184564A1 (en) 2008-12-05 2010-07-22 Nike, Inc. Athletic Performance Monitoring Systems and Methods in a Team Sports Environment
US9532734B2 (en) 2010-08-09 2017-01-03 Nike, Inc. Monitoring fitness using a mobile device
EP2659226A1 (en) * 2010-12-31 2013-11-06 Tomtom Germany GmbH & Co. KG Graph based topological map matching
US9291713B2 (en) * 2011-03-31 2016-03-22 Strava, Inc. Providing real-time segment performance information
CN110057375B (zh) 2012-06-05 2023-11-14 耐克创新有限合伙公司 用于提供路线信息和热图的活动监测系统
JP5949425B2 (ja) 2012-10-15 2016-07-06 株式会社デンソー エリアマップ提供システム、端末装置、及びサーバ装置
WO2014071051A1 (en) * 2012-10-31 2014-05-08 Mapmyfitness, Inc. System and method for personal and peer performance ranking of outdoor activities
US9087234B2 (en) * 2013-03-15 2015-07-21 Nike, Inc. Monitoring fitness using a mobile device

Also Published As

Publication number Publication date
WO2015089144A2 (en) 2015-06-18
WO2015089201A1 (en) 2015-06-18
US9778053B2 (en) 2017-10-03
US20150160026A1 (en) 2015-06-11
WO2015089144A3 (en) 2015-11-12
US9297651B2 (en) 2016-03-29
US10240939B2 (en) 2019-03-26
EP3080724B1 (en) 2020-06-10
EP3080724A4 (en) 2017-10-18
US9267798B2 (en) 2016-02-23
EP3080724A1 (en) 2016-10-19
US9803989B2 (en) 2017-10-31
US20180045524A1 (en) 2018-02-15
US20160161273A1 (en) 2016-06-09
US20160109248A1 (en) 2016-04-21
US20150160027A1 (en) 2015-06-11

Similar Documents

Publication Publication Date Title
ES2818076T3 (es) Generación de datos de elevación para mapas
Mun et al. PEIR, the personal environmental impact report, as a platform for participatory sensing systems research
ES2744865T3 (es) Validación de segmento
ES2730376T3 (es) Determinación empírica de expertos y sistema y procedimiento de envío de preguntas
Oliveira et al. On the regularity of human mobility
JP5748900B2 (ja) リアルタイムセグメントパフォーマンス情報の提供
US11009362B2 (en) Generating trail network maps
US20150292894A1 (en) Travel route
CN108139227B (zh) 用于视频图示、选择和同步的基于位置的服务工具
US10228258B2 (en) Determining top venues from aggregated user activity location data
Alivand et al. Extracting scenic routes from VGI data sources
Bergman et al. Conflation of OpenStreetMap and mobile sports tracking data for automatic bicycle routing
CN107861992A (zh) 一种跑步路线处理方法和装置
Haworth Investigating the potential of activity tracking app data to estimate cycle flows in urban areas
Mucceli et al. On the regularity of human mobility
Tiwari et al. User category based estimation of location popularity using the road GPS trajectory databases
CN110827657B (zh) 一种景区内游览路线的显示方法及显示装置
Strelnikova et al. Comparing the suitability of Strava and Endomondo GPS tracking data for bicycle travel pattern analysis
Jianchuan et al. Smartphone-based travel survey: A pilot study in China
Dymkov TRAVEL ROUTE PLANNING AND TRACKING APPS
Reinwald et al. Possibilities and Opportunities of Mobile Devices to Measure the Physical (In) Activity of Young Citizens–First Results of a Case Study in Vienna
BALLETTO et al. WAVE, WALK AND BIKE TOURISM
Brier et al. Indiana Trails Report