Я пытался pgRouting
в PostGres
найти кратчайший путь
select d.*, bs.starttime, bs.endtime, bs.trip_id from pgr_dijkstra(
'select id, source, target, traveltime as cost from my_table',
19,
21,
directed := true
) d JOIN my_table bs on d.edge = bs.id;
Выше не рассматривается time
в качестве параметра.Прежде чем выбрать следующий edge
, я также хочу проверить время транспортировки.
Например:
A ---- > B (03.00PM) (travel time 5)
B ---- > C (3.30PM) (travel time 15)
B ---- > C (11:00AM) (travel time 10)
Текущий алгоритм учитывает путь с временем прохождения 10 (Без учетавремя).
Есть ли стандартное решение для этого.Я видел много реализаций, таких как A* algorithm
.Я говорю о half million
краях.