]> git.openstreetmap.org Git - nominatim.git/blobdiff - docs/admin/Import.md
add documentation for public interface of SearchDescription
[nominatim.git] / docs / admin / Import.md
index 21cae89a3a2cda636a2301d4c5365ee944ef7177..39c45a6e83b865bf26f14e873ce445dbd5e9762f 100644 (file)
@@ -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 <data 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).