Дії

Unimap

Матеріал з ВНТУ Вікі

Unimap — навігація по кампусу ВНТУ

Що це?

Unimap — мобільний навігаційний модуль для студентів та викладачів Вінницького національного технічного університету. Допомагає швидко знайти потрібну аудиторію, побудувати маршрут між корпусами та орієнтуватися всередині будівель.

Модуль складається з двох частин: мобільного застосунку для кінцевих користувачів та панелі адміністратора для управління навігаційними даними.

Мобільний застосунок

Побудова маршрутів

  • До 6 варіантів маршруту одночасно між двома точками — модуль підбирає оптимальні шляхи з різними пріоритетами
  • Для кожного маршруту відображається: відстань, орієнтовний час та кількість кроків
  • Автоматичні позначки: «Найкоротший», «Переважно в приміщенні», «Збалансований» — щоб одразу зрозуміти різницю між варіантами

2026-03-26 22.26.43.jpg

Покрокова навігація

  • Детальні вказівки на кожному кроці: куди рухатися поверхом, де вийти надвір, до якої будівлі зайти, на який поверх піднятися
  • Повноекранна карта на кожному кроці — план поверху в приміщенні або вулична карта надворі
  • Прогрес-бар та лічильник кроків — завжди видно, скільки залишилося
  • Кнопка Info — показує деталі: номер будівлі, поверх, джерело даних карти

2026-03-26 22.26.47.jpg 2026-03-26 22.26.57.jpg

Карта

  • Плани поверхів із позначками кімнат, аудиторій, WC, сходів, POI, входів
  • Вулична карта з лінією маршруту та позначками будівель
  • Масштабування, переміщення, вибір точок дотиком
  • Прев'ю маршруту — горизонтальна стрічка мініатюр кроків у картці маршруту

Screenshot sd5.jpg

Пошук

  • Пошук за будівлями, кімнатами, аудиторіями, точками інтересу
  • Фільтри за будівлею та поверхом
  • Розумні підказки на основі популярних маршрутів
  • Швидкі дії: «Найближчий чоловічий WC», «Найближчий жіночий WC» — в один дотик
  • Swap — миттєва заміна старту та фінішу
2026-03-26 22.26.38.jpg

Репорти — повідомлення про проблеми

Заблокований шлях — покроковий візард:

  1. Обрати тип (у приміщенні / надворі)
  2. Обрати будівлю та поверх
  3. На інтерактивній карті позначити заблоковані місця (до 5 точок)
  4. Додати опис, фото, вказати термін блокування (тимчасове / постійне / з датою)
  5. Надіслати — маршрути автоматично перебудовуються в обхід

Баг-репорт — швидкий перехід до трекера помилок для повідомлень про некоректну роботу модуля.

Мої репорти — перегляд та видалення власних повідомлень про заблоковані місця.

Перешкоди та закриття

Модуль враховує тимчасові обмеження: закриті коридори, ремонтні роботи, недоступні сходи. Маршрут автоматично перебудовується, щоб обійти проблемну ділянку.

  • Актуальна інформація про тимчасові закриття
  • Автоматичне оновлення маршруту з урахуванням обмежень
  • Опис причини та очікуваний термін відновлення

Панель адміністратора

Управління навігаційним графом

Ієрархічний інтерфейс для роботи з навігаційним графом кампусу:

  • Список будівель — сітка карток усіх корпусів із відсотком покриття
  • Поверхи будівлі — сітка поверхів обраного корпусу
  • Канвас поверху — інтерактивна 2D-візуалізація плану поверху з усіма вузлами (аудиторії, сходи, WC, POI, входи) та ребрами (зʼєднання між ними)
  • Вулична карта — карта зовнішньої території з вузлами та ребрами на базі Mapbox GL JS

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

Screenshot 101.jpg

Вимкнення та увімкнення елементів графу

Адміністратор може вимикати окремі вузли або ребра навігаційного графу:

  1. Відкрити канвас потрібного поверху або вуличну карту
  2. Натиснути на вузол або ребро
  3. Елемент перемикається між станами «увімкнено» / «вимкнено»
  4. Навігаційний кеш автоматично очищується
  5. Вимкнені елементи виключаються з маршрутів у мобільному застосунку

Вимкнення є постійним — елемент залишається вимкненим, доки адміністратор не увімкне його вручну. Для тимчасових обмежень використовуються ішʼюси.

Screenshot 123p.jpg

Ішʼюси — тимчасові та постійні обмеження

Ішʼюси дозволяють тимчасово виключити частину графу без постійного вимкнення елементів:

  • Створення з канвасу: обрати вузли/ребра на карті поверху → вказати опис та термін дії
  • Створення з репорту: застосувати репорт користувача як ішʼю (див. нижче)
  • Автоматичне закінчення: після вказаної дати ішʼю перестає впливати на маршрути
  • Поля ішʼю: опис, дата створення, термін дії, список уражених вузлів та ребер

Активні ішʼюси автоматично фільтрують навігаційні дані — мобільний застосунок отримує граф без заблокованих ділянок.

Обробка репортів користувачів

Репорти, надіслані з мобільного застосунку, зʼявляються в панелі адміністратора:

  • Список репортів із фільтрами: Усі / Очікують / Застосовані / Відхилені (по 15 на сторінку)
  • Картка репорту: ім'я автора, місце (будівля/поверх або вулиця), опис, фото (до 2), дата виявлення, очікуваний термін усунення

Дії адміністратора:

  • Позначити прочитаним — відмітити, що репорт переглянуто
  • Переглянути на графі — відкрити канвас поверху або вуличну карту з підсвіченими елементами репорту
  • Застосувати як ішʼю — створити тимчасове обмеження з можливістю редагування опису, терміну та переліку елементів
  • Застосувати як вимкнені елементи — постійно вимкнути вказані вузли/ребра
  • Відхилити — позначити як нерелевантний

Усі дії з репортами записуються в журнал аудиту.

Навігаційні джерела та завантаження DXF

Навігаційні дані зберігаються у двох сутностях:

Навігаційне джерело (NavSource):

  • Назва файлу та опис
  • Тип: indoor (плани будівель) або outdoor (зовнішня територія)
  • Може мати кілька версій завантажених файлів

Навігаційні дані (NavData):

  • Прив'язані до джерела
  • Зберігають бінарний файл (DXF для indoor, GeoJSON для outdoor)
  • Позначка «активний» — лише одна версія на джерело використовується парсером
  • Фіксується, хто та коли завантажив файл
  • Можна завантажити файл назад для перевірки

Процес оновлення навігації:

  1. Створити навігаційне джерело (або обрати наявне)
  2. Завантажити новий DXF/GeoJSON файл
  3. Позначити його як активний
  4. Запустити парсер

Парсер навігаційних даних

Парсер обробляє активні навігаційні файли та генерує навігаційний граф:

  1. Парсинг DXF-файлів для кожної будівлі — побудова вузлів та ребер за планами поверхів
  2. Генерація зовнішнього графу з GeoJSON
  3. Компіляція майстер-навігації — обʼєднання indoor та outdoor графів
  4. Валідація зв'язності — перевірка досяжності вузлів
  5. Перехресна перевірка аудиторій (опціонально) — зіставлення з базою JetIQ
  6. Обчислення покриття груп та викладачів (опціонально)

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

Звіт валідації

Автоматично генерується після запуску парсера. Містить три розділи:

Валідація графу:

  • Перевірка зв'язності вузлів indoor-графу (ізольовані поворотні вузли)
  • Перевірка зв'язності outdoor-графу
  • Перевірка крос-графової досяжності (indoor ↔ outdoor)

Пошукові підказки

Адміністратор керує закріпленими пошуковими підказками, які відображаються у мобільному застосунку:

  • Ручне додавання — вказати хеш вузла та текст підказки
  • Масове додавання — вказати діапазон номерів аудиторій (наприклад, 101–150), система автоматично знаходить відповідні вузли графу та створює підказки

Закріплені підказки завжди відображаються на початку результатів пошуку. Додатково система автоматично формує підказки з 10 найпопулярніших напрямків на основі статистики маршрутів.

Покриття

Актуальну карту покриття корпусів та плани щодо подальшого розширення можна переглянути на [сайті проєкту] в розділі «Road Map».