Polygonal routing
First Claim
Patent Images
1. A method comprising:
- receiving, from a mobile device at one or more processors, a request to navigate from a start point in a venue to an end point in the venue;
receiving, at the one or more processors, a navigation graph representing the venue, the navigation graph including;
nodes representing destination areas and waypoint areas, wherein each destination area and waypoint area is defined by a respective geometric shape, andone or more edges, wherein each edge connects two of the nodes, and wherein each edge is associated with a respective weight representing a distance between the areas represented by the two nodes connected by the edge;
determining, using the one or more processors, a first node representing a first area defined by a first geometric shape, wherein the first area intersects the start point in the venue, and a second node representing a second area defined by a second geometric shape, wherein the second area intersects the end point in the venue;
determining, using the one or more processors based on weights of the edges of the navigation graph, a shortest path from the first node to a second node, the shortest path including one or more intermediate nodes each representing a respective waypoint area; and
generating, using the one or more processors, turn-by-turn instructions for navigating from the start point to the end point, including updating a next-turn instruction upon determining that the mobile device has entered or exited a geometric shape of a waypoint area or destination area in the venue that is represented by a node on the shortest path.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and computer program products for polygonal routing are described. A computer system can provide turn-by-turn navigation in a venue for a mobile device using a navigation graph. The navigation graph can include nodes representing a series of navigation areas leading from a start point to an end point in a venue including indoor space. Each navigation area can be a polygon occupying a non-zero geographic area. The computer system updates the turn-by-turn instructions when the mobile device enters or exits a navigation area in the series of navigation areas, until the device reaches the end point.
-
Citations
12 Claims
-
1. A method comprising:
-
receiving, from a mobile device at one or more processors, a request to navigate from a start point in a venue to an end point in the venue; receiving, at the one or more processors, a navigation graph representing the venue, the navigation graph including; nodes representing destination areas and waypoint areas, wherein each destination area and waypoint area is defined by a respective geometric shape, and one or more edges, wherein each edge connects two of the nodes, and wherein each edge is associated with a respective weight representing a distance between the areas represented by the two nodes connected by the edge; determining, using the one or more processors, a first node representing a first area defined by a first geometric shape, wherein the first area intersects the start point in the venue, and a second node representing a second area defined by a second geometric shape, wherein the second area intersects the end point in the venue; determining, using the one or more processors based on weights of the edges of the navigation graph, a shortest path from the first node to a second node, the shortest path including one or more intermediate nodes each representing a respective waypoint area; and generating, using the one or more processors, turn-by-turn instructions for navigating from the start point to the end point, including updating a next-turn instruction upon determining that the mobile device has entered or exited a geometric shape of a waypoint area or destination area in the venue that is represented by a node on the shortest path. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
one or more processors; and a non-transitory computer-readable medium storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising; receiving, from a mobile device at the one or more processors, a request to navigate from a start point in a venue to an end point in the venue; receiving, at the one or more processors, a navigation graph representing the venue, the navigation graph including; nodes representing destination areas and waypoint areas, wherein each destination area and waypoint area is defined by a respective geometric shape, and one or more edges, wherein each edge connects two of the nodes, and wherein each edge is associated with a respective weight representing a distance between the areas represented by the two nodes connected by the edge; determining, using the one or more processors, a first node representing a first area defined by a first geometric shape, wherein the first area intersects the start point in the venue, and a second node representing a second area defined by a second geometric shape, wherein the second area intersects the end point in the venue; determining, using the one or more processors based on weights of the edges of the navigation graph, a shortest path from the first node to a second node, the shortest path including one or more intermediate nodes each representing a respective waypoint area; and generating, using the one or more processors, turn-by-turn instructions for navigating from the start point to the end point, including updating a next-turn instruction upon determining that the mobile device has entered or exited a geometric shape of a waypoint area or destination area in the venue that is represented by a node on the shortest path. - View Dependent Claims (9, 10, 11, 12)
-
Specification