IP Library Granted Patent US 9,939,276
Granted Patent B2
US 9,939,276 · App. 15/009,552 · Granted Apr 10, 2018

Simplifying GPS data for map building and distance calculation

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 9,939,276
App. No.
15/009,552
Granted
Apr 10, 2018
Kind
B2
Abstract

A tracking server receives GPS data from a location tracking device located in a vehicle. The GPS data describes a path that is representative of a pathway of the vehicle used to complete a trip from a starting location to a destination location. The tracking server identifies noisy GPS data included in the received GPS data and revises a portion of path corresponding to the noisy GPS data. The tracking server may update a map database to include one or more road segments associated with the revised portion of the path. Furthermore, the tracking server may calculate a fare for the trip based on the revised path.

Claims (70)

1. A computer-implemented method for calculating a fare for a trip, the method comprising:

receiving global positioning satellite (GPS) data for a vehicle describing a trip by the vehicle from a starting location to a destination location along a path;

predicting a path of travel of the vehicle from the starting location to the destination location based on known road segments in a map database and the GPS data of the vehicle;

identifying a plurality of candidate GPS points from the GPS data that are potentially inaccurate due to noise in the GPS data, the candidate GPS points located along a portion of the path and the plurality of candidate GPS points corresponding to geographical positions that are not associated with known road segments in the map database;

simplifying the portion of the path;

determining whether to include in the path the simplified portion of the path or a portion of the predicted path of travel that corresponds to the plurality of candidate GPS points based on a set of rules;

selecting either the simplified portion of the path or the portion of the predicted path of travel to include in the path based on the determination;

revising the path based on the selection;

calculating a fare for the trip from the starting location to the destination location based on the revised path; and

transmitting information about the fare for the trip to a computing device associated with a user account.

2. The computer-implemented method of claim 1 , wherein the GPS data is received from a location tracking device located in the transportation vehicle.

3. The computer-implemented method of claim 1 , wherein identifying the plurality of candidate GPS points comprises:

comparing GPS points from the GPS data to the predicted path of travel;

determining an accuracy of each GPS point based on the comparison of each GPS point to the predicted path of travel; and

determining the plurality of candidate GPS points based on the accuracy of each of the plurality of GPS points.

4. The computer-implemented method of claim 1 , wherein simplifying the portion of the path comprises:

applying a Ramer-Douglas-Peucker algorithm to the plurality of candidate GPS points to generate the simplified portion.

5. The computer-implemented method of claim 1 , wherein the set of rules includes a rule requiring that the plurality of candidate GPS points include a threshold amount of GPS points, the method further comprising:

counting a number of GPS points included in the plurality of candidate GPS points;

comparing the count to a threshold; and

selecting the simplified portion for inclusion in the revised path based on the count exceeding the threshold.

6. The computer-implemented method of claim 1 , wherein the set of rules includes a rule requiring that elapsed times between measurement of each of the plurality of candidate GPS points is less than a threshold, the method further comprising:

determining an amount of time that elapsed from when the location tracking device measured each sequential pair of candidate GPS points included in the plurality of candidate GPS points;

comparing the amount of time to the threshold; and

selecting the simplified portion for inclusion in the revised path based on each amount of time being less than the threshold.

7. The computer-implemented method of claim 1 , wherein the set of rules includes a rule requiring that the speed of the transportation vehicle when the plurality of candidate GPS points were measured be less than a speed threshold, the method further comprising:

calculating a speed of the transportation vehicle between each sequential pair of candidate GPS points when the plurality of candidate GPS points were measured;

comparing the calculated speed to the speed threshold; and

selecting the simplified portion for inclusion in the revised path responsive to the calculated speed being less than the speed threshold.

8. The computer-implemented method of claim 1 , wherein the set of rules includes a rule requiring that the accuracy of the plurality of candidate GPS points be less than an accuracy threshold, the method further comprising:

calculating a median accuracy of the plurality of candidate GPS point with respect to the predicted path of travel of the vehicle; and

selecting the simplified portion for inclusion in the revised path responsive to the median accuracy being less than the accuracy threshold.

9. The computer-implemented method of claim 1 , wherein calculating the fare comprises:

determining a distance traveled by the vehicle based on the revised path; and

calculating the fare for the trip based, at least in part, on the determined distance.

10. The computer-implemented method of claim 1 , the method further comprising:

updating the map database to include one or more road segments corresponding to the geographical positions of the plurality of candidate GPS points based on the path being revised to include the simplified portion.

11. A computer-implemented method for calculating a fare for a trip, the method comprising:

receiving global positioning satellite (GPS) data for a vehicle describing a trip by the vehicle from a starting location to a destination location along a path;

predicting a path of travel of the vehicle from the starting location to the destination location based on known road segments and the GPS data of the vehicle and;

identifying a plurality of candidate GPS points from the GPS data that are potentially inaccurate due to noise in the GPS data, the candidate GPS points located along a portion of the path;

simplifying the portion of the path;

determining whether to include in the path the simplified portion of the path or a portion of the predicted path of travel that corresponds to the plurality of candidate GPS points based on a set of rules, wherein the set of rules includes a neighbor rule specifying to select the simplified path of travel for inclusion in the final path of travel based on an accuracy of GPS points that neighbor the plurality of GPS points associated with the simplified portion, the determination comprising;

identifying, from the GPS data of the vehicle, a first plurality of sequentially ordered GPS points that were received prior to the plurality of candidate GPS points associated with the simplified portion being received;

identifying, from the GPS data of the vehicle, a second plurality of sequentially ordered GPS points that were received after the plurality of candidate GPS points associated with the simplified portion were received;

identifying a first accuracy associated with the first plurality of sequentially ordered GPS points and a second accuracy associated with the second plurality of sequentially ordered GPS points; and

selecting the simplified portion for inclusion in the revised path based on the first accuracy and the second accuracy;

revising the path to include the simplified portion;

calculating a fare for the trip from the starting location to the destination location based on the revised path; and

transmitting information about the fare for the trip to a computing device associated with a user account.

12. A computer program product comprising a non-transitory computer readable storage medium storing executable code for calculating a fare for a trip, the code when executed by one or more computer processors causes the one or more computer processors to perform steps comprising:

receiving global positioning satellite (GPS) data for a vehicle describing a trip by the vehicle from a starting location to a destination location along a path;

predicting a path of travel of the vehicle from the starting location to the destination location based on known road segments in a map database and the GPS data of the vehicle;

identifying a plurality of candidate GPS points from the GPS data that are potentially inaccurate due to noise in the GPS data, the candidate GPS points located along a portion of the path and the plurality of candidate GPS points corresponding to geographical positions that are not associated with known road segments in the map database;

simplifying the portion of the path;

determining whether to include in the path the simplified portion of the path or a portion of the predicted path of travel that corresponds to the plurality of candidate GPS points based on a set of rules;

selecting either the simplified portion of the path or the portion of the predicted path of travel to include in the path based on the determination;

revising the path based on the selection;

calculating a fare for the trip from the starting location to the destination location based on the revised path; and

transmitting information about the fare for the trip to a computing device associated with a user account.

13. The computer program product of claim 12 , wherein the GPS data is received from a location tracking device located in the transportation vehicle.

14. The computer program product of claim 12 , wherein identifying the plurality of candidate GPS points comprises:

comparing GPS points from the GPS data to the predicted path of travel;

determining an accuracy of each GPS point based on the comparison of each GPS point to the predicted path of travel; and

determining the plurality of candidate GPS points based on the accuracy of each of the plurality of GPS points.

15. The computer program product of claim 12 , wherein simplifying the portion of the path comprises:

applying a Ramer-Douglas-Peucker algorithm to the plurality of candidate GPS points to generate the simplified portion.

16. The computer program product of claim 12 , wherein calculating the fare comprises:

determining a distance traveled by the vehicle based on the revised path; and

calculating the fare for the trip based, at least in part, on the determined distance.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 3, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069110/0508 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT (TERM LOAN) AT REEL 050767, FRAME 0076 Recorded Sep 11, 2024
From: MORGAN STANLEY SENIOR FUNDING, INC. AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 069133/0167 →
RELEASE OF SECURITY INTEREST Recorded Mar 10, 2021
From: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
To: UBER TECHNOLOGIES, INC.
Reel/Frame 055547/0404 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0076 →
SECURITY INTEREST Recorded Oct 18, 2019
From: UBER TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 050767/0109 →
CORRECTIVE ASSIGNMENT TO CORRECT THE PROPERTY NUMBER PREVIOUSLY RECORDED AT REEL: 45853 FRAME: 418. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 26, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 049259/0064 →
SECURITY INTEREST Recorded Apr 6, 2018
From: UBER TECHNOLOGIES, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 045853/0418 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 12, 2016
From: CUI, SOPHIA; NGUYEN, THI DUONG; SUMERS, THEODORE RUSSELL; YU, MIAO; ZHANG, XINGWEN
To: UBER TECHNOLOGIES, INC.
Reel/Frame 037725/0180 →