当前位置: 首页 > 知识库问答 >
问题:

从中间边缘开始计算最短路径

殷宇
2023-03-14

我有一组原点-终点坐标,我想计算它们之间的最短路径。

我的出发地坐标有时位于一条长直线道路的中间。然而,由OSMNX/NETWorkX计算的最短路径将不考虑中间边缘到最近的节点路径。

OSMnx或networkx中是否有任何现成的函数,我可以使用它来找到在道路中间起点/终点的最短路径?

如果没有这样的功能,我会考虑使用以下步骤。

  • 获取起点和终点的最近边
  • 获取这些最近边的节点:假设(a,b)为起点,而(c,d)为终点
  • 计算4种可能组合的距离:a-

共有1个答案

唐增
2023-03-14

OSMnx生成用于路由/分析的networkx图形对象。正如您所注意到的,networkx最短路径计算需要一个原点和一个目标节点,因此尝试从边中点计算最短图形路径将不起作用。

您可以尝试以下几点:

  1. 在创建图表时尽量设置<代码>简化= false >代码>尽可能在街道中间保留尽可能多的节点。<李>

另见:https://stackoverflow.com/a/55601732/7321942

 类似资料:
  • TBD 参考 The Birth of an Edge Orchestrator – Cloudify Meets Edge Computing K8s(Kubernetes) and SDN for Multi-access Edge Computing deployment

  • 问题内容: 去吧,Dijkstra:打印出路径,而不仅仅是计算最短的距离。 http://play.golang.org/p/A2jnzKcbWD 我使用Dijkstra算法能够找到最短的距离,也许不是。可以在这里找到代码。 但是,如果我无法打印出路径,那将毫无用处。随着大量指针的出现,我无法弄清楚如何打印出权重最少的最终路径。 简而言之,我不仅要找到最短的距离,还要在给定的代码上打印出最短的路径

  • 主要内容:最短路径算法在给定的图存储结构中,从某一顶点到另一个顶点所经过的多条边称为 路径。 图 1 图存储结构 例如在图 1 所示的图结构中,从顶点 A 到 B 的路径有多条,包括 A-B、A-C-B 和 A-D-B。当我们给图中的每条边赋予相应的权值后,就可以从众多路径中找出总权值最小的一条,这条路径就称为 最短路径。 图 2 无向带权图 以图 2 为例,从顶点 A 到 B 的路径有 3 条,它们各自的总权值是:

  • 本文向大家介绍Javascript中的最短路径算法,包括了Javascript中的最短路径算法的使用技巧和注意事项,需要的朋友参考一下 在图论中,最短路径问题是在图中的两个顶点(或节点)之间找到路径的问题,以使其构成边的权重之和最小。在这里,我们需要修改添加边缘并添加有向方法,以允许向边缘添加权重。  让我们看看如何添加它- 示例 现在,当在图上添加一条边时,如果我们不指定权重,则会为该边分配默认

  • 因此,如果我在一个图中有两个顶点,它们通过一个以上的边连接,而它们之间有相同的最短路径(即,如果我有节点a和节点B,它们直接通过三条边连接(它们之间有三条最短路径,每个距离为1),所以计数应该返回3)我该如何修改BFS算法来实现这一点?这是我的代码,它只计算2个节点之间的最短路径,而不计算这些最短路径的个数。

  • 给出一个无向加权图G和两个顶点:开始顶点和结束顶点 什么是最有效的算法,找到从开始到结束的最短路径,并能够将恰好一条边的权重变为零? 编辑:我知道dijkstra算法,但正如我所说,在这个问题中情况不同:我们可以将一条边变为零,