I am trying to build a reverse geocoder that returns all the areas that a geo location point is located in. Neighbourhoods being the lowest level i am interested in.
I am using the Europe OSM file provided by geofabrik, and import it to PostGIS using Imposm3.
Unfortunately OSM stores neighbourhoods by point mostly, so i cannot really use them in my reverse geocoding result.
So i have started looking around what other services do, and i can see that nominatim has children relationships, but i cannot figure out how it aquires it, as i cannot find any such relationships in the raw OSM file.
An example is here: http://nominatim.openstreetmap.org/details.php?place_id=59349063 Centro Historico is a neighbourhood, and is just stored as a node with id: 4718852002.
If i had the children of that node as nominatim has it, i would be able to calculate the neighbourhood polygon.
So the question is how does nominatim get a hold of the children for a node like this?
Alternatively to get neighbourhood polygons i have looked at google, as they also have these lovely pink areas if you search for neighbourhoods - but as far as i understand they dont provide those in any API.
It is crucial for my project that i get the polygons, as i want to be able to find all locations inside these polygons, restaurants for example.