Как смартфоны определяют геолокацию в России. Сравниваем iPhone и Android

Никита Горяинов avatar | сегодня в 9:30
Как смартфоны определяют геолокацию в России. Сравниваем iPhone и Android

С проблемами работы геолокации знакомы мы все. Такси ставит точку подачи на соседней улице, каршеринг не видит автомобиль рядом, курьер внезапно телепортируется в другой район.

При этом владельцы Android-смартфонов нередко замечают, что их устройства быстрее возвращаются к реальной точке или хотя бы реже улетают на другой конец города.

Предлагаю разобраться, откуда берётся эта разница, почему дело не сводится к качеству GPS-чипа и можно ли улучшить ситуацию на iPhone.

Как современные смартфоны вообще определяют координаты

GPS ошибочно называют любую спутниковую навигацию. Но технически это лишь одна из глобальных навигационных спутниковых систем. Их называют GNSS.

Современные смартфоны могут принимать сигналы от разных GNSS: GPS, российский ГЛОНАСС, Galileo, BeiDou и других систем. Набор зависит от модели и установленного в ней модема.

Как это работает: спутники передают очень слабый радиосигнал с точным временем и параметрами своей орбиты. Смартфон сравнивает данные от нескольких спутников и вычисляет положение. Чем больше подходящих сигналов он видит и чем удачнее расположены спутники на небе, тем точнее результат.

Почему сигнал может быть неточным: в условиях городской застройки получить точный результат непросто. Сигнал перекрывают крыша автомобиля, стены, высотные здания. Он отражается от фасадов и приходит к антенне с задержкой. Даже без внешних помех координата может гулять между соседними улицами.

Поэтому в смартфонах сегодня работает гибридная геолокация. Это значит, что устройство объединяет сразу несколько источников для определения геоданных:

  • сигналы спутниковых систем
  • расположение базовых станций оператора
  • окружающие точки Wi-Fi
  • Bluetooth-маяки и совместимые устройства поблизости
  • данные акселерометра, гироскопа, компаса и барометра
  • скорость, направление движения и предыдущие координаты
  • данные карты, дорожного графа и накопленную статистику сервиса

Например, точка Wi-Fi передаёт уникальный идентификатор BSSID. Подключаться к сети и знать пароль не требуется. Если сервис геолокации уже знает, где находится этот роутер, набор видимых точек становится аналогом отпечатка местоположения.

Базовые станции дают менее точную, но полезную оценку района местонахождения. Датчики движения помогают понять, продолжает ли автомобиль ехать прямо, остановился или повернул. И так далее.

Всё это в сложной комбинации, часто уникальной для каждого смартфона, берётся им самим в расчёт при вычислении геопозиции.

При плохой видимости спутников iPhone использует Wi-Fi и сотовые сети, а также пополняет собственную базу расположения точек доступа и вышек. В Android похожий подход: сервис Location Accuracy учитывает GPS, Wi-Fi, базовые станции, акселерометр, гироскоп и барометр.

Глушение и подмена координат: как они работают

Любой заметный сбой навигации в народе принято называть «глушилкой», хотя технически есть два принципиально разных расклада:

  • Глушение (Jamming). Создаётся радиопомеха на частотах спутниковых систем. Приёмник смартфона перестаёт уверенно видеть спутники или вообще не может вычислить свои координаты. В этой ситуации устройство пытается опираться на Wi-Fi, мобильную сеть и внутренние датчики.
  • Подмена координат (Spoofing). Это более сложный процесс. Наземный передатчик имитирует сигналы спутников, но отправляет ложные данные. Смартфон получает аккуратную и, на первый взгляд, достоверную координату, которая на деле указывает на точку в десятках километров от реальности.

Именно подменой (спуфингом) объясняются внезапные «телепортации» в аэропорты или другие районы. Система позиционирования получает правдоподобный, но неверный результат и слепо передаёт его приложению (навигатору, такси).

Почему смартфон просто не заблокирует такие «прыжки»?

Отфильтровать спуфинг очень сложно, потому что телефон не должен игнорировать каждое резкое изменение координат. Человек мог включить устройство после перелёта, выйти из метро в другом районе или поехать после долгой стоянки.

Алгоритму приходится вычислять «подставу» по совокупности косвенных признаков.

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

