地理数据的路由算法

时间:2015-08-17 19:39:16

标签: algorithm routing gis

我有从美国城市提取的图表:顶点表示道路交叉点,边缘/弧线表示连接交叉点的道路段。对于每个路段,我都有长度和允许的行驶速度。此外,道路属于不同的类别,如高速公路/住宅/主要道路/....

我正在寻找一种执行以下操作的路由算法:

  • 计算每个交叉点的成对行程时间矩阵(即从交叉口i到交叉口j的行程需要多长时间。
  • 查询从交点i到j的最快路线并返回路径(边/弧的序列)。
  • 算法应该能够考虑更新。例如,如果道路段(x,y)出现拥堵,增加了预期的行程时间,或者道路段(x,y)被阻塞,则应逐步更新数据结构,从而更新所有受影响的最短路径(即通过(x,y)更新所有最短路径。

将经常查询距离矩阵,因此应该预先计算,但如果效率更高,则可以在稍后的阶段计算实际的最短路径。图中的节点数大约为5000-10000。

我希望人们可以向我推荐有关这方面的文献,最好不要花费数周的时间来实施。显然,简单地为每个交叉点运行Dijkstra需要太长时间。运行Floyd-Warshall全对最短路径算法可能是可能的,但是如果其中一个边/弧的成本发生变化,我不太确定如何更新结果。此外,它似乎是一种缓慢的方法,因为该算法忽略了大多数路线经过一小部分路段。

我没有寻找确切的方法。一个很好的近似就足够了。欢迎任何文献或算法描述的指针。我认为任何类型的路由软件都需要类似的算法。我主要对有用的东西感兴趣;它不一定是最先进的。

0 个答案:

没有答案