2024-09-30 16:24:37 发布
网友
我想使用NetworKX和OSMnx在源位置和目标位置之间生成一条路由
原点是绿点,黑点是终点
我的限制是蓝色的圆圈,这是我必须经过的地方。
我的想法是找到从原点到第一个蓝圈的最短路径,从第一个蓝圈到第二个蓝圈的最短路径,等等。但是我不知道如何让程序决定哪一个是第一个蓝圈
我想计算从每个蓝色圆圈到原点的路线,但如果有很多蓝色圆圈,计算量可能会很大。 关于如何选择第一个或重建起点和终点之间的轨迹有什么想法
您可以使用OSMnx计算原点和每个蓝色点之间的矢量化大圆距离,然后取最近的作为第一个经过的:https://osmnx.readthedocs.io/en/stable/osmnx.html#osmnx.utils.great_circle_vec
这提供了一个最接近原点的粗略近似值,而无需对所有最短路径进行昂贵的计算。或者,如果这些蓝点带有时间戳,您可以按时间戳对它们进行排序,然后相应地计算通过它们的路由
您可以使用OSMnx计算原点和每个蓝色点之间的矢量化大圆距离,然后取最近的作为第一个经过的:https://osmnx.readthedocs.io/en/stable/osmnx.html#osmnx.utils.great_circle_vec
这提供了一个最接近原点的粗略近似值,而无需对所有最短路径进行昂贵的计算。或者,如果这些蓝点带有时间戳,您可以按时间戳对它们进行排序,然后相应地计算通过它们的路由
相关问题 更多 >
编程相关推荐