Даже если спутниковый сигнал пропал, смартфон продолжает определять хотя бы район вашего нахождения по Wi-Fi и сотовым вышкам. Точность падает, но для вызова такси или поиска ближайшего кафе этого часто хватает. Когда связь со спутниками восстанавливается, система объединяет новые координаты с вашей предыдущей траекторией и корректирует маршрут.

Что помогает навигатору, когда нет сигнала:

Привязка к карте (Map matching). Приложение сопоставляет полученную точку с дорожной сетью, скоростью и направлением авто. Если ваши координаты немного «улетели» во двор, но вы движетесь со скоростью 60 км/ч параллельно проспекту, навигатор логично оставит ваш маркер на проезжей части.

Датчики движения (инерциальная навигация). Акселерометр и гироскоп помогают «достраивать» маршрут в тоннеле или на участке с плохим сигналом.

Но у этого есть предел: инерциальная навигация быстро накапливает ошибку. Акселерометр не знает абсолютных координат, а компас легко сбивается из-за металла и электроники в машине. Без внешней точки отсчёта через какое-то время расчёт неизбежно «уплывёт».

Как геолокация устроена в iOS (чёрный ящик Apple)

Все приложения на iPhone (будь то Яндекс Карты, 2ГИС или навигатор) получают ваши координаты через единый системный инструмент, называемый Core Location. Разработчик лишь запрашивает у iOS нужную точность, частоту обновлений и тип активности. В ответ система отдаёт готовую координату, погрешность, скорость и направление.

Плюсы закрытого подхода: система сама объединяет данные со спутников, Wi-Fi и сотовых сетей. У всех приложений одинаковая логика, предсказуемый расход батареи и единая модель разрешений. От разработчиков не требуется вникать в особенности разных железок. Кроме того, у Apple есть огромная собственная краудсорсинговая база точек доступа Wi-Fi и сотовых вышек для быстрого позиционирования.

Минусы закрытого подхода: разработчики сторонних приложений получают от iOS уже полностью обработанный результат. Публичная документация Apple не позволяет навигатору получить доступ к «сырым» данным от каждого конкретного спутника (как это можно сделать на Android).

Если ложная спутниковая координата успешно прошла системную проверку Apple, одинаковую ошибку одновременно покажут и Apple Карты, и Яндекс Карты, и 2ГИС.

Пользователь и разработчик никак не могут вмешаться в этот процесс, изменить приоритет источников сигнала или принудительно заставить iPhone чаще сканировать Wi-Fi для корректировки пути.

Чем подход Android отличается от iPhone

В Android также есть готовый системный сервис геолокации, объединяющий разные источники сигнала. На смартфонах с сервисами Google установлен Fused Location Provider, у Huawei свои аналоги в составе HMS Core.

Но главное отличие Android в открытости и вариативности архитектуры.

Доступ к чистым данным: начиная с Android 7, совместимые смартфоны могут отдавать приложениям напрямую «сырые» измерения от спутников (данные отдельных частот, параметры часов приёмника, характеристики антенны). Навигатору не обязательно пересчитывать всё с нуля, но у разработчиков есть инструменты для того, чтобы:

  • диагностировать помехи
  • проверять качество сигнала
  • создавать собственные мощные фильтры отброса ложных координат.

Тонкая настройка: в Android можно напрямую влиять на работу модулей. Система позволяет отдельно включить сканирование Wi-Fi и Bluetooth-устройств без подключения к ним. А в параметрах разработчика на некоторых моделях можно даже снять системные ограничения на частоту сканирования сетей (чего владелец iPhone сделать физически не может).

Почему Android в России сейчас часто оказывается устойчивее

Секрет устойчивости Android кроется в той самой гибкости системы. В условиях нестабильного или подменённого сигнала (что сейчас актуально для многих регионов России) это даёт сразу несколько козырей:

1. Многоуровневая адаптация. Свою часть алгоритма могут улучшать все: производитель смартфона, провайдер системной геолокации и разработчик приложения. На iPhone весь этот путь монополизирован Apple.

2. Глубокий анализ сигнала. Приложение на Android может проанализировать измерения конкретных спутников и понять, что сигнал подделан. iOS отдаёт только финальную координату, в которой уже нельзя «покопаться».

