Как найти навигатор 2 гис

Разработчики справочного сервиса 2ГИС анонсировали запуск полноценного навигатора в своём мобильном приложении. Стоит отметить, что навигация работает даже в офлайновом режиме.

В приложении 2ГИС для мобильных устройств появился навигатор, который работает даже без соединения с интернетом и показывает входы в здания. Навигатор позволяет строить маршрут, показывает подсказки во время движения и перестраивает траекторию, если пользователь со шёл с намеченного ранее пути.

«Мы знаем множество внутриквартальных проездов, какие дома огорожены заборами, где расположены въезды и входы в организации. Именно к нужному входу и приводит наш навигатор», — рассказал директор департамента исследований и разработок «2ГИС» Павел Мочалкин.

В компании не делают прогнозов о том, станет ли функция навигатора привлекать больше пользователей к сервису. «Запуск навигатора — это в первую очередь забота о текущей аудитории. Мы рассчитываем, что с появлением этой функции 2ГИС будут интенсивнее использовать. А делать прогнозы относительного того, какое количество новых пользователей привлечёт навигатор, пока рано».

C 17 августа навигатор доступен в приложениях 2ГИС для iOS и Windows Phone, а после 22 августа появится в приложении на Android. Пользователям Android также будет доступен обновлённый дизайн 2ГИС. Версия 2ГИС для Android будет выпускаться постепенно: сначала для 5% пользователей, потом ещё для 5% и так далее. Это позволит разработчикам оперативно устранять неполадки в работе сервиса.

В 2ГИС считают, что навигатор не привлечёт к приложению новых пользователей, но будет полезен существующей аудитории сервиса.

Теперь с 2ГИС можно гулять пешком, даже без интернета. Приложение научилось строить пешие маршруты к любому месту на карте в обход заборов и недоступных для пешеходов дорог. Функция доступна в мобильном приложении на iOS, бета-версии Android, на сайте 2gis.ru и скоро появится в основной версии Android.

Пешеходная навигация работает в мобильных приложениях без подключения к интернету, но с интернетом маршрут будет строиться быстрее. Функция запущена в стадии в двадцати городах России, в том числе Москве, Санкт-Петербурге и Новосибирске. Достаточно указать место, где вы находитесь, и точку, до которой вам нужно дойти, после чего на экране отобразится оптимальный маршрут, расстояние и примерное время, оставшееся до конца пути. Кроме того, можно сравнить время пути на общественном транспорте или автомобиле и выбрать, как удобнее и быстрее добраться до места.

Приложение 2ГИС для Windows-смартфонов обновлено не было. Появятся ли в нём пешеходные маршруты, неизвестно.

Новая версия приложения предлагает автомобилистам удобное ведение по маршруту и функцию голосовых подсказок. На экране смартфона отображается путь и расстояние до следующего маневра. Если пользователь сошел с указанного пути, 2ГИС автоматически перестроит маршрут.

— Мы знаем, как провести вас к нужной компании или месту по наиболее оптимальному маршруту, учитывая все преграды. Специалисты 2ГИС прошли каждый из них своими ногами. Мы знаем множество внутриквартальных проездов, какие дома огорожены заборами, где расположены въезды и входы в организации. Именно к нужному входу и приводит наш навигатор, — поделилась директор отдела производства 2ГИС в Бишкеке Екатерина Чернецова.

Задавать точки маршрута можно несколькими способами: через поиск фирм и компаний в справочнике или отмечая прямо на карте.

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

Как и приложение, навигатор 2ГИС работает без подключения к интернету. Выстраивая маршрут, он рассчитывает примерное время в пути и показывает точное время, в которое пользователь доберется до пункта. Зная текущую ситуацию на дорогах — перекрытие дорог или пробки — навигатор при необходимости перестроит маршрут. Для того чтобы водитель не отвлекался от дороги, каждый маневр сопровождается голосовыми подсказками.

Чтобы включить навигатор, необходимо обновить текущую версию приложения в Google Play и App Store.

Городской информационный сервис 2ГИС – это полный справочник организаций с детальной 3D-картой города. Приложение доступно на трех платформах: мобильное приложение, ПК и онлайн-версия. 2ГИС помогает людям выбирать и находить нужные места, товары, услуги, экономить время, деньги и усилия. Сервис работает бесплатно и без подключения к интернету.

2ГИС – это приложение, разработанное одноимённой компанией из Новосибирска. Также оно известно под названием «ДубльГИС». Традиционно является одним из самых популярных решений на российском рынке приложений для навигации по местности, конкурируя с Яндекс Картами и Навител Навигатором, а с недавних пор и Google Maps. Рассмотрим все особенности приложения более подробно, сравним, чем оно лучше или хуже конкурентов.

Содержание

Работа в оффлайне

2GIS для корректной работы на устройстве требует скачать карту города и/или региона. Благодаря этому вы сможете просматривать карты даже, если у вас возникнут проблемы с интернетом, но отследить своё место положение или местоположение общественного транспорта в режиме реального времени будет проблематично.

При первом запуске приложения будет предложено скачать карты городов. Найдите среди них нужный город и загрузите его на устройство. При необходимости можно скачивать и другие города. Конечно, это даёт преимущество в том, что вы не останетесь без навигации, если пропадёт интернет, но и вызывает некоторые неудобства:

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

Дополнительно стоит отметить, что в приложении пока доступны карты более-менее крупных городов стран СНГ (и то не всех стран).

Возможности навигации по местности

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

Построение маршрута

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

  • Возможность выбора транспортных средств, с помощью которых вы хотите преодолеть данное расстояние;
  • Включение встроенного навигатора, если в качестве транспортного средства был выбран личный автомобиль;
  • Если вы выбрали в качестве транспортного средства такси, то приложение выдаст список доступных служб (Uber, Яндекс Такси, местные компании). Вы можете заказать машину прямо из приложения.

Список интересных мест

«ДубльГис» отображает на карте интересные точки выбранного города. Это не только достопримечательности, но и какие-то мероприятия, необычные заведения и т.д. Эта функция может работать и в оффлайн-режиме, но лучше подключиться к интернету, чтобы приложение могло собирать актуальные предложения, которые появились недавно.

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

Специальные возможности

Для зарегистрированных в системе пользователей открываются некоторые дополнительные возможности, а именно:

  • Отметка мест, где вы побывали или планируете побывать;
  • Возможность оставлять отзывы о том или ином месте для других пользователей;
  • Можно отправлять содержимое вашего избранного другим пользователям, которые зарегистрированы в системе;
  • При связи аккаунта с одной из социальных сетей вы сможете видеть своих друзей поблизости, если они тоже прошли регистрацию в 2ГИС.

Отслеживание общественного транспорта

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

Функция обратной связи

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

Читайте также:Как проложить маршрут на Яндекс Картах: инструкцияКак проложить маршрут пешком в Яндекс Картах — инструкцияMaps.ME для Android: обзор приложения-картыИнтерактивная карта метро Москвы 2018 с расчетом времени

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

