Human-like global positioning system (GPS) directions
View Patent ↗In one embodiment, a method includes receiving, from a user, a request for a route from a first geolocation to a second geolocation; and calculating the route from the first geolocation to the second geolocation. The route includes one or more segments and a set of navigation instructions of the segments. The method also includes accessing a data store for one or more pre-determined paths determined at least in part by previous location data of the user. Each pre-determined path comprising an abbreviated navigation instruction. The method also includes identifying one or more pre-determined paths that coincide with one or more of the segments; modifying the set of navigation instructions by replacing the navigation instructions of the coinciding segments with the abbreviated navigation instruction of each identified pre-determined path; and providing, to the user, the modified set of navigation instructions.
1. A method comprising:
by a computing device, receiving, from a user, a request for a route from a first geolocation to a second geolocation;
by the computing device, calculating the route from the first geolocation to the second geolocation, the route comprising one or more segments and a set of navigation instructions of the segments;
by the computing device, accessing a data store for one or more inferred paths determined at least in part by previous location data of the user, each inferred path comprising an abbreviated navigation instruction;
by the computing device, identifying one or more inferred paths that coincide with one or more of the segments;
by the computing device, modifying the set of navigation instructions by replacing the navigation instructions of the coinciding segments with the abbreviated navigation instruction of each identified inferred path; and
by the computing device, providing, to the user, the modified set of navigation instructions.
2. The method of claim 1 , wherein providing the modified set of navigation instructions comprises:
providing, by the computing device, turn-by-turn instructions for segments not coinciding with the identified inferred paths; and
providing, by the computing device, the abbreviated navigation instruction comprising information associated with an ending geolocation of each identified inferred paths.
3. The method of claim 1 , wherein the identification comprises identifying a highest ranked inferred path that coincides with one or more of the segments, the ranking being based on one or more criteria.
4. The method of claim 3 , wherein identifying the highest ranked inferred path comprises ranking the pre-determined paths based at least in part on a length of the inferred path.
5. The method of claim 3 , wherein identifying the highest ranked pre-determined path comprises ranking the inferred paths based on frequency each inferred path is traveled by the user.
6. The method of claim 1 , further comprising, by the computing device, re-calculating one or more of the segments if a starting or ending geolocation of one or more of the identified inferred paths does not coincide with a starting or ending geolocation of the segments.
7. The method of claim 1 , wherein the data store is a local storage of the computing device.
8. One or more computer-readable non-transitory storage media embodying software configured when executed to:
receive, by a user, a request for a route from a first geolocation to a second geolocation;
calculate the route from the first geolocation to the second geolocation, the route comprising one or more segments and a set of navigation instructions of the segments;
access a data store for one or more inferred paths determined at least in part by previous location data of the user, each inferred path comprising an abbreviated navigation instruction;
identify one or more inferred paths that coincide with one or more of the segments;
modify the set of navigation instructions by replacing the navigation instructions of the coinciding segments with the abbreviated navigation instruction of each identified inferred path; and
provide, to the user, the modified set of navigation instructions.
9. The media of claim 8 , wherein software is further configured to:
provide turn-by-turn instructions for segments not coinciding with the identified inferred paths; and
provide the abbreviated navigation instruction comprising information associated with an ending geolocation of each identified inferred paths.
10. The media of claim 8 , wherein the software is further configured to identify a highest ranked inferred path that coincides with one or more of the segments, the ranking being based on one or more criteria.
11. The media of claim 10 , wherein the software is further configured to rank the inferred paths based at least in part on a length of the inferred path.
12. The media of claim 10 , wherein the software is further configured to rank the pre-determined paths based on frequency each inferred path is traveled by the user.
13. The media of claim 8 , wherein the software is further configured to re-calculate one or more of the segments if a starting or ending geolocation of one or more of the identified inferred paths does not coincide with a starting or ending geolocation of the segments.
14. The media of claim 8 , wherein the data store is a local storage of the computing device.
15. A device comprising:
a processor; and
one or more computer-readable non-transitory storage media coupled to the processor and embodying software that:
receive, by a user, a request for a route from a first geolocation to a second geolocation;
calculate the route from the first geolocation to the second geolocation, the route comprising one or more segments and a set of navigation instructions of the segments;
access a data store for one or more inferred paths determined at least in part by previous location data of the user, each inferred path comprising an abbreviated navigation instruction;
identify one or more inferred paths that coincide with one or more of the segments;
modify the set of navigation instructions by replacing the navigation instructions of the coinciding segments with the abbreviated navigation instruction of each identified inferred path; and
provide, to the user, the modified set of navigation instructions.
16. The device of claim 15 , wherein software is further configured to:
provide turn-by-turn instructions for segments not coinciding with the identified inferred paths; and
provide the abbreviated navigation instruction comprising information associated with an ending geolocation of each identified inferred paths.
17. The device of claim 15 , wherein the software is further configured to identify a highest ranked inferred path that coincides with one or more of the segments, the ranking being based on one or more criteria.
18. The device of claim 17 , wherein the software is further configured to rank the inferred paths based at least in part on a length of the inferred path.
19. The device of claim 17 , wherein the software is further configured to rank the inferred paths based on frequency each inferred path is traveled by the user.
20. The device of claim 15 , wherein the software is further configured to re-calculate one or more of the segments if a starting or ending geolocation of one or more of the identified inferred paths does not coincide with a starting or ending geolocation of the segments.