<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современная техника и технологии» &#187; математическое обеспечение</title>
	<atom:link href="http://technology.snauka.ru/tags/matematicheskoe-obespechenie/feed" rel="self" type="application/rss+xml" />
	<link>https://technology.snauka.ru</link>
	<description></description>
	<lastBuildDate>Fri, 30 Jan 2026 18:56:12 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Анализ структуры информационной системы для пространственной навигации</title>
		<link>https://technology.snauka.ru/2016/03/9791</link>
		<comments>https://technology.snauka.ru/2016/03/9791#comments</comments>
		<pubDate>Thu, 31 Mar 2016 07:58:54 +0000</pubDate>
		<dc:creator>Дубовик Николай Николаевич</dc:creator>
				<category><![CDATA[Общая рубрика]]></category>
		<category><![CDATA[algorithms]]></category>
		<category><![CDATA[building with a complex structure]]></category>
		<category><![CDATA[geometry]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[orientation]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[three-dimensional graphics]]></category>
		<category><![CDATA[tracing]]></category>
		<category><![CDATA[алгоритмы]]></category>
		<category><![CDATA[геометрия]]></category>
		<category><![CDATA[здания со сложной архитектурой]]></category>
		<category><![CDATA[математическое обеспечение]]></category>
		<category><![CDATA[навигация]]></category>
		<category><![CDATA[ориентация]]></category>
		<category><![CDATA[трассировка]]></category>
		<category><![CDATA[трехмерная графика]]></category>

		<guid isPermaLink="false">https://technology.snauka.ru/2016/03/9791</guid>
		<description><![CDATA[ВВЕДЕНИЕ В данный момент на рынке представлено довольно много различных систем, методов и технологий, предназначенных для навигации [1]. Однако большая часть таких технологий предназначена для работы не внутри зданий, а на открытом воздухе. Среди таких систем можно выделить: GPS, Galileo, ГЛОНАСС, iBeacon, WPS и др. В свою очередь для обработки навигационных данных, предоставленных с помощью [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><span><strong>ВВЕДЕНИЕ<br />
</strong></span></p>
<p style="text-align: justify; background: white;"><span>В данный момент на рынке представлено довольно много различных систем, методов и технологий, предназначенных для навигации [1]. Однако большая часть таких технологий предназначена для работы не внутри зданий, а на открытом воздухе. Среди таких систем можно выделить: GPS, Galileo, ГЛОНАСС, iBeacon, WPS и др. В свою очередь для обработки навигационных данных, предоставленных с помощью вышеуказанных технологий используются такие сервисы, как: Google Maps, NAVIMIND, 2GIS.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>При этом сейчас все острее встает проблема навигации внутри различных зданий и помещений, так же растет и заинтересованность в услугах, предоставляемых на основе местоположения клиента и его предпочтений. Здания с каждым днем становятся все более объемными, а их структура усложняется. В сооружениях такого типа уверенно могут ориентироваться лишь постоянные гости и сотрудники, и то такие посетители часто знают лишь необходимые им участки здания. В свою очередь ориентирование в здании для человека, который оказался там впервые, в большинстве случаев является крайне сложной задачей. Очевидно, что в такой ситуации на освоение в незнакомом месте тратится огромное количество времени, что чревато, например, опозданием на работу. Таким образом возникает потребность в сервисе, который поможет любому его пользователю максимально просто и без траты лишнего времени добраться до нужного ему места в здании.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Стоит так же отметить, что решения такой проблемы часто являются актуальными не только внутри, но и вне зданий – в условиях плотной застройки часто неэффективны даже системы, предназначенные специально для навигации на открытой местности.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Так как здания становятся все более громоздкими, классические методы навигации сильно теряют в эффективности. Решение в виде настенных планов уже не являются наглядными, особенно если размеры здания весьма велики. Зачастую конфигурация этажей разнится, что вносит еще больше путаницы в попытку сориентироваться и определить свое местоположение в здании. Вариант использования указателей так же крайне неэффективен, так как они используются лишь для обозначения самых важных помещений. Если же попытаться установить в здании указатели для всех помещений, то посетитель окажется просто переполнен количеством информации, в которой ему будет необходимо разобраться.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;">Решением этой проблемы должна быть автоматическая система, реализующая следующий функционал и обладающая такими свойствами:<br />
</span></p>
<ul>
<li>
<div style="text-align: justify;"><span style="color: #111111;">единое ядро для мобильного и веб-приложения;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span style="color: #111111;">использование 2D и 3D – карт;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span style="color: #111111;">построение наиболее простых и понятных маршрутов;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span style="color: #111111;">упрощение взаимодействия клиентов (посетителей) и зданий;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span style="color: #111111;">возможность пользовательского развития, когда пользователи имеют возможность вносить (после модерации) оперативные изменения в планы помещений;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span style="color: #111111;">предоставление актуальной информации, такой как график работы, контактная информация и т.п.<br />
</span></div>
</li>
</ul>
<p style="text-align: justify;"><span style="color: #111111;">Задачи прокладки эффективных маршрутов внутри зданий можно отнести к классическим задачам трассировки с линейными и пространственными ограничениями, которые хорошо проработаны и эффективно применяются в радиоэлектронике [2-9].<br />
</span></p>
<p style="text-align: center;"><span><strong>1 ТРЕБОВАНИЯ К НАВИГАЦИОННОЙ СИСТЕМЕ</strong><span style="color: #111111;"><br />
</span></span></p>
<p style="text-align: justify; background: white;"><span>В данный момент существуют несколько вариантов реализации подобных информационных систем, и все они предусматривают наличие следующего функционала как для клиентов, так и для администрирования:<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Для пользовательского приложения:<br />
</span></p>
<ul>
<li>
<div style="text-align: justify; background: white;"><span>форма авторизации пользователя;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>отображение актуальной карты здания;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>просмотр свойств и информации о помещениях;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>прокладка маршруты с выбором начальной и конечной точки;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>запуск и остановка процесса формирования маршрута. </span></div>
</li>
</ul>
<p style="text-align: justify; background: white;"><span>Для приложения администратора:<br />
</span></p>
<ul>
<li>
<div style="text-align: justify; background: white;"><span>изменение доступности различных функций или информации;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>предоставлять доступ к просмотру пользовательских данных;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>формировать статистические отчёты о работе системы;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>предоставлять доступ к управлению списком клиентов;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>предоставлять доступ к управлению списком зданий.<br />
</span></div>
</li>
</ul>
<p style="text-align: justify; background: white;"><span>Так как разрабатываемая система нацелена на активное использование мобильного приложения, для неё была выбрана клиент-серверная архитектура, состоящая следующих из компонентов:<br />
</span></p>
<ul>
<li>
<div style="text-align: justify; background: white;"><span>сервер с базами данных;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>веб-сервер;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>веб-интерфейс и интерфейс баз данных;</span></div>
</li>
<li>
<div style="text-align: justify; background: white;">тонкий клиент для мобильного приложения.</div>
</li>
</ul>
<p style="text-align: justify; background: white;">В данный момент на рынке имеется большое количество программных платформ и компонентов, дающих возможность реализации такой архитектуры. Однако в целях упрощения структуры и увеличения функционала были выбраны следующие компоненты:</p>
<ul>
<li>
<div style="text-align: justify; background: white;"><span>серверная ОС Linux Ubuntu 14.04;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>база данных MongoDB 3.0.6;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>веб-серверное ПО NodeJS 4.0.0;</span></div>
</li>
<li>
<div style="text-align: justify; background: white;">мобильные приложения для платформ Android и iOS.</div>
</li>
</ul>
<p style="text-align: justify; background: white;">Подобная структура информационной системы позволит в полной мере реализовать весь необходимый функционал, а также даст возможность легко и удобно работать над изменением самой системы.</p>
<p style="text-align: center; background: white;"><strong>2 ТЕХНИЧЕСКАЯ СТРУКТУРА СИСТЕМЫ</strong><span style="color: #111111;"><br />
</span></p>
<p style="text-align: justify; background: white;"><strong>2.1 Архитектура системы<br />
</strong></p>
<p style="text-align: justify; background: white;">Как уже отмечалось ранее, для организации работы мобильного приложения используется двухуровневая клиент-серверная архитектура. Подробно техническая реализация этой архитектуры представлена на рисунке 1.</p>
<p style="text-align: center; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2016/04/040716_0806_1.png" alt="" /></p>
<p style="text-align: center; background: white;">Рисунок 1: &#8211; Архитектура системы</p>
<p style="text-align: justify; background: white;">Основные данные системы хранятся на сервере БД под управлением СУБД MongoDB. Вывод и изменение необходимых пользователям данных осуществляется с помощью веб-сервера Nginx под управлением NodeJS. Клиенты в свою очередь взаимодействуют с системой с помощью специальных мобильных приложений, работающих как на платформе Android, так и на iOS.</p>
<p style="text-align: justify; background: white;"><strong>2.2 Структура программы</strong></p>
<p style="text-align: justify; background: white;">Программная часть системы indoor-навигации реализуется в виде набора приложений на языке программирования JavaScript, основанном на ECMAScript 5. Помимо этого используется фреймворк AngularJS, который позволяет разделить систему на модули.<br />
Приложение администрирования поделено на 5 основных модулей: «Аккаунт», «Статистика», «Управление», «Здание» и «Граф». Связь этих модулей в системе показана на рисунке 2.</p>
<p style="text-align: center; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2016/04/040716_0806_2.png" alt="" /></p>
<p style="text-align: center; background: white;">Рисунок 2: &#8211; Модульная структура системы</p>
<p style="text-align: justify; background: white;">Объекты класса «Статистика» играют роль транзакций в данной системе. Они отражают факты того, что пользователь A, авторизовавшийся в системе под своим аккаунтом B, в здании C запросил маршрут D. Эта информация в дальнейшем используется для формирования отчётности.</p>
<p style="text-align: justify; background: white;">На диаграмме пакетов изображены связи между модулями приложения администрирования. Модули «Граф», «Здание» и «Клиент» напрямую связаны с соответствующими базами данных. Они нужны для хранения справочных данных.</p>
<p style="text-align: justify; background: white;">Модуль «Маршрут» использует данные о зданиях, полученные через обращения к базе данных, для формирования маршрута и записи в статистику. Модуль «Управление системой» имеет доступ к модулю «Здание» и «Граф» для обеспечения актуальности информации и осуществления изменений.</p>
<p style="text-align: justify; background: white;"><strong>2.3 Описание логической структуры<br />
</strong></p>
<p style="text-align: justify; background: white;">Взаимодействие клиента с мобильным приложением осуществляется в один этап. Пользователю необходимо авторизоваться, выбрать здание и задать начальную и конечную точки маршрута:</p>
<ul>
<li>
<div style="text-align: justify; background: white;"><span>ввод логина и пароля или регистрация;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>выбор здания из доступных вручную или по геопозиции;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>вывод схемы 1-го этажа выбранного здания;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span>выбор начальной и конечной точек пути маршрута;</span></div>
</li>
<li>
<div style="text-align: justify; background: white;">построение необходимого маршрута.</div>
</li>
</ul>
<p style="text-align: justify; background: white;">После формирования маршрута пользователю доступна возможность поделиться маршрутом, добавить его в избранное или построить другой маршрут. Аналогичным образом пользователь может запросить доступною информацию о любом объекте в выбранном здании.</p>
<p style="text-align: justify; background: white;"><strong>2.4 Связи между составными частями программ<br />
</strong></p>
<p style="text-align: justify; background: white;">Связи между объектами навигационной системы показаны на рисунке 3. Центральным звеном является объект «Аккаунт», т.к. все перечисленные выше действия могут выполняться только с привязкой к конкретному пользователю.</p>
<p style="text-align: center; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2016/04/040716_0806_3.png" alt="" /></p>
<p style="text-align: center; background: white;">Рисунок 3: &#8211; Связь модулей системы</p>
<p style="text-align: justify; background: white;">Взаимодействие объектов «Аккаунт» и «Маршрут», как видно на диаграмме, является наиболее активным. Для обеспечения быстрой работы системы необходимо использовать высокоскоростные интерфейсы к БД в виду частых обращений как к данным аккаунта, так и к данным зданий.</p>
<p style="text-align: justify;">Созданная информационно-навигационная система решает множество важных задач, связанных с проблемами навигации в зданиях со сложной архитектурой, объединяя наиболее существенные функции в единой системе.</p>
<p style="text-align: justify;">Структура данной системы сразу несколькими важными преимуществами:</p>
<ul>
<li>
<div style="text-align: justify;"><span>простота реализации;<br />
</span></div>
</li>
<li>
<div style="text-align: justify;"><span>использование открытого ПО;</span></div>
</li>
<li>
<div style="text-align: justify;">работа на широком спектре устройств</div>
</li>
</ul>
<p style="text-align: justify;">Система реализована с помощью простой и уже зарекомендовавшей себя клиент-серверной архитектуры, которая обеспечивает стабильную и быструю работу, а также легкую масштабируемость и редактируемость системы.</p>
<p style="text-align: justify;">Использование открытого и доступного ПО дает возможность тонкой настройки, модификации и отладки отдельных модулей системы, при этом не теряя в эффективности и скорости работы.</p>
<p style="text-align: justify;">Программная реализация системы и используемые решения позволяют системе быстро и эффективно работать на широком спектре платформ и устройств.</p>
<p style="text-align: justify;">Разработанная система является универсальным и удобным инструментом, способным быстро и эффективно решить любую задачу, связанную с предоставлением информации касательно здания, в котором применяется ИНС.</p>
]]></content:encoded>
			<wfw:commentRss>https://technology.snauka.ru/2016/03/9791/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
