OSMnx/NetworkX 是否提供计算从 start_node 到包含一组预定义节点或边的 end_node 的路由的函数?

问题描述

我正在开发一个公共交通模拟程序。该数据集包含每个公共交通车辆的起点、终点和中间停靠点的坐标。

例如,让我们乘坐公共汽车:

p_issue=Issue.b

start = (lat_start,lng_start)

end = (lat_end,lng_end)

我正在使用 OSMnx/NetworkX 来检索总线的完整路线。 OSMnx 提供了基于 (lat,long) 点获取最近节点或边的内置功能,这使我能够为公交车的每个起点、终点和中间停靠点检索最近的节点/边。但是,我想知道 NetworkX 是否提供类似于 nx.shortest_path(G,origin,destination,stops) 的函数

我试过了:

  • 生成 stops = [(lat1,lng1),(lat2,lng2),(lat3,lng3)]start间的所有路径,并过滤包含子集 end 的路径。除了计算成本高这一事实之外,它也不是很有效,因为公共交通路线包含很多弯路并且远离“最短路径”。
  • 将流程分成几部分,以便:

stops 因此,这种工作,但不是很健壮。这意味着 sub_route 级别的错误会导致延迟和低效。

简而言之,在路径包含一组停靠点(节点或边)的情况下,我正在寻找一种从头到尾获取路径(不一定是最短的)的合理方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)