路线规划与步行路段

时间:2015-01-15 13:24:11

标签: google-maps graph routes neo4j dijkstra

我正在开发一个可以使用公共交通方法(目前只有公交车)显示最短路线的应用程序。它应该包括可以走到下一站的距离而不是另一辆公共汽车(如果它更短)的部分。

  1. 地图的数据结构应该是什么?我想到了带有节点的图形结构的公交车站。和距离为重量的顶点。

  2. 即使我找到了使用算法(dijkstra)的最短路径,如何将步行部分实现到逻辑中。

1 个答案:

答案 0 :(得分:1)

如果没有很多额外的信息,很难给出一个很好的答案,但是让我尝试一些基础知识。这应该足以让你前进,但是你需要做更多的工作来开发你的解决方案。

  1. 通常,您的数据结构将类似于表示目的地或航点(如公交车站或地址)的节点。您的关系将是相关成本的运输方式。例如,您可以通过步行或总线从点/节点A到达点/节点B.这是两种不同的关系,具有不同的成本和#34;在时间和金钱方面。
  2. 一般情况下,您希望使用"加权最短路径"找到从A点到B点的最佳方法的算法.Neo4j为您提供最短路径函数,但在您的情况下,您需要为您的关系分配权重,然后根据数量计算最短路径"啤酒花"通过图表,但基于一些总体成本指标(时间,金钱,等等)。
  3. Ian Robinson wrote a great post on how to do weighted shortest paths in neo4j。因此,您应该遵循这样的模板作为起点。

    你有很多设计问题需要回答。您想要时间,金钱,努力或某种组合方面的最短路径吗?答案将影响您的图形设计和查询策略。