3. Управление сетевым позиционированием. Когда спутники пропадают, агрессивное сканирование соседних сетей Wi-Fi быстрее «возвращает» смартфон в реальный квартал. Мы уже описывали этот способ на примере Москвы.

4. Разнообразие устройств. Разные прошивки и модемы дают разные результаты. Один смартфон быстрее отбрасывает ложные скачки, другой — дольше удерживает сигнал. Это лишает Android единого стандарта определения местоположения, но создаёт удачные комбинации железа под сложные условия.

Что можно настроить для улучшения геолокации

На iPhone:

Включите точную геопозицию: Настройки → Конфиденциальность и безопасность → Службы геолокации. Выберите нужное приложение и включите «Точная геопозиция». (Для записи тренировок в фоне может потребоваться разрешение «Всегда»).

Не выключайте Wi-Fi и Bluetooth в Настройках: если нужно отсоединиться от сетей, отключайте их только через Пункт управления (шторку). Так модули останутся активными для поиска геопозиции.

Проверьте точное время: Настройки → Основные → Дата и время (включите автосинхронизацию). Погрешность во времени ломает спутниковые вычисления.

Скачайте офлайн-карты: загрузите карту своего города. Это не спасёт от подмены координат, но сохранит саму карту и маршрут, если отвалится ещё и сотовая связь.

Примечание: если все карты одновременно показывают ложную точку в одном районе, то сброс настроек сети или переустановка навигатора не помогут. Против внешнего спуфинга программные манипуляции бессильны.

На Android:

Включите улучшение точности: Настройки → Местоположение → Службы геолокации (пути могут немного отличаться в зависимости от бренда). Обязательно активируйте сканирование Wi-Fi и Bluetooth.

Проверьте настройки энергосбережения: в настройках разрешений навигатора выберите точную геопозицию. Если трек обрывается при блокировке экрана, проверьте ограничения фоновой работы в Настройках → Аккумулятор. Многие китайские оболочки агрессивно «убивают» навигаторы ради экономии энергии.

Снимите лимиты на сканирование (для продвинутых): на Android 10 и новее в параметрах разработчика можно найти пункт ограничения запросов Wi-Fi. Его отключение позволяет приложениям сканировать сети гораздо чаще, что сильно спасает при подмене координат.

Так какая платформа точнее определяет местоположение

При нормальном сигнале хороший Android-смартфон и современный iPhone обеспечивают сопоставимую, высокую точность. Оба могут слегка теряться среди высоких зданий или в тоннелях.

Но разница становится критичной, когда спутниковые данные начинают глушить или подменять. iOS предлагает качественный, но наглухо закрытый результат. Android оставляет массу возможностей производителям и разработчикам софта.

В российских реалиях эта архитектурная гибкость делает Android более надёжным выбором для автомобильной навигации, такси и каршеринга. Только покупать дешёвый смартфон ради одной геолокации не стоит, потому что очень важны качество антенн, модуля связи и прошивки.

Точность геолокации зависит от того, как быстро устройство распознаёт спуфинг, сопоставляет её с Wi-Fi, мобильной сетью и датчиками, а затем возвращает вас на реальную улицу.

Именно в этой способности объединять и перепроверять данные сейчас кроется преимущество Android, которого владельцам iPhone в России сильно не хватает.

3
3
5
Логотип iPhones.ru
iPhones.ru
С проблемами работы геолокации знакомы мы все. Такси ставит точку подачи на соседней улице, каршеринг не видит автомобиль рядом, курьер внезапно телепортируется в другой район. При этом владельцы Android-смартфонов нередко замечают, что их устройства быстрее возвращаются к реальной точке или хотя бы реже улетают на другой конец города. Предлагаю разобраться, откуда берётся эта разница, почему...

5 комментариев

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. Евгений avatar
    Евгений сегодня в 10:52

    Интересно, что многие до сих пор думают, будто GPS это только спутники. На практике Wi Fi и сотовые вышки часто спасают навигацию сильнее, чем кажется 

    Войди на сайт, чтобы ответить
    Ответить
  2. valeraqq avatar
    valeraqq сегодня в 10:52

    Многие не знают, что Android может отдавать приложениям сырые GNSS данные. Для профессиональных навигаторов и диагностики это реально большое преимущество 

    Войди на сайт, чтобы ответить
    Ответить

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.