pgr_bdAstarCostMatrix
¶
pgr_bdAstarCostMatrix
 Calculates the a cost matrix using pgr_aStar.
Availability
Version 3.0.0
Official function
Version 2.5.0
New proposed function
Description¶
The main characteristics are:
Using internaly the pgr_bdAstar algorithm
Returns a cost matrix.
No ordering is performed
let v and u are nodes on the graph:
when there is no path from v to u:
no corresponding row is returned
cost from v to u is \(\inf\)
when \(v = u\) then
no corresponding row is returned
cost from v to u is \(0\)
When the graph is undirected the cost matrix is symmetric
Signatures¶
Summary
[directed, heuristic, factor, epsilon]
(start_vid, end_vid, agg_cost)
 Example:
Symmetric cost matrix for vertices \(\{5, 6, 10, 15\}\) on an undirected graph using heuristic \(2\)
SELECT * FROM pgr_bdAstarCostMatrix(
'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edges',
(SELECT array_agg(id) FROM vertices WHERE id IN (5, 6, 10, 15)),
directed => false, heuristic => 2
);
start_vid  end_vid  agg_cost
++
5  6  1
5  10  2
5  15  3
6  5  1
6  10  1
6  15  2
10  5  2
10  6  1
10  15  1
15  5  3
15  6  2
15  10  1
(12 rows)
Parameters¶
Column 
Type 
Description 


Edges SQL as described below 

start vids 

Array of identifiers of starting vertices. 
Optional parameters¶
Column 
Type 
Default 
Description 





aStar optional parameters¶
Parameter 
Type 
Default 
Description 



5 
Heuristic number. Current valid values 0~5.




For units manipulation. \(factor > 0\). 



For less restricted results. \(epsilon >= 1\). 
See heuristics available and factor handling.
Inner Queries¶
Edges SQL¶
Parameter 
Type 
Default 
Description 


ANYINTEGER 
Identifier of the edge. 


ANYINTEGER 
Identifier of the first end point vertex of the edge. 


ANYINTEGER 
Identifier of the second end point vertex of the edge. 


ANYNUMERICAL 
Weight of the edge (



ANYNUMERICAL 
1 
Weight of the edge (


ANYNUMERICAL 
X coordinate of 


ANYNUMERICAL 
Y coordinate of 


ANYNUMERICAL 
X coordinate of 


ANYNUMERICAL 
Y coordinate of 
Where:
 ANYINTEGER:
SMALLINT
,INTEGER
,BIGINT
 ANYNUMERICAL:
SMALLINT
,INTEGER
,BIGINT
,REAL
,FLOAT
Result columns¶
Set of (start_vid, end_vid, agg_cost)
Column 
Type 
Description 



Identifier of the starting vertex. 


Identifier of the ending vertex. 


Aggregate cost from 
Additional Examples¶
 Example:
Use with pgr_TSP
SELECT * FROM pgr_TSP(
$$
SELECT * FROM pgr_bdAstarCostMatrix(
'SELECT id, source, target, cost, reverse_cost, x1, y1, x2, y2 FROM edges',
(SELECT array_agg(id) FROM vertices WHERE id IN (5, 6, 10, 15)),
directed=> false, heuristic => 2
)
$$
);
NOTICE: pgr_TSP no longer solving with simulated annaeling
HINT: Ignoring annaeling parameters
seq  node  cost  agg_cost
+++
1  5  0  0
2  6  1  1
3  10  1  2
4  15  1  3
5  5  3  6
(5 rows)
See Also¶
Indices and tables