Упрощенный indoor-навигатор

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

Задача навигации внутри помещений является актуальной. Разработано большое число как коммерческих, так и открытых решений, предоставляющих конструктор карт для организаций, мобильные и веб-приложения для широкого круга пользователей. Некоторые навигаторы используют специальное оборудование для автоматического определения местоположения пользователя в здании.

Из обзора существующих решений был сделан вывод о некоторой их перегруженности информацией. Так, пользователю не так важно знать детальную геометрию здания, как небольшое множество ориентиров и направления перемещения относительно них. А тем, кто создает карты, приходится вводить избыточное количество информации, чтобы обеспечить реалистичность для конечного пользователя. Возможно, это приводит к недостаточной распространенности indoor-навигации даже в популярных общественных местах. Таким образом, была поставлена задача построения упрощенной логической модели здания и реализации текстовой навигации, подходящей для широкого класса зданий, на основе XML-формата представления карты.

Навигатор работает с двумя базовыми сущностями: пункт (point) и путь (path). Карта здания представляется в прямоугольной геометрии. Это означает, что есть только четыре направления перемещения: вперед, влево, назад, вправо.

Пункт - это любое место (комната или угол), которое может служить ориентиром и мимо которой можно пройти. Путь - это прямолинейный участок маршрута, имеющий определенное направление. Карта содержит информацию о том, через какие пункты проходит путь и как он ориентирован по отношению к другому пути - в XML-файле это выражается при помощи вложенных тегов <Path>.

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

Пример диалога

Маршрут от 2 до 1525
Пройти Вход 2 - Exit мимо: Кофейня.
Поверните направо.
Пройти Exit - Угол.
Поверните налево.
Пройти Угол - 1313 мимо: Буфет, Точка кипения, Столовая, Столовая, 1311.
Пройти 1313 - 1334 мимо: 1315, 1317, 1314, 1316, 1319, 1318, 1320, 1322, 1324, 1321, 1326, 1323, 1328, 1325, 1330, 1327, 1332, 1331, 1329.
Поверните направо.
Пройти 1334 - Лестница.
Пройти по лестнице с 3 этажа до 5 этажа.
Пройти Лестница - .
Пройти - 1525 мимо: 1519, 1522, 1521, 1524, 1526, 1523, 1528.

Сложно однозначно сказать, требуется ли в данном случае графическое представление маршрута. Отрисовка карты важна для её редактирования, а у пользователя навигатора прежде всего должна быть возможность узнать, в каком направлении идти и на что ориентироваться относительно введенного им пункта. В дальнейшем возникает проблема придумать такой интерфейс, который бы: а) не был избыточным; б) использовал минимум входной информации о здании; в) обеспечивал реалистичность за счет пиктограмм и прочих средств, пробуждающих воображение пользователя.

Источник: https://habr.com/ru/articles/758296/


Интересные статьи

Интересные статьи

В первой статье «Облачный умный дом: что нужно знать, чтобы избежать проблем» я рассмотрел преимущества и недостатки облачных решений, а также проблемы, с которыми за последние месяцы пришлось столкну...
Всем привет, это Денис Вебер.Foo Fighters - одна из самых популярных рок групп современности и одна из моих любимых групп. Посмотрев сотый раз клип на песню Pretender, я подумал: "А как бы выглядело э...
Привет, Хабр. За прошедшие 3 недели все в мире сильно изменилось. Единственное, что можно сказать с уверенностью – нам всем и дальше нужно будет работать. Тем, кто реагирует на события спокойно, – в с...
Недавно я написал статтью Трясём стариной — или как вспомнить Ассемблер, если ты его учил 20 лет назад. В статье рассказывается о том, как изучать ассемблер на примере игрушки 2048. Возможно для ц...
Как сообщает telegram-канал Cross Join, в репозиторий Postgres упал комит, упрощающий работу с jsonb. Теперь можно обращаться к частям jsonb с помощью квадратных скобок, причем это работа...