Ideas for advanced queries on OSM data

Dear OSMers,

I would like to develop a search system based on OSM data to retrieve objects that co-occur in space with queries like “show all schools that are within 100 m from parks”, “find all restaurants near a lake”, “residential streets far from pubs".

I think that this kind of search would be useful to many users in a variety of applications, e.g., real estate, tourism, etc., and at the moment OSM (or Google/Bing/etc) does not offer this functionality.

I have some students/programmers who could develop it as part of their studies. I’m quite new to OSM, so I would like to ask you for advise on how to proceed. What would you recommend to do to develop this in the right way, maximizing its usefulness to the OSM community and re-use of existing code? Is there some cloud infrastructure to develop this kind of apps?

Kind regards,
Strabo

The around operator of Overpass should be your friend:
https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Relative_to_other_elements_.28around.29

Example: Find all cinemas in Bonn which are at most 100m away from bus stops

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

For the “far from” example you could query all and substract the around set.

That functionality is also available in OpenPoiMap:

In the User Pois use this:

highway=bus_stop(100)amenity=cinema

Check the wiki for openpoimap to find out all the extra possibilities!