给定OSM节点ID,如何在所有方向上找到先前的x点?

时间:2016-12-18 19:51:48

标签: openstreetmap overpass-api

我有一个OSM节点Id /纬度 - 经度用于道路上的一个点(比如Z点)。如何找到我需要前往各个方向到达Z的前几个x点?我以为overpass API可以帮助我。但它只能用标签返回点数。我无法让它返回路上的节点ID。

您能否建议任何有用的API /教程?

2 个答案:

答案 0 :(得分:1)

如果我没错,你要问的是:给定一个带坐标x和y的osm节点id,为了从起点到达那里,要做什么点? 如果这是问题,这是一个图形导向的问题;你应该创建一个grah然后使用一些算法来找到起点和终点之间的所有路线;你应该使用一些面向图形的软件..像neo4j和spatial contrib(https://github.com/neo4j-contrib/spatial) 在过去我构建了一个项目,我在其中读取osmfile,创建图形并使用A *算法;你可以看一看https://github.com/angeloimm/neo4jAstarTest

答案 1 :(得分:0)

我建议您先阅读OSM elements,特别是节点和方法。然后看看OSM XML format。它也可能有助于打开OSM编辑器(例如iD)并查看原始数据。

节点没有任何订单或"下一个节点"他们自己。节点可以成为一种或多种方式的一部分。每种方式都引用有序节点列表。因此,您必须查看节点所属的所有方式,然后查看节点列表的方式以确定上一个和下一个节点。如果节点位于某个方向的开头或结尾,则必须查看是否存在一个或多个连续方式。连续方式在开始/结束时共享同一节点。

相关问题