Search code examples
openstreetmapoverpass-api

How to get all roads around a given location in OpenStreetMap?


Cant figure out how to get all roads for the specific radius at the given location. My current query is

<query type="way">
    <around lat="55.693309807744484" lon="21.151986122131348" radius="50"/>
</query>
<union>
  <item/>
  <recurse type="down"/>
</union>
<print/>

I tried to add something like this <highway>primary,secondary,tertiary,residential</highway> but it didn't worked


Solution

  • See your query on overpass turbo. It does return all ways around the given point. So you seem to have a problem in your parser.

    If you want to filter for specific highway types then you have to specify a tag as described in the Overpass API Language Guide:

    <query type="way">
        <around lat="55.693309807744484" lon="21.151986122131348" radius="50"/>
        <has-kv k="highway" regv="trunk|secondary"/>
    </query>
    <union>
      <item/>
      <recurse type="down"/>
    </union>
    <print/>
    

    (the result on overpass turbo)

    See the highway key in the OpenStreetMap wiki for an explanation of the different values.