【问题标题】:OSM to DIRECTED Graph (python-igraph / networkx)OSM 到 DIRECTED Graph (python-igraph / networkx)
【发布时间】:2015-06-29 09:46:31
【问题描述】:

我正在使用这个 python 脚本来下载 OSM 数据并将其转换为无向 networkx 图:

https://gist.github.com/rajanski/ccf65d4f5106c2cdc70e

但是,在理想情况下,我想从中生成一个有向图,以反映 osm 街道网络的方向性。

首先,您能否确认如 OSM 原始 xml 数据中的 herehere 所述,路径中的 nd-entries 的顺序对方向很重要?

其次,您建议如何实现从 osm 原始数据生成有向图,将上述 gist 代码 sn-p 作为模板?

非常感谢!

【问题讨论】:

  • 你有没有想出一些可以分享的工作?
  • 是的,请看下面我的回答

标签: python xml graph openstreetmap networkx


【解决方案1】:

仅当路被标记为 oneway=yesoneway=-1 时,节点的顺序才重要。否则方式是双向的。当然,这仅适用于车辆。唯一的例外是 highway=motorway,这意味着 oneway=yes

您可能还对routing wiki 页面感兴趣。它列出了两个用 python 实现的路由器,以及许多其他的。

【讨论】:

    【解决方案2】:

    好的,我更新了我的脚本以启用方向性:

    https://gist.github.com/rajanski/ccf65d4f5106c2cdc70e

    【讨论】:

    • 您的脚本能否有效地根据时间为 200 个节点矩阵中的每个节点生成一个起点-终点成本矩阵?
    • 嗨@dassouki 你能再详细说明一下吗? 200 个节点对于 osm 数据集来说非常小。
    猜你喜欢
    • 2021-03-01
    • 2015-03-18
    • 2019-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 2021-04-27
    • 1970-01-01
    相关资源
    最近更新 更多