Доступные настройки приложения

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

Заключение

В качестве резюме статьи-обзора хотелось бы выделить преимущества и недостатки приложения 2ГИС.

Преимущества решения:

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

Из недостатков же можно отметить следующие пункты:

  • Набор изначально доступных карт достаточно небольшой;
  • Вам требуется скачивать карты, чтобы ориентироваться в городе. Эти карты занимают некоторое место на устройстве, плюс, их ещё нужно регулярно обновлять;
  • Время от времени вам придётся сталкиваться с рекламой.

«ДубльГИС» приобрёл особую популярность в сибирском регионе, но при этом он на слуху и в других регионах СНГ. С его помощью не получится ориентироваться в каком-нибудь маленьком городке или в сельской местности, но для использования в городе это идеальный вариант.

news.detail : ajax-tape !!! —> НовостиПриложения AndroidПриложения iOS2ГИСНавигатор —>

Теперь с 2ГИС можно гулять пешком, даже без интернета. Приложение научилось строить пешие маршруты к любому месту на карте в обход заборов и недоступных для пешеходов дорог. Функция доступна в мобильном приложении на iOS, бета-версии Android, на сайте 2gis.ru и скоро появится в основной версии Android. Пешеходная навигация работает в мобильных приложениях без подключения к интернету, но с интернетом маршрут будет строиться быстрее. Функция запущена в стадии в двадцати городах России, в том числе Москве, Санкт-Петербурге и Новосибирске. Достаточно указать место, где вы находитесь, и точку, до которой вам нужно дойти, после чего на экране отобразится оптимальный маршрут, расстояние и примерное время, оставшееся до конца пути. Кроме того, можно сравнить время пути на общественном транспорте или автомобиле и выбрать, как удобнее и быстрее добраться до места. Приложение 2ГИС для Windows-смартфонов обновлено не было. Появятся ли в нём пешеходные маршруты, неизвестно.

Профиль пользователя

Чтобы запомнить важный адрес или интересную компанию, пользователи добавляют их в Избранное. Сохранённые таким образом объекты появляются на всех устройствах, где авторизован пользователь. Добавляйте компании на 2gis.ru и возвращайтесь к ним в мобильном приложении — и наоборот.

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

Кроме того, в Избранное можно внести адреса своих дома и работы, чтобы быстрее искать способы проезда и строить маршруты.

Онлайн-версия iOS Android

Добавить объект в «Избранное»

  1. Откройте карточку компании или места.
  2. Нажмите на «Сохранить» в самом верху карточки.
  3. Чтобы добавить карточку в конкретную подборку, нажмите ещё раз на «Сохранить» и выберите нужную подборку или создайте новую.

Посмотреть своё «Избранное»

  1. Нажмите на «Избранное» на главном экране.
  2. Если вы ещё не авторизованы, 2ГИС предложит вам войти в свой профиль через любую удобную соцсеть. Избранное доступно только авторизованным пользователям.

Изменить имя подборки

  1. Откройте «Избранное».
  2. Наведите указатель на нужную подборку.
  3. Нажмите «карандаш».

Изменить имя и описание объекта внутри подборки

  1. Наведите на него указатель.
  2. Нажмите на «карандаш», чтобы изменить название.
  3. Нажмите на «+», чтобы добавить комментарий.
  4. Нажмите на «ведро», чтобы удалить объект из подборки.

Удалить подборку

  1. Наведите на неё указатель.
  2. Нажмите на «ведро».

Это помоглоБесполезно Это помоглоБесполезно Главная / Инструкции

2 ГИС – это приложение, которое содержит в себе полную информацию обо всех объектах и местоположениях, которые только известны в современном мире. Через данное приложение есть доступ абсолютно ко всему, что только может понадобиться, вплоть до координат, и времени работы торговых центров и любых государственных организаций.

Данное приложение с момента своего выхода является актуальным, и может использоваться как онлайн, так и офлайн. Оно будет полезно абсолютно на любом устройстве. Кроме того, данную программу можно установить на android или iOS и пользоваться там в любом состоянии телефона. 2 ГИС – эта та программа, которую необходимо иметь, и уметь ею пользоваться. Поэтому, в данной статье разберем работу приложения 2 ГИС в полном объеме.

Содержание

  • Что такое 2 ГИС?
  • Как пользоваться приложением?
  • Информация об организациях в приложении
  • Плюсы и минусы 2 ГИС
  • Заключение

Приложение 2 ГИС совместимо абсолютно со всеми операционными системами. Программа поддерживается не только на мобильных платформах, но и на таких операционных системах, как windows, MACOS, Linux. Установив данную программу на компьютер, пользователю будет более удобно следить за показаниями справочника, карта будет иметь хороший масштаб и нормальные размеры.

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

Кроме того, каждому владельцу программы 2 ГИС доступны следующие возможности:

  • Просмотр и выбор удобного маршрута до указанного места с возможной голосовой озвучкой передвижения;
  • Просмотр модели здания со всех ее сторон, а также изнутри (модель идентична реальному здания, и составлена по фотографиям реального объекта);
  • найти в указанном районе банкоматы, магазины, необходимые объекты;
  • поиск зданий по адресам и торговым центрам (при помощи данного приложения можно найти желаемый объект за считанные минуты).

Данная программа содержит в себе информацию по более чем 240 городам. Разработчики и конструктора постоянно работают над модификациями приложения и следят за выходом новых обновлений с исправленными ошибками.

Как пользоваться приложением?

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

Когда пользователь зарегистрирован в системе, то ему открываются дополнительные возможности, например такие, как:

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

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

Кроме этого, в приложении хранится память обо всех объектах, которые только указаны на карте. Для этого существует особый сервис, где необходимо постоянно вносить обновления в работы карты и всего сервиса, относительно новых объектов, и заменённых старых.

Информация об организациях в приложении

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

Для начала работы необходимо указать искомый объект по адресу или названию в командной поисковой строке. После этого, приложение предложить самые кратчайшие маршруты до места назначения. В момент передвижения, голосовой помощник, который встроен в программу, будет автоматически предупреждать водителя обо всех необходимых поворотах и скоростных ограничениях.

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

Кроме данной информации, если выбрать на карте торговый центр, или какой-либо крупный магазин, можно увидеть ссылку на официальный сайт данного магазина или организации.

Внимание!  Дополнительная информация доступна только по зарегистрированным объектам в системе 2 ГИС.

Каждый пользователь может самостоятельно зарегистрировать объект, которого еще нет в системе. В этом случае пользователю необходимо иметь собственный аккаунт. После входа необходимо выбрать «Зарегистрировать объект». Далее необходимо указать точное расположение объекта на карту, указать подробную информацию об объекте и прикрепить круговые фотографии данного объекта.

