我们正在开发一个应用程序,该应用程序需要查找特定位置周围的速度……我们计划使用 OverPass API 来首先确定速度,并尝试按照下面提到的文章进行操作。
around 方法的语法如下所示。
http://www.overpass-api.de/api/xapi?*[maxspeed=*][around=2500,8.5580957,76.880541]
但是我们没有得到任何结果......如果语法正确,谁能指导我们?
我们正在开发一个应用程序,该应用程序需要查找特定位置周围的速度……我们计划使用 OverPass API 来首先确定速度,并尝试按照下面提到的文章进行操作。
around 方法的语法如下所示。
http://www.overpass-api.de/api/xapi?*[maxspeed=*][around=2500,8.5580957,76.880541]
但是我们没有得到任何结果......如果语法正确,谁能指导我们?
失败原因: around
不是 XAPI 中支持的谓词(请参阅原始手册,https://wiki.openstreetmap.org/wiki/Xapi)。所以你不能在你的查询中使用它。
解决方案 1:您可以替换around
为支持bbox
的 . 例如,下面的查询可以正常工作。
http://www.overpass-api.de/api/xapi?*[bbox=-0.489,51.28,-0.436,51.36][maxspeed=*]
您将收到约 300kB 的数据
解决方案2:如果仍然需要around
,请使用Overpass QL/XML:
way(around:2500,8.5580957,76.880541)[maxspeed];out;
. 您可以在http://www.overpass-api.de/query_form.html尝试一下立交 XML 查询:
<query type="way">
<around radius="2500" lat="8.5580957" lon="76.880541" />
<has-kv k="maxspeed" />
</query>
您可以在http://overpass-turbo.eu/尝试一下。
对我来说,Overpass XML 看起来更具可读性。XML 也是首选,因为 XSLT 可以将其转换为任何其他常规格式。