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.

Your Answer

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

Browse other questions tagged or ask your own question.