PostGISのpgr_dijkstraVia()は、指定された複数の経由地を通過する最短経路を見つけるためのAPIです。これはpgRoutingの一部であり、Dijkstraアルゴリズムを使用して経路を計算します。
このAPIを使用すると、始点と終点の間に複数の経由地が与えられ、それらの経由地を通過する最短経路を見つけることができます。つまり、指定された始点から終点までの最短経路を見つける際に、特定の地点(経由地)を経由しなければならない場合に役立ちます。
pgr_dijkstraVia()関数の基本的な使い方は次のとおりです:
SELECT
*
FROM pgr_dijkstraVia(
'edge_table',
ARRAY[start_node, end_node],
ARRAY[via_node1, via_node2, ...],
directed :=
true/false,
has_reverse_cost :=
true/false
);
この関数は、指定されたエッジテーブル内のエッジを使用して最短経路を見つけます。始点と終点のノードIDの配列と、経由地のノードIDの配列が指定されます。また、エッジが有向か無向か、およびエッジに逆コストがあるかどうかを指定することもできます。
このようにして、pgr_dijkstraVia()は指定された経由地を通過する最短経路を見つけることができます。