После отправки введенных данных, запрос на регистрацию объекта отправляется на проверку модераторов, которые определяют данные на соответствие требований и подтверждают или возвращают заявку на добавление объекта.

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

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

Плюсы и минусы 2 ГИС

Данное приложение, как и любое другое, имеет свои плюсы и минусы. Если внимательно вникнуть в работу программы, то можно выделить следующие положительные стороны:

  • наличие детализированной картой;
  • информация по большинству существующих объектов и зданий;
  • точные маршруты при использовании навигации;
  • голосовой помощник;
  • простой и понятный интерфейс.

Минусов у программы практически нет, хотя можно выделить несколько отрицательных моментов, таких как:

  • огромный вес программы;
  • не всегда точные данные из-за халатного отношения пользователей.

Заключение

Данная программа является одним из лидеров, среди географических приложений. Программа давно превосходит по своему составу Яндекс и Google, которые несколько отстали в функционале и возможностях для своих приложений.

2 ГИС — отличная программа, которую необходимо использовать. С ее помощью можно успешно добираться до незнакомых городских мест. Использовать как машинный навигатор с высокой точностью, смотреть информацию по организациям, а также время их работы. А самое главное — все это не требует дополнительных знаний, приложение очень понятное, и не представляет в своем применении ничего сложного даже для ребенка.

15:57 2016-08-17 / Стас Кузьмин / Программы и приложения

Разработчики справочного сервиса 2ГИС анонсировали запуск полноценного навигатора в своём мобильном приложении. Стоит отметить, что навигация работает даже в офлайновом режиме.

В приложении 2ГИС для мобильных устройств появился навигатор, который работает даже без соединения с интернетом и показывает входы в здания. Навигатор позволяет строить маршрут, показывает подсказки во время движения и перестраивает траекторию, если пользователь со шёл с намеченного ранее пути.

«Мы знаем множество внутриквартальных проездов, какие дома огорожены заборами, где расположены въезды и входы в организации. Именно к нужному входу и приводит наш навигатор», — рассказал директор департамента исследований и разработок «2ГИС» Павел Мочалкин.

В компании не делают прогнозов о том, станет ли функция навигатора привлекать больше пользователей к сервису. «Запуск навигатора — это в первую очередь забота о текущей аудитории. Мы рассчитываем, что с появлением этой функции 2ГИС будут интенсивнее использовать. А делать прогнозы относительного того, какое количество новых пользователей привлечёт навигатор, пока рано».

C 17 августа навигатор доступен в приложениях 2ГИС для iOS и Windows Phone, а после 22 августа появится в приложении на Android. Пользователям Android также будет доступен обновлённый дизайн 2ГИС. Версия 2ГИС для Android будет выпускаться постепенно: сначала для 5% пользователей, потом ещё для 5% и так далее. Это позволит разработчикам оперативно устранять неполадки в работе сервиса. 

В 2ГИС считают, что навигатор не привлечёт к приложению новых пользователей, но будет полезен существующей аудитории сервиса.

Похожие сюжеты / 6

В России появился новый портативный навигатор с ГЛОНАСС Новости компаний / Никита Светлых В «Навител Навигатор» появилась поддержка Android 3 Новости компаний / Никита Светлых Samsung I780 — Полноценный офис в кармане Новости компаний / «Ашан» откроет полноценный интернет-магазин в России Торговые сети / Ангелина Гор SGH-i560 — Мобильный навигатор Новости компаний / Превратите свой телефон в полнофункциональный навигатор Новости компаний /

Используемые источники:

  • https://public-pc.com/obzor-prilozheniya-2gis-dlya-android/
  • https://m.iguides.ru/main/os/kak_polzovatsya_navigatorom_2gis_na_peshikh_progulkakh/
  • https://help.2gis.ru/question/izbrannoe-v-2gis-chto-takoe-i-kak-polzovatsya
  • https://piar-m.ru/kak-polzovatsya-prilozheniem-2gis/
  • https://yamobi.ru/posts/v_prilojenii_2gis_poyavilsya_polnotsennyiy_navigator.html

2ГИС

Последняя версия:

6.20.0.510.14

Возрастные ограничения:

3+

2ГИС — GPS-навигатор, который используют для построения автомобильных и пешеходных маршрутов. Приложение выступает в качестве справочника, способного подсказать адрес, контактный номер, официальный сайт указанной компании или развлекательного центра. Пользователи могут оставлять комментарии относительно качества сервиса в ресторане, отеле и прочих учреждений.

Функции

Для начала работы приложения на Андроид в 2ГИС загружается глобальная и местная карта, после чего построение маршрутов может проходить без доступа к интернету. Главная страница разбита на 2 окна:

  1. В первом отображается карта города или населенного пункта с учетом пробок на дорогах.
  2. Во втором собраны места, разбитые на категории: продукты, аптеки, автосервисы.

Каждое окно разворачивается на весь экран. В 2GIS присутствуют две дополнительные вкладки:

  1. «Проезд». Пользователь вносит в раздел домашний или рабочий адрес для быстрого построения маршрута.
  2. «Мой 2ГИС». Вкладка для зарегистрированных пользователей, где отслеживаются ответы на оставленные комментарии, указываются собранные награды за проявленную активность.

Чтобы программа 2ГИС на телефоне точно определяла местоположение, необходимо скачать последнюю версию приложения на русском языке.

Преимущества и недостатки

Плюсы:

  1. Программа работает без интернета.
  2. Предусмотрены средства обратной связи между пользователями.
  3. Приводится расписание движения общественного транспорта.
  4. Это пешеходный навигатор, способный провести до двери подъезда.
  5. Наличие подробной информации о расположенных внутри выбранного здания организациях.
  6. Функции приложения предоставляются бесплатно.

Недостатки:

  1. Менее точные результаты по сравнению с автомобильными навигаторами.
  2. Интегрированная реклама.

Приложение 2ГИС для Андроид — решение для людей, которые ищут универсальный навигатор для автомобильных и пеших прогулок. Справочник упрощает поиск закусочных или мест для отдыха.

Вы можете скачать 2ГИС на Андроид бесплатно по прямой ссылке ниже.


Скачать 2ГИС 6.20.0.510.14
apk | Размер: 82.85 Mb | Android 6.0+ | armeabi | RU

FOREGROUND_SERVICE — использование файлов службы вывода на передний план.

INTERNET — открытие сетевых сокетов.

READ_EXTERNAL_STORAGE — чтение из внешнего хранилища.

WRITE_EXTERNAL_STORAGE — запись на карту памяти.

READ_MEDIA_IMAGES — чтение файлов изображений из внешнего хранилища.

ACCESS_FINE_LOCATION — точное местоположение.

ACCESS_COARSE_LOCATION — примерное местоположение.

ACCESS_NETWORK_STATE — просмотр состояния сетевых подключений.

ACCESS_WIFI_STATE — просмотр подключений wi-fi.

CHANGE_WIFI_STATE — изменение состояния подключения wi-fi.

WAKE_LOCK — предотвращение переключения устройства в спящий режим.

VIBRATE — управление функцией вибросигнала.

READ_SYNC_SETTINGS — чтение настроек синхронизации.

POST_NOTIFICATIONS — публикация уведомлений.

ACCESS_BACKGROUND_LOCATION — местоположение в фоновом режиме.

READ_CONTACTS — чтение данных контактов пользователя.

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

В приложении 2ГИС теперь есть навигатор. Мы научились «ехать» по треку, озвучивать манёвры, автоматически перестраивать маршрут, рассчитывать время в пути, доводить пользователя до входа в здание или организацию, учитывая заборы и шлагбаумы, — и всё это в честном офлайне. Пробки (вот разве что для них нужен интернет), разведённые мосты и перекрытые улицы учитываем давно. Пока в нашем навигаторе — необходимый минимум. Чуть позже научим его предупреждать о слишком высокой скорости, лежачих полицейских и камерах ГИБДД, настроим ночной режим, сделаем маршруты по платным и грунтовым дорогам опциональными. Чтобы воспользоваться им, нужно обновить 2ГИС в своем смартфоне или скачать в AppStore или Windows Store. Для Android обновление выходит постепенно, начиная с 22 августа (будет доступно на всю аудиторию к сентябрю).

А сегодня расскажем, как навигатор 2ГИС предугадывает положение автомобиля и плавно перемещает стрелочку по маршруту. Ведь именно качество ведения пользователя по маршруту определяет эргономику интерфейса любого современного навигатора, простоту ориентирования на местности и своевременность совершения манёвров.

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

Маркер GPS и маршрут

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

В самом простом случае можно отображать позицию устройства на местности, считывая координаты с датчика GPS и размещая маркер в соответствующее место на карте. Уже здесь мы сталкиваемся с первой проблемой — измерительной погрешностью, которая даже в условиях неплохого сигнала вполне может достигать 20–30 метров.

Для ответа на обычный вопрос «Где я нахожусь?» такого способа отображения будет вполне достаточно, особенно если вокруг маркера нарисовать ещё и круг точности с радиусом, равным оценке погрешности. Однако для навигации нужно придумать что-то получше, ведь водителя, движущегося по городской улице, вряд ли устроит маркер GPS, расположенный внутри соседнего дома или, того хуже, на каком-нибудь внутриквартальном проезде.

Решить проблему помогает маршрут, построенный программой до точки назначения и всегда присутствующий в сценарии навигации. При помощи некоторых ухищрений мы можем «притянуть» точку на карте к маршруту, нивелируя некоторую часть измерительной погрешности датчика GPS. В первом приближении притяжку можно рассматривать как проецирование точки на линию маршрута. Рассмотрение же нюансов, а также способов обнаружения схода с маршрута, к сожалению, выходит за рамки данной статьи.

Взяв на вооружение обозначенный приём притяжки, мы можем абстрагироваться от двумерных географических координат (широты-долготы или любых других) и перейти к одномерной координате — смещению относительно начала маршрута, измеряемому, например, в метрах. Такой переход упрощает как теоретические модели, так и вычисления, выполняемые на устройствах пользователей.

Отображение геопозиции во времени

Дискретный характер поступления данных от датчика GPS — ещё одна проблема при реализации ведения пользователя по маршруту. В идеальном случае координаты обновляются один раз в секунду. Рассмотрим несколько вариантов отображения геопозиции во времени и выберем наиболее подходящий для наших задач.

1. Самый простой способ заключается в том, чтобы при получении каждого нового отсчёта от датчика тут же выполнять притяжку к маршруту и отображать соответствующее местоположение на карте. Среди достоинств стоит отметить исключительную лёгкость реализации, высокую в некотором смысле точность (ведь здесь мы просто отображаем спутниковые данные, не внося в них каких-либо серьёзных изменений) и минимальную вычислительную трудоёмкость. Главный недостаток в том, что маркер в этом случае не движется по карте в привычном понимании, а «телепортируется» из точки в точку. В основном сценарии навигации камера (виртуальный наблюдатель — термин из области компьютерной графики) привязана к маркеру GPS, поэтому подобные его телепортации приводят к резкому «проматыванию» карты вдоль маршрута и, как следствие, к дезориентации водителя, особенно на высоких скоростях, когда за время между отсчётами геопозиции автомобиль преодолевает значительное расстояние. Наша задача — помочь пользователю, а не сбить его с толку, поэтому указанного изъяна уже достаточно, чтобы исключить данный вариант из рассмотрения.

Единственная возможность избежать дезориентации состоит в том, чтобы перемещать маркер GPS плавно, без «телепортаций», а значит, двигать его нужно существенно чаще, чем приходят отсчёты геопозиции. Чтобы обеспечить такое движение, требуется каким-либо образом вычислять промежуточные точки между реальными отсчётами с датчика и использовать их, пока не будет получен очередной отсчёт. Конкретному подходу к вычислению этих промежуточных точек стоит уделить особое внимание, так как он в конечном итоге сильно повлияет на общую эргономику программы-навигатора.

2. Второй способ отображать местоположение пользователя связан с самым очевидным подходом к генерации промежуточных точек — интерполяции между последними реальными отсчётами GPS. Смысл в том, чтобы двигать маркер от предпоследнего отсчёта к последнему в течение некоторого заданного времени, вычисляя промежуточные точки с требуемой частотой по одной из известных математических функций (простейший вариант — линейная интерполяция). Пользоваться навигатором при таком способе значительно удобнее, но недостатки у него тоже есть.

Один из самых безобидных — необходимость заранее задавать время интерполяции. Установка его в одну секунду будет хорошо работать только в упомянутом выше идеальном случае, когда именно столько времени будет проходить между отсчётами GPS. Если времени пройдёт меньше — не беда, можно просто начать двигаться из текущей позиции в новую целевую. А вот если больше — придётся маркеру стоять на месте и ждать новых координат от датчика, хотя автомобиль пользователя вполне может в это время двигаться.

Есть и более серьёзная проблема. В момент поступления нового отсчёта маркер в лучшем случае находится в предыдущей реальной точке. С точки зрения пользователя мы вносим ещё одну погрешность позиционирования, величина которой не меньше, чем расстояние, преодолеваемое автомобилем за время между отсчётами. При скорости в 100 км/ч это значение достигает почти 28 метров, что вкупе с возможной измерительной погрешностью делает информацию, выдаваемую пользователю, мягко говоря недостоверной.

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

