Unimap
Матеріал з ВНТУ Вікі
Unimap — навігація по кампусу ВНТУ
Що це?
Unimap — мобільний навігаційний модуль для студентів та викладачів Вінницького національного технічного університету. Допомагає швидко знайти потрібну аудиторію, побудувати маршрут між корпусами та орієнтуватися всередині будівель.
Модуль складається з двох частин: мобільного застосунку для кінцевих користувачів та панелі адміністратора для управління навігаційними даними.
Мобільний застосунок
Побудова маршрутів
- До 6 варіантів маршруту одночасно між двома точками — модуль підбирає оптимальні шляхи з різними пріоритетами
- Для кожного маршруту відображається: відстань, орієнтовний час та кількість кроків
- Автоматичні позначки: «Найкоротший», «Переважно в приміщенні», «Збалансований» — щоб одразу зрозуміти різницю між варіантами
Покрокова навігація
- Детальні вказівки на кожному кроці: куди рухатися поверхом, де вийти надвір, до якої будівлі зайти, на який поверх піднятися
- Повноекранна карта на кожному кроці — план поверху в приміщенні або вулична карта надворі
- Прогрес-бар та лічильник кроків — завжди видно, скільки залишилося
- Кнопка Info — показує деталі: номер будівлі, поверх, джерело даних карти
Карта
- Плани поверхів із позначками кімнат, аудиторій, WC, сходів, POI, входів
- Вулична карта з лінією маршруту та позначками будівель
- Масштабування, переміщення, вибір точок дотиком
- Прев'ю маршруту — горизонтальна стрічка мініатюр кроків у картці маршруту
Пошук
- Пошук за будівлями, кімнатами, аудиторіями, точками інтересу
- Фільтри за будівлею та поверхом
- Розумні підказки на основі популярних маршрутів
- Швидкі дії: «Найближчий чоловічий WC», «Найближчий жіночий WC» — в один дотик
- Swap — миттєва заміна старту та фінішу
Репорти — повідомлення про проблеми
Заблокований шлях — покроковий візард:
- Обрати тип (у приміщенні / надворі)
- Обрати будівлю та поверх
- На інтерактивній карті позначити заблоковані місця (до 5 точок)
- Додати опис, фото, вказати термін блокування (тимчасове / постійне / з датою)
- Надіслати — маршрути автоматично перебудовуються в обхід
Баг-репорт — швидкий перехід до трекера помилок для повідомлень про некоректну роботу модуля.
Мої репорти — перегляд та видалення власних повідомлень про заблоковані місця.
Перешкоди та закриття
Модуль враховує тимчасові обмеження: закриті коридори, ремонтні роботи, недоступні сходи. Маршрут автоматично перебудовується, щоб обійти проблемну ділянку.
- Актуальна інформація про тимчасові закриття
- Автоматичне оновлення маршруту з урахуванням обмежень
- Опис причини та очікуваний термін відновлення
Панель адміністратора
Управління навігаційним графом
Ієрархічний інтерфейс для роботи з навігаційним графом кампусу:
- Список будівель — сітка карток усіх корпусів із відсотком покриття
- Поверхи будівлі — сітка поверхів обраного корпусу
- Канвас поверху — інтерактивна 2D-візуалізація плану поверху з усіма вузлами (аудиторії, сходи, WC, POI, входи) та ребрами (зʼєднання між ними)
- Вулична карта — карта зовнішньої території з вузлами та ребрами на базі Mapbox GL JS
На канвасі відображаються вузли, пофарбовані за типом, ребра з вагами, а також теплова карта популярних маршрутів.
Вимкнення та увімкнення елементів графу
Адміністратор може вимикати окремі вузли або ребра навігаційного графу:
- Відкрити канвас потрібного поверху або вуличну карту
- Натиснути на вузол або ребро
- Елемент перемикається між станами «увімкнено» / «вимкнено»
- Навігаційний кеш автоматично очищується
- Вимкнені елементи виключаються з маршрутів у мобільному застосунку
Вимкнення є постійним — елемент залишається вимкненим, доки адміністратор не увімкне його вручну. Для тимчасових обмежень використовуються ішʼюси.
Ішʼюси — тимчасові та постійні обмеження
Ішʼюси дозволяють тимчасово виключити частину графу без постійного вимкнення елементів:
- Створення з канвасу: обрати вузли/ребра на карті поверху → вказати опис та термін дії
- Створення з репорту: застосувати репорт користувача як ішʼю (див. нижче)
- Автоматичне закінчення: після вказаної дати ішʼю перестає впливати на маршрути
- Поля ішʼю: опис, дата створення, термін дії, список уражених вузлів та ребер
Активні ішʼюси автоматично фільтрують навігаційні дані — мобільний застосунок отримує граф без заблокованих ділянок.
Обробка репортів користувачів
Репорти, надіслані з мобільного застосунку, зʼявляються в панелі адміністратора:
- Список репортів із фільтрами: Усі / Очікують / Застосовані / Відхилені (по 15 на сторінку)
- Картка репорту: ім'я автора, місце (будівля/поверх або вулиця), опис, фото (до 2), дата виявлення, очікуваний термін усунення
Дії адміністратора:
- Позначити прочитаним — відмітити, що репорт переглянуто
- Переглянути на графі — відкрити канвас поверху або вуличну карту з підсвіченими елементами репорту
- Застосувати як ішʼю — створити тимчасове обмеження з можливістю редагування опису, терміну та переліку елементів
- Застосувати як вимкнені елементи — постійно вимкнути вказані вузли/ребра
- Відхилити — позначити як нерелевантний
Усі дії з репортами записуються в журнал аудиту.
Навігаційні джерела та завантаження DXF
Навігаційні дані зберігаються у двох сутностях:
Навігаційне джерело (NavSource):
- Назва файлу та опис
- Тип: indoor (плани будівель) або outdoor (зовнішня територія)
- Може мати кілька версій завантажених файлів
Навігаційні дані (NavData):
- Прив'язані до джерела
- Зберігають бінарний файл (DXF для indoor, GeoJSON для outdoor)
- Позначка «активний» — лише одна версія на джерело використовується парсером
- Фіксується, хто та коли завантажив файл
- Можна завантажити файл назад для перевірки
Процес оновлення навігації:
- Створити навігаційне джерело (або обрати наявне)
- Завантажити новий DXF/GeoJSON файл
- Позначити його як активний
- Запустити парсер
Парсер навігаційних даних
Парсер обробляє активні навігаційні файли та генерує навігаційний граф:
- Парсинг DXF-файлів для кожної будівлі — побудова вузлів та ребер за планами поверхів
- Генерація зовнішнього графу з GeoJSON
- Компіляція майстер-навігації — обʼєднання indoor та outdoor графів
- Валідація зв'язності — перевірка досяжності вузлів
- Перехресна перевірка аудиторій (опціонально) — зіставлення з базою JetIQ
- Обчислення покриття груп та викладачів (опціонально)
Прогрес виконання відображається в реальному часі з позначками статусу кожного кроку.
Звіт валідації
Автоматично генерується після запуску парсера. Містить три розділи:
Валідація графу:
- Перевірка зв'язності вузлів indoor-графу (ізольовані поворотні вузли)
- Перевірка зв'язності outdoor-графу
- Перевірка крос-графової досяжності (indoor ↔ outdoor)
Пошукові підказки
Адміністратор керує закріпленими пошуковими підказками, які відображаються у мобільному застосунку:
- Ручне додавання — вказати хеш вузла та текст підказки
- Масове додавання — вказати діапазон номерів аудиторій (наприклад, 101–150), система автоматично знаходить відповідні вузли графу та створює підказки
Закріплені підказки завжди відображаються на початку результатів пошуку. Додатково система автоматично формує підказки з 10 найпопулярніших напрямків на основі статистики маршрутів.
Покриття
Актуальну карту покриття корпусів та плани щодо подальшого розширення можна переглянути на [сайті проєкту] в розділі «Road Map».
