我正在尝试将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)


python - 如何将OSMNx图转换为Box2D-LMLPHP

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

任何帮助表示赞赏

最佳答案

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


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

关于python - 如何将OSMNx图转换为Box2D,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58918723/

10-12 18:51