2015-01-15 48 views
-2

你好im有点新的这个领域..如果我犯了一个错误裸露在我身边。我的问题是,我正在开发一个应用程序 ,可以显示使用公共交通工具的最短路线(目前只有公交车)。它应该包括 这些路段可以走一段距离到下一站而不是乘坐另一条公交车(如果它更短)。路线规划与步行路段

我想知道的是。 1.地图的数据结构应该如何?我想到了带有公共汽车站节点的图形结构。以及距离作为权重的顶点 。 2.即使我找到使用算法(dijkstra)的最短路径如何实现逻辑中的步行部分。

thanx提前。

回答

0

没有很多额外的信息,很难给你一个很好的答案,但让我碰到一些基本知识。这应该足以让你走,但是你需要做额外的工作来开发你的解决方案。

  1. 一般来说,您的数据结构将像表示目的地或航点(如公交车站点或地址)的节点一样。你们的关系将是交通方式和相关成本。例如,您可以通过步行或公共汽车从点/节点A到点/节点B.这是两种不同的关系,在时间和金钱方面有不同的“成本”。
  2. 一般来说,您会希望使用“加权最短路径”算法来找到从点A到点B的最佳路径.Neo4j为您提供了最短路径功能,但在您的情况下,您需要指定权重到你的关系,然后计算最短路径,而不是基于图中“跳跃”的数量,而是基于一些总体成本度量(时间,金钱,无论)。

Ian Robinson wrote a great post on how to do weighted shortest paths in neo4j。所以你应该按照这样的模板作为出发点。

尽管你有一堆设计问题需要回答。你想要时间,金钱,努力还是某种组合的最短路径?答案会影响你的图形设计和你的查询策略。

+0

thanx为您的想法。现在我有一些工作。 – SamWiicks