overview
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. Получите ключ доступа
Чтобы работать с API сервиса, нужно получить ключ доступа:
- Зарегистрируйтесь в личном кабинете Менеджер Платформы.
- Создайте демо-ключ или купите подписку для доступа к API.
Работать с ключами можно в Менеджере Платформы: подробнее см. в документации личного кабинета.
2. Отправьте запрос
Чтобы определить местоположение устройства, отправьте POST-запрос на endpoint https://radar.api.2gis.com/v2/geolocation
. Для этого:
-
В строке запроса укажите значение API-ключа в параметре
key
:https://radar.api.2gis.com/v2/geolocation?key=API_KEY
-
В теле запроса передайте JSON с необходимыми параметрами. Например, чтобы получить местоположение устройства по информации об одной сотовой вышке, одной точке доступа 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.