From 65afe13f0a9f6632a9de063e9df6202360a714d6 Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Thu, 25 May 2017 16:53:44 +0200 Subject: [PATCH] update docs for osmosis to pyosmium change --- CMakeLists.txt | 12 ++++----- docs/CMakeLists.txt | 1 + docs/Import_and_update.md | 45 +++++++++++++++------------------- docs/Installation.md | 2 +- settings/defaults.php | 2 +- vagrant/install-on-centos-7.sh | 2 +- 6 files changed, 30 insertions(+), 34 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cbbcb9db..d80c4e6c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -50,13 +50,13 @@ find_package(PostgreSQL REQUIRED) include_directories(${PostgreSQL_INCLUDE_DIRS}) link_directories(${PostgreSQL_LIBRARY_DIRS}) -find_program(OSMOSIS osmosis) -if (NOT EXISTS "${OSMOSIS}") - set(OSMOSIS_PATH "/nonexistent") - message(WARNING "Osmosis not found (required for updates)") +find_program(PYOSMIUM pyosmium-get-changes) +if (NOT EXISTS "${PYOSMIUM}") + set(PYOSMIUM_PATH "/nonexistent") + message(WARNING "pyosmium-get-changes not found (required for updates)") else() - set(OSMOSIS_PATH "${OSMOSIS}") - message(STATUS "Using osmosis at ${OSMOSIS_PATH}") + set(PYOSMIUM_PATH "${PYOSMIUM}") + message(STATUS "Using pyosmium-get-changes at ${PYOSMIUM_PATH}") endif() diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt index bf453a77..7da84491 100644 --- a/docs/CMakeLists.txt +++ b/docs/CMakeLists.txt @@ -21,6 +21,7 @@ endforeach() set (GENERALDOCFILES Installation.md Import_and_update.md + Faq.md ) foreach (df ${GENERALDOCFILES}) diff --git a/docs/Import_and_update.md b/docs/Import_and_update.md index d839a8a5..266a5d8b 100644 --- a/docs/Import_and_update.md +++ b/docs/Import_and_update.md @@ -118,21 +118,24 @@ Updates ======= There are many different possibilities to update your Nominatim database. -The following section describes how to keep it up-to-date with osmosis. +The following section describes how to keep it up-to-date with Pyosmium. For a list of other methods see the output of `./utils/update.php --help`. -Installing the newest version of osmosis ----------------------------------------- +Installing the newest version of Pyosmium +----------------------------------------- + +It is recommended to install Pyosmium via pip: + + pip install --user osmium -The version of osmosis that comes with your distribution should be sufficient -in most cases. +Nominatim needs a tool called `pyosmium-get-updates` that comes with +Pyosmium. You need to tell Nominatim where to find it. Add the +following line to your `settings/local.php`: -If you want to install it by hand, get the latest version from the -[Osmosis website](http://wiki.openstreetmap.org/wiki/Osmosis). Then -tell Nominatim to use this version by adding the following line to -your `settings/local.php`: + @define('CONST_Pyosmium_Binary', '/home/user/.local/bin/pyosmium-get-changes'); - @define('CONST_Osmosis_Binary', '/usr/local/bin/osmosis'); +The path above is fine if you used the `--user` parameter with pip. +Replace `user` with your user name. Setting up the update process ----------------------------- @@ -146,35 +149,27 @@ diffs for Ireland from geofabrik add the following: // base URL of the replication service @define('CONST_Replication_Url', 'http://download.geofabrik.de/europe/ireland-and-northern-ireland-updates'); - // Process each update separately, osmosis cannot merge multiple updates - @define('CONST_Replication_MaxInterval', '40000'); // How often upstream publishes diffs @define('CONST_Replication_Update_Interval', '86400'); // How long to sleep if no update found yet @define('CONST_Replication_Recheck_Interval', '900'); +To set up the update process now run the following command: -Delete any existing `settings/configuration.txt`, then run the following command -to create the osmosis configuration files: - - ./utils/setup.php --osmosis-init - -Enabling hierarchical updates ------------------------------ + ./utils/update --init-updates -When a place is updated in the database, all places that contain this place -in their address need to be updated as well. These hierarchical updates are -disabled by default because they slow down the initial import. -Enable them with the following command: +It outputs the date where updates will start. Recheck that this date is +what you expect. - ./utils/setup.php --create-functions --enable-diff-updates +The --init-updates command needs to be rerun whenever the replication service +is changed. Updating Nominatim ------------------ The following command will keep your database constantly up to date: - ./utils/update.php --import-osmosis-all --no-npi + ./utils/update.php --import-osmosis-all If you have imported multiple country extracts and want to keep them up-to-date, have a look at the script in diff --git a/docs/Installation.md b/docs/Installation.md index c4678ed9..41f76df1 100644 --- a/docs/Installation.md +++ b/docs/Installation.md @@ -44,7 +44,7 @@ For running Nominatim: For running continuous updates: - * [osmosis](http://wiki.openstreetmap.org/wiki/Osmosis) + * [pyosmium](http://osmcode.org/pyosmium/) ### Hardware diff --git a/settings/defaults.php b/settings/defaults.php index 41acd8e6..16711542 100644 --- a/settings/defaults.php +++ b/settings/defaults.php @@ -41,7 +41,7 @@ if (isset($_GET['debug']) && $_GET['debug']) @define('CONST_Debug', true); // Paths @define('CONST_ExtraDataPath', CONST_BasePath.'/data'); @define('CONST_Osm2pgsql_Binary', CONST_InstallPath.'/osm2pgsql/osm2pgsql'); -@define('CONST_Pyosmium_Binary', 'pyosmium-get-changes'); +@define('CONST_Pyosmium_Binary', '@PYOSMIUM_PATH@'); @define('CONST_Tiger_Data_Path', CONST_ExtraDataPath.'/tiger'); @define('CONST_Wikipedia_Data_Path', CONST_ExtraDataPath); diff --git a/vagrant/install-on-centos-7.sh b/vagrant/install-on-centos-7.sh index 02c7d943..8aeedcc6 100755 --- a/vagrant/install-on-centos-7.sh +++ b/vagrant/install-on-centos-7.sh @@ -7,7 +7,7 @@ # ================================ # # These instructions expect that you have a freshly installed CentOS version 7. -# Make sure all packages are are up-to-date by running: +# Make sure all packages are up-to-date by running: # sudo yum update -y -- 2.39.5