logo
Мой Диплом

4.1.1 Определения текущего местоположения

Задача получения приложением данных о текущем местоположении пользователя является отправной точкой в вопросе построения оптимального маршрута. Видится два решения этого вопроса: использование спутниковой системы навигации GPS и сетевого провайдера местоположения Android (ANLP – Android's Network Location Provider).

Несмотря на то, GPS является более точным, он работает только на улице, быстро расходуется заряд батареи, и не возвращает местоположение так же быстро, как хотят пользователи. ANLP определяет местоположение пользователя с помощью мобильных вышек и Wi-Fi сигналов. Этот способ вполне работоспособен как на открытом воздухе, так и в помещении, реагирует быстрее использует меньше энергии аккумулятора, но дает меньшую точность позиционирования. По этим причинам целесообразно использовать эти два метода в совокупности [7].

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

Вот несколько источников ошибок:

1 множественность источников определения местоположения – GPS, Cell-ID и Wi-Fi. И каждый дает свой ключ к определению местоположения пользователя. Определение того, какие данные использовать и каким доверять – это дело компромиссов в точности, скорости и экономии заряда батареи;

2 пользователь постоянно находится в движении – из-за постоянного изменения местоположения необходимо очень часто получать новые данные о текущих координатах;

3 изменение точности – необходимо постоянно производить оценку погрешности определения нового местоположения.

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

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

Алгоритм выбора провайдера местоположения представлен на рисунке 6.

Рисунок 6 – Выбор провайдера местоположения