Improving findability of human address strings with Nominatim

First thanx for all the data.

Here’s my problem: Users enter arbitrary address strings. From theses address strings I want to automatically show a map of the place. Without any manual editing.

So I ask Nomiatim to find the place and then draw the map.
nominatim/search?limit=1&format=json&q=" + encodeURIComponent( address_str_entered_by_user )

This works often. But often the map stays blank, even if the search string is reasonable or quite accurate. It seems Nomiatim is quite delicate (anal?) with the search term. Which is unfortunate, because most often the data is there, Nomiatim just pretends not to have it. Or I’m not asking the right search string.

For example the most famous Hotel in Berlin. The Adlon.

Both are the most common address entries/searches. Both give no results.
Turns out the name OSM wants, is “Adlon Kempinski”
While Kempinski is technically correct, rarely will anybody use Kempinski as a search term for the Adlon.

  1. So what are some tipps and tricks to get an answer from Nomiatim, even if the search term isn’t perfectly in shape and just human? How to prepare the search term to get the most results? I also got a city and country field, but just adding these to the search term with commas seems to confuse Nomiatim even more.

  2. What I want to do:
    Every time the map stays blank I would add an alt_name to the node to make it more findable in Nomiatim.
    For the Adlon example
    alt_name=Hotel Adlon;Adlon
    Does this help and make sense?
    Or name=Adlon Kempinski;Hotel Adlon;Adlon ??

  3. Where can I find info on how Nomiatim tries to parse, understand, make sense of simple unstructured query strings? So I can tweak the human address string for a better understanding in Nomiatim.

  4. Are there any other open geocoding APIs besides Nomiatim?


5 posts - 5 participants

Read full topic

Ce sujet de discussion accompagne la publication sur