pgr_apspWarshall¶
Name¶
pgr_apspWarshall - Returns all costs for each pair of nodes in the graph.
Warning
This function is deprecated in version 2.2 Use pgr_floydWarshall instead
Synopsis¶
The Floyd-Warshall algorithm (also known as Floyd’s algorithm and other names) is a graph analysis algorithm for finding the shortest paths between all pairs of nodes in a weighted graph. Returns a set of pgr_costResult (seq, id1, id2, cost) rows for every pair of nodes in the graph.
pgr_costResult[] pgr_apspWarshall(sql text, directed boolean, reverse_cost boolean);
Description¶
sql: | a SQL query that should return the edges for the graph that will be analyzed: SELECT id, source, target, cost FROM edge_table;
|
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
directed: | true if the graph is directed |
||||||||||
has_rcost: | if true, the reverse_cost column of the SQL generated set of rows will be used for the cost of the traversal of the edge in the opposite direction. |
Returns set of pgr_costResult[]:
seq: | row sequence |
---|---|
id1: | source node ID |
id2: | target node ID |
cost: | cost to traverse from id1 to id2 |
History
- Deprecated in version 2.0.0
- New in version 2.0.0
Examples¶
SELECT * FROM pgr_apspWarshall(
'SELECT id::INTEGER, source::INTEGER, target::INTEGER, cost FROM edge_table WHERE id < 5',
false, false
);
NOTICE: Deprecated function: Use pgr_floydWarshall instead
seq | id1 | id2 | cost
-----+-----+-----+------
0 | 1 | 2 | 1
1 | 1 | 5 | 2
2 | 2 | 1 | 1
3 | 2 | 5 | 1
4 | 5 | 1 | 2
5 | 5 | 2 | 1
(6 rows)
The query uses the Sample Data network.