Method and System for Dynamic Estimation and Predictive Route Generation
The preferred embodiments of the present invention are directed to methods and systems for dynamic route estimation and prediction using discrete sampled location updates from various mobile devices for the purpose of providing a graphical representation of a mobile device's route along a known network path of map data. The embodiments also provide supplemental route metrics, such as traveled distance, elapsed time, etc., and the capability to assign destination points for the purpose of providing the ability to modify location update points in an application, such as a route planner, and/or to store the dynamically generated route based on various preferences for later retrieval.
1 . A method comprising:
receiving, at a server, first data comprising a plurality of location updates from a plurality of transportation provider mobile devices, each of the plurality of transportation provider mobile devices corresponding to a respective one of a plurality of transportation providers and each of the plurality of location updates representing a location of a respective one of the plurality of transportation providers at a particular time;
causing the display of a plurality of indicators on a graphical representation of a map, each of the plurality of indicators corresponding to a current position of a respective one of the plurality of transportation providers based on a respective one of the plurality of location updates;
receiving, at the server from a customer mobile device, second data comprising a pickup location for a customer associated with the customer mobile device; and
computing a preferred transportation provider from among the plurality of transportation providers to provide transportation for the customer based on the first data and the second data.
2 . The method of claim 1 , further comprising dispatching the preferred transportation provider to the pickup location.
3 . The method of claim 2 , wherein the dispatching the preferred transportation provider comprises transmitting information about the pickup location to the mobile device corresponding to the preferred transportation provider.
4 . The method of claim 3 , further comprising:
calculating a route for the preferred transportation provider based on a location of the preferred transportation provider relative to the pickup location.
5 . The method of claim 4 , wherein the dispatching the preferred transportation provider comprises transmitting the calculated route to the mobile device corresponding to the preferred transportation provider.
6 . The method of claim 1 , further comprising:
receiving a location update from the mobile device corresponding to the preferred transportation provider; and
updating a location of the preferred transportation provider in response to the receiving of the location update from the mobile device corresponding to the preferred transportation provider.
7 . The method of claim 1 , further comprising causing the indicators to be displayed on the map together with the pickup location.
8 . The method of claim 1 , wherein the first data further comprises a size or a type of a vehicle.
9 . The method of claim 8 , further comprising causing an indicator of the size or the type of the vehicle to be displayed.
10 . The method of claim 1 , wherein the second data further comprises a size or a type of the preferred transportation provider.
11 . A method comprising:
receiving, from a server, first data comprising a plurality of location updates of a plurality of transportation provider mobile devices, each of the plurality of transportation provider mobile devices corresponding to a respective one of a plurality of transportation providers and each of the plurality of location updates representing a location of a respective one of the plurality of transportation providers at a particular time;
obtaining second data comprising a pickup location for a customer associated with a customer mobile device;
displaying a plurality of indicators on a graphical representation of a map, each of the plurality of indicators corresponding to a position of a respective one of the plurality of transportation providers based on the first data;
displaying on the graphical representation of a map, together with the indicators corresponding to the positions of the transportation providers, an indicator corresponding to the pickup location based on the second data; and
displaying information about an estimated time of travel of at least one of the plurality of transportation providers to the pickup location based on the first data and the second data.
12 . The method of claim 11 , wherein the at least one of the plurality of transportation providers about which the estimated time of travel is displayed is selected from among the plurality of transportation providers as a preferred transportation provider based on a relationship between the first data and the second data.
13 . The method of claim 12 , further comprising causing a dispatch of the preferred transportation provider to the pickup location.
14 . The method of claim 11 , further comprising displaying information about a type or a size of a vehicle of at least one of the plurality of transportation providers.
15 . The method of claim 11 , further comprising receiving a selection of a desired attribute of a vehicle.
16 . The method of claim 15 , wherein the displaying the plurality of indicators comprises displaying only desired ones of the indicators.
17 . The method of claim 11 , further comprising receiving information about a desired destination location.
18 . The method of claim 17 , further comprising displaying a route from the pickup location to the desired destination location on the map.
19 . The method of claim 11 , further comprising receiving, from the server, updated first data.
20 . The method of claim 19 , further comprising repeatedly updating the display of the plurality of indicators based on the updated first data.
21 . The method of claim 20 , further comprising receiving updated second data comprising another pickup location; and
updating the display of the plurality of indicators based on the updated first data and the updated second data.
22 . The method of claim 19 , further comprising displaying information about an updated estimated time of travel of at least one of the plurality of transportation providers to the pickup location based on the updated first data.
23 . The method of claim 11 , wherein the second data is obtained from a global position system (GPS) device
24 . A server apparatus comprising:
at least one memory comprising computer executable instructions; and
at least one processor configured to execute the computer executable instructions, the computer executable instructions causing the least one processor to perform:
receiving first data comprising a plurality of location updates from a plurality of transportation provider mobile devices, each of the plurality of transportation provider mobile devices corresponding to a respective one of a plurality of transportation providers and each of the plurality of location updates representing a location of a respective one of the plurality of transportation providers at a particular time;
causing the display of a plurality of indicators on a graphical representation of a map, each of the plurality of indicators corresponding to a current position of a respective one of the plurality of transportation providers;
receiving from a customer mobile device second data comprising a pickup location for a customer associated with the customer mobile device; and
computing a preferred transportation provider from among the plurality of transportation providers to provide transportation for the customer based on the first data and the second data.
25 . The apparatus of claim 24 , further comprising dispatching the preferred transportation provider to the pickup location.
26 . The apparatus of claim 25 , wherein the dispatching the preferred transportation provider comprises transmitting information about the pickup location to the mobile device corresponding to the preferred transportation provider.
27 . The apparatus of claim 26 , wherein the computer executable instructions further cause the least one processor to perform:
calculating a route for the preferred transportation provider based on a location of the preferred transportation provider relative to the pickup location.
28 . The apparatus of claim 27 , wherein the dispatching the preferred transportation provider comprises transmitting the calculated route to the mobile device corresponding to the preferred transportation provider.
29 . The apparatus of claim 24 , wherein the computer executable instructions further cause the least one processor to perform:
receiving a location update from the mobile device corresponding to the preferred transportation provider; and
updating a location of the preferred transportation provider in response to the receiving of the location update from the mobile device corresponding to the preferred transportation provider.
30 . The apparatus of claim 24 , wherein the indicators are displayed on the map together with the pickup location.
31 . The apparatus of claim 24 , wherein the first data further comprises a size or a type of a vehicle.
32 . The apparatus of claim 31 , wherein the computer executable instructions further cause the least one processor to perform:
causing the display of an indicator of the size or the type of the vehicle.
33 . A computing apparatus comprising:
at least one memory comprising computer executable instructions; and
at least one processor configured to execute the computer executable instructions, the computer executable instructions causing the least one processor to perform:
receiving first data comprising a plurality of location updates of a plurality of transportation provider mobile devices, each of the plurality of transportation provider mobile devices corresponding to a respective one of a plurality of transportation providers and each of the plurality of location updates representing a location of a respective one of the plurality of transportation providers at a particular time;
obtaining second data comprising a pickup location for a customer associated with a customer mobile device;
displaying a plurality of indicators on a graphical representation of a map, each of the plurality of indicators corresponding to a position of a respective one of the plurality of transportation providers based on the first data;
displaying on the graphical representation of the map, together with the indicators corresponding to the positions of the transportation providers, an indicator corresponding to the pickup location based on the second data; and
displaying information about an estimated time of travel of at least one of the plurality of transportation providers to the pickup location based on the first data and the second data.
34 . The apparatus of claim 33 , wherein the at least one of the plurality of transportation providers about which the estimated time of travel is displayed is selected from among the plurality of transportation providers as a preferred transportation provider based on a relationship between the first data and the second data.
35 . The apparatus of claim 34 , wherein the computer executable instructions further cause the least one processor to perform:
causing a dispatch of the preferred transportation provider to the pickup location.
36 . The apparatus of claim 33 , wherein the computer executable instructions further cause the least one processor to perform:
displaying information about a type or a size of a vehicle.
37 . The apparatus of claim 33 , wherein the computer executable instructions further cause the least one processor to perform:
receiving a selection of a desired attribute of a vehicle.
38 . The apparatus of claim 37 , wherein the displaying the plurality of indicators comprises displaying only desired ones of the indicators.
39 . The apparatus of claim 33 , wherein the computer executable instructions further cause the least one processor to perform:
receiving information about a desired destination location.
40 . The apparatus of claim 39 , wherein the computer executable instructions further cause the least one processor to perform:
displaying a route from the pickup location to the desired destination location on the map.
41 . The apparatus of claim 33 , wherein the computer executable instructions further cause the least one processor to perform:
receiving, from the server, updated first data.
42 . The apparatus of claim 41 , wherein the computer executable instructions further cause the least one processor to perform:
repeatedly updating the display of the plurality of indicators based on the updated first data.
43 . The apparatus of claim 42 , wherein the computer executable instructions further cause the least one processor to perform:
receiving updated second data comprising another pickup location; and
updating the display of the plurality of indicators based on the updated first data and the updated second data.
44 . The apparatus of claim 41 , wherein the computer executable instructions further cause the least one processor to perform:
displaying information about an updated estimated time of travel of at least one of the plurality of transportation providers to the pickup location based on the updated first data.
45 . The apparatus of claim 33 , wherein the second data is obtained from a global position system (GPS) device.