gpt4 book ai didi

python - Networkx 给出了错误的节点度数

转载 作者:行者123 更新时间:2023-12-02 19:25:41 25 4
gpt4 key购买 nike

Networkx 似乎给出了错误的学位,它似乎给了我双倍的预期。我通过以下方式对此进行了测试:

for i in G.nodes:
print(i, G.degree(i), G.edges(i))

这给出了输出:

326171990 4 [(326171990, 915446299), (326171990, 911571535)]
911571527 2 [(911571527, 911571535)]
911571535 6 [(911571535, 326171990), (911571535, 911571527), (911571535, 6821895165)]
915446298 4 [(915446298, 915446299), (915446298, 915446302)]
915446299 4 [(915446299, 915446298), (915446299, 326171990)]

正如你所看到的,它似乎给出了应有的双倍度数。这是针对具有多个节点的多重图,该多重图是从使用 osmnx 库创建的 MultiDiGraph 转换而来的。经过进一步检查后我发现的一个问题是,过去指向一个方向的边在节点的度数中得到了正确的考虑。 Osmnx 将两条道路表示为每个方向各一条的两条边,这可能就是原因,如果是这样,为什么这条边不会被列出两次。任何有关此问题的帮助将不胜感激。

最佳答案

作为引用,这里的答案是使用OSMnx的get_undirected函数从 MultiDiGraph 转换为 MultiGraph。这可以处理从道路中心线边缘的有向图转换为无向图(其中单个边缘代表单个物理路段)的怪癖,包括确保在几何形状不同时保持平行边缘。当您想要使用 OSMnx 获得无向街道网络表示时,此函数是最佳选择。

关于python - Networkx 给出了错误的节点度数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62426198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com