【发布时间】:2015-08-26 13:22:45
【问题描述】:
我刚刚开始使用 NetworkX 并尝试学习如何将它与 Shapefile 一起使用。
现在我有一个带有道路网络的 .shp,我想用 NetworkX 在图中表示它,这样我就可以找到 2 个 GPS 点之间的最短路径。我尝试使用this,但问题是当我运行 write_shp() 函数时,我失去了边,因为有向图不允许在相同的两个节点之间有多个边。下图中的箭头显示了我使用有向图丢失的边的示例。
所以我想知道是否有任何方法可以创建 MultiDiGraph,这样我就不会丢失任何边缘,或者是否有任何方法可以使用。我在想也许我可以编写一些代码来从 Shapefile 中提取属性并在不使用 NetworkX 的 read_shp() 的情况下创建 MultiDiGraph,但是我根本没有任何使用图表的经验,所以我不确定它是否有可能。
非常感谢您能给我的任何帮助或指导,或者如果我错过了任何文档,请告诉我。提前致谢。
【问题讨论】:
-
您能否提供一个最小的工作示例,并显示您想要的输出是什么?从您的问题中我可以看出,一个简单的解决方案是复制链接文档中的
read_shp代码并将net = nx.DiGraph()更改为net = nx.MultiDiGraph()。
标签: python networkx shapefile digraphs