IP Library Granted Patent US 9,746,337
Granted Patent B2
US 9,746,337 · App. 14/474,259 · Granted Aug 29, 2017

Systems and methods for improved generation of textual directions based on positional information

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,746,337
App. No.
14/474,259
Granted
Aug 29, 2017
Kind
B2
Abstract

Systems and methods are provided for providing improved generation of textual directions based on positional information. In an implementation, textual directions for traversing a path are generated based on positional information associated with the path. According to a method, positional information that specifies a longitude and latitude at a plurality of times is received and processed to generate a routing graph. The generated routing graph includes nodes and route links that connect the plurality of nodes. Textual directions are generated for traversing a path associated with the positional data, based in part on link information associated with the links of the generated routing graph.

Claims (116)

1. A computer-implemented method, comprising:

determining, by at least one processor, a first road corresponding to a first positional data element and a second road corresponding to a second positional data element;

determining, by the at least one processor, whether the first road intersects the second road;

generating, by the at least one processor, a first portion of a routing graph that includes route links representative of the first road and the second road when the first road and the second road intersect,

the route links being connected within the routing graph by a node;

obtaining, by the at least one processor, the first positional data element and the second positional data element,

the first positional data element and the second positional data element corresponding to a first time and a second time,

the first time being subsequent to the second time, and

the first positional data element and the second positional data element specifying longitudes and latitudes at one of the first time or the second time,

the first road corresponding to a first longitude and latitude specified by the first positional data element, and

the second road corresponding to a second longitude and latitude specified by the second positional data element;

identifying, by the at least one processor, a first route link corresponding to the first positional data element and a second route link corresponding to the second positional data element,

the first portion of the routing graph including the first route link and the second route link, and

the first route link and the second route link being connected within the routing graph by the node;

computing, by the at least one processor, values indicative of displacements between the first longitude and latitude specified by the first positional data element and longitudes and latitudes of positions within corresponding ones of a plurality of candidate roads; and

selecting, by the at least one processor, one of the plurality of candidate roads as the first road,

the first road being associated with a minimum of the values.

2. The method of claim 1 , further comprising:

identifying a third road corresponding to a third positional data element when the first road is determined not to intersect the second road;

determining whether the first road intersects the third road; and

generating a second portion of the routing graph that includes route links representative of the first road and the third road when the first road and the third road intersect.

3. The method of claim 1 , further comprising:

correlating the first longitude and latitude of the first road and the second longitude and latitude of the second road with mapping data to identify the first route link and the second route link,

the first route link being associated with the first road, and

the second route link being associated with the second road.

4. The method of claim 1 , further comprising:

obtaining information identifying:

a first shape associated with a portion of the first road that corresponds to the first route link; and

a second shape associated with a portion of the second road that corresponds to the second route link; and

determining whether the first road intersects the second road based on the first shape and the second shape.

5. The method of claim 1 , further comprising:

obtaining connectivity information associated with the first route link and the second route link; and

determining whether the first road and the second road intersect based on the connectivity information.

6. The method of claim 1 , further comprising:

determining a direction of travel associated with at least one of the first positional data element or the second positional data element; and

identifying at least one of the first route link or the second route link based on the direction of travel.

7. The method of claim 1 , further comprising:

generating textual directions for traversing a path representative of the routing graph.

8. An apparatus, comprising:

a storage device that stores a set of instructions; and

at least one processor to execute the set of instructions to:

determine a first road corresponding to a first positional data element and a second road corresponding to a second positional data element;

determine whether the first road intersects the second road;

generate a first portion of a routing graph that includes route links representative of the first road and the second road when the first road and second road intersect,

the route links being connected within the routing graph by a node;

obtain the first positional data element and the second positional data element,

the first positional data element and the second positional data element corresponding to a first time and a second time,

the first time being subsequent to the second time,

the first positional data element and the second positional data element specifying longitudes and latitudes at one of the first time or the second time,

the first road corresponding to a first longitude and latitude specified by the first positional data element, and

the second road corresponding to a second longitude and latitude specified by the second positional data element;

identify a first route link corresponding to the first positional data element and a second route link corresponding to the second positional data element,

the first portion of the routing graph including the first route link and the second route link, and

the first route link and the second route link being connected within the routing graph by the node;

correlate the first longitude and latitude of the first road and the second longitude and latitude of the second road with mapping data to identify the first route link and the second route link,

the first route link being associated with the first road, and

the second route link being associated with the second road;

