2017-04-04 58 views
0

我正在开发android应用程序,它具有显示当前位置允许的最大速度的功能(换句话说,纬度为&经度)。 我遇到了这个解决方案Query Overpass turbo by latitude longitude,它使用立交桥turbo为位置提供最高速度值,但它不适用于所有位置。我创建了JSON请求https://overpass-api.de/api/interpreter?data=[out:json];way[maxspeed](around:1.0,52.004940, 4.369381);out tags;使用查询&它返回json数据中的最大速度标记,但它不适用于所有位置。如何让Maxspeed允许某个半径的纬度和经度?

这里是例子空白数据我从这些网址获得的:Blank data

任何帮助,将不胜感激。这个应用程序将在美国&欧洲推出,所以,如果解决方案是特定的这些地点也欢迎。但希望通用解决方案。

+1

对于你的查询,超高频 - turbo正在为具有最大速度的线串返回标签 - 也许在这个缓冲区中没有这样的线?这是OSM数据 - maxspeed不一定在每条高速公路上都有... – Jendrusk

+2

备注:根据OSM wiki,您需要遵守立交API使用限制。所有应用用户总共每天最多可申请10,000个请求。如果您希望超出此限制,请确保安装您自己的实例,否则您的应用程序可能会在未事先通知的情况下被阻止。确保在HTTP标头中发送有意义的用户代理以标识您自己/您的应用程序。 – mmd

+0

@mmd感谢您指出这一因素。 –

回答

1

甚至没有在北纬46.361115方式单一,经度6.13975 1米的半径内:https://www.openstreetmap.org/?mlat=46.361115&mlon=6.13975#map=19/46.36111/6.13975

要么改变你的坐标,或者增加搜索半径。

也作为用户Jendrusk已经注意到并不是每个街道在OSM设置中都有最高速度。你的例子中的Divonne-les-Bains城市只有几条道路有最高速度标签:http://overpass-turbo.eu/s/o48

+0

我将半径增加到100米,仍然返回空白数据。你能为我的应用程序建议我更好的方法吗?应用程序有简单的要求说当前驾驶道路的速度限制。 –

+0

查看我的答案中的立交桥turbo链接。您所在地区的极速标签极少。不幸的是,OSM没有这个城市的这个信息。 – scai

+0

好吧,我看到可惜的信息量非常少。 它的失败,我的应用程序驱动程序的目的将无法知道某些地区的速度限制,这些也会发生在许多其他地点,对不对? –

相关问题