3. С учётом появившегося требования к точности позиционирования стоит заметить, что теперь от нас требуется незадолго до прихода нового отсчёта GPS расположить маркер в точке, максимально приближенной к этому новому отсчёту. То есть, по сути, заглянуть будущее, пусть и ненадолго. Хотя с изобретением машины времени у человечества пока дела обстоят из рук вон плохо, для нас спасение всё же есть. Движение автомобиля инертно, поэтому скорость и направление его движения не могут меняться мгновенно, а раз так, мы можем попытаться с некоторой точностью спрогнозировать, где пользователь будет находиться в интервале между последним отсчётом позиции и будущим. Если нам удастся добиться того, что ошибка прогнозирования в большинстве случаев будет меньше, чем погрешность второго способа, то мы здорово облегчим жизнь пользователей нашего навигатора.

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

Ведение по маршруту с экстраполяцией позиции

Ранее упоминалось, что благодаря притяжке геопозиции пользователя к маршруту навигации мы можем перейти от двумерных географических координат к одномерной координате — смещению относительно начала маршрута (для краткости дальше будем использовать термин «смещение» без уточнений).

Вспомним поступающие к нам данные и введём для них обозначения:

s_i, iin mathbb{N} — реальные отсчёты смещения, получаемые притяжкой позиции GPS к линии маршрута;
t_i, iin mathbb{N} — время прихода соответствующих отсчётов смещения.
На этом, собственно, список входных данных и заканчивается. Придётся выжимать из них максимум полезной информации.

В конечном итоге нам необходимо построить функцию экстраполяции смещения s=s(t),t in [t_0; +infty), которая будет приближена к реальной динамике автомобиля и при этом обеспечит плавность движения маркера GPS по всему нашему маршруту (его длина ни на что не повлияет, так как завершение маршрута обрабатывается отдельно, поэтому условно будем считать маршрут бесконечным). Для обеспечения хорошей визуальной плавности достаточно будет условия гладкости s(t), то есть ни позиция, ни скорость маркера не должны меняться скачком. Другими словами, функция s(t) обязана быть непрерывной вместе со своей первой производной (здесь и далее — по времени) на всей области определения.

Обратим внимание, что каждый реальный отсчёт смещения несёт существенно новую информацию о движении. Например, если в течение длительного времени автомобиль ехал равномерно, а затем стал ускоряться, то «почувствовать» ускорение навигатор сможет только с приходом очередного отсчёта. Так как заглянуть в будущее на сколь угодно длительный срок мы не можем, все поступающие новые отсчёты GPS будут в общем случае изменять поведение искомой функции s(t), что не позволяет задать её одним аналитическим выражением. Вместо этого попытаемся определить функцию кусочно. Для этого решим сперва более простую задачу.

Непосредственная кусочная экстраполяция

Построим такую функцию экстраполяции смещения s_i (t),tin[t_i;+infty), чтобы после i-го отсчёта её значения предсказывали реальное расположение пользователя в течение достаточного времени до прихода (i+1)-го отсчёта. Все полезные данные, которыми мы обладаем, — последовательность отсчётов до i-го включительно вместе со временем получения каждого из них.

Вспомнив про конечные разности, отметим, что у нас есть возможность оценить скорость движения автомобиля в i-й момент времени, разделив длину отрезка между последним и предпоследним смещением на соответствующий временной интервал:

