OSMnx 边几何属性缺失

Rom*_*ain 2 python openstreetmap networkx

我正在使用 OSMnx 来提取道路形状。然而,我发现OSM中的某些方式似乎只在OSMnx中部分地以几何方式表示。

您可以在立交桥涡轮上运行的可重现示例:

<union>
  <bbox-query s="43.604437753042106" w="1.4469172178876575" n="43.60670421020654" e="1.4497628267951939"/>
  <recurse type="up"/>
</union>
<print mode="meta"/>
Run Code Online (Sandbox Code Playgroud)

以及使用 OSMnx 加载该图的命令:

import osmnx as ox
G = ox.graph_from_bbox(43.60670421020654, 43.604437753042106, 1.4497628267951939, 1.4469172178876575, network_type='drive')
ox.plot_graph(G)
Run Code Online (Sandbox Code Playgroud)

如果我们以 32021916 路为例,使用调试器检查 G 变量显示 G._pred 包含表示该路的 2 个边:

  • 从节点 2271536804 到其前驱节点 359203175 :关联的边包含几何属性。
  • 从节点 359203175 到其前驱节点 359203168:关联的边不包含任何几何属性,为什么?

然而,绘制的图表是完整的并显示了该道路的部分。所以我的问题是:如何获得这条道路的完整几何属性?

Rom*_*ain 5

我想我从函数的代码中找到了解决方案plot_graphgithub repo

如果未定义几何图形,则绘图函数会在 2 个节点之间绘制一条直线。