5

I downloaded Nominatim http://wiki.openstreetmap.org/wiki/Nominatim/Installation. The database size is more than 400 GB. The speed of geocoding is very slow. I want to increase it.

For example, I need to geocode only to the level of the village or town. Can I remove some not usefull data from planet.osm.pbf or from geodatabase "Nominatim"? I do not need streets, suburbs, buildings, etc. The structure of geodatabase "Nominatim" is quite difficult, so I think that the best way is to change osm.pbf file.

How can I remove data from geodatabase "Nominatim" or from osm.pbf file? Is this the right way?

2
  • 2
    Very tecnical question and the OSM community here is pretty smal. I recommend to start a crosspost over at help.osm.org
    – Mapper
    Commented Dec 18, 2013 at 6:29
  • The crosspost can be found here.
    – scai
    Commented Dec 18, 2013 at 10:01

2 Answers 2

2

The speed of geocoding relies on two main points for a server that has the good capacities : increasing shared_buffers to 2Go in the postgresql.conf file and waiting for the index to complete : this can take much time. On my server with a test concerning the database of France only, geocoding went faster after 2 or 3 days.

If you want to index and leave the terminal session you can use the nohup command under unix like systems for example.

If you decrease the size of database as mentionned in the manual with the --drop argument, this will impact updates.

1

The best way is to remove some data from planet.osm.pbf

You can not use osmsharp http://www.osmsharp.com/wiki/data-processing, because this framework does not support big xml files. I use osmosis http://wiki.openstreetmap.org/wiki/Osmosis/Detailed_Usage_0.44 for my purposes.

For example, if you extract only administrative boundaries, you will resize your database from 600 GB to 20GB. Also you increase the speed of geocoding.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.