osm-search / Nominatim

Open Source search based on OpenStreetMap data
https://nominatim.org
GNU General Public License v3.0
3.1k stars 713 forks source link

Replication with custom data not possible? #3543

Open weskamm opened 5 days ago

weskamm commented 5 days ago

Describe the bug I want to setup my own replication server with custom data. When trying to run nominatim replication --init the code tries to determine the state of the database by calling the openstreetmap API with the highest node id found in the database. This does not work when using custom data (which has node ids that are not contained in the OSM data itself). The code bails out at https://github.com/osm-search/Nominatim/blob/e92e03e2e6b892e6dc7a931fe0e70de9315bd302/src/nominatim_db/db/status.py#L52 with error "Failed to load URL: https://www.openstreetmap.org/api/0.6/node/1000000000017/1"

Are there any options to circumvent this behaviour / supplying a timestamp by ourselves?

To Reproduce Insert in entry in the db with an osm-id that does not exist

Software Environment (please complete the following information):

Hardware Configuration (please complete the following information):

Postgresql Configuration:

Nominatim Configuration:

Additional context

lonvia commented 2 days ago

There is currently no way to supply an external timestamp. I can see how this could be useful.

If you have a recent version of Nominatim (4.4+) then Nominatim will try to take the date from the osm2pgsql_properties table first. You can set the date there manually to the date you need if no proper date was set when importing the original file. You need to set the current_timestamp property.