问题描述
我正在开发一个公共交通模拟程序。该数据集包含每个公共交通车辆的起点、终点和中间停靠点的坐标。
例如,让我们乘坐公共汽车:
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 (将#修改为@)