1

I need to query the Overpass API for some data that comes down to the question:

Give the set of nodes that is not contained (in spatial terms) in a set of areas (given by closed ways).

I looked into Overpass documentation and on the wiki (https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Map_way/relation_to_area_(map_to_area) and https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example), but I fail to see how to use area, and other query methods can make my query.

The areas (residential areas): https://overpass-turbo.eu/s/SgN

The points (places): https://overpass-turbo.eu/s/SgQ

My best try that doesnt work (https://overpass-turbo.eu/s/SgO):

area["landuse"="residential"]({{bbox}})->.searchArea;

node["place"](area.searchArea)->.a;
node["place"]({{bbox}})->.b;

(.b; - .a;);

The entire query can be scoped to bbox.

2

What you're trying to do is currently not supported (as of release 0.7.56).

Reason being that the residential areas you want to use as an area don't have a name= tag. Hence, there's no corresponding area object on the Overpass server available.

area["landuse"="residential"]({{bbox}})->.searchArea; essentially returns an empty result in your case. Also note, that BBOX filter cannot be combined with area[...] queries.

This issue is being tracked in https://github.com/drolbr/Overpass-API/issues/77

1
  • Thank you for this information. I had not yet found that issue. – Hidde Apr 4 '20 at 8:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.