OverPass API - SpeedLimit around a co-ordinates

2019-02-24 23:20发布

问题:

We are developing an application, that needs to find the speed around a specific location... We were planning to use OverPass API to first the speed and tried to follow the article mentioned below.

Overpass api to find the speed limit for a co-ordinate?

The syntax of the around method is shown below.

http://www.overpass-api.de/api/xapi?*[maxspeed=*][around=2500,8.5580957,76.880541]

But we are not getting any results... Can anyone guide us if the syntax is correct?

回答1:

The failure reason: around is not a supported predicate in XAPI (please, see the original manual, https://wiki.openstreetmap.org/wiki/Xapi). So you cannot use it in your queries.

Solution 1: You can replace around with supported bbox. For example, the query below works properly.

http://www.overpass-api.de/api/xapi?*[bbox=-0.489,51.28,-0.436,51.36][maxspeed=*]

You will receive ~300kB of data

Solution 2: If you still want around, please use Overpass QL/XML:

  • Overpass QL query: way(around:2500,8.5580957,76.880541)[maxspeed];out;. You can try it at http://www.overpass-api.de/query_form.html
  • Overpass XML query:

    <query type="way">
       <around radius="2500" lat="8.5580957" lon="76.880541" />
       <has-kv k="maxspeed" />
    </query>
    

    You can try it at http://overpass-turbo.eu/.

As for me, Overpass XML looks like more readable. Also XML is preferred because XSLT can transform it to any other regular format.