You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OSMNX图类型判定及无向边拆分相关技术问询

关于OSMNX图结构与路径规划的疑问

我正在基于OSMNX获取的图求解ATSP(不对称旅行商问题)和混合乡村邮递员问题(需访问图的部分边与弧),但对边的oneway属性存在疑问:原本认为oneway为True/False对应弧/边,却发现部分oneway为False的边存在(u,v)与(v,u)的完全副本,形似弧的形式。示例边数据如下:

u                                                    29643182
v                                                    29642967
key                                                         0
osmid                                                 4666441
oneway                                                  False
lanes                                                     NaN
ref                                                       NaN
highway                                           residential
maxspeed                                                   30
reversed                                                 True
length                                                101.755
geometry    LINESTRING (6.5082881 52.9963783, 6.5079751 52...
bridge                                                    NaN
name                                              Zeeltstraat
junction                                                  NaN
access                                                    NaN
area                                                      NaN
u                                                    29642967
v                                                    29643182
key                                                         0
osmid                                                 4666441
oneway                                                  False
lanes                                                     NaN
ref                                                       NaN
highway                                           residential
maxspeed                                                   30
reversed                                                False
length                                                101.755
geometry    LINESTRING (6.5079751 52.9972738, 6.5082881 52...
bridge                                                    NaN
name                                              Zeeltstraat
junction                                                  NaN
access                                                    NaN
area                                                      NaN

核心疑问:

  • OSMNX生成的是有向图还是混合图?
  • 当(u,v)的oneway为False时,计算最短路径等场景下是否可双向通行?还是实际存在(u,v)与(v,u)两条弧?
  • 若将位于边(u,v)上的配送地址i拆分出(u,i)和(i,v)两条边,是否意味着只能从u到达i?

解答

  1. OSMNX默认生成的是有向图:
    它会根据OpenStreetMap的道路属性构建边的方向:oneway=True的道路只生成一条单向有向边;oneway=False的双向道路则生成两条方向相反的对称有向边,这就是你看到的“完全副本”的原因。

  2. oneway=False时的通行逻辑:
    实际确实存在(u,v)和(v,u)两条弧,但这是OSMNX模拟双向通行的实现方式。计算最短路径时完全支持双向通行——从u到v走(u,v)弧,从v到u走(v,u)弧,效果和无向边一致,只是底层用两条有向边实现。

  3. 拆分边后的通行问题:
    如果只拆分出(u,i)和(i,v)两条边,那确实只能从u到i再到v,反向无法通行。但原边是双向的,正确的拆分应该同时生成反向的两条边:(v,i)和(i,u),这样才能保留原道路的双向通行属性,支持从v到达i。

内容的提问来源于stack exchange,提问作者kGame

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:45:31