v_iapprox frac{s_i-s_{i-1}}{t_i-t_{i-1}}=s_i{^'} (t_i)

, где v_i — оценка скорости по отсчётам, а s_i{^'} (t_i) — производная экстраполяционной функции s_i (t), которую мы пытаемся построить.

Аналогично для производных более высокого порядка — ускорения, рывка и т.д.:

left{begin{aligned}
a_iapprox frac{v_i-v_{i-1}} {t_i-t_{i-1}} = s_i^{''} \
j_iapprox frac{a_i-a_{i-1}} {t_i-t_{i-1}} = s_i^{'''} \
end{aligned}
right.

Как видно из этих формул, для получения оценки всё более старших производных смещения требуется учитывать всё больше отсчётов, предшествующих текущему: для определения скорости нужны два отсчёта, для ускорения — три, для рывка — четыре и т.д. С одной стороны, чем больше динамических характеристик движения мы будем учитывать в своём прогнозе, тем большую моделирующую способность получим; с другой — полезная информация, содержащаяся во всё более «старых» отсчётах, драматически теряет актуальность. Например, тот факт, что мы ехали со скоростью 30 км/ч минуту назад ничем не поможет нам в текущий момент времени: с тех пор можно было несколько раз разогнаться, затормозить или вообще остановиться. По этой причине оценки всё более старших производных смещения становятся всё дальше от реальности; кроме того, вклад погрешности вычисления некоторой производной в общую аналитическую модель смещения тоже растёт с увеличением порядка этой производной. Раз так, то, начиная с какого-то порядка, динамические характеристики, оценённые при помощи конечных разностей, вместо уточнения будут только портить нашу модель.

По результатам проверок на реальных данных выяснилось, что оценка рывка j_i, особенно в случаях «среднего» качества сигнала GPS, уже достаточно плоха, чтобы от неё было больше вреда, чем пользы. С другой стороны, к счастью, наиболее частые сценарии динамики автомобиля — это покой, равномерное и равнопеременное движение, описываемые полиномиальными уравнениями 0-й, 1-й и 2-й степени от времени соответственно.

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

s_i (t)=s_i+v_i t+frac12 a_i t^2

Осталось сделать всего один шаг: область определения s_i (t) начинается с момента времени t_i, поэтому время в вычислениях удобнее считать с этого же момента.

В итоге функция примет вид:

s_i (t)=s_i+v_i (t-t_i )+frac12 a_i (t-t_i )^2,t∈[t_i;+infty)

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

Теперь возьмём несколько реальных отсчётов смещения с устройства и попробуем экстраполировать их на каждом интервале (хотя s_i (t) определена до +infty, в момент прихода отсчёта t_{i+1} будем сразу переходить к следующей функции s_{i+1} (t), ведь она располагает более свежими данными):

Оговоримся, что для наглядности данные были сняты при сравнительно низком качестве сигнала GPS, однако ситуация на рисунке вполне реальна и может возникнуть у любого пользователя.

Гладкость каждого экстраполяционного полинома s_i (t) прекрасно видна на соответствующем временном интервале, но вот беда — на стыках интервалов общая серая кривая терпит разрывы, подчас весьма заметные.

Назовём величину разрыва в i-й момент времени ошибкой экстраполяции e_i. Действительно, именно это значение показывает, какую неточность имеет каждый наш прогноз к концу его временного интервала. Вычислить значение ошибки можно при помощи следующего выражения:

e_i=s_{i-1} (t_i )-s_i

Увы, свести ошибку к нулю, варьируя сами функции s_i (t), мы никак не можем, ведь это было бы эквивалентно стопроцентной точности видения будущего. Значит, для решения нашей исходной задачи построения единой функции s(t) придётся каким-то образом «склеить» между собой кусочные экстраполяционные полиномы, то есть скорректировать возникающие на стыках ошибки.

Подход к коррекции ошибок

В соответствии с выбранными выше обозначениями можно неформально сказать, что к моменту прихода нового отсчёта s_i мы находимся в точке (s_i+e_i), т.е. сдвинуты относительно реальной позиции на величину погрешности e_i, накопленной к моменту t_i предыдущим экстраполяционным полиномом s_{i-1} (t).

С одной стороны, с точки зрения соответствия выдаваемых пользователю данных реальности, наилучшим способом коррекции ошибки e_i будет разрыв функции s(t) в точку начала следующего полинома s_i, однако мы не можем так поступить, ведь в этом случае снова станем «телепортировать» маркер по карте и дезориентировать водителя.

Очевидно, что если мгновенное изменение значения s(t) недопустимо, коррекция ошибки будет занимать некоторое ненулевое время. Также понятно, что коррекцию ошибки желательно завершить до прихода следующего отсчёта, дабы не допустить накопления ошибки.

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

Если снова говорить неформальным языком, для коррекции ошибки требуется из точки (t_i;s_i+e_i) за время T плавно «вернуться» на следующий экстраполяционный полином — кривую s_i (t).

Для описания процесса коррекции ошибки удобно ввести отдельные функции коррекции e_i (t) таким образом, чтобы в момент времени t_i соответствующая функция коррекции принимала значение e_i, а начиная с момента (t_i+T) становилась равна нулю:

left{
begin{array}{lcl}
e_i (t_i )=e_i\
e_i (t)=0,tin[t_i+T,infty)\
end{array} 
right.

Если сложить такую функцию коррекции с соответствующим интерполяционным полиномом, то в ключевых точках t_i и (t_i+T) мы обеспечим коррекцию ошибки смещения:

left{
begin{array}{lcl}
s_{i-1} (t_i)+ e_i(t_i)=s_i(t_i)\
s_i(t_i+T) + e_i(t_i+T)=s_i(t_i+T)\
end{array} 
right.

Назовём скорректированной функцией смещения r_i (t) сумму экстраполяционного полинома и соответствующей функции коррекции:

r_i (t)=s_i (t)+e_i (t)

Заметим, что благодаря описанным выше свойствам функций коррекции мы получили очень важное свойство функций r_i (t) — они уже «сшиты по смещению», т.е. не терпят разрывов в точках t_i:

r_i (t_i )=r_{i-1} (t_i )

Совокупность скорректированных функций r_i (t) могла бы претендовать на роль искомой модели смещения s(t), определённой во все моменты времени, если бы не одно обстоятельство: несмотря на отсутствие разрывов смещения в точках t_i, производные этой совокупности функций в общем случае всё ещё рвутся.

Конкретно нас интересует разрыв первой производной — скорости, потому что исходные требования содержат условие повсеместной гладкости s(t), т.е. условие повсеместной непрерывности скорости. С учётом этого необходимо расширить требования к функциям коррекции e_i (t), чтобы «сшить» ещё и производные скорректированных функций r_i (t):

r_i^{'} (t_i )=r_{i-1}^{'} (t_i )

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

s_i^{'} (t_i)+e_i^{'} (t_i )=s_{i-1}^{'} (t_i )+e_{i-1}^{'} (t_i )

Ранее мы упоминали о том, что после истечения времени коррекции T функция коррекции принимает нулевые значения. Добавим ещё одно требование к функции коррекции — пусть её производная после истечения времени коррекции также принимает нулевые значения:

e_i^{'} (t)=0,tin[t_i+T,infty)

Тогда, в предположении, что время коррекции всегда меньше интервала между отсчётами, можно считать, что производная i-й функции коррекции к моменту прихода следующего отсчёта t_{i+1} уже обратится в ноль. Тогда, возвращаясь к условию гладкости, получим:

s_i^{'} (t_i )+e_i^{'} (t_i )=s_{i-1}^{'} (t_i )+0

Выразим отсюда e_i^{'} (t_i ):

e_i^{'} (t_i )=s_{i-1}^{'} (t_i )-s_i^{'} (t_i )

Заметим, что s_i^{'} (t_i ) представляет собой оценку скорости, сделанную при помощи конечных разностей, подставим её:

e_i^{'} (t_i )=s_{i-1}^{'} (t_i )-v_i

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

left{
begin{array}{lcl}
e_i(t_i) = e_i\
e_i^{'}(t_i) = s_{i-1}^{'}(t_i)-v_i\
e_i(t_i) = 0, tin[t_i+T,+infty] \
e_i^{'}(t_i) = 0, tin[t_i+T,+infty] \
end{array} 
right.

Словами их можно описать так — необходимо найти функцию коррекции, чтобы:

  • в начале интервала коррекции её значение совпадало с ошибкой экстраполяции смещения;
  • в начале интервала коррекции значение её производной совпадало с ошибкой экстраполяции скорости;
  • в конце интервала коррекции и далее значение самой функции и её производной было нулевым.

Выбор функции коррекции ошибок

Стоит отметить, что получить единое аналитическое выражение для функций коррекции e_i (t), в точности удовлетворяющее вышеуказанным четырём условиям, очень сложно. Проблема заключается в той части области определения, которая идёт после истечения времени коррекции T, — нужно добиться нулевых значений функции и её производной на всём остатке числовой оси. Для упрощения задачи сократим область определения искомого аналитического выражения функции коррекции до интервала коррекции [t_i,t_i+T), а после верхней его границы будем считать значение функции и её производной тривиально нулевым (благо, на уровне программного кода у нас есть такая возможность из-за наличия ветвлений).

Формально с учётом этого приёма функция коррекции кусочной — некоторое выражение для интервала коррекции и константа 0 далее, однако при соблюдении граничных условий в точке (t〗_i+T) не будет разрыва ни самой функции коррекции, ни её первой производной. Так как разрывы более старших производных нас не интересуют (они не испортят гладкости искомой функции s(t)), в дальнейшем не будем упоминать о нулевом «хвосте» функции коррекции, а граничные условия переформулируем в более удобном виде:

left{
begin{array}{lcl}
e_i(t_i) = e_i\
e_i^{'}(t_i) = s_{i-1}^{'}(t_i)-v_i\
e_i(t_i+T) = 0\
e_i^{'}(t_i+T) = 0\
end{array} 
right.

Обозначим ошибку экстраполяции скорости через ε_i=s_{i-1}^{'}(t_i)-v_i:

left{
begin{array}{lcl}
e_i(t_i) = e_i\
e_i^{'}(t_i) = varepsilon_i\
e_i(t_i+T) = 0\
e_i^{'}(t_i+T) = 0\
end{array} 
right.

Теперь нужно определить аналитическое выражение для e_i (t). В связи с эргономическими требованиями к программе, помимо граничных условий, нужно, чтобы функция коррекции имела как можно меньше экстремумов и перегибов на интервале коррекции — чтобы маркер GPS «не дёргался».

Самой простой функцией, подходящей под эти требования, опять является полином — полином минимально возможной степени от времени t (теоретически, сходными характеристиками среди элементарных функций обладает ещё и, например, синус, но вычислять его значение накладнее с точки зрения процессорного времени).

Так как граничные условия представляют собой систему из четырёх нетривиальных уравнений, то минимальной степенью полинома, обеспечивающей достаточную параметризацию функции коррекции, является третья. Учитывая то, что при построении аналитического выражения для e_i (t) удобнее считать время с момента i-го отсчёта (ровно так же, как и в определении s_i (t)), нужный полином примет следующий вид:

e_i (t)=C_3 〖(t-t_i)〗^3+C_2 〖(t-t_i)〗^2+C_1 (t-t_i )+C_0

Подставив это выражение в систему граничных условий и решив её относительно констант C_3,C_2,C_1 и C_0, получим следующие значения:

left{
begin{array}{lcl}
C_3 = frac {varepsilon_iT + 2e_i} {T^3} \
C_2 = - frac {2varepsilon_iT + 2e_i} {T^3} \
C_1 = varepsilon_i \
C_0 = e_i \
end{array} 
right.

В итоге, если определить функции коррекции e_i (t) описанным образом, то скорректированные функции r_i (t) сливаются в единую функцию экстраполяции s(t), гладкую во все моменты времени. Полное выражение для s(t) приводить не будем в силу его громоздкости.

Примечание: последняя неточность осталась в допущении при выборе времени коррекции T — наши рассуждения строились в свете условия, что T всегда будет меньше интервала между отсчётами:

(forall i in mathbb{N})(T<t_i-t_{i-1})

Приятной особенностью построенной модели s(t) является то, что нам достаточно выбрать T таким образом, чтобы оно не превышало среднего времени между отсчётами: в случае, если отдельные интервалы (t_i-t_{i-1}) будут меньше T, то часть ошибки, которую мы не успели докорректировать на слишком коротком интервале, будет скорректирована на одном из следующих. Для этого достаточно будет вычислять ошибку экстраполяции не по обычной экстраполяционной функции s_i (t), а по скорректированной r_i (t):

e_i=r_{i-1} (t_i )-s_i

На рисунке ниже изображён пример графика итоговой функции экстраполяции s(t), построенный по реальным данным:

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

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

Адаптация математической модели к реальным условиям

Запрет движения маркера в обратном направлении

На последнем графике можно заметить, что в некоторых случаях функция s(t) начинает убывать, даже когда по реальным отсчётам пользователь едет исключительно вперёд по маршруту. Такое происходит, когда наш прогноз сильно переоценивает скорость движения. С другой стороны, в реальности автомобиль двигается в обратном направлении только по двум причинам: водитель действительно включил заднюю передачу и отправился назад (очень редкий случай), либо выполнил разворот.

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

Если мы воспользуемся результатами экстраполяции позиции по s(t) непосредственно, то из всех движений маркера в сторону начала маршрута соответствовать реальному движению автомобиля в том же направлении будет исчезающее меньшинство. В свете этого было принято решение вообще запретить маркеру двигаться назад без перестроения маршрута, дабы не вводить пользователей в заблуждение.

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

Раз так, то обеспечить неубывание экстраполированного смещения будет нетрудно: достаточно сравнить новое полученное значение с предыдущим, и если текущее окажется меньше, то подменить его предыдущим. Несмотря на кажущуюся грубость этого приёма, гладкости функции экстраполяции мы не нарушим, ведь, для того чтобы начать двигаться назад по гладкой функции, нужно сначала полностью остановиться.
В будущем режим работы, когда мы подменяем математически корректные значения s(t) более старыми, чтобы не допустить движения назад, будем называть режимом принудительной остановки.

Слишком большие ошибки экстраполяции и слишком долгие интервалы между отсчётами

Несмотря на то, что мы построили в некотором смысле качественную функцию s(t), иногда ошибки экстраполяции могут достичь недопустимых величин. В этих случаях программа должна прекратить попытки скорректировать ошибки штатными средствами. Ещё одна ситуация, когда экстраполированные данные теряют актуальность, возникает, если новый отсчёт смещения по какой-либо причине не приходит слишком долго — моделирующая способность s(t) драматически падает с момента получения последнего отсчёта. Чтобы не перейти грань между попытками прогнозирования и бессовестной ложью, полагаться на модель обычно стоит не дольше трёх секунд.

Для простоты назовём первую негативную ситуацию некорректируемой ошибкой смещения, а вторую — некорректируемой ошибкой времени.

Работать с каждым из этих видов ошибок мы можем двумя способами:

  • Входить в упомянутый выше режим принудительной остановки. Достоинство этого подхода — в сохранении плавности движения маркера геопозиции по карте местности. Однако чем дольше мы находимся в режиме принудительной остановки, тем хуже мы информируем пользователя о его реальном местоположении;
  • Мгновенно телепортировать маркер GPS на место последнего отсчёта. Здесь мы, наоборот, жертвуем эргономикой ради достоверности информации, подаваемой пользователю.

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

Затянувшийся режим принудительной остановки

Любой вход в режим принудительной остановки сопряжён с выдачей менее точных данных о местоположении в угоду запрету обратного движения маркера GPS. Чтобы не дезинформировать пользователя в особо неблагоприятных случаях, наша модель дополнительно наделена возможностью прерывать режим принудительной остановки «телепортацией» маркера на последнее реальное положение по истечении заданного промежутка времени, вне зависимости от причины входа в режим (математический результат экстраполяции или некорректируемые ошибки смещения/времени). В этот момент даже плавность движений приходится принести в жертву ради «остатков» точности.

Выводы

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

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

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

Прошлым летом мне надо было в пятничный вечер добраться до дачи. Как все понимают, это самый пик пробок. Поэтому в такой поездке было не обойтись без Яндекс Карт, чтобы адекватно оценить дорогу и постараться максимально объехать все заторы. Вот только эффект получился совершенно противоположный. Там, где Яндекс показывал желтое, а значит, в целом нормальную дорогу, были совершенно глухие пробки, что значительно увеличивало мое время в пути. В то же время 2GIS отображал данные о заторах корректно. Если на карте было желтое, значит, проехать там можно было более-менее нормально. А там, где Яндекс рисовал отсутствие пробок, 2GIS показывал обратное и оказывался прав.

Перестал пользоваться Яндекс Картами и перешел на 2GIS. Личный опыт. По своим основным возможностям 2GIS мне нравится больше Яндекс Карт. Как минимум из-за качества информации, содержащейся в нем. Фото.

По своим основным возможностям 2GIS мне нравится больше Яндекс Карт. Как минимум из-за качества информации, содержащейся в нем.

❗️ПОДПИШИСЬ НА НАШ ДЗЕН, ЧТОБЫ ЧИТАТЬ КРУТЫЕ СТАТЬИ БЕСПЛАТНО

Меня такой расклад дел не устраивал, и я решил попробовать попользоваться 2GIS на постоянной основе. И так и остался с этим картографическим сервисом, так как за полгода постоянного использования он ни разу меня не подвел. Рассказываю, чем 2GIS лучше Яндекс Карт и почему стоит иметь на смартфоне оба приложения.

2ГИС или Яндекс Карты

В любых картах пробки — это даже не половина дела, а значительно меньше. При этом нельзя гарантировать, что рано или поздно 2GIS тоже не начнет ошибаться или его алгоритмы просто неправильно рассчитают загруженность отдельных дорог. По этой причине предлагаю подробнее рассмотреть детализацию карт и другие возможности, которые есть в сервисах.

2ГИС или Яндекс Карты. В целом карты выглядят одинаково. Вот только парковок у 2ГИС справа на скриншоте в разы больше. Фото.

В целом карты выглядят одинаково. Вот только парковок у 2ГИС справа на скриншоте в разы больше.

Внешний вид карт практически одинаков. Если убрать все опознавательные знаки, вы вряд ли определите на глаз, какой сервис вам показывают. Да и детализация находится в обоих случаях на отличном уровне. Здесь следует отметить, что для 2GIS Новосибирск, где я живу, является домашним регионом, а значит, именно здесь качество карты и ее наполненность будет всегда на отличном уровне. Но Яндекс совершенно не отстает и даже показывает совсем недавно установленные шлагбаумы. Поэтому, если смотреть на качество самих карт, то здесь полный паритет. Единственное, в 2ГИС отображается больше парковок.

❗️ПОДКЛЮЧАЙСЯ К НАШЕМУ ЧАТУ В ТЕЛЕГРАМЕ, ТАМ СОБРАЛИСЬ ТОЛЬКО ИЗБРАННЫЕ

2ГИС или Яндекс Карты. Сведения в 2ГИС справа на скриншоте правильные. Фото.

Сведения в 2ГИС справа на скриншоте правильные.

А вот что касается наполненности карт различными организациями и отзывами, здесь все не так однозначно. Давайте посмотрим на пример по одному адресу. Яндекс находит здесь четыре организации, а 2GIS — пять. И это касается большого количества объектов в городе. А самое забавное, что там, где на Яндекс Картах отображается Федерация силового экстрима, если открыть фотографию организации, можно увидеть как раз школу по хоккею с мячом. И это неточность только по одному адресу. Если начать пользоваться Картами с точки зрения поиска организаций, то такое будет встречаться часто.

Отзывы на Яндекс Картах

Отзывы на Яндекс Картах. Количество отзывов в 2ГИС слева на скриншоте по организациям моего города значительно больше, чем в Яндекс Картах. Фото.

Количество отзывов в 2ГИС слева на скриншоте по организациям моего города значительно больше, чем в Яндекс Картах.

Тоже самое касается и отзывов. Просто посмотрите разницу в количестве отзывов в 2ГИС и Яндекс Картах на тренажерный зал. В первом 35 отзывов и 36 оценок, а в другом — 12 отзывов и 23 оценки. Разница, я бы сказал, значительная. И это не по какой-то одной организации, а практически по всем. Но отзывы можно почитать и в интернете. А картами пользуются еще и для того, чтобы найти нужные объекты или вход в них.

Отзывы на Яндекс Картах. Входы в Яндекс Картах слева на скриншоте тоже отображаются немного некорректно. Фото.

Входы в Яндекс Картах слева на скриншоте тоже отображаются немного некорректно.

Яндекс заявляет, что может показывать вход в некоторые здания. Вот только и здесь есть проблема. 2ГИС делает это значительно точнее. Посмотрите на вот этот пример с тренажерным залом. Яндекс предлагает вам зайти по центру здания. Вот только эта дверь ведет к другим организациям. А вам надо пройти чуть дальше, как это показывает 2ГИС, к следующему входу. И этот момент в зданиях с несколькими входами, расположенными рядом, становится критичным.

❗️ПОДПИСЫВАЙСЯ НА ТЕЛЕГРАМ-КАНАЛ СУНДУК АЛИБАБЫ, ЧТОБЫ ПОКУПАТЬ ТОЛЬКО ЛУЧШИЕ ТОВАРЫ С АЛИЭКСПРЕСС

Отзывы на Яндекс Картах. Навигатор строит одинаковые маршруты в обоих сервисах. Яндекс карты слева, 2ГИС справа. Фото.

Навигатор строит одинаковые маршруты в обоих сервисах. Яндекс карты слева, 2ГИС справа.

При этом маршруты оба сервиса строят абсолютно одинаково и предлагают аналогичные варианты объезда при необходимости. Поэтому в этой части претензий нет ни к одним картам. Но надо отметить одно важное преимущество Яндекс Карт — это их панорамы. Благодаря им можно точно посмотреть, как выглядит то или иное здание, и заранее определиться, куда вам необходимо ехать и где можно припарковаться. В 2ГИС можно найти только фотографии конкретных мест, и то сделанные пользователями. Именно по этой причине я держу на своем смартфоне оба этих сервиса. Один помогает мне искать нужные организации или оценивать пробки, а в другом я регулярно использую панорамы.

Как установить 2ГИС

Как установить 2ГИС. 2GIS доступен в Google Play и других магазинах приложений. Фото.

2GIS доступен в Google Play и других магазинах приложений.

Следует отметить, что оба сервиса добавили в свои карты возможность заправить автомобиль прямо из приложения и очень точное определение местоположение общественного транспорта. Поэтому и здесь можно сказать про полный паритет. Скачать 2GIS можно из Google Play или RuStore. Пользователям Айфонов в этом плане совсем не повезло: Apple удалила 2ГИС из App Store и остается только вариант с iMazing. А вот Google на поводу у санкций не пошла и не стала трогать картографический сервис. Как вы могли понять, Яндекс Карты и 2ГИС очень похожи друг на друга. Но для меня определяющим моментом стали точность пробок и качество наполненности карт организациями, их контактами и отзывами.

❗️ПОДПИШИСЬ НА НАШ ПУЛЬС. БУДЕШЬ УЗНАВАТЬ ВСЕ НОВОЕ САМЫМ ПЕРВЫМ

В моем городе с отрывом лидирует 2GIS. Поэтому я и отказался от использования Яндекс Карт за исключением панорам, которые иногда смотрю. Ведь если в остальном нет разницы, то лучше сразу выбрать продукт, который предоставляет всю необходимую информацию более качественно. От города к городу этот опыт явно будет отличаться. Поэтому не спешите сразу делать, как я. Проанализируйте информацию в обоих сервисах и только после этого принимайте решение.

Понравилась статья? Поделить с друзьями:
  • Как найти сына от которого отказалась
  • Как составить претензию на железную дорогу
  • Как исправить ошибки в редакторе реестра
  • Как найти тоз 34 охотник
  • Как составить лимерик примеры