pgRouting 함수
pgr_floydwarshall
모든 포인트를 지나가는 최소 거리 경로 계산
Floyd-Warshall 알고리즘 기준, 에지가 3500개를 넘지 않을때 사용
예) select * from pgr_floydwarshall(
'select id, source, target, cost from edge_table where id < 5'
);
pgr_bdastar
A* 알고리즘으로 최소경로 반환
예) select * from pgr_bdastar(
'select id, source, target, cost, reverse_cost, x1, y1, x2, y2 from edge_table', 2, 3
);
pgr_bddijkstra
bidirectional Dijkstra 알고리즘으로 최소경로 반환
select * from pgr_bddijkstra(
'select id, source, target, cost, reverse_cost from edge_table',2,3
);
pgr_dijkstracost
부스트 그래프로 구현된 Dijkstra 알고리즘, 최소비용에 해당하는 최소경로 탐색
select * from pgr_dijkstracost(
'select id, source, target, cost, reverse_cost from edge_table', 2, 3
);
pgr_dijkstracostmatrix
pgr_dijiktras를 사용하여 비용행렬 연산
select * from pgr_dijkstracostmatrix(
'select id, source, target, cost, reverse_cost from edge_table',
(select array_agg(id) from edge_table_vertices_pgr where id < 5)
);
start end agg_cost
1 2 1
1 3 6
pgr_drivingdistance
시작점에서부터 운행거리 반환
select * from pgr_drivingdistance(
'select id, source, target, cost, reverse_cost from edge_table', 2, 3);
pgr_ksp
K최소경로 반환
select * from pgr_ksp(
'select id, source, target, cost, reverse_cost from edge_table', 2, 12, 2, directed:=true
);