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 – Выбор провайдера местоположения
- Содержание
- Введение
- 1 Анализ предметной области
- 2 Определение способа реализации
- 2.1 Выбор аппаратной платформы
- 2.2 Выбор операционной системы
- 2.2.1 Особенности архитектуры ос Android
- 2.3 Выбор средств разработки и тестирования
- 2.3.1 Язык Java
- 2.3.3 Интегрированная среда разработки Eclipse
- 3 Функциональные требования к системе
- 4 Разработка проекта
- 4.1 Обзор и решение ключевых задач
- 4.1.1 Определения текущего местоположения
- 4.1.2 Прокладка оптимального маршрута
- 4.1.3 Особенности построения графа дорог в OpenStreetMap
- 4.1.4 Поиск оптимального маршрута
- 4.1.5 Прогнозирование времени прохождения маршрута
- 4.1.6 Диспетчеризация
- 4.2 Графический интерфейс системы
- 4.2.1 Интерфейс арм Курьера
- 4.2.2 Интерфейс арм Диспетчера
- 4.3 Развертывание системы
- 5 Технико-экономическое обоснование дипломного проекта
- 5.1 Swot-анализ
- 5.2 Pest-анализ
- 5.3 Расчет экономических показателей
- 5.4 Расчет затрат на разработку программы
- 5.5 Расчет цены разработанной программы
- 5.6 Расчет капитальных вложений
- 5.7 Расчет эксплуатационных расходов
- 5.8 Расчет денежного годового экономического эффекта
- 6 Безопасность и экологичность дипломного проекта
- 6.1 Электробезопасность
- 6.2 Электромагнитные излучения
- 6.3 Требования к эргономике, освещенности, уровню шума и
- 6.4 Пожарная безопасность
- Заключение
- Список использованных источников
- Приложение а
- Исходний код программы. Курьерская часть
- Приложение б
- Исходний код программы. Диспетчерская часть
- Приложение в
- Графический материал