微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。