我使用osmnx软件包创建了荷兰高速公路的多维数据集。 image-exists npm module
图是从osmnx返回的多重图。由于我有兴趣计算起点和终点之间的k最短路径,因此尝试使用networkx库。但是,networkx似乎不适用于多重图。我所能计算出的最短路径。
我想问问是否还有其他方法可以在python上通过多重图执行k最短路径计算。
答案 0 :(得分:1)
尝试使用networkx命令shortest_simple_paths
(documentation)。
它返回一个生成器,该生成器一次从最短到最长返回一条路径。
G = nx.karate_club_graph()
X = nx.shortest_simple_paths(G, 0, 5)
k = 5
for counter, path in enumerate(X):
print(path)
if counter == k-1:
break
> [0, 5]
> [0, 6, 5]
> [0, 10, 5]
> [0, 6, 16, 5]
> [0, 4, 6, 5]
这将与DiGraph
一起使用,但是我不确定MultiDiGraph
。对我来说,目前还不清楚公路网是否会是MultiDiGraph。