OSM在Python中生成带空间约束的路由

2024-09-30 16:24:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用NetworKX和OSMnx在源位置和目标位置之间生成一条路由

原点是绿点,黑点是终点

我的限制是蓝色的圆圈,这是我必须经过的地方。 enter image description here

我的想法是找到从原点到第一个蓝圈的最短路径,从第一个蓝圈到第二个蓝圈的最短路径,等等。但是我不知道如何让程序决定哪一个是第一个蓝圈

我想计算从每个蓝色圆圈到原点的路线,但如果有很多蓝色圆圈,计算量可能会很大。 关于如何选择第一个或重建起点和终点之间的轨迹有什么想法


Tags: 路径程序networkx路由目标地方路线蓝色
1条回答
网友
1楼 · 发布于 2024-09-30 16:24:37

您可以使用OSMnx计算原点和每个蓝色点之间的矢量化大圆距离,然后取最近的作为第一个经过的:https://osmnx.readthedocs.io/en/stable/osmnx.html#osmnx.utils.great_circle_vec

这提供了一个最接近原点的粗略近似值,而无需对所有最短路径进行昂贵的计算。或者,如果这些蓝点带有时间戳,您可以按时间戳对它们进行排序,然后相应地计算通过它们的路由

相关问题 更多 >