![](/img/trans.png)
[英]How do I calculate shortest path between Origin - Destination pairs using pgRouting?
[英]How to calculate distance and time, using pgRouting
我正在尝试使用pgr_dijkstra从pgRouting中的路由获取总体时间和距离,但是我基本上不知道如何实现它。 到目前为止,我设法弄清楚pgr_dijkstra的收益是以成本为单位的,我对其进行了总结。 我假设实际上计算路线中的每个路段的距离和时间。 有人对此有一个例子吗?
SELECT SUM(cost)
FROM (SELECT cost
FROM pgr_dijkstra('SELECT u_gid as id,
u_source AS source,
u_target AS target,
cost AS cost,
reverse_cost
FROM ways', 78771, 26263, true, true)) AS r_cost;
上面的陈述将给我所有单位成本的总和。
成本是时间或距离或您使用的任何成本值。 如果每个边的成本是边的长度,那么成本就是距离。 但是,如果将成本设置为边的遍历时间,则成本就是时间。 如果使成本成为边的长度,并具有与每个边相关的平均速度,则可以将结果重新添加到边表中,从而可以计算时间。
SELECT cost as distance, cost/speed as time
FROM pgr_dijkstra('SELECT u_gid as id,
u_source AS source,
u_target AS target,
cost AS cost,
reverse_cost
FROM ways', 78771, 26263, true, true)) a,
ways b,
where a.id=b.u_gid;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.