NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

Newbie here...but I need to understand basics to plan job. As I understand it this Nominatim Reverse geocoding tool depends on the OSM database to assign country, state, town names to X Y locations, by matching them with listed nodes in OSM DB that already have both xy and geography info (right ?) But if we first filter down a planet file on our server to our few million nodes and points that we want (Bridges, Tunnels etc), and THEN apply reverse geocoding, I dont think that will provide a large enough library of OSM data for it to find matching towns. So is it realistic to add this OSM Names dataset of 22 million place names to the file to provide full library? Is 22 million names searched agains 5 million xy s an unrealistic task? I have read about spatial indexing...would it help if we first indexed our data (even within 50 km is fine enough for us .) Is that a huge task in itself, indexing? Thanks.

asked 01 Jun '19, 21:38

philip's gravatar image

accept rate: 0%

edited 02 Jun '19, 00:34

Nominatim 3.3 allows selecting which data you want to import, see It sounds like you only need 'admin' which includes all places (cities, villiages) and their hierachy (which county, state, country they belong to). It depends on your hardware of course, number of CPU cores, number of parallel API requests you'll run but 5 millions requests should be possible in 1-2 days.

would it help if we first indexed our data

That's not needed. Nominatim's spatial index is global. While sending requests region by region will have a slight performance boost because the database can keep data it recently used in RAM, the extra engineering work isn't worth it.

permanent link

answered 01 Jun '19, 23:51

mtmail's gravatar image

accept rate: 27%

Great. Thank you.

(02 Jun '19, 00:32) philip

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text]( "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 01 Jun '19, 21:38

question was seen: 1,663 times

last updated: 02 Jun '19, 00:34

NOTICE: is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum