【发布时间】:2019-06-27 07:32:23
【问题描述】:
我想使用 pgsql 计算类似于等时线的图。因此,我已经使用了算法pgr_drivingDistance。您提供起点和距离值并接收等时线。
The output using the algorithm 收到的代码类似于:
SELECT * FROM pgr_drivingDistance(
'SELECT id, source, target, cost FROM edge_table',
2, 2, false -- starting point, distance, directed
);
红星代表起点。
现在,我想要一个以相同方式工作的图表,例如从一个点开始并获取所有方向的路线。不同之处在于,我不想提供行驶距离,而是提供位于道路网络上的点坐标列表。每个方向的路线都必须停在每条路线上的第一个到达点。每条路线的距离都不一样,不知道哪个点最近。
我已经试过了:
- 使用给定的算法 pgr_drivingDistance 并在每次未到达任何点时提高距离值 -> 此处的问题:所有方向的距离都相等,而不是每条路线的距离都相同。
- 对每条路线使用算法pgr_dijkstra -> 这里的问题:因为你不知道哪个点受到影响,所以你不知道选择哪个端点进行计算。您也不能选择最近的路线,因为您需要特定路线上最近的路线。
我知道我必须构建一个几乎完整的新算法,但也许有人知道如何开始甚至体验此类问题。
提前谢谢你!
【问题讨论】:
标签: postgresql algorithm postgis pgrouting