X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/1d97816c533cb63dcf855b8dfe35a2b1e13cf76b..5d6aabc457e673e825c4cf46585938bcc77aec3b:/docs/admin/Import.md diff --git a/docs/admin/Import.md b/docs/admin/Import.md index 21cae89a..39c45a6e 100644 --- a/docs/admin/Import.md +++ b/docs/admin/Import.md @@ -2,7 +2,8 @@ The following instructions explain how to create a Nominatim database from an OSM planet file. It is assumed that you have already successfully -installed the Nominatim software itself. If this is not the case, return to the +installed the Nominatim software itself and the `nominatim` tool can be found +in your `PATH`. If this is not the case, return to the [installation page](Installation.md). ## Creating the project directory @@ -10,10 +11,11 @@ installed the Nominatim software itself. If this is not the case, return to the Before you start the import, you should create a project directory for your new database installation. This directory receives all data that is related to a single Nominatim setup: configuration, extra data, etc. Create a project -directory apart from the Nominatim software: +directory apart from the Nominatim software and change into the directory: ``` mkdir ~/nominatim-planet +cd ~/nominatim-planet ``` In the following, we refer to the project directory as `$PROJECT_DIR`. To be @@ -25,18 +27,8 @@ export PROJECT_DIR=~/nominatim-planet The Nominatim tool assumes per default that the current working directory is the project directory but you may explicitly state a different directory using -the `--project-dir` parameter. The following instructions assume that you have -added the Nominatim build directory to your PATH and run all directories from -the project directory. If you haven't done yet, add the build directory to your -path and change to the new project directory: - -``` -export PATH=~/Nominatim/build:$PATH -cd $PROJECT_DIR -``` - -Of course, you have to replace the path above with the location of your build -directory. +the `--project-dir` parameter. The following instructions assume that you run +all commands from the project directory. !!! tip "Migration Tip" @@ -48,15 +40,15 @@ directory. ### Configuration setup in `.env` -The Nominatim server can be customized via a `.env` in the project directory. -This is a file in [dotenv](https://github.com/theskumar/python-dotenv) format -which looks the same as variable settings in a standard shell environment. +The Nominatim server can be customized via an `.env` configuration file in the +project directory. This is a file in [dotenv](https://github.com/theskumar/python-dotenv) +format which looks the same as variable settings in a standard shell environment. You can also set the same configuration via environment variables. All settings have a `NOMINATIM_` prefix to avoid conflicts with other environment variables. There are lots of configuration settings you can tweak. Have a look -at `settings/env.default` for a full list. Most should have a sensible default. +at `Nominatim/settings/env.default` for a full list. Most should have a sensible default. #### Flatnode files @@ -91,15 +83,19 @@ The file is about 400MB and adds around 4GB to the Nominatim database. `nominatim refresh --wiki-data --importance`. Updating importances for a planet can take a couple of hours. -### Great Britain, USA postcodes +### External postcodes -Nominatim can use postcodes from an external source to improve searches that -involve a GB or US postcode. This data can be optionally downloaded into the -project directory: +Nominatim can use postcodes from an external source to improve searching with +postcodes. We provide precomputed postcodes sets for the US (using TIGER data) +and the UK (using the [CodePoint OpenData set](https://osdatahub.os.uk/downloads/open/CodePointOpen). +This data can be optionally downloaded into the project directory: cd $PROJECT_DIR - wget https://www.nominatim.org/data/gb_postcode_data.sql.gz - wget https://www.nominatim.org/data/us_postcode_data.sql.gz + wget https://www.nominatim.org/data/gb_postcodes.csv.gz + wget https://www.nominatim.org/data/us_postcodes.csv.gz + +You can also add your own custom postcode sources, see +[Customization of postcodes](Customization.md#external-postcode-data). ## Choosing the data to import @@ -197,12 +193,15 @@ can be found in the development section. [Geofabrik](https://download.geofabrik.de). Download the data to import. Then issue the following command -from the **build directory** to start the import: +from the **project directory** to start the import: ```sh nominatim import --osm-file 2>&1 | tee setup.log ``` +The **project directory** is the one that you have set up at the beginning. +See [creating the project directory](Import#creating-the-project-directory). + ### Notes on full planet imports Even on a perfectly configured machine @@ -236,20 +235,19 @@ MB. Make sure you leave enough RAM for PostgreSQL and osm2pgsql as mentioned above. If the system starts swapping or you are getting out-of-memory errors, reduce the cache size or even consider using a flatnode file. -### Verify the import + +### Testing the installation Run this script to verify all required tables and indices got created successfully. ```sh -nominatim check-database +nominatim admin --check-database ``` -### Testing the installation - Now you can try out your installation by running: ```sh -make serve +nominatim serve ``` This runs a small test server normally used for development. You can use it @@ -257,6 +255,9 @@ to verify that your installation is working. Go to `http://localhost:8088/status.php` and you should see the message `OK`. You can also run a search query, e.g. `http://localhost:8088/search.php?q=Berlin`. +Note that search query is not supported for reverse-only imports. You can run a +reverse query, e.g. `http://localhost:8088/reverse.php?lat=27.1750090510034&lon=78.04209025`. + To run Nominatim via webservers like Apache or nginx, please read the [Deployment chapter](Deployment.md). @@ -277,42 +278,14 @@ running this function. If you want to be able to search for places by their type through [special key phrases](https://wiki.openstreetmap.org/wiki/Nominatim/Special_Phrases) -you also need to enable these key phrases like this: +you also need to import these key phrases like this: - nominatim special-phrases --from-wiki > specialphrases.sql - psql -d nominatim -f specialphrases.sql +```sh +nominatim special-phrases --import-from-wiki +``` Note that this command downloads the phrases from the wiki link above. You need internet access for the step. - -## Installing Tiger housenumber data for the US - -Nominatim is able to use the official [TIGER](https://www.census.gov/geographies/mapping-files/time-series/geo/tiger-line-file.html) -address set to complement the OSM house number data in the US. You can add -TIGER data to your own Nominatim instance by following these steps. The -entire US adds about 10GB to your database. - - 1. Get preprocessed TIGER 2019 data and unpack it into your project - directory: - - cd $PROJECT_DIR - wget https://nominatim.org/data/tiger2019-nominatim-preprocessed.tar.gz - tar xf tiger2019-nominatim-preprocessed.tar.gz - - 2. Import the data into your Nominatim database: - - nominatim add-data --tiger-data tiger - - 3. Enable use of the Tiger data in your `.env` by adding: - - echo NOMINATIM_USE_US_TIGER_DATA=yes >> .env - - 4. Apply the new settings: - - nominatim refresh --functions - - -See the [developer's guide](../develop/data-sources.md#us-census-tiger) for more -information on how the data got preprocessed. - +You can also import special phrases from a csv file, for more +information please read the [Customization chapter](Customization.md).