Обратное геокодирование (адрес по координатам)
Находит ближайшие адреса (дома, улицы, города) по географическим координатам. Только для России.
Как вызвать
Чтобы вызвать метод, зарегистрируйтесь и подтвердите почту.
Пример запроса:
curl -X POST \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -H "Authorization: Token ${API_KEY}" \ -d '{ "lat": 55.878, "lon": 37.653 }' \ https://suggestions.dadata.ru/suggestions/api/4_1/rs/geolocate/address
// https://github.com/hflabs/dadata-csharp var token = "${API_KEY}"; var api = new SuggestClientAsync(token); var result = await api.Geolocate(lat: 55.878, lon: 37.653);
var url = "https://suggestions.dadata.ru/suggestions/api/4_1/rs/geolocate/address"; var token = "${API_KEY}"; var query = { lat: 55.878, lon: 37.653 }; var options = { method: "POST", mode: "cors", headers: { "Content-Type": "application/json", "Accept": "application/json", "Authorization": "Token " + token }, body: JSON.stringify(query) } fetch(url, options) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log("error", error));
// https://github.com/hflabs/dadata-php $token = "${API_KEY}"; $dadata = new \Dadata\DadataClient($token, null); $result = $dadata->geolocate("address", 55.878, 37.653);
# https://github.com/hflabs/dadata-py from dadata import Dadata token = "${API_KEY}" dadata = Dadata(token) result = dadata.geolocate(name="address", lat=55.878, lon=37.653)
Параметры запроса
Название | Тип | Обяз.? | По умолч. | Описание |
---|---|---|---|---|
lat | number | ✓ | Географическая широта | |
lon | number | ✓ | Географическая долгота | |
count | number | 10 | Количество результатов (максимум — 20) | |
radius_meters | number | 100 | Радиус поиска в метрах (максимум – 1000) | |
language | string | ru | На каком языке вернуть результат (ru / en) |
Пример запроса с ограничением по радиусу в 50 м:
{ "lat": 55.601983, "lon": 37.359486, "radius_meters": 50 }
Что в ответе
Ответ:
{ "suggestions": [ { "value": "г Москва, ул Сухонская, д 11", "unrestricted_value": "127642, г Москва, ул Сухонская, д 11", "data": {...} }, { "value": "г Москва, ул Сухонская, д 11А", "unrestricted_value": "127642, г Москва, ул Сухонская, д 11А", "data": {...} }, { "value": "г Москва, ул Сухонская, д 13", "unrestricted_value": "127642, г Москва, ул Сухонская, д 13", "data": {...} }, { "value": "г Москва, ул Сухонская, д 9", "unrestricted_value": "127642, г Москва, ул Сухонская, д 9", "data": {...} } ] }
Адреса в ответе идут в порядке удаления от заданных координат.
У адреса обычный набор полей, но некоторые из них не заполняются:
city_area city_district* flat_* timezone beltway_hit beltway_distance metro
Покрытие координат
«Дадата» берет координаты домов и улиц из OpenStreetMap.
Покрытие по домам:
- Москва — 97%,
- Санкт-Петербург — 91%,
- другие города-миллионники — 69%,
- остальная Россия — 47%.
По улицам:
- Москва — 95%,
- Санкт-Петербург — 94%,
- другие города-миллионники — 81%,
- остальная Россия — 70%.
Примеры вызова
Ограничения
Длина запроса (параметр query
) — не более 300 символов.
Количество запросов в день — в соответствии с тарифным планом.
Максимальная частота запросов — 30 в секунду с одного IP-адреса.
Максимальная частота создания новых соединений — 60 в минуту с одного IP-адреса.
Стоимость
Метод бесплатный до 10 000 запросов в день. Больше — в составе годовой подписки.