Я создал сеть маршрутизации на основе OSM с OSM2PO в PostgreSQL с расширением pgrouting. У меня есть столбец km
(расстояние в км), столбец cost
(время в пути) и max_speed
. Я пытаюсь создать водосбор с помощью функции pgr_drivingDistance, используя столбец km
(расстояние в км). Это вычисляет водосбор с кратчайшим путем, что в большинстве случаев не является реальным расстоянием для автомобилей. Поэтому я хочу рассчитать охват на основе кратчайшего времени вождения, используя cost
. Но в результате мне нужны единицы измерения метры, а не время. Большое спасибо за любую подсказку.
Краткая версия: мне нужен водосбор с расстояниями в км для самого быстрого (минимального времени) маршрута!
Вот стандартный код для pgr_drivingDistance с кратчайшим расстоянием в км:
SELECT *
FROM routing_vertices_pgr
JOIN(
SELECT * FROM pgr_drivingDistance('
SELECT id,
source,
target,
km as cost
FROM routing',
1, 100, false)) AS route ON routing_vertices_pgr.id = route.node ;