Перейти к основному содержимому

Обзор

Radar API позволяет определить приблизительное местоположение устройства по точкам доступа Wi-Fi и сотовым вышкам. Вы можете использовать Radar API, если сигнал от спутников слабый или отсутствует (например, в городской застройке, при глушении сигнала или медленном старте GNSS-приёмника), а другие системы геопозиционирования работают плохо.

Оптимальные сценарии использования

Radar API определяет местоположение с точностью около 150–200 м в городской среде, поэтому он не заменяет определение геопозиции по спутниковым сигналам и не подходит для сценариев навигации, в которых необходима высокая точность геопозиции.

Radar API возвращает радиус и координаты центра круга, внутри которого с вероятностью 68% может находиться устройство. Для вычисления местоположения Radar API использует следующие данные:

  • Информацию о наблюдаемых точках доступа Wi-Fi. Количество точек доступа Wi-Fi оказывает наибольшее влияние на точность позиционирования по сравнению с другими данными.
  • Информацию о наблюдаемых сотовых вышках. Сотовые вышки стандарта LTE предпочтительнее базовых станций других стандартов.
  • Данные о местоположении устройства, полученные от GNSS-приёмника. Данные о GNSS-позиции используются в анонимизированной форме для повышения точности работы Radar API.

Точность позиционирования зависит от следующих факторов:

  • Объём данных. Чем больше точек доступа Wi-Fi и сотовых вышек передано, тем выше точность. На открытой местности, где отсутствуют точки доступа Wi-Fi (например, на больших шоссе), точность позиционирования Radar API низкая.
  • Свежесть данных. Чем меньше времени прошло с момента последнего наблюдения точки Wi-Fi или сотовой вышки, тем выше точность.

Начало работы

1. Получите ключ доступа

  1. Зарегистрируйтесь в личном кабинете Менеджер Платформы.

  2. Создайте демо-ключ или купите подписку для доступа к API. Подробнее о стоимости сервиса см. в разделе Тарифы.

Подробнее о работе с ключами и подписками см. в документации личного кабинета.

2. Отправьте запрос

Чтобы определить местоположение устройства, отправьте POST-запрос на endpoint https://radar.api.2gis.com/v2/geolocation:

  1. В строке запроса укажите значение API-ключа в параметре key:

    https://radar.api.2gis.com/v2/geolocation?key=API_KEY
  2. В теле запроса передайте JSON с необходимыми параметрами:

    {
    "sessionUUID": "deea0dba-0000-41a1-a1b4-8b6fc342b07d",
    "captureTimestampUnix": 1628605467,
    "gnssLocation": {
    "latitude": 55.0302839,
    "longitude": 82.9231227,
    "horizontalAccuracyM": 6.228
    },
    "mobileNetwork": {
    "homeMobileCountryCode": 250,
    "homeMobileNetworkCode": 2,
    "cellTowers": [
    {
    "ageMs": 75002,
    "cellID": 138361350,
    "networkType": "lte",
    "locationAreaCode": 5401,
    "signalStrengthDBm": -101
    }
    ]
    },
    "wifiAccessPoints": [
    {
    "ageMs": 1000,
    "macAddress": "74:4d:28:2b:6c:32",
    "signalStrengthDBm": -75
    }
    ]
    }

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

Например, чтобы получить местоположение устройства по информации об одной сотовой вышке, одной точке доступа Wi-Fi и GNSS-позиции, отправьте следующий запрос:

curl --request POST \
--url 'https://radar.api.2gis.com/v2/geolocation?key=API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"sessionUUID": "deea0dba-0000-41a1-a1b4-8b6fc342b07d",
"captureTimestampUnix": 1628605467,
"gnssLocation": {
"latitude": 55.0302839,
"longitude": 82.9231227,
"horizontalAccuracyM": 6.228
},
"mobileNetwork": {
"homeMobileCountryCode": 250,
"homeMobileNetworkCode": 2,
"cellTowers": [
{
"ageMs": 75002,
"cellID": 138361350,
"networkType": "lte",
"locationAreaCode": 5401,
"signalStrengthDBm": -101
}
]
},
"wifiAccessPoints": [
{
"ageMs": 1000,
"macAddress": "74:4d:28:2b:6c:32",
"signalStrengthDBm": -75
}
]
}'

Где:

  • gnssLocation содержит данные о GNSS-местоположении устройства: широте, долготе и точности позиционирования.
  • mobileNetwork содержит мобильный код страны, код мобильной сети и информацию о наблюдаемой в данный момент сотовой вышке: время с момента первого наблюдения, идентификатор, мощность сигнала и другие параметры.
  • wifiAccessPoints содержит информацию о наблюдаемой в данный момент точке доступа Wi-Fi: время с момента первого наблюдения, MAC-адрес и мощность сигнала.

Более подробную информацию о параметрах см. в Справочнике API.

Пример ответа

Запрос вернёт объект с предсказанием местоположения устройства: широту, долготу и радиус, в котором с вероятностью 68% находится устройство.

{
"statusCode": 200,
"state": "geoposition_located",
"location": {
"longitude": 82.92399186193771,
"latitude": 55.02973009154781,
"accuracy": 100
}
}

Подробную информацию о каждом поле см. в Справочнике API.

Тарифы

  • Стоимость сервиса рассчитывается исходя из количества успешных запросов в месяц.
  • Актуальную стоимость и лимиты см. в разделе Тарифы.

Варианты размещения

  • Облако: все методы Radar API доступны через публичные endpoint-ы 2ГИС.
  • On-Premise: методы Radar API недоступны при установке API-платформы 2ГИС в закрытом контуре.

Помощь

  • Если у вас возникли вопросы при работе с API, задайте их AI-ассистенту (в правом нижнем углу cайта), воспользуйтесь поиском по документации или отправьте электронное письмо на api@2gis.ru.

  • Если вы хотите обсудить возможности API или его интеграцию с вашим продуктом, обратитесь к менеджеру.