compute values indicative of displacements between the first longitude and latitude specified by the first positional data element and longitudes and latitudes of positions within corresponding ones of a plurality of candidate roads; and

select one of the plurality of candidate roads as the first road,

the first road being associated with a minimum of the values.

9. The apparatus of claim 8 , wherein the at least one processor is further to:

identify a third road corresponding to a third positional data element when the first road is determined not to intersect the second road;

determine whether the first road intersects the third road; and

generate a second portion of the routing graph that includes route links representative of the first road and the third road when the first road and third road intersect.

10. The apparatus of claim 8 , wherein the at least one processor is further to:

obtain information identifying:

a first shape associated with a portion of the first road that corresponds to the first route link; and

a second shape associated with a portion of the second road that corresponds to the second route link; and

determine whether the first road intersects second road based on the first shape and the second shape.

11. The apparatus of claim 8 , wherein the at least one processor is further to:

obtain connectivity information associated with the first route link and the second route link; and

determine whether the first road and the second road intersect based on the connectivity information.

12. The apparatus of claim 8 , wherein the at least one processor is further to:

determine a direction of travel associated with at least one of the first positional data element or the second positional data element; and

identify at least one of the first route link or the second route link based on the direction of travel.

13. The apparatus of claim 8 , wherein the at least one processor is further to:

generate textual directions for traversing a path representative of the routing graph.

14. A non-transitory computer-readable medium storing instructions, the instructions comprising:

one or more instructions that, when executed by at least one processor, cause the at least one processor to:

determine a first road corresponding to a first positional data element and a second road corresponding to a second positional data element,

determine whether the first road intersects the second road;

generate a first portion of a routing graph that includes route links representative of the first road and the second road when the first road and the second road intersect,

the route links being connected within the routing graph by a node;

obtain the first positional data element and the second positional data element,

the first positional data element and the second positional data element corresponding to a first time and a second time,

the first time being subsequent to the second time,

the first positional data element and the second positional data element specifying longitudes and latitudes at one of the first time or the second time,

the first road corresponding to a first longitude and latitude specified by the first positional data element, and

the second road corresponding to a second longitude and latitude specified by the second positional data element;

identify a first route link corresponding to the first positional data element and a second route link corresponding to the second positional data element,

the first portion of the routing graph including the first route link and the second route link, and

the first route link and the second route link being connected within the routing graph by the node;

compute values indicative of displacements between the first longitude and latitude specified by the first positional data element and longitudes and latitudes of positions within corresponding ones of a plurality of candidate roads; and

select one of the plurality of candidate roads as the first road,

the first road being associated with a minimum of the values.

15. The non-transitory computer-readable medium of claim 14 , where the one or more instructions, when executed by the at least one processor, further cause the at least one processor to:

identify a third road corresponding to a third positional data element when the first road is determined not to intersect the second road;

determine whether the first road intersects the third road; and

generate a second portion of the routing graph that includes route links representative of the first road and the third road when the first road and the third road intersect.

16. The non-transitory computer-readable medium of claim 14 , where the one or more instructions, when executed by the at least one processor, further cause the at least one processor to:

correlate the first longitude and latitude of the first road and the second longitude and latitude of the second road with mapping data to identify the first route link and the second route link,

the first route link being associated with the first road, and

the second route link being associated with the second road.

17. The non-transitory computer-readable medium of claim 14 , where the one or more instructions, when executed by the at least one processor, further cause the at least one processor to:

obtain information identifying:

a first shape associated with a portion of the first road that corresponds to the first route link; and

a second shape associated with a portion of the second road that corresponds to the second route link; and

determine whether the first road intersects the second road based on the first shape and the second shape.

18. The non-transitory computer-readable medium of claim 14 , where the one or more instructions, when executed by the at least one processor, further cause the at least one processor to:

obtain connectivity information associated with the first route link and the second route link; and

determine whether the first road and the second road intersect based on the connectivity information.

19. The non-transitory computer-readable medium of claim 14 , where the one or more instructions, when executed by the at least one processor, further cause the at least one processor to:

determine a direction of travel associated with at least one of the first positional data element or the second positional data element; and

identify at least one of the first route link or the second route link based on the direction of travel.

20. The non-transitory computer-readable medium of claim 14 , where the one or more instructions, when executed by the at least one processor, further cause the at least one processor to:

generate textual directions for traversing a path representative of the routing graph.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2018
From: MAPQUEST, INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 047469/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: NESBITT, DAVID W.
To: MAPQUEST, INC.
Reel/Frame 033667/0642 →