Unsupported versions:2.6 2.5 2.4
A* - Family of functions¶
The A* (pronounced “A Star”) algorithm is based on Dijkstra’s algorithm with a heuristic that allow it to solve most shortest path problems by evaluation only a sub-set of the overall graph.
pgr_aStar - A* algorithm for the shortest path.
pgr_aStarCost - Get the aggregate cost of the shortest paths.
pgr_aStarCostMatrix - Get the cost matrix of the shortest paths.
Description¶
The main Characteristics are:
Process works for directed and undirected graphs.
Ordering is:
first by
start_vid
(if exists)then by
end_vid
Values are returned when there is a path.
Let
and be nodes on the graph:If there is no path from
to :no corresponding row is returned
agg_cost
from to is
There is no path when
thereforeno corresponding row is returned
agg_cost
from v to u is
When
coordinates for the same vertex identifier differ:A random selection of the vertex’s
coordinates is used.
Running time:
aStar optional Parameters¶
Parameter |
Type |
Default |
Description |
---|---|---|---|
|
|
5 |
Heuristic number. Current valid values 0~5.
|
|
|
|
For units manipulation. |
|
|
|
For less restricted results. |
See heuristics available and factor handling.
Advanced documentation¶
Heuristic¶
Currently the heuristic functions available are:
0:
(Use this value to compare with pgr_dijkstra)1:
2:
3:
4:
5:
where
Factor¶
Analysis 1
Working with cost/reverse_cost as length in degrees, x/y in lat/lon: Factor = 1 (no need to change units)
Analysis 2
Working with cost/reverse_cost as length in meters, x/y in lat/lon: Factor = would depend on the location of the points:
Latitude |
Conversion |
Factor |
---|---|---|
45 |
1 longitude degree is 78846.81 m |
78846 |
0 |
1 longitude degree is 111319.46 m |
111319 |
Analysis 3
Working with cost/reverse_cost as time in seconds, x/y in lat/lon: Factor: would depend on the location of the points and on the average speed say 25m/s is the speed.
Latitude |
Conversion |
Factor |
---|---|---|
45 |
1 longitude degree is (78846.81m)/(25m/s) |
3153 s |
0 |
1 longitude degree is (111319.46 m)/(25m/s) |
4452 s |
See Also¶
Indices and tables