IP Library Granted Patent US 10,217,033
Granted Patent B2
US 10,217,033 · App. 15/799,400 · Granted Feb 26, 2019

System and method for generating a map from activity data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,217,033
App. No.
15/799,400
Granted
Feb 26, 2019
Kind
B2
Abstract

A method for generating a graph includes receiving GPS data points for a plurality of GPS tracks. Thereafter, points of greater curvature in the GPS tracks are identified. The method further includes determining a plurality of nodes for the graph based on the identified points of greater curvature in the GPS tracks. Additionally, the method includes determining a plurality of connections between the nodes, the plurality of nodes and the plurality of connections defining the graph.

Claims (36)

1. A method for generating a graph, the method comprising:

receiving GPS data points for a plurality of GPS tracks;

simplifying the GPS tracks to provide GPS data for simplified GPS tracks, wherein simplifying the GPS tracks includes reducing the GPS data points for each of the GPS tracks by applying an iterative end-point fit algorithm to said GPS track, the iterative end-point fit algorithm using an error parameter that is dependent upon a sport associated with said GPS track, and then identifying points of greater curvature in the GPS tracks;

clustering the identified points of greater curvature;

determining a plurality of nodes for the graph based on the clustered identified points of greater curvature in the GPS tracks; and

determining a plurality of connections between the nodes, the nodes and the connections defining the graph.

2. The method of claim 1 wherein determining the connections between the nodes includes determining a sequence of closest nodes based on the received GPS data points for each of the GPS tracks.

3. The method of claim 2 wherein determining the connections between the nodes further includes removing redundant nodes from the sequence of closest nodes.

4. The method of claim 1 wherein the GPS data points for the GPS tracks are received over a network from a plurality of GPS-enabled devices during fitness activities.

5. The method of claim 1 further comprising defining at least one primary connection between a pair of nodes, and defining at least one secondary connection between the pair of nodes.

6. The method of claim 5 wherein defining the at least one secondary connection between the pair of nodes comprises interpolating a same number of GPS points between the pair of nodes and clustering the GPS points in order to group the GPS points into distinct paths.

7. The method of claim 5 wherein defining the at least one secondary connection between the pair of nodes comprises defining a plurality of intermediate nodes between the pair of nodes.

8. The method of claim 1 further comprising receiving additional GPS data points for an additional GPS track related to the defined graph, determining that at least one additional connection exists between the nodes of the graph based upon the additional GPS data points, and updating the graph to include the at least one additional connection.

9. A non-transitory computer readable medium containing instructions for generating a graph by:

receiving GPS data points for a plurality of GPS tracks;

simplifying the GPS tracks by reducing the GPS data points for each of the GPS tracks by applying an iterative end-point fit algorithm to said GPS track, the iterative end-point fit algorithm using an error parameter that is dependent upon a sport associated with said GPS track;

identifying points of greater curvature in the GPS tracks;

clustering the identified points of greater curvature;

determining a plurality of nodes for the graph based on the clustered identified points of greater curvature in the GPS tracks; and

determining a plurality of connections between the nodes, the nodes and the connections defining the graph.

10. The computer readable medium of claim 9 wherein identifying the points of greater curvature includes simplifying the GPS tracks to produce GPS data for simplified GPS tracks and clustering the GPS data for the simplified GPS tracks to identify the points of greater curvature.

11. The computer readable medium of claim 9 wherein determining the connections between the nodes includes determining a sequence of closest nodes based on the received GPS data points for each of the GPS tracks.

12. The computer readable medium of claim 11 wherein determining the connections between the nodes further includes removing redundant nodes from the sequence of closest nodes.

13. The computer readable medium of claim 9 wherein the GPS data points for the GPS tracks are received over a network from a plurality of GPS-enabled devices.

14. The computer readable medium of claim 9 further containing instructions for generating a graph by defining at least one primary connection between a pair of nodes, and defining at least one secondary connection between the pair of nodes.

15. The computer readable medium of claim 14 wherein defining the at least one secondary connection between the pair of nodes comprises interpolating a same number of GPS points between the pair of nodes and clustering the GPS points in order to group the GPS points into distinct paths.

16. The computer readable medium of claim 14 wherein defining the at least one secondary connection between the pair of nodes comprises defining a plurality of intermediate nodes between the pair of nodes.

17. A method for generating a graph, the method comprising:

receiving GPS data points for a plurality of GPS tracks, the GPS data points for the GPS tracks received from a plurality of GPS-enabled devices during fitness activities;

identifying points of greater curvature for each of the plurality of GPS tracks and simplifying the GPS tracks to the identified points of greater curvature, wherein simplifying the GPS tracks to the identified points of greater curvature comprises (i) defining an error parameter, (ii) defining a line extending between two points of a subset of GPS data points for each of the GPS tracks, (iii) determining a point of the subset that is a farthest distance from the defined line, and (iv) maintaining the determined point as a point of greater curvature if the farthest distance is greater than the defined error parameter;

clustering the GPS data points identified as the points of greater curvature;

determining a plurality of nodes for the graph based on the clustered GPS data points;

determining a sequence of closest nodes for a plurality of GPS data points for each of the GPS tracks;

reducing the sequence of closest nodes for each of the GPS tracks by removing redundant nodes from the sequence; and

determining a plurality of connections between the nodes based on the reduced sequence of closest nodes for each of the GPS tracks.

18. The method of claim 17 further comprising defining at least one primary connection between a pair of nodes, and defining at least one secondary connection between the pair of nodes.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Aug 29, 2024
From: JPMORGAN CHASE BANK, N.A.
To: UNDER ARMOUR, INC.
Reel/Frame 068443/0652 →
SECURITY INTEREST Recorded May 13, 2020
From: UNDER ARMOUR, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 052654/0756 →