]> git.openstreetmap.org Git - nominatim.git/blob - docs/customize/Importance.md
docs: add customization hints for secondary importance
[nominatim.git] / docs / customize / Importance.md
1 ## Importance
2
3 Search requests can yield multiple results which match equally well with
4 the original query. In such case Nominatim needs to order the results
5 according to a different criterion: importance. This is a measure for how
6 likely it is that a user will search for a given place. This section explains
7 the sources Nominatim uses for computing importance of a place and how to
8 customize them.
9
10 ### How importance is computed
11
12 The main value for importance is derived from page ranking values for Wikipedia
13 pages for a place. For places that do not have their own
14 Wikipedia page, a formula is used that derives a static importance from the
15 places [search rank](../customize/Ranking#search-rank).
16
17 In a second step, a secondary importance value is added which is meant to
18 represent how well-known the general area is where the place is located. It
19 functions as a tie-breaker between places with very similar primary
20 importance values.
21
22 nominatim.org has preprocessed importance tables for the
23 [primary Wikipedia rankings](https://nominatim.org/data/wikimedia-importance.sql.gz)
24 and for a secondary importance based on the number of tile views on openstreetmap.org.
25
26 ### Customizing secondary importance
27
28 The secondary importance is implemented as a simple
29 [Postgis raster](https://postgis.net/docs/raster.html) table, where Nominatim
30 looks up the value for the coordinates of the centroid of a place. You can
31 provide your own secondary importance raster in form of an SQL file named
32 `secondary_importance.sql.gz` in your project directory.
33
34 The SQL file needs to drop and (re)create a table `secondary_importance` which
35 must as a minimum contain a column `rast` of type `raster`. The raster must
36 be in EPSG:4326 and contain 16bit unsigned ints
37 (`raster_constraint_pixel_types(rast) = '{16BUI}'). Any other columns in the
38 table will be ignored. You must furthermore create an index as follows:
39
40 ```
41 CREATE INDEX ON secondary_importance USING gist(ST_ConvexHull(gist))
42 ```
43
44 The following raster2pgsql command will create a table that conforms to
45 the requirements:
46
47 ```
48 raster2pgsql -I -C -Y -d -t 128x128 input.tiff public.secondary_importance
49 ```