Mobile application for finding the best route on campus

Cover Page

Cite item

Full Text

Abstract

The actual task of developing a mobile application for finding the optimal route on a university campus is considered. The mathematical basis for designing a mobile application is the task of finding the shortest route in a graph whose vertices are classrooms, laboratories, libraries, departments, dean's offices, etc. in the buildings of the university.The analysis of the main characteristics of existing mobile applications for walking navigation has been carried out, their advantages and disadvantages have been identified. The well-known algorithms for finding the shortest path in a graph are considered: breadth-first search, greedy algorithm, and Dijkstra shortest path algorithm. For the task under consideration, a software implementation and an auxiliary service have been developed to create maps and bring them to a format in which a graph is automatically created for the correct operation of the application. The novelty of the proposed development lies in the possibility of displaying, adding and editing various maps. Further improvement of the developed mobile application can be carried out in the direction of increasing the accuracy of navigation by combining algorithms for finding paths in a graph, as well as in translating maps from 2D to 3D. The results of the study can be used to find the best routes in other universities.

Full Text

Введение

Крупные университеты имеет сложную архитектурную планировку, поэтому для обучающихся и гостей университета задача поиска нужной аудитории является актуальной. Например, университетский городок Оренбургского государственного университета (ОГУ) состоит из 14 учебных корпусов и сотен различных аудиторий [1].

В настоящее время активно используются навигационные сервисы открытом пространстве во многих сферах деятельности. Всё большую актуальность приобретает навигация, основанная на использовании мобильных приложений (МП), что обусловлено доступностью мобильных устройств [2]. В контексте рассматриваемой проблемы наиболее известны следующие МП для пешей навигации: «Яндекс Карты» [3], 2ГИС [4], Google Maps [5], HERE WeGo [6], Maps.me [7], Sygic GPS Navigation [8], Magic Earth Navigation & Maps [9], iGO Navigation [10], OsmAnd [11], MapFactor Navigation [12].

Результаты проведённого анализа основных характеристик названных МП в виде выявленных достоинств для данной задачи приведены в таблице 1. Среди недостатков некоторых из рассмотренных МП можно отметить: притормаживающий пользовательский интерфейс; устаревшая графика; наличие рекламы; не возможность поиска оптимального пути и др. По информации из открытых источников удалось лишь установить, что в МП [3] для построения маршрутов используется алгоритм Дейкстры.

 

Таблица 1 – Основные характеристики и достоинства МП  

Мобильное приложение

название, разработчик, сайт, платформа

Достоинства

Яндекс. Карты

Яндекс

mobile.yandex.ru/apps/maps

Android; iOS

§ позволяет строить маршруты для пешеходов;

§ знает короткие пути через дворы и проходы между зданиями;

§ показывает входы в здания и включает поэтажные схемы;

§ имеет голосовой помощник «Яндекс. Алиса».

2ГИС

ДубльГИС

info.2gis.com

Android; iOS; Wear OS

§ умеет прокладывать самые короткие пешие маршруты;

§ может работать без подключения к Интернету;

§ отображает поэтажные схемы торговых центров (ТЦ), вокзалов и аэропортов;

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

Google Maps

Google

google.com/maps


Android; iOS

§ позволяет строить пешие маршруты и знает расписание общественного транспорта;

§ поддерживает технологию дополненной реальности (можно видеть подсказки поверх изображения окружающей местности);

§ предоставляет возможность просмотра панорамных снимков и схем, которые помогают ориентироваться в больших зданиях (аэропорты, вокзалы, ТЦ и др.);

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

HERE WeGo

Here Technologies

here.com

Android; iOS

§ за считаные секунды подбирает доступные варианты перемещения из начальной точки в конечную, рассчитывает примерное время в пути и позволяет выбрать оптимальный маршрут из списка;

§ при навигации может переключаться в 3D-режим;

§ имеется возможность сохранения карт в памяти мобильного устройства и использования приложения в автономном режиме.

Maps.me

Maps.me Limited

maps.me


Android; iOS

§ построен на основе свободной географической карты OpenStreetMap;

§ картографические данные можно скопировать в память мобильного устройства и пользоваться приложением без подключения к Интернету;

§ умеет строить пешие и велосипедные маршруты.

Sygic GPS Navigation

Sygic

sygic.com/gps-navigation
Android; iOS

§ поддерживается поиск по организациям.

Magic Earth Navigation & Maps

General Magic

magicearth.com


Android; iOS

§ построен на основе свободной географической карты OpenStreetMap;

§ предусмотрен выбор альтернативных маршрутов и справочник организаций;

§ присутствует функция «Что находится рядом», которая выводит список близлежащих объектов.

iGO Navigation

NNG Software Developing and Commercial

igonavigation.com


Android; iOS

§ позволяет строить маршруты для пешеходов и автомобилистов.

OsmAnd

OsmAnd

osmand.net


Android; iOS

§ построен на основе свободной географической карты OpenStreetMap;

§ предоставляет возможность получения ежечасных обновлений карт;

§ имеет встроенный путеводитель;

§ ведет запись маршрута.

 

Все рассмотренные МП преимущественно ориентированы для навигации на открытой местности большой площади. При этом внутреннюю навигацию в них предполагается использовать для известных крупных сооружений (большие ТЦ, вокзалы, государственные учреждения и др.) с большими потоками людей. Учебные корпуса университетов, как правило, локализованы на территории небольшой площади. Это означает, что многие функции, заложенные в указанных навигационных сервисах, не будут использованы, а возможность добавления карт требуемых зданий может быть сопряжена с угрозой ослабления безопасности университета. При этом требуется обеспечить большую точность для построения маршрутов в случаях, когда исходная и искомая точки маршрута находятся в разных корпусах или на разных этажах. Важное значение может иметь отыскание оптимального маршрута внутри здания без выхода на улицу, например, в зимнее время года. Поэтому для поиска оптимального маршрута в университете требуется навигационный сервис, учитывающий перечисленные факторы.

Целью исследования является разработка МП для поиска оптимального маршрута в университетском городке.

Для достижения поставленной цели необходимо:

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

1. Постановка задачи и метод решения

Задачу поиска оптимального пути от исходной точки  до искомой аудитории можно представить как известную задачу поиска кратчайшего пути в графе [13, 14]. Такой подход используется в рассмотренных МП [3-12].

Пусть задан ортограф G(V, A), каждой дуге которого (u,v) ставится в соответствие число L(u,v) длина дуги. Под длиной дуги маршрута (пути) понимают сумму дуг, составляющих маршрут. Требуется найти длины кратчайших маршрутов и маршруты от выбранной вершины до всех остальных вершин графа vi.

Наиболее известными алгоритмами поиска кратчайшего маршрута в графе являются: алгоритм поиска в ширину, жадный алгоритм поиска кратчайшего пути, алгоритм Дейсктры [15, 16]. В таблице 2 приведены результаты сравнительного анализа указанных алгоритмов.

 

Таблица 2 – Результаты сравнительного анализа алгоритмов отыскания кратчайшего пути в графе

Алгоритм

Достоинства

Недостатки

Алгоритм поиска в ширину

§  сравнительная простота реализации

§  полнота и оптимальность

§  при увеличении пространства поиска производительность поиска снижается по сравнению с другими эвристическими алгоритмами

Жадный алгоритм поиска

§  простота поиска оптимального решения

§  сложность оценки алгоритма

 

Алгоритм Дейкстры

§  сравнительная простота реализации

§  находит кратчайшие пути и их величины только от одной вершины

 

В качестве основы для построения математической модели задачи принят алгоритм Дейкстры. Программная реализация построена на основе UML-шаблонов проектирования [17, 18]. Архитектура программного средства BLoC (компонент бизнес-логики, от англ. Business Logic Component), идея которой заключается в разделении интерфейса (UI-компонента, от англ. User Interface) и бизнес-логики приложения, соответствует единой системы программной документации [19].

Для взаимодействия с пользователем требуются следующие визуальные элементы управления: 

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

Для работы интерфейса требуются классы, в которых реализованы алгоритмы: поиска путей, взаимодействия с базой данных (БД), отображения карт и дополнительной информации, работы с вре́менными данными. Термин «класс» в данном случае используется в контексте объектно-ориентированного программирования и подразумевает собой шаблон для создания объектов, обеспечивающий начальные значения состояний: инициализация полей-переменных и реализация поведения функций или методов. Это позволяет создать универсальный программный продукт для различных карт.

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

 

Рисунок 1 – Вкладка «Навигация» МП

 

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

Заключительная строка таблицы содержит три кнопки:

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

2. Описание и проверка работоспособности МП

В качестве среды для разработки МП выбрана платформа Android Studio1. Для разработки программного продукта использовался объектно-ориентированный язык Flutter[2]. Выбранный язык является кроссплатформенным языком, что позволяет создавать МП под Android и iOS, а также для решений под Windows, macOS и Linux с использованием языка программирования Dart[3]. В языке Dart нет готового инструмента для отображения карт, но с помощью доступного функционала можно создать новый функционал, отвечающим заданным требованиям.

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

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

 

Рисунок 2 – Шаблон данных

 

На рисунке 3 показан пример шаблона данных МП, принимающего входные данные и отображающего возможные маршруты внутри помещения, с нумерацией аудиторий. Для разработки программного обеспечения выполнена предварительная работа на базе предоставленных  ОГУ документов о планировке корпусов и актуальной  информации о расположении аудиторий и иных помещений. Подготовленный материал форматирован к виду, соответствующему шаблону данных. Полученный результат помещён в БД, которая размещена на удалённом сервере. В интерфейсе поля, отвечающего за выбор начальной и конечной точек маршрута, происходит наполнение информацией из БД, т.е. из полей легенды карты при старте программы. Когда пользователь совершает выбор, то данные записываются во вре́менные переменные, описанные в логической архитектуре, представляющей собой объектно-ориентированную программы, которая содержит слои, классы объектов, пакеты, основные платформы, интерфейсы, подсистемы и их взаимодействия.

 

Рисунок 3 – Пример шаблона данных мобильного приложения

 

На рисунке 4 приведён пример выбора начальной точки маршрута. В интерфейсе предусмотрен выпадающий список, из которого пользователь может выбрать нужную карту для отображения. Результат записывается во врѐменную переменную, описанную в логической архитектуре, и передаётся в класс для отображения. Пример выпадающего списка представлен на рисунке 5.

 

Рисунок 4 – Пример выбора начальной точки маршрута

 

Рисунок 5 – Пример выпадающего списка

 

Рисунок 6 – Карта результата эксперимента

 

Для проверки работоспособности МП проведён эксперимент, согласно которому требуется построить кратчайший путь от 16-го корпуса до аудитории 20119, расположенной в 20-ом корпусе на 1-ом этаже. На рисунке 6 представлена карта результата эксперимента. 

На рисунке 7 приведён построенный МП маршрут, на котором числа означают последовательность точек графа, через которые проходит путь.

 

Рисунок 7 – Построенный мобильным приложением маршрут эксперимента

 

Для упрощения добавления новых карт в БД МП, разработан вспомогательный сервис, написанный на языке программирования PHP4, который преобразует SVG картинку5 в набор данных по созданному шаблону.

SVG-изображение имеет следующую структуру:

  • 1 слой – стены здания;
  • 2 слой – стены внутренней планировки помещений;
  • 3 слой – дороги (возможные маршруты) ;
  • 4 слой – местонахождение точек графа (окружности малого диаметра);
  • 5 слой – местонахождение пронумерованных аудиторий, корпусов и иных помещений (окружности большого диаметра).

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

 

Рисунок 8 – Карта возможных маршрутов

 

Сервис поочерёдно обрабатывает слой и выдаёт данные согласно шаблону, после чего они интегрируются в МП.

На рисунке 9 приведена структура SVG-изображения, полученная за счёт обработки данных о планировке помещений и актуальной информации. На основании слоёв 3 и 4 за счёт работы скрипта PHP генерируется таблица смежности графа, приведённая на рисунке 10. На вход подаются данные, представленные на рисунке 9, вычисляются растояния между точками, на основании бинарных отношений принадлежности точек прямым и пересечений прямых определяются ближашие соседи для всех вершин (рассматривает маршруты, проходящие через окружности из слоя 4 и отыскиваются ближайшие окружности, через которые проходят эти дороги).

 

Рисунок 9 – Структура SVG-изображения

 

Рисунок 10 – Таблица смежности

 

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

Заключение

Разработано МП для поиска оптимального маршрута от начальной точки до точки назначения с функционалом, призванным создать благоприятные условия для удобной навигации в университете. Новизна предложенной разработки заключается в универсальности средств отображения, добавления и редактирования карт. Дальнейшее совершенствование МП возможно в направлении улучшения его точности за счёт объединения алгоритмов поиска путей в графе, а также перевод карт из 2D- в 3D-пространство.

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

1 Android Studio. https://developer.android.com/studio.

2 Flutter. https://flutter.dev/.

3 https://dart.dev/.

4 Lerdorf, Rasmus (June 8, 1995). Announce: Personal Home Page Tools (PHP Tools). Retrieved 7 June 2011.

5 SVG (от Scalable Vector Graphics — масштабируемая векторная графика) — это вид графики, которую создают с помощью математического описания геометрических примитивов, которые и образуют все детали изображения.

×

About the authors

Slushash T. Dusakaeva

Orenburg State University

Author for correspondence.
Email: slushashdusakaeva@rambler.ru
ORCID iD: 0000-0002-5292-1114

Candidate of Technical Sciences, Associate Professor of the Department of Applied Mathematics

Russian Federation, Orenburg

Vitaly V. Savinov

Orenburg State University

Email: savinovvet@gmail.com

Master's student of the Institute of Mathematics and Information Technologies 

Russian Federation, Orenburg

References

  1. Official website of Orenburg State University. http://www.osu.ru/.
  2. Zharkova SA. Relevance of the development of mobile applications for Android [In Russian]. Scientific research in the modern world: experience, problems and prospects of development: collection of scientific articles based on the materials of the IX International Scientific and Practical Conference, November 18, 2022. P.215-220.
  3. Yandex Maps [Electronic resource]. URL: mobile.yandex.ru/apps/maps.
  4. GIS [Electronic resource]. URL: info.2gis.com.
  5. Google Maps [Electronic resource]. URL: https://bestmaps.ru/google-maps.
  6. HERE WeGo [Electronic resource]. URL: here.com.
  7. Maps.me [Electronic resource]. URL: maps.me.
  8. Sygic GPS Navigation [Electronic resource]. URL: https://www.sygic.com/.
  9. Magic Earth Navigation & Maps [Electronic resource]. URL: https://www.amazon.com/Magic-Earth-Navigation-and-Maps/dp/B077XTY4F9.
  10. iGO Navigation [Electronic resource]. URL: https://www.malavida.com/en/soft/igo-navigation/android/.
  11. OsmAnd [Electronic resource]. URL: osmand.net.
  12. MapFactor Navigator [Electronic resource]. URL: navigatorfree.mapfactor.com.
  13. Alekseev VN. B. Discrete mathematics. [In Russian]. Moscow: INFRA-M, 2023. 133 P.
  14. Redkin NP. Discrete mathematics. [In Russian]. Moscow: FIZMATLIT, 2009. 264 p.
  15. Plotnikov OA, Podvalny ES. Solving the problem of finding the optimal path between two points on a graph with an irregular edge weight [In Russian]. Vestnik VSTU. 2012; 6: 22-26.
  16. Boikov VA. On the application of greedy algorithms in some problems of discrete mathematics [In Russian]. Software products and systems. 2019; 1: 55-62.
  17. Larkman K. Application of UML and design patterns [In Russian]. Moscow: Publishing house "Williams", 2004. 624 p.
  18. Samuilov SV. Object-oriented modeling based on UML [In Russian]. Saratov: University Education, 2016. 137 p.
  19. GOST 701-90 (ISO 5807-85) Unified system of Software Documentation (USPD) [In Russian]. Schemes of algo-rithms, programs, data and systems. Conditional designations and rules of execution. Moscow: Standartinform, 2010. 23 p.

Supplementary files

Supplementary Files
Action
1. JATS XML
2. Figure 1 – Navigation tab

Download (135KB)
3. Figure 2 – Data Template

Download (46KB)
4. Figure 3 – Example of data template

Download (100KB)
5. Figure 4 – Example of choosing the starting point of a route

Download (200KB)
6. Figure 5 – Example of a drop-down list

Download (146KB)
7. Figure 6 – Experiment result map

Download (336KB)
8. Figure 7 – Recommended route of the experiment

Download (217KB)
9. Figure 8 – Map of possible routes

Download (198KB)
10. Figure 9 – SVG image Structure

Download (1MB)
11. Figure 10 – Adjacency table

Download (867KB)

Copyright (c) 2023 Dusakaeva S.T., Savinov V.V.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.

СМИ зарегистрировано Федеральной службой по надзору в сфере связи, информационных технологий и массовых коммуникаций (Роскомнадзор).
Регистрационный номер и дата принятия решения о регистрации СМИ: серия ФС 77 - 70157 от 16.06.2017.

This website uses cookies

You consent to our cookies if you continue to use our website.

About Cookies