]> git.openstreetmap.org Git - nominatim.git/blob - docs/api/Faq.md
add FAQ about finding bad postcodes
[nominatim.git] / docs / api / Faq.md
1 # Frequently Asked Questions
2
3 ## API Results
4
5 #### 1. The address of my search results contains far-away places that don't belong there.
6
7 Nominatim computes the address from two sources in the OpenStreetMap data:
8 from administrative boundaries and from place nodes. Boundaries are the more
9 useful source. They precisely describe an area. So it is very clear for
10 Nominatim if a point belongs to an area or not. Place nodes are more complicated.
11 These are only points without any precise extent. So Nominatim has to take a
12 guess and assume that an address belongs to the closest place node it can find.
13 In an ideal world, Nominatim would not need the place nodes but there are
14 many places on earth where there are no precise boundaries available for
15 all parts that make up an address. This is in particular true for the more
16 local address parts, like villages and suburbs. Therefore it is not possible
17 to completely dismiss place nodes. And sometimes they sneak in where they
18 don't belong.
19
20 As a OpenStreetMap mapper, you can improve the situation in two ways: if you
21 see a place node for which already an administrative area exists, then you
22 should _link_ the two by adding the node with a 'label' role to the boundary
23 relation. If there is no administrative area, you can add the approximate
24 extent of the place and tag it place=<something> as well.
25
26 #### 2. When doing reverse search, the address details have parts that don't contain the point I was looking up.
27
28 There is a common misconception how the reverse API call works in Nominatim.
29 Reverse does not give you the address of the point you asked for. Reverse
30 returns the closest object to the point you asked for and then returns the
31 address of that object. Now, if you are close to a border, then the closest
32 object may be across that border. When Nominatim then returns the address,
33 it contains the county/state/country across the border.
34
35 #### 3. I get different counties/states/countries when I change the zoom parameter in the reverse query. How is that possible?
36
37 This is basically the same problem as in the previous answer.
38 The zoom level influences at which [search rank](../customize/Ranking.md#search-rank) Nominatim starts looking
39 for the closest object. So the closest house number maybe on one side of the
40 border while the closest street is on the other. As the address details contain
41 the address of the closest object found, you might sometimes get one result,
42 sometimes the other for the closest point.
43
44 #### 4. Can you return the continent?
45
46 Nominatim assigns each map feature one country. Those outside any administrative
47 boundaries are assigned a special no-country. Continents or other super-national
48 administrations (e.g. European Union, NATO, Custom unions) are not supported,
49 see also [Administrative Boundary](https://wiki.openstreetmap.org/wiki/Tag:boundary%3Dadministrative#Super-national_administrations).
50
51 #### 5. Can you return the timezone?
52
53 See this separate OpenStreetMap-based project [Timezone Boundary Builder](https://github.com/evansiroky/timezone-boundary-builder).
54
55 #### 6. I want to download a list of streets/restaurants of a city/region
56
57 The [Overpass API](https://wiki.openstreetmap.org/wiki/Overpass_API) is more
58 suited for these kinds of queries.
59
60 That said if you installed your own Nominatim instance you can use the
61 `nominatim export` PHP script as basis to return such lists.
62
63 #### 7. My result has a wrong postcode. Where does it come from?
64
65 Most places in OSM don't have a postcode, so Nominatim tries to interpolate
66 one. It first look at all the places that make up the address of the place.
67 If one of them has a postcode defined, this is the one to be used. When
68 none of the address parts has a postcode either, Nominatim interpolates one
69 from the surrounding objects. If the postcode is for your result is one, then
70 most of the time there is an OSM object with the wrong postcode nearby.
71
72 To find the bad postcode, go to
73 [https://nominatim.openstreetmap.org](https://nominatim.openstreetmap.org)
74 and search for your place. When you have found it, click on the 'details' link
75 under the result to go to the details page. There is a field 'Computed Postcode'
76 which should display the bad postcode. Click on the 'how?' link. A small
77 explanation text appears. It contains a link to a query for Overpass Turbo.
78 Click on that and you get a map with all places in the area that have the bad
79 postcode. If none is displayed, zoom the map out a bit and then click on 'Run'.
80
81 Now go to [OpenStreetMap](https://openstreetmap.org) and fix the error you
82 have just found. It will take at least a day for Nominatim to catch up with
83 your data fix. Sometimes longer, depending on how much editing activity is in
84 the area.
85