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