【发布时间】:2020-12-16 21:35:29
【问题描述】:
我正在使用 OSMnx 获取图表并添加一个新的边缘属性 (w3),表示每个边缘的自定义权重。然后我可以使用 NetworkX 和 'length', 'w2' 成功找到 2 个点之间的 2 条不同的最短路径。一切正常,这是我的代码:
G = ox.graph_from_place(PLACE, network_type='all_private', retain_all = True, simplify=True,truncate_by_edge=False) ```
w3_dict = dict((zip(zip(lu, lv, lk),lw3)))
nx.set_edge_attributes(G, w3_dict, "w3")
route_1 = nx.shortest_path(G, node_start, node_stop, weight = 'length')
route_2 = nx.shortest_path(G, node_start, node_stop, weight = 'w3')
现在我想将 G 保存到磁盘并重新打开它,以便稍后执行更多导航任务。但保存后:
ox.save_graph_xml(G, filepath='DATA/network.osm')
然后重新打开它:
G = ox.graph_from_xml('DATA/network.osm')
我的自定义属性 w3 消失了。我在文档中关注了instructions,但没有运气。感觉好像我错过了一些非常明显的东西,但我不明白它是什么..
【问题讨论】:
-
尝试使用
edge_attrs参数