我正在使用此 python 脚本下载 OSM 数据并将其转换为无向 networkx 图:
https://gist.github.com/rajanski/ccf65d4f5106c2cdc70e
然而,在理想情况下,我想从中生成一个有向图,以反射(reflect) osm 街道网络的方向性。
首先,您能确认一下here吗?和 here在 OSM 原始 xml 数据中,路径中 nd 条目的顺序对方向很重要?
其次,您建议如何实现从 osm 原始数据生成有向图,将上述要点代码片段作为模板?
非常感谢!
请您参考如下方法:
只有当路径被标记为 oneway 时,节点的顺序才重要=yes 或 oneway=-1。否则路径是双向的。当然,这仅适用于车辆。唯一的异常(exception)是 highway=motorway 这意味着 oneway=yes。
您可能还对 routing 感兴趣维基页面。它列出了两个用 python 实现的路由器,以及许多其他路由器。
