我想使用pgrouting算法中的一种来找到2点之间的(最短)路径:(a)特定类型道路的优势和(b)中间点。
要构建我使用osm2pgrouting的数据。 我想首先关注问题(a)。
问题(b)(较少重要)是确定搜索路径的长度是否小于例如10km。如果没有那么路径应该访问指定的中间点(或点)之一 我不认为pgrouting中存在算法,这些算法可以使这些算法停止并且#34;停止" (源和目标之间的中间点)。我认为这个问题(b)应该通过搜索从point1到point2然后从p2到p3等的路径来解决,但我还不知道如何确定这些点。
答案 0 :(得分:1)
图论一般基于边权重来求解最短路径。 IE:在图中从A到B,它将选择那些最小化路径边缘权重之和的边。所以在pgRouting中你选择权重作为最短路径长度的边长,或者可以计算权重作为遍历边缘时间=时间长度/速度的时间,但是对于你的问题,你可以用自己的权重制作自己的权重。方程如长度*偏好,其中偏好是某些分数,其中更小是更优选的。显然,您将根据此因子以及边缘ID获得成本,并且使用边缘ID的简单连接将使您获得原始表格的bcak。该策略适用于我们的大多数算法。