mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
update API documentation
This commit is contained in:
@@ -2,13 +2,18 @@
|
|||||||
|
|
||||||
Show all details about a single place saved in the database.
|
Show all details about a single place saved in the database.
|
||||||
|
|
||||||
|
This API endpoint is meant for visual inspection of the data in the database
|
||||||
|
and is meant for use with [Nominatim-UI](https://github.com/osm-search/nominatim-ui/).
|
||||||
|
The parameters of the endpoint and the output may change occasionally between
|
||||||
|
versions of Nominatim. Do not rely on the output in scripts or applications.
|
||||||
|
|
||||||
|
|
||||||
!!! warning
|
!!! warning
|
||||||
The details page exists for debugging only. You may not use it in scripts
|
The details endpoint at https://nominatim.openstreetmap.org
|
||||||
or to automatically query details about a result.
|
may not used in scripts or bots at all.
|
||||||
See [Nominatim Usage Policy](https://operations.osmfoundation.org/policies/nominatim/).
|
See [Nominatim Usage Policy](https://operations.osmfoundation.org/policies/nominatim/).
|
||||||
|
|
||||||
|
|
||||||
## Parameters
|
|
||||||
|
|
||||||
The details API supports the following two request formats:
|
The details API supports the following two request formats:
|
||||||
|
|
||||||
@@ -35,59 +40,90 @@ for a place is different between Nominatim installation (servers) and
|
|||||||
changes when data gets reimported. Therefore it cannot be used as
|
changes when data gets reimported. Therefore it cannot be used as
|
||||||
a permanent id and shouldn't be used in bug reports.
|
a permanent id and shouldn't be used in bug reports.
|
||||||
|
|
||||||
|
!!! danger "Deprecation warning"
|
||||||
|
The API can also be used with the URL
|
||||||
|
`https://nominatim.openstreetmap.org/details.php`. This is now deprecated
|
||||||
|
and will be removed in future versions.
|
||||||
|
|
||||||
Additional optional parameters are explained below.
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
This section lists additional optional parameters.
|
||||||
|
|
||||||
### Output format
|
### Output format
|
||||||
|
|
||||||
* `json_callback=<string>`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| json_callback | function name | _unset_ |
|
||||||
|
|
||||||
Wrap JSON output in a callback function (JSONP) i.e. `<string>(<json>)`.
|
When given, then JSON output will be wrapped in a callback function with
|
||||||
|
the given name. See [JSONP](https://en.wikipedia.org/wiki/JSONP) for more
|
||||||
|
information.
|
||||||
|
|
||||||
* `pretty=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| pretty | 0 or 1 | 0 |
|
||||||
|
|
||||||
Add indentation to make it more human-readable. (Default: 0)
|
`[PHP-only]` Add indentation to the output to make it more human-readable.
|
||||||
|
|
||||||
|
|
||||||
### Output details
|
### Output details
|
||||||
|
|
||||||
* `addressdetails=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| addressdetails | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include a breakdown of the address into elements. (Default: 0)
|
When set to 1, include a breakdown of the address into elements.
|
||||||
|
|
||||||
* `keywords=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| keywords | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include a list of name keywords and address keywords (word ids). (Default: 0)
|
When set to 1, include a list of name keywords and address keywords
|
||||||
|
in the result.
|
||||||
|
|
||||||
* `linkedplaces=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| linkedplaces | 0 or 1 | 1 |
|
||||||
|
|
||||||
Include a details of places that are linked with this one. Places get linked
|
Include details of places that are linked with this one. Places get linked
|
||||||
together when they are different forms of the same physical object. Nominatim
|
together when they are different forms of the same physical object. Nominatim
|
||||||
links two kinds of objects together: place nodes get linked with the
|
links two kinds of objects together: place nodes get linked with the
|
||||||
corresponding administrative boundaries. Waterway relations get linked together with their
|
corresponding administrative boundaries. Waterway relations get linked together with their
|
||||||
members.
|
members.
|
||||||
(Default: 1)
|
|
||||||
|
|
||||||
* `hierarchy=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| hierarchy | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include details of places lower in the address hierarchy. (Default: 0)
|
Include details of places lower in the address hierarchy.
|
||||||
|
|
||||||
* `group_hierarchy=[0|1]`
|
`[Python-only]` will only return properly parented places. These are address
|
||||||
|
or POI-like places that reuse the address of their parent street or place.
|
||||||
|
|
||||||
For JSON output will group the places by type. (Default: 0)
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| group_hierarchy | 0 or 1 | 0 |
|
||||||
|
|
||||||
* `polygon_geojson=[0|1]`
|
When set to 1, the output of the address hierarchy will be
|
||||||
|
grouped by type.
|
||||||
|
|
||||||
Include geometry of result. (Default: 0)
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| polygon_geojson | 0 or 1 | 0 |
|
||||||
|
|
||||||
|
|
||||||
|
Include geometry of result.
|
||||||
|
|
||||||
### Language of results
|
### Language of results
|
||||||
|
|
||||||
* `accept-language=<browser language string>`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| accept-language | browser language string | content of "Accept-Language" HTTP header |
|
||||||
|
|
||||||
Preferred language order for showing result, overrides the value
|
Preferred language order for showing search results. This may either be
|
||||||
specified in the "Accept-Language" HTTP header.
|
a simple comma-separated list of language codes or have the same format
|
||||||
Either use a standard RFC2616 accept-language string or a simple
|
as the ["Accept-Language" HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).
|
||||||
comma-separated list of language codes.
|
|
||||||
|
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
The lookup API allows to query the address and other details of one or
|
The lookup API allows to query the address and other details of one or
|
||||||
multiple OSM objects like node, way or relation.
|
multiple OSM objects like node, way or relation.
|
||||||
|
|
||||||
## Parameters
|
## Endpoint
|
||||||
|
|
||||||
The lookup API has the following format:
|
The lookup API has the following format:
|
||||||
|
|
||||||
@@ -15,75 +15,129 @@ The lookup API has the following format:
|
|||||||
prefixed with its type, one of node(N), way(W) or relation(R). Up to 50 ids
|
prefixed with its type, one of node(N), way(W) or relation(R). Up to 50 ids
|
||||||
can be queried at the same time.
|
can be queried at the same time.
|
||||||
|
|
||||||
Additional optional parameters are explained below.
|
!!! danger "Deprecation warning"
|
||||||
|
The API can also be used with the URL
|
||||||
|
`https://nominatim.openstreetmap.org/lookup.php`. This is now deprecated
|
||||||
|
and will be removed in future versions.
|
||||||
|
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
This section lists additional optional parameters.
|
||||||
|
|
||||||
### Output format
|
### Output format
|
||||||
|
|
||||||
* `format=[xml|json|jsonv2|geojson|geocodejson]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| format | one of: `xml`, `json`, `jsonv2`, `geojson`, `geocodejson` | `jsonv2` |
|
||||||
|
|
||||||
See [Place Output Formats](Output.md) for details on each format. (Default: xml)
|
See [Place Output Formats](Output.md) for details on each format.
|
||||||
|
|
||||||
* `json_callback=<string>`
|
|
||||||
|
|
||||||
Wrap JSON output in a callback function (JSONP) i.e. `<string>(<json>)`.
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| json_callback | function name | _unset_ |
|
||||||
|
|
||||||
|
When given, then JSON output will be wrapped in a callback function with
|
||||||
|
the given name. See [JSONP](https://en.wikipedia.org/wiki/JSONP) for more
|
||||||
|
information.
|
||||||
|
|
||||||
Only has an effect for JSON output formats.
|
Only has an effect for JSON output formats.
|
||||||
|
|
||||||
|
|
||||||
### Output details
|
### Output details
|
||||||
|
|
||||||
* `addressdetails=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| addressdetails | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include a breakdown of the address into elements. (Default: 0)
|
When set to 1, include a breakdown of the address into elements.
|
||||||
|
The exact content of the address breakdown depends on the output format.
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
If you are interested in a stable classification of address categories
|
||||||
|
(suburb, city, state, etc), have a look at the `geocodejson` format.
|
||||||
|
All other formats return classifications according to OSM tagging.
|
||||||
|
There is a much larger set of categories and they are not always consistent,
|
||||||
|
which makes them very hard to work with.
|
||||||
|
|
||||||
|
|
||||||
* `extratags=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| extratags | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include additional information in the result if available,
|
When set to 1, the response include any additional information in the result
|
||||||
e.g. wikipedia link, opening hours. (Default: 0)
|
that is available in the database, e.g. wikipedia link, opening hours.
|
||||||
|
|
||||||
|
|
||||||
* `namedetails=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| namedetails | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include a list of alternative names in the results. These may include
|
When set to 1, include a full list of names for the result. These may include
|
||||||
language variants, references, operator and brand. (Default: 0)
|
language variants, older names, references and brand.
|
||||||
|
|
||||||
|
|
||||||
### Language of results
|
### Language of results
|
||||||
|
|
||||||
* `accept-language=<browser language string>`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| accept-language | browser language string | content of "Accept-Language" HTTP header |
|
||||||
|
|
||||||
|
Preferred language order for showing search results. This may either be
|
||||||
|
a simple comma-separated list of language codes or have the same format
|
||||||
|
as the ["Accept-Language" HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
First-time users of Nominatim tend to be confused that they get different
|
||||||
|
results when using Nominatim in the browser versus in a command-line tool
|
||||||
|
like wget or curl. The command-line tools
|
||||||
|
usually don't send any Accept-Language header, prompting Nominatim
|
||||||
|
to show results in the local language. Browsers on the contratry always
|
||||||
|
send the currently chosen browser language.
|
||||||
|
|
||||||
Preferred language order for showing search results, overrides the value
|
|
||||||
specified in the "Accept-Language" HTTP header.
|
|
||||||
Either use a standard RFC2616 accept-language string or a simple
|
|
||||||
comma-separated list of language codes.
|
|
||||||
|
|
||||||
### Polygon output
|
### Polygon output
|
||||||
|
|
||||||
* `polygon_geojson=1`
|
| Parameter | Value | Default |
|
||||||
* `polygon_kml=1`
|
|-----------| ----- | ------- |
|
||||||
* `polygon_svg=1`
|
| polygon_geojson | 0 or 1 | 0 |
|
||||||
* `polygon_text=1`
|
| polygon_kml | 0 or 1 | 0 |
|
||||||
|
| polygon_svg | 0 or 1 | 0 |
|
||||||
|
| polygon_text | 0 or 1 | 0 |
|
||||||
|
|
||||||
Output geometry of results as a GeoJSON, KML, SVG or WKT. Only one of these
|
Add the full geometry of the place to the result output. Output formats
|
||||||
options can be used at a time. (Default: 0)
|
in GeoJSON, KML, SVG or WKT are supported. Only one of these
|
||||||
|
options can be used at a time.
|
||||||
|
|
||||||
* `polygon_threshold=0.0`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| polygon_threshold | floating-point number | 0.0 |
|
||||||
|
|
||||||
Return a simplified version of the output geometry. The parameter is the
|
When one og the polygon_* outputs is chosen, return a simplified version
|
||||||
|
of the output geometry. The parameter describes the
|
||||||
tolerance in degrees with which the geometry may differ from the original
|
tolerance in degrees with which the geometry may differ from the original
|
||||||
geometry. Topology is preserved in the result. (Default: 0.0)
|
geometry. Topology is preserved in the geometry.
|
||||||
|
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
|
||||||
* `email=<valid email address>`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| email | valid email address | _unset_ |
|
||||||
|
|
||||||
If you are making large numbers of request please include an appropriate email
|
If you are making large numbers of request please include an appropriate email
|
||||||
address to identify your requests. See Nominatim's [Usage Policy](https://operations.osmfoundation.org/policies/nominatim/) for more details.
|
address to identify your requests. See Nominatim's
|
||||||
|
[Usage Policy](https://operations.osmfoundation.org/policies/nominatim/) for more details.
|
||||||
|
|
||||||
* `debug=[0|1]`
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| debug | 0 or 1 | 0 |
|
||||||
|
|
||||||
Output assorted developer debug information. Data on internals of Nominatim's
|
Output assorted developer debug information. Data on internals of Nominatim's
|
||||||
"Search Loop" logic, and SQL queries. The output is (rough) HTML format.
|
"search loop" logic, and SQL queries. The output is HTML format.
|
||||||
This overrides the specified machine readable format. (Default: 0)
|
This overrides the specified machine readable format.
|
||||||
|
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|||||||
@@ -1,8 +1,16 @@
|
|||||||
### Nominatim API
|
### Nominatim API
|
||||||
|
|
||||||
Nominatim indexes named (or numbered) features within the OpenStreetMap (OSM) dataset and a subset of other unnamed features (pubs, hotels, churches, etc).
|
!!! Attention
|
||||||
|
The current version of Nominatim implements two different search frontends:
|
||||||
|
the old PHP frontend and the new Python frontend. They have a very similar
|
||||||
|
API but differ in some implementation details. These are marked in the
|
||||||
|
documentation as `[Python-only]` or `[PHP-only]`.
|
||||||
|
|
||||||
Its API has the following endpoints for querying the data:
|
`https://nominatim.openstreetmap.org` implements the **Python frontend**.
|
||||||
|
So users should refer to the **`[Python-only]`** comments.
|
||||||
|
|
||||||
|
This section describes the API V1 of the Nominatim web service. The
|
||||||
|
service offers the following endpoints:
|
||||||
|
|
||||||
* __[/search](Search.md)__ - search OSM objects by name or type
|
* __[/search](Search.md)__ - search OSM objects by name or type
|
||||||
* __[/reverse](Reverse.md)__ - search OSM object by their location
|
* __[/reverse](Reverse.md)__ - search OSM object by their location
|
||||||
@@ -12,3 +20,6 @@ Its API has the following endpoints for querying the data:
|
|||||||
back in Nominatim in case the deletion was accidental
|
back in Nominatim in case the deletion was accidental
|
||||||
* __/polygons__ - list of broken polygons detected by Nominatim
|
* __/polygons__ - list of broken polygons detected by Nominatim
|
||||||
* __[/details](Details.md)__ - show internal details for an object (for debugging only)
|
* __[/details](Details.md)__ - show internal details for an object (for debugging only)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# Reverse Geocoding
|
# Reverse Geocoding
|
||||||
|
|
||||||
Reverse geocoding generates an address from a latitude and longitude.
|
Reverse geocoding generates an address from a coordinate given as
|
||||||
|
latitude and longitude.
|
||||||
|
|
||||||
## How it works
|
## How it works
|
||||||
|
|
||||||
@@ -18,8 +19,7 @@ The other issue to be aware of is that the closest OSM object may not always
|
|||||||
have a similar enough address to the coordinate you were requesting. For
|
have a similar enough address to the coordinate you were requesting. For
|
||||||
example, in dense city areas it may belong to a completely different street.
|
example, in dense city areas it may belong to a completely different street.
|
||||||
|
|
||||||
|
## Endpoint
|
||||||
## Parameters
|
|
||||||
|
|
||||||
The main format of the reverse API is
|
The main format of the reverse API is
|
||||||
|
|
||||||
@@ -31,57 +31,101 @@ where `lat` and `lon` are latitude and longitude of a coordinate in WGS84
|
|||||||
projection. The API returns exactly one result or an error when the coordinate
|
projection. The API returns exactly one result or an error when the coordinate
|
||||||
is in an area with no OSM data coverage.
|
is in an area with no OSM data coverage.
|
||||||
|
|
||||||
Additional parameters are accepted as listed below.
|
|
||||||
|
|
||||||
!!! warning "Deprecation warning"
|
!!! danger "Deprecation warning"
|
||||||
The reverse API used to allow address lookup for a single OSM object by
|
The reverse API used to allow address lookup for a single OSM object by
|
||||||
its OSM id. This use is now deprecated. Use the [Address Lookup API](Lookup.md)
|
its OSM id for `[PHP-only]`. The use is considered deprecated.
|
||||||
instead.
|
Use the [Address Lookup API](Lookup.md) instead.
|
||||||
|
|
||||||
|
!!! danger "Deprecation warning"
|
||||||
|
The API can also be used with the URL
|
||||||
|
`https://nominatim.openstreetmap.org/reverse.php`. This is now deprecated
|
||||||
|
and will be removed in future versions.
|
||||||
|
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
This section lists additional parameters to further influence the output.
|
||||||
|
|
||||||
### Output format
|
### Output format
|
||||||
|
|
||||||
* `format=[xml|json|jsonv2|geojson|geocodejson]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| format | one of: `xml`, `json`, `jsonv2`, `geojson`, `geocodejson` | `xml` |
|
||||||
|
|
||||||
See [Place Output Formats](Output.md) for details on each format. (Default: xml)
|
See [Place Output Formats](Output.md) for details on each format.
|
||||||
|
|
||||||
* `json_callback=<string>`
|
|
||||||
|
|
||||||
Wrap JSON output in a callback function ([JSONP](https://en.wikipedia.org/wiki/JSONP)) i.e. `<string>(<json>)`.
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| json_callback | function name | _unset_ |
|
||||||
|
|
||||||
|
When given, then JSON output will be wrapped in a callback function with
|
||||||
|
the given name. See [JSONP](https://en.wikipedia.org/wiki/JSONP) for more
|
||||||
|
information.
|
||||||
|
|
||||||
Only has an effect for JSON output formats.
|
Only has an effect for JSON output formats.
|
||||||
|
|
||||||
|
|
||||||
### Output details
|
### Output details
|
||||||
|
|
||||||
* `addressdetails=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| addressdetails | 0 or 1 | 1 |
|
||||||
|
|
||||||
Include a breakdown of the address into elements. (Default: 1)
|
When set to 1, include a breakdown of the address into elements.
|
||||||
|
The exact content of the address breakdown depends on the output format.
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
If you are interested in a stable classification of address categories
|
||||||
|
(suburb, city, state, etc), have a look at the `geocodejson` format.
|
||||||
|
All other formats return classifications according to OSM tagging.
|
||||||
|
There is a much larger set of categories and they are not always consistent,
|
||||||
|
which makes them very hard to work with.
|
||||||
|
|
||||||
|
|
||||||
* `extratags=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| extratags | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include additional information in the result if available,
|
When set to 1, the response include any additional information in the result
|
||||||
e.g. wikipedia link, opening hours. (Default: 0)
|
that is available in the database, e.g. wikipedia link, opening hours.
|
||||||
|
|
||||||
|
|
||||||
* `namedetails=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| namedetails | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include a list of alternative names in the results. These may include
|
When set to 1, include a full list of names for the result. These may include
|
||||||
language variants, references, operator and brand. (Default: 0)
|
language variants, older names, references and brand.
|
||||||
|
|
||||||
|
|
||||||
### Language of results
|
### Language of results
|
||||||
|
|
||||||
* `accept-language=<browser language string>`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| accept-language | browser language string | content of "Accept-Language" HTTP header |
|
||||||
|
|
||||||
Preferred language order for showing search results, overrides the value
|
Preferred language order for showing search results. This may either be
|
||||||
specified in the "Accept-Language" HTTP header.
|
a simple comma-separated list of language codes or have the same format
|
||||||
Either use a standard RFC2616 accept-language string or a simple
|
as the ["Accept-Language" HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).
|
||||||
comma-separated list of language codes.
|
|
||||||
|
|
||||||
### Result limitation
|
!!! tip
|
||||||
|
First-time users of Nominatim tend to be confused that they get different
|
||||||
|
results when using Nominatim in the browser versus in a command-line tool
|
||||||
|
like wget or curl. The command-line tools
|
||||||
|
usually don't send any Accept-Language header, prompting Nominatim
|
||||||
|
to show results in the local language. Browsers on the contratry always
|
||||||
|
send the currently chosen browser language.
|
||||||
|
|
||||||
* `zoom=[0-18]`
|
|
||||||
|
|
||||||
Level of detail required for the address. Default: 18. This is a number that
|
### Result restriction
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| zoom | 0-18 | 18 |
|
||||||
|
|
||||||
|
Level of detail required for the address. This is a number that
|
||||||
corresponds roughly to the zoom level used in XYZ tile sources in frameworks
|
corresponds roughly to the zoom level used in XYZ tile sources in frameworks
|
||||||
like Leaflet.js, Openlayers etc.
|
like Leaflet.js, Openlayers etc.
|
||||||
In terms of address details the zoom levels are as follows:
|
In terms of address details the zoom levels are as follows:
|
||||||
@@ -95,41 +139,76 @@ In terms of address details the zoom levels are as follows:
|
|||||||
12 | town / borough
|
12 | town / borough
|
||||||
13 | village / suburb
|
13 | village / suburb
|
||||||
14 | neighbourhood
|
14 | neighbourhood
|
||||||
15 | locality
|
15 | any settlement
|
||||||
16 | major streets
|
16 | major streets
|
||||||
17 | major and minor streets
|
17 | major and minor streets
|
||||||
18 | building
|
18 | building
|
||||||
|
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| layers | comma-separated list of: `address`, `poi`, `railway`, `natural`, `manmade` | _unset_ (no restriction) |
|
||||||
|
|
||||||
|
The layers filter allows to select places by themes.
|
||||||
|
|
||||||
|
The `address` layer contains all places that make up an address:
|
||||||
|
address points with house numbers, streets, inhabited places (suburbs, villages,
|
||||||
|
cities, states tec.) and administrative boundaries.
|
||||||
|
|
||||||
|
The `poi` layer selects all point of interest. This includes classic POIs like
|
||||||
|
restaurants, shops, hotels but also less obvious features like recycling bins,
|
||||||
|
guideposts or benches.
|
||||||
|
|
||||||
|
The `railway` layer includes railway infrastructure like tracks.
|
||||||
|
Note that in Nominatim's standard configuration, only very few railway
|
||||||
|
features are imported into the database.
|
||||||
|
|
||||||
|
The `natural` layer collects feautures like rivers, lakes and mountains. While
|
||||||
|
the `manmade` layer functions as a catch-all for features not covered by the
|
||||||
|
other layers.
|
||||||
|
|
||||||
|
|
||||||
### Polygon output
|
### Polygon output
|
||||||
|
|
||||||
* `polygon_geojson=1`
|
| Parameter | Value | Default |
|
||||||
* `polygon_kml=1`
|
|-----------| ----- | ------- |
|
||||||
* `polygon_svg=1`
|
| polygon_geojson | 0 or 1 | 0 |
|
||||||
* `polygon_text=1`
|
| polygon_kml | 0 or 1 | 0 |
|
||||||
|
| polygon_svg | 0 or 1 | 0 |
|
||||||
|
| polygon_text | 0 or 1 | 0 |
|
||||||
|
|
||||||
Output geometry of results as a GeoJSON, KML, SVG or WKT. Only one of these
|
Add the full geometry of the place to the result output. Output formats
|
||||||
options can be used at a time. (Default: 0)
|
in GeoJSON, KML, SVG or WKT are supported. Only one of these
|
||||||
|
options can be used at a time.
|
||||||
|
|
||||||
* `polygon_threshold=0.0`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| polygon_threshold | floating-point number | 0.0 |
|
||||||
|
|
||||||
Return a simplified version of the output geometry. The parameter is the
|
When one og the polygon_* outputs is chosen, return a simplified version
|
||||||
|
of the output geometry. The parameter describes the
|
||||||
tolerance in degrees with which the geometry may differ from the original
|
tolerance in degrees with which the geometry may differ from the original
|
||||||
geometry. Topology is preserved in the result. (Default: 0.0)
|
geometry. Topology is preserved in the geometry.
|
||||||
|
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
|
||||||
* `email=<valid email address>`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| email | valid email address | _unset_ |
|
||||||
|
|
||||||
If you are making a large number of requests, please include an appropriate email
|
If you are making large numbers of request please include an appropriate email
|
||||||
address to identify your requests. See Nominatim's [Usage Policy](https://operations.osmfoundation.org/policies/nominatim/) for more details.
|
address to identify your requests. See Nominatim's
|
||||||
|
[Usage Policy](https://operations.osmfoundation.org/policies/nominatim/) for more details.
|
||||||
|
|
||||||
|
|
||||||
* `debug=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| debug | 0 or 1 | 0 |
|
||||||
|
|
||||||
Output assorted developer debug information. Data on internals of Nominatim's
|
Output assorted developer debug information. Data on internals of Nominatim's
|
||||||
"Search Loop" logic, and SQL queries. The output is (rough) HTML format.
|
"search loop" logic, and SQL queries. The output is HTML format.
|
||||||
This overrides the specified machine readable format. (Default: 0)
|
This overrides the specified machine readable format.
|
||||||
|
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|||||||
@@ -8,12 +8,12 @@ The search query may also contain
|
|||||||
which are translated into specific OpenStreetMap (OSM) tags (e.g. Pub => `amenity=pub`).
|
which are translated into specific OpenStreetMap (OSM) tags (e.g. Pub => `amenity=pub`).
|
||||||
This can be used to narrow down the kind of objects to be returned.
|
This can be used to narrow down the kind of objects to be returned.
|
||||||
|
|
||||||
!!! warning
|
!!! note
|
||||||
Special phrases are not suitable to query all objects of a certain type in an
|
Special phrases are not suitable to query all objects of a certain type in an
|
||||||
area. Nominatim will always just return a collection of the best matches. To
|
area. Nominatim will always just return a collection of the best matches. To
|
||||||
download OSM data by object type, use the [Overpass API](https://overpass-api.de/).
|
download OSM data by object type, use the [Overpass API](https://overpass-api.de/).
|
||||||
|
|
||||||
## Parameters
|
## Endpoint
|
||||||
|
|
||||||
The search API has the following format:
|
The search API has the following format:
|
||||||
|
|
||||||
@@ -21,35 +21,62 @@ The search API has the following format:
|
|||||||
https://nominatim.openstreetmap.org/search?<params>
|
https://nominatim.openstreetmap.org/search?<params>
|
||||||
```
|
```
|
||||||
|
|
||||||
The search term may be specified with two different sets of parameters:
|
!!! danger "Deprecation warning"
|
||||||
|
The API can also be used with the URL
|
||||||
|
`https://nominatim.openstreetmap.org/search.php`. This is now deprecated
|
||||||
|
and will be removed in future versions.
|
||||||
|
|
||||||
* `q=<query>`
|
The query term can be given in two different forms: free-form or structured.
|
||||||
|
|
||||||
Free-form query string to search for.
|
### Free-form query
|
||||||
Free-form queries are processed first left-to-right and then right-to-left if that fails. So you may search for
|
|
||||||
[pilkington avenue, birmingham](https://nominatim.openstreetmap.org/search?q=pilkington+avenue,birmingham) as well as for
|
|
||||||
[birmingham, pilkington avenue](https://nominatim.openstreetmap.org/search?q=birmingham,+pilkington+avenue).
|
|
||||||
Commas are optional, but improve performance by reducing the complexity of the search.
|
|
||||||
|
|
||||||
* `amenity=<name and/or type of POI>`
|
| Parameter | Value |
|
||||||
* `street=<housenumber> <streetname>`
|
|-----------| ----- |
|
||||||
* `city=<city>`
|
| q | Free-form query string to search for |
|
||||||
* `county=<county>`
|
|
||||||
* `state=<state>`
|
|
||||||
* `country=<country>`
|
|
||||||
* `postalcode=<postalcode>`
|
|
||||||
|
|
||||||
Alternative query string format split into several parameters for structured requests.
|
In this form, the query can be unstructured.
|
||||||
Structured requests are faster but are less robust against alternative
|
Free-form queries are processed first left-to-right and then right-to-left if that fails. So you may search for
|
||||||
OSM tagging schemas. **Do not combine with** `q=<query>` **parameter**.
|
[pilkington avenue, birmingham](https://nominatim.openstreetmap.org/search?q=pilkington+avenue,birmingham) as well as for
|
||||||
|
[birmingham, pilkington avenue](https://nominatim.openstreetmap.org/search?q=birmingham,+pilkington+avenue).
|
||||||
|
Commas are optional, but improve performance by reducing the complexity of the search.
|
||||||
|
|
||||||
Both query forms accept the additional parameters listed below.
|
The free-form may also contain special phrases to describe the type of
|
||||||
|
place to be returned or a coordinate to search close to a position.
|
||||||
|
|
||||||
|
### Structured query
|
||||||
|
|
||||||
|
| Parameter | Value |
|
||||||
|
|----------- | ----- |
|
||||||
|
| amenity | name and/or type of POI |
|
||||||
|
| street | housenumber and streetname |
|
||||||
|
| city | city |
|
||||||
|
| county | county |
|
||||||
|
| state | state |
|
||||||
|
| country | country |
|
||||||
|
| postalcode | postal code |
|
||||||
|
|
||||||
|
The structured form of the search query allows to lookup up an address
|
||||||
|
that is already split into its components. Each parameter represents a field
|
||||||
|
of the address. All parameters are optional. You should only use the ones
|
||||||
|
that are relevant for the address you want to geocode.
|
||||||
|
|
||||||
|
!!! Attention
|
||||||
|
Cannot be combined with the `q=<query>` parameter. Newer versions of
|
||||||
|
the API will return an error if you do so. Older versions simply return
|
||||||
|
unexpected results.
|
||||||
|
|
||||||
|
## Parameters
|
||||||
|
|
||||||
|
The following parameters can be used to further restrict the search and
|
||||||
|
change the output. They are usable for both forms of the search query.
|
||||||
|
|
||||||
### Output format
|
### Output format
|
||||||
|
|
||||||
* `format=[xml|json|jsonv2|geojson|geocodejson]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| format | one of: `xml`, `json`, `jsonv2`, `geojson`, `geocodejson` | `jsonv2` |
|
||||||
|
|
||||||
See [Place Output Formats](Output.md) for details on each format. (Default: jsonv2)
|
See [Place Output Formats](Output.md) for details on each format.
|
||||||
|
|
||||||
!!! note
|
!!! note
|
||||||
The Nominatim service at
|
The Nominatim service at
|
||||||
@@ -57,52 +84,148 @@ See [Place Output Formats](Output.md) for details on each format. (Default: json
|
|||||||
has a different default behaviour for historical reasons. When the
|
has a different default behaviour for historical reasons. When the
|
||||||
`format` parameter is omitted, the request will be forwarded to the Web UI.
|
`format` parameter is omitted, the request will be forwarded to the Web UI.
|
||||||
|
|
||||||
* `json_callback=<string>`
|
|
||||||
|
|
||||||
Wrap JSON output in a callback function ([JSONP](https://en.wikipedia.org/wiki/JSONP)) i.e. `<string>(<json>)`.
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| json_callback | function name | _unset_ |
|
||||||
|
|
||||||
|
When given, then JSON output will be wrapped in a callback function with
|
||||||
|
the given name. See [JSONP](https://en.wikipedia.org/wiki/JSONP) for more
|
||||||
|
information.
|
||||||
|
|
||||||
Only has an effect for JSON output formats.
|
Only has an effect for JSON output formats.
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| limit | number | 10 |
|
||||||
|
|
||||||
|
Limit the maximum number of returned results. Cannot be more than 40.
|
||||||
|
Nominatim may decide to return less results than given, if additional
|
||||||
|
results do not sufficiently match the query.
|
||||||
|
|
||||||
|
|
||||||
### Output details
|
### Output details
|
||||||
|
|
||||||
* `addressdetails=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| addressdetails | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include a breakdown of the address into elements. (Default: 0)
|
When set to 1, include a breakdown of the address into elements.
|
||||||
|
The exact content of the address breakdown depends on the output format.
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
If you are interested in a stable classification of address categories
|
||||||
|
(suburb, city, state, etc), have a look at the `geocodejson` format.
|
||||||
|
All other formats return classifications according to OSM tagging.
|
||||||
|
There is a much larger set of categories and they are not always consistent,
|
||||||
|
which makes them very hard to work with.
|
||||||
|
|
||||||
|
|
||||||
* `extratags=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| extratags | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include additional information in the result if available,
|
When set to 1, the response include any additional information in the result
|
||||||
e.g. wikipedia link, opening hours. (Default: 0)
|
that is available in the database, e.g. wikipedia link, opening hours.
|
||||||
|
|
||||||
|
|
||||||
* `namedetails=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| namedetails | 0 or 1 | 0 |
|
||||||
|
|
||||||
Include a list of alternative names in the results. These may include
|
When set to 1, include a full list of names for the result. These may include
|
||||||
language variants, references, operator and brand. (Default: 0)
|
language variants, older names, references and brand.
|
||||||
|
|
||||||
|
|
||||||
### Language of results
|
### Language of results
|
||||||
|
|
||||||
* `accept-language=<browser language string>`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| accept-language | browser language string | content of "Accept-Language" HTTP header |
|
||||||
|
|
||||||
Preferred language order for showing search results, overrides the value
|
Preferred language order for showing search results. This may either be
|
||||||
specified in the ["Accept-Language" HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).
|
a simple comma-separated list of language codes or have the same format
|
||||||
Either use a standard RFC2616 accept-language string or a simple
|
as the ["Accept-Language" HTTP header](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language).
|
||||||
comma-separated list of language codes.
|
|
||||||
|
|
||||||
### Result limitation
|
!!! tip
|
||||||
|
First-time users of Nominatim tend to be confused that they get different
|
||||||
|
results when using Nominatim in the browser versus in a command-line tool
|
||||||
|
like wget or curl. The command-line tools
|
||||||
|
usually don't send any Accept-Language header, prompting Nominatim
|
||||||
|
to show results in the local language. Browsers on the contratry always
|
||||||
|
send the currently chosen browser language.
|
||||||
|
|
||||||
* `countrycodes=<countrycode>[,<countrycode>][,<countrycode>]...`
|
### Result restriction
|
||||||
|
|
||||||
Limit search results to one or more countries. `<countrycode>` must be the
|
There are two ways to influence the results. *Filters* exclude certain
|
||||||
[ISO 3166-1alpha2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code,
|
kinds of results completely. *Boost parameters* only change the order of the
|
||||||
e.g. `gb` for the United Kingdom, `de` for Germany.
|
results and thus give a preference to some results over others.
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| countrycodes | comma-separated list of country codes | _unset_ |
|
||||||
|
|
||||||
|
Filer that limits the search results to one or more countries.
|
||||||
|
The country code must be the
|
||||||
|
[ISO 3166-1alpha2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) code
|
||||||
|
of the country, e.g. `gb` for the United Kingdom, `de` for Germany.
|
||||||
|
|
||||||
Each place in Nominatim is assigned to one country code based
|
Each place in Nominatim is assigned to one country code based
|
||||||
on OSM country boundaries. In rare cases a place may not be in any country
|
on OSM country boundaries. In rare cases a place may not be in any country
|
||||||
at all, for example, in international waters.
|
at all, for example, when it is in international waters. These places are
|
||||||
|
also excluded when the filter is set.
|
||||||
|
|
||||||
* `exclude_place_ids=<place_id,[place_id],[place_id]`
|
!!! Note
|
||||||
|
This parameter should not be confused with the 'country' parameter of
|
||||||
|
the structured query. The 'country' parameter contains a search term
|
||||||
|
and will be handled with some fuzziness. The `countrycodes` parameter
|
||||||
|
is a hard filter and as such should be prefered. Having both parameters
|
||||||
|
in the same query will work. If the parameters contradict each other,
|
||||||
|
the search will come up empty.
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| layers | comma-separated list of: `address`, `poi`, `railway`, `natural`, `manmade` | _unset_ (no restriction) |
|
||||||
|
|
||||||
|
The layers filter allows to select places by themes.
|
||||||
|
|
||||||
|
The `address` layer contains all places that make up an address:
|
||||||
|
address points with house numbers, streets, inhabited places (suburbs, villages,
|
||||||
|
cities, states tec.) and administrative boundaries.
|
||||||
|
|
||||||
|
The `poi` layer selects all point of interest. This includes classic POIs like
|
||||||
|
restaurants, shops, hotels but also less obvious features like recycling bins,
|
||||||
|
guideposts or benches.
|
||||||
|
|
||||||
|
The `railway` layer includes railway infrastructure like tracks.
|
||||||
|
Note that in Nominatim's standard configuration, only very few railway
|
||||||
|
features are imported into the database.
|
||||||
|
|
||||||
|
The `natural` layer collects feautures like rivers, lakes and mountains. While
|
||||||
|
the `manmade` layer functions as a catch-all for features not covered by the
|
||||||
|
other layers.
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| featureType | one of: `country`, `state`, `city`, `settlement` | _unset_ |
|
||||||
|
|
||||||
|
The featureType allows to have a more fine-grained selection for places
|
||||||
|
from the address layer. Results can be restricted to places that make up
|
||||||
|
the 'state', 'country' or 'city' part of an address. A featureType of
|
||||||
|
settlement selects any human inhabited feature from 'state' down to
|
||||||
|
'neighbourhood'.
|
||||||
|
|
||||||
|
When featureType ist set, then results are automatically restricted
|
||||||
|
to the address layer (see above).
|
||||||
|
|
||||||
|
!!! tip
|
||||||
|
Instead of using the featureType filters `country`, `state` or `city`,
|
||||||
|
you can also use a structured query without the finer-grained parameters
|
||||||
|
amenity or street.
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| exclude_place_ids | comma-separeted list of place ids |
|
||||||
|
|
||||||
If you do not want certain OSM objects to appear in the search
|
If you do not want certain OSM objects to appear in the search
|
||||||
result, give a comma separated list of the `place_id`s you want to skip.
|
result, give a comma separated list of the `place_id`s you want to skip.
|
||||||
@@ -110,65 +233,77 @@ This can be used to retrieve additional search results. For example, if a
|
|||||||
previous query only returned a few results, then including those here would
|
previous query only returned a few results, then including those here would
|
||||||
cause the search to return other, less accurate, matches (if possible).
|
cause the search to return other, less accurate, matches (if possible).
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| viewbox | `<x1>,<y1>,<x2>,<y2>` | _unset_ |
|
||||||
|
|
||||||
* `limit=<integer>`
|
Boost parameter which focuses the search on the given area.
|
||||||
|
Any two corner points of the box are accepted as long as they make a proper
|
||||||
|
box. `x` is longitude, `y` is latitude.
|
||||||
|
|
||||||
Limit the number of returned results. (Default: 10, Maximum: 50)
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| bounded | 0 or 1 | 0 |
|
||||||
|
|
||||||
|
When set to 1, then it turns the 'viewbox' parameter (see above) into
|
||||||
|
a filter paramter, excluding any results outside the viewbox.
|
||||||
|
|
||||||
* `viewbox=<x1>,<y1>,<x2>,<y2>`
|
When `bounded=1` is given and the viewbox is small enough, then an amenity-only
|
||||||
|
search is allowed. Give the special keyword for the amenity in square
|
||||||
The preferred area to find search results. Any two corner points of the box
|
|
||||||
are accepted as long as they span a real box. `x` is longitude,
|
|
||||||
`y` is latitude.
|
|
||||||
|
|
||||||
|
|
||||||
* `bounded=[0|1]`
|
|
||||||
|
|
||||||
When a viewbox is given, restrict the result to items contained within that
|
|
||||||
viewbox (see above). When `viewbox` and `bounded=1` are given, an amenity
|
|
||||||
only search is allowed. Give the special keyword for the amenity in square
|
|
||||||
brackets, e.g. `[pub]` and a selection of objects of this type is returned.
|
brackets, e.g. `[pub]` and a selection of objects of this type is returned.
|
||||||
There is no guarantee that the result is complete. (Default: 0)
|
There is no guarantee that the result returns all objects in the area.
|
||||||
|
|
||||||
|
|
||||||
### Polygon output
|
### Polygon output
|
||||||
|
|
||||||
* `polygon_geojson=1`
|
| Parameter | Value | Default |
|
||||||
* `polygon_kml=1`
|
|-----------| ----- | ------- |
|
||||||
* `polygon_svg=1`
|
| polygon_geojson | 0 or 1 | 0 |
|
||||||
* `polygon_text=1`
|
| polygon_kml | 0 or 1 | 0 |
|
||||||
|
| polygon_svg | 0 or 1 | 0 |
|
||||||
|
| polygon_text | 0 or 1 | 0 |
|
||||||
|
|
||||||
Output geometry of results as a GeoJSON, KML, SVG or WKT. Only one of these
|
Add the full geometry of the place to the result output. Output formats
|
||||||
options can be used at a time. (Default: 0)
|
in GeoJSON, KML, SVG or WKT are supported. Only one of these
|
||||||
|
options can be used at a time.
|
||||||
|
|
||||||
* `polygon_threshold=0.0`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| polygon_threshold | floating-point number | 0.0 |
|
||||||
|
|
||||||
Return a simplified version of the output geometry. The parameter is the
|
When one og the polygon_* outputs is chosen, return a simplified version
|
||||||
|
of the output geometry. The parameter describes the
|
||||||
tolerance in degrees with which the geometry may differ from the original
|
tolerance in degrees with which the geometry may differ from the original
|
||||||
geometry. Topology is preserved in the result. (Default: 0.0)
|
geometry. Topology is preserved in the geometry.
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
|
||||||
* `email=<valid email address>`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| email | valid email address | _unset_ |
|
||||||
|
|
||||||
If you are making large numbers of request please include an appropriate email
|
If you are making large numbers of request please include an appropriate email
|
||||||
address to identify your requests. See Nominatim's [Usage Policy](https://operations.osmfoundation.org/policies/nominatim/) for more details.
|
address to identify your requests. See Nominatim's
|
||||||
|
[Usage Policy](https://operations.osmfoundation.org/policies/nominatim/) for more details.
|
||||||
|
|
||||||
* `dedupe=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| dedupe | 0 or 1 | 1 |
|
||||||
|
|
||||||
Sometimes you have several objects in OSM identifying the same place or
|
Sometimes you have several objects in OSM identifying the same place or
|
||||||
object in reality. The simplest case is a street being split into many
|
object in reality. The simplest case is a street being split into many
|
||||||
different OSM ways due to different characteristics. Nominatim will
|
different OSM ways due to different characteristics. Nominatim will
|
||||||
attempt to detect such duplicates and only return one match unless
|
attempt to detect such duplicates and only return one match. Setting
|
||||||
this parameter is set to 0. (Default: 1)
|
this parameter is set to 0 disables this deduplication mechanism and
|
||||||
|
ensures that all results are returned.
|
||||||
|
|
||||||
* `debug=[0|1]`
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| debug | 0 or 1 | 0 |
|
||||||
|
|
||||||
Output assorted developer debug information. Data on internals of Nominatim's
|
Output assorted developer debug information. Data on internals of Nominatim's
|
||||||
"Search Loop" logic, and SQL queries. The output is (rough) HTML format.
|
"search loop" logic, and SQL queries. The output is HTML format.
|
||||||
This overrides the specified machine readable format. (Default: 0)
|
This overrides the specified machine readable format.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Examples
|
## Examples
|
||||||
|
|||||||
@@ -1,35 +1,50 @@
|
|||||||
# Status
|
# Status
|
||||||
|
|
||||||
Useful for checking if the service and database is running. The JSON output also shows
|
Report on the state of the service and database. Useful for checking if the
|
||||||
|
service is up and running. The JSON output also reports
|
||||||
when the database was last updated.
|
when the database was last updated.
|
||||||
|
|
||||||
|
## Endpoint
|
||||||
|
|
||||||
|
The status API has the following format:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://nominatim.openstreetmap.org/status
|
||||||
|
```
|
||||||
|
|
||||||
|
!!! danger "Deprecation warning"
|
||||||
|
The API can also be used with the URL
|
||||||
|
`https://nominatim.openstreetmap.org/status.php`. This is now deprecated
|
||||||
|
and will be removed in future versions.
|
||||||
|
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
|
|
||||||
* `format=[text|json]` (defaults to 'text')
|
The status endpoint takes a single optional parameter:
|
||||||
|
|
||||||
|
| Parameter | Value | Default |
|
||||||
|
|-----------| ----- | ------- |
|
||||||
|
| format | one of: `text`, `json` | 'text' |
|
||||||
|
|
||||||
|
Selects the output format. See below.
|
||||||
|
|
||||||
|
|
||||||
## Output
|
## Output
|
||||||
|
|
||||||
#### Text format
|
#### Text format
|
||||||
|
|
||||||
```
|
When everything is okay, a status code 200 is returned and a simple message: `OK`
|
||||||
https://nominatim.openstreetmap.org/status.php
|
|
||||||
```
|
|
||||||
|
|
||||||
will return HTTP status code 200 and print `OK`.
|
On error it will return HTTP status code 500 and print a detailed error message, e.g.
|
||||||
|
|
||||||
On error it will return HTTP status code 500 and print a message, e.g.
|
|
||||||
`ERROR: Database connection failed`.
|
`ERROR: Database connection failed`.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### JSON format
|
#### JSON format
|
||||||
|
|
||||||
```
|
Always returns a HTTP code 200, when the status call could be executed.
|
||||||
https://nominatim.openstreetmap.org/status.php?format=json
|
|
||||||
```
|
|
||||||
|
|
||||||
will return HTTP code 200 and a structure
|
On success a JSON dictionary with the following structure is returned:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -45,8 +60,8 @@ The `software_version` field contains the version of Nominatim used to serve
|
|||||||
the API. The `database_version` field contains the version of the data format
|
the API. The `database_version` field contains the version of the data format
|
||||||
in the database.
|
in the database.
|
||||||
|
|
||||||
On error will also return HTTP status code 200 and a structure with error
|
On error will return a shorter JSON dictionary with the error message
|
||||||
code and message, e.g.
|
and status only, e.g.
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
@@ -54,14 +69,3 @@ code and message, e.g.
|
|||||||
"message": "Database connection failed"
|
"message": "Database connection failed"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Possible status codes are
|
|
||||||
|
|
||||||
| | message | notes |
|
|
||||||
| --- | ------------------------------ | ----------------------------------------------------------------- |
|
|
||||||
| 700 | "No database" | connection failed |
|
|
||||||
| 701 | "Module failed" | database could not load nominatim.so |
|
|
||||||
| 702 | "Module call failed" | nominatim.so loaded but calling a function failed |
|
|
||||||
| 703 | "Query failed" | test query against a database table failed |
|
|
||||||
| 704 | "No value" | test query worked but returned no results |
|
|
||||||
| 705 | "Import date is not available" | No import dates were returned (enabling replication can fix this) |
|
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
Nominatim (from the Latin, 'by name') is a tool to search OSM data by name and address and to generate synthetic addresses of OSM points (reverse geocoding).
|
Nominatim (from the Latin, 'by name') is a tool to search OSM data by name and
|
||||||
|
address and to generate synthetic addresses of OSM points (reverse geocoding).
|
||||||
|
It has also limited capability to search features by their type
|
||||||
|
(pubs, hotels, churches, etc).
|
||||||
|
|
||||||
This guide comes in five parts:
|
This guide comes in five parts:
|
||||||
|
|
||||||
|
|||||||
@@ -453,6 +453,8 @@ async def search_endpoint(api: napi.NominatimAPIAsync, params: ASGIAdaptor) -> A
|
|||||||
helpers.feature_type_to_rank(params.get('featureType', ''))
|
helpers.feature_type_to_rank(params.get('featureType', ''))
|
||||||
if params.get('featureType', None) is not None:
|
if params.get('featureType', None) is not None:
|
||||||
details['layers'] = napi.DataLayer.ADDRESS
|
details['layers'] = napi.DataLayer.ADDRESS
|
||||||
|
else:
|
||||||
|
details['layers'] = params.get_layers()
|
||||||
|
|
||||||
# unstructured query parameters
|
# unstructured query parameters
|
||||||
query = params.get('q', None)
|
query = params.get('q', None)
|
||||||
|
|||||||
Reference in New Issue
Block a user