如何使用立交桥API在Open Street Map中获取位置特定信息?

问题描述:

我在查询的时候遇到了一些麻烦,无法获取用户在给定时刻所处的道路信息。如何使用立交桥API在Open Street Map中获取位置特定信息?

例如用户在驾驶一辆汽车,我想获得用户,然后现在是驾驶每个道路的一些信息。

我试图用coord-query获得的位置具体信息,但我找不到任何有用的信息。

<?xml version="1.0" encoding="UTF-8"?> 
<osm-script> 
    <coord-query lat="51.87810" lon="4.52587" /> 
    <print mode="body" /> 
</osm-script> 

然而,当我尝试运行bbox-query:如如姓名,单向,自行车允许的响应等

我使用

<query type="way"> 
    <has-kv k="maxspeed"/> 
    <bbox-query {{bbox}}/> 
</query> 
<union> 
    <item/> 
    <recurse type="down"/> 
</union> 
<print/> 

我得到了很多更加有用的信息this工具来测试查询。

我的问题是,我如何才能从bbox-query中获取coord-query以外的信息,因此它只会返回有关该特定位置的信息,而不是其周围的街道信息。

+1

你试图做的是反向地理编码。是否有特定的原因,为什么不使用Nominatim,这种情况下的OSM默认应用程序? http://wiki.openstreetmap.org/wiki/Nominatim#Reverse_Geocoding_.2F_Address_lookup – MaM

+1

@MaM这不完全正确。反向地理编码通常在他对道路特定信息感兴趣时返回地址信息。这仍然可以通过Nominatim,但需要提取地理编码结果的方式ID,并进行另一个API调用以获取所需的信息。 – scai

+0

噢好吧,我错误理解那个位置意味着这里只是位置。谢谢! – MaM

不幸的是没有太多documentation for the coord-query并没有examples,但它看起来像这样的查询是用于搜索地区而不是方式

在我看来,因为你永远不会有确切的坐标bbox-query可能更为有用。另外请记住,在特定的坐标处,可能不止一条道路,例如,在交叉点或通过彼此上方/下方或非常接近的道路上。

所以无论哪种方式,你将必须实现的东西,以决定哪一个比较多条道路是最合理的一个。例如,可以通过查看您曾经去过的地方以及您所在地区前往的位置以及将此信息与周围道路的几何图形进行比较来完成此操作。同样,OSM方式的第一个和最后一个nodes将帮助您,因为连接的方式总是在开始或结束时共享相同的节点。

+2

为方便起见,也可以使用周围选择器(''):http://overpass-turbo.eu/s/1Bq但正如scai指出的那样,你仍然需要做一些后期处理。 – tyr