Search code examples
ropenstreetmapoverpass-api

Overpass does not find all cinemas - Overpass API documentation


In the openstreetmap overpass API-documentation there is the following example:

area[name="Bonn"];
node(area)[highway=bus_stop];
node(around:100)[amenity=cinema];
out;

Why does this query does not give the Kinopolis (in Bonn Bad Godesberg) as a result? See here: http://rpubs.com/hrbrmstr/overpass for the results from the API. The following two images illustrate that it really is <100m by foot.

enter image description here Unfortunately i wasnt able to show it graphically on the openstreetmap... I dont know how to get the busstop as startingpoint of a route in the web interface...
Here is the Google-Maps version. enter image description here


Solution

  • Since you've asked for cinema nodes only in your example query, the result will not include way 42473787. Here's how your query should look like to return ways with amenity=cinema instead:

    area[name="Bonn"];
    node(area)[highway=bus_stop];
    way(around:100)[amenity=cinema];
    (._;>;);
    out meta;
    

    To get both nodes and ways in one query, simply use a union:

    area[name="Bonn"];
    node(area)[highway=bus_stop]->.bus_stops;
    ( 
      way(around.bus_stops:100)[amenity=cinema];
      node(around.bus_stops:100)[amenity=cinema];
    );
    (._;>;);
    out meta;
    

    Try it in overpass turbo!

    enter image description here