Reverse Geocoding API - обратное геокодирование по территории России

Добро пожаловать в наш бесплатный сервис обратного геокодирования, основанный на Nominatim. Этот API позволяет преобразовывать географические координаты (широту и долготу) в читаемый адрес.

Ограничения и рекомендации

Внимание: Этот сервис предоставляется бесплатно, но с некоторыми ограничениями. Этот сервис не гарантирует 100% uptime и предоставляется "как есть". Мы не несем ответственности за простои или недоступность сервиса.

Описание и примеры

Метод reverse преобразует координаты (широта, долгота) в адрес или название места.

Endpoint

GET http://geolocation-api.koyu.tech/reverse?lat={latitude}&lon={longitude}&format={format}&zoom={zoom}&addressdetails={addressdetails}

Параметры запроса

Параметр Обязательный Описание Значение по умолчанию
lat Да Широта (в градусах) -
lon Да Долгота (в градусах) -
format Нет Формат ответа (json, xml) json
zoom Нет Уровень детализации (0-18). Чем больше значение, тем более детализированный адрес возвращается 13
addressdetails Нет Включить детализацию адреса (0 или 1) 1
accept-language Нет Предпочитаемый язык результата (например, en-US, ru-RU и т.д.) ru-RU

Параметр zoom определяет уровень детализации возвращаемого адреса. Чем выше значение, тем более детализированная информация об адресе будет возвращена. Значение соответствует приблизительно уровню масштаба в картографических фреймворках, таких как Leaflet.js или OpenLayers.

Значение zoom Детализация адреса
3 Страна
5 Штат/регион
8 Округ
10 Город
12 Город/район
13 Деревня/пригород
14 Микрорайон
15 Любое поселение
16 Основные улицы
17 Основные и второстепенные улицы
18 Здания
Примечание:

Пример запроса

GET https://geolocation-api.koyu.tech/reverse?lat=54.981231&lon=73.393275&zoom=13&format=json

Пример ответа (JSON)

{
    "place_id": 15380669,
    "licence": "Data © OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright",
    "osm_type": "node",
    "osm_id": 4142370528,
    "lat": "54.988212",
    "lon": "73.4011656",
    "class": "place",
    "type": "suburb",
    "place_rank": 19,
    "importance": 0.14667666666666662,
    "addresstype": "suburb",
    "name": "Куйбышевский",
    "display_name": "Куйбышевский, Центральный административный округ, Omsk, Omsk Oblast, Siberian Federal District, 644000, Russia",
    "address": {
        "suburb": "Куйбышевский",
        "city_district": "Центральный административный округ",
        "city": "Omsk",
        "state": "Omsk Oblast",
        "ISO3166-2-lvl4": "RU-OMS",
        "region": "Siberian Federal District",
        "postcode": "644000",
        "country": "Russia",
        "country_code": "ru"
    },
    "boundingbox": [
        "54.9682120",
        "55.0082120",
        "73.3811656",
        "73.4211656"
    ]
}

Примеры кода

JavaScript

async function reverseGeocode(lat, lon) {
    const response = await fetch(`https://geolocation-api.koyu.tech/reverse?lat=${lat}&lon=${lon}&format=json`);
    const data = await response.json();
    console.log(data.display_name);
    return data;
}

// Пример вызова
reverseGeocode(54.981231, 73.393275);

PHP

$response = file_get_contents('https://geolocation-api.koyu.tech/reverse?lat=54.981231&lon=73.393275&addressdetails=1&zoom=13&format=json');
$json = json_decode($response, true);

Python

import requests

def reverse_geocode(lat, lon):
    url = f"https://geolocation-api.koyu.tech/reverse?lat={lat}&lon={lon}&format=json"
    response = requests.get(url)
    data = response.json()
    print(data['display_name'])
    return data

# Пример вызова
reverse_geocode(54.981231, 73.393275)

Собственный сервис

Если вам нужен собственный надежный сервис геокодирования, то Вы можете настроить его по оффициальной документации Nominatim: https://nominatim.org/release-docs/latest/. Либо можете обратиться к нам по контактам, указанным ниже.

Лицензия: Данные предоставляются в соответствии с лицензией ODbL от OpenStreetMap.
Данная страница не использует cookie и не собирает никаких метрик.