如何将OSMNx图转换为Box2D

问题描述 投票:1回答:1

我正在尝试将OSMNx实现到Box2D世界中,我想将块设置为静态主体。我设法获得了节点的坐标(它们的纬度和经度),但是我不知道如何过滤块的节点,从而将它们设置为静态实体。

在此示例中,您可以看到我的摩纳哥市图表(曼哈顿岛可能更适合查看我的目标,但比我需要的地图要复杂得多)

import osmnx as ox
print("I am Working")
G = ox.graph_from_place('Monaco City', network_type='drive')
lons = []
lats = []
for node in G.nodes:
   lons.append(G.nodes[node]['x']) #lon
   lats.append(G.nodes[node]['y']) #lat

print(lons)
ox.plot_graph(G)

enter image description here

我想将那些灰色道路(城市街区)所包围的所有白色部分设置为Box2D静态物体(使用多边形),但是我不知道如何执行此操作

感谢任何帮助

python box2d osmnx
1个回答
1
投票

我想将所有这些灰色部分转换为一组静态物体,为此,我需要角的坐标。

如果用“角”表示网络节点(即交叉点和死角),则只需提取网络节点的坐标。这是基本的OSMnx / NetworkX功能,因此建议您首先熟悉他们的文档并探索OSMnx examples

© www.soinside.com 2019 - 2024. All rights reserved.