X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/d1b1acaf1dce32d0e7dfd6879459e51fd6d55535..2ab43f6367518f0e63a770fcae202e016c3f09aa:/docs/Import_and_update.md diff --git a/docs/Import_and_update.md b/docs/Import_and_update.md index c2dcf937..d3012210 100644 --- a/docs/Import_and_update.md +++ b/docs/Import_and_update.md @@ -4,7 +4,7 @@ Importing a new database The following instructions explain how to create a Nominatim database from an OSM planet file and how to keep the database up to date. It is assumed that you have already sucessfully installed the Nominatim -software itself, if not return to the [prerequisites page](Prerequisites.md). +software itself, if not return to the [installation page](Installation.md). Configuration setup in settings/local.php ----------------------------------------- @@ -45,10 +45,11 @@ Nominatim can use postcodes from an external source to improve searches that inv wget http://www.nominatim.org/data/gb_postcode_data.sql.gz -Initial Import of the Data +Initial import of the data -------------------------- -**Important:** first try the import with a small excerpt, for example from Geofabrik. +**Important:** first try the import with a small excerpt, for example from +[Geofabrik](http://download.geofabrik.de). Download the data to import and load the data with the following command: @@ -57,21 +58,121 @@ Download the data to import and load the data with the following command: The --osm2pgsql-cache parameter is optional but strongly recommended for planet imports. It sets the node cache size for the osm2pgsql import part (see -C parameter in osm2pgsql help). 28GB are recommended for a full planet -imports, for excerpts you can use less. -Adapt to your available RAM to avoid swapping. +import, for excerpts you can use less. Adapt to your available RAM to +avoid swapping, never give more than 2/3 of RAM to osm2pgsql. -The import will take as little as an hour for a small country extract -and as much as 10 days for a full-scale planet import on less powerful -hardware. - -Loading Additional Datasets +Loading additional datasets --------------------------- The following commands will create additional entries for countries and POI searches: - ./utils/specialphrases.php --countries > data/specialphrases_countries.sql - psql -d nominatim -f data/specialphrases_countries.sql - ./utils/specialphrases.php --wiki-import > data/specialphrases.sql - psql -d nominatim -f data/specialphrases.sql + ./utils/specialphrases.php --countries > specialphrases_countries.sql + psql -d nominatim -f specialphrases_countries.sql + ./utils/specialphrases.php --wiki-import > specialphrases.sql + psql -d nominatim -f specialphrases.sql + + +Installing Tiger housenumber data for the US +============================================ + +Nominatim is able to use the official TIGER address set to complement the +OSM housenumber data in the US. You can add TIGER data to your own Nominatim +instance by following these steps: + + 1. Install the GDAL library and python bindings + + * Ubuntu: `sudo apt-get install python-gdal` + * CentOS: `sudo yum install gdal-python` + + 2. Get the TIGER 2015 data. You will need the EDGES files + (3,234 zip files, 11GB total). Choose one of the two sources: + + wget -r ftp://ftp2.census.gov/geo/tiger/TIGER2015/EDGES/ + wget -r ftp://mirror1.shellbot.com/census/geo/tiger/TIGER2015/EDGES/ + + The first one is the original source, the second a considerably faster + mirror. + + 3. Convert the data into SQL statements (stored in data/tiger): + + ./utils/imports.php --parse-tiger + + 4. Import the data into your Nominatim database: + + ./utils/setup.php --import-tiger-data + + 5. Enable use of the Tiger data in your `settings/local.php` by adding: + + @define('CONST_Use_US_Tiger_Data', true); + +Be warned that the import can take a very long time, especially if you +import all of the US. + + +Updates +======= + +There are many different possibilities to update your Nominatim database. +The following section describes how to keep it up-to-date with osmosis. +For a list of other methods see the output of `./utils/update.php --help`. + +Installing the newest version of osmosis +---------------------------------------- + +The version of osmosis that comes with your distribution should be sufficient +in most cases. + +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_Osmosis_Binary', '/usr/local/bin/osmosis'); + +Setting up the update process +----------------------------- + +Next the update needs to be initialised. By default Nominatim is configured +to update using the global minutely diffs. + +If you want a different update source you will need to add some settings +to `settings/local.php`. For example, to use the daily country extracts +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'); + + +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 +----------------------------- + +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: + + ./utils/setup.php --create-functions --enable-diff-updates + +Updating Nominatim +------------------ + +The following command will keep your database constantly up to date: + + ./utils/update.php --import-osmosis-all --no-npi + +If you have imported multiple country extracts and want to keep them +up-to-date, have a look at the script in +(issue #60)[https://github.com/twain47/Nominatim/issues/60].