识别 openstreetmap 数据 (.pbf) 中的十字路口节点

Identify crossroad nodes in openstreetmap data (.pbf)

有谁知道是否有办法只分离 .pbf 文件中包含的十字路口节点?此文件的格式中是否包含此线索(如果节点是否为十字路口)?

我不知道这个任务有现成的解决方案,但它应该相对容易做到。

为了解析 .pbf 文件,我建议使用像 Osmosis or Osmium 这样的现有库。这样,您只需要实现用例的实际语义。

节点本身没有任何将它们标记为十字路口的特殊属性。因此,您将不得不查看包含节点的方式。

实施时的一些注意事项:

  • 您需要检查道路的标签以确定它是否是道路。最相关的键是 highway。细节取决于您的具体用例——例如,您需要决定人行道、林道、车道……是否应该算在内。
  • 重要的是一个节点的连接方式的数量,而不是方式的数量。例如,作为两条路的一部分的节点可能是十字路口(如果至少有一条路继续超出该节点),也可能不是(如果两条路 start/end 在该节点)。

解决您的问题的另一种方法是使用 new Atlas project.

作为将 .osm.pbf 文件加载到内存中的 Atlas 文件的一部分,它负责在道路上进行 way sectioning

最后,每个在双向道路上连接超过 4 Edge 或在单向道路上连接超过 2 Edge 的图集 Node 将是如果我正确理解你的问题,我会成为候选人。