ПЗ_Забарин (1220033), страница 8
Текст из файла (страница 8)
Рисунок 3.9 – Диаграмма деятельности модулей визуализации
После загрузки веб-страницы модуля визуализации, отправляется запрос к базе данных, если у пользователя нет доступа к базе данных, потеряно соединение с сервером или искомый объект отсутствует будет выведено сообщение об ошибке. В случае успешного получения объекта в формате JSON происходит визуализация полученного набора данных, в соответствии с алгоритмом модуля визуализации.
3.4.1 Карточка объекта
Для просмотра объекта был разработан, модуль визуализации карточки объекта позволяющий увидеть содержание документа(записи) базы данных, прикрепленные файлы, и связанные группы объектов. Информация об объекте, описанном в документе, представлена с левой стороны, информация о группах, с которыми связан объект с правой. Результат работы данного модуля для объекта «Дальневосточная генерирующая компания» приведен на рисунке 3.10.
Рисунок 3.10 – Фрейм «Карточка объекта»
Данный модуль визуализирует содержимое набора записей content, которое хранится в документе, и включает в себя наименования и значения полей, а также параметры форматирования и представления полей в рамках «карточки объекта». Данный модуль позволяет увидеть в каком виде хранится объект, и какая информация об объекте существует в базе данных, в рамках текущей логики организации.
3.4.2 Табличное представление
Наиболее распространённым на сегодняшний день является табличное представление информации, вызванное широким использованием реляционных баз данных. Соответственно возникает необходимость создании табличного представления из неструктурированного набора. Для решения данной задачи используются представления (view), которые позволяют отобрать требуемые объекты, а затем составить запись из искомого набора полей, таким образом совокупность записей образует табличную представление. Схематично данный процесс представлен на рисунке 3.11.
Рисунок 3.11 – Процесс создания табличного представления
Задача визуализации числовых и хорошо структурированных данных представляется достаточно тривиальной и хорошо отработанной. Рекомендации по использованию диаграмм содержатся в таблице 2.1. Примеры диаграмм представлены в приложении В.
3.4.3 Положение на карте
Более сложной задачей является задача отображения местоположения объекта на карте. Для реализации данной функции были испытаны возможности сервисов «GogleMaps API» и «Яндекс Карты», в результате исследования было принято решение использовать сервис Яндекс. Пример использования для объекта «Дальневосточный государственный университет путей сообщения» изображен на рисунке 3.12.
Рисунок 3.12 – Положение объекта на карте
Исходными данными к модулю служит «_id» объекта. После получения JSON-объекта происходит поиск в наборе записей «content», после чего извлекается значения поля с заголовком «Adress». В результате отобразится карта с меткой по адресу объекта.
Сервис «Яндекс Карты предоставляет пользователю инструменты по навигации, изменении масштаба выбора отображений: карта(рисунок 3.12), вид со спутника рисунок 3.13.
Рисунок 3.13 – Положение объекта на карте(спутниковая съемка)
В дальнейшем планируется расширить функционал модулей по работе с картами, добавив возможности:
– выделение областей;
– построение маршрутов;
– построение геобъектов.
Разработанный модуль поможет понять, расположение объекта на карте используя для этого удобное для пользователя представление. Код модуля представлен в приложении Г.
3.4.4 Граф связей объектов
Визуализация нечисловых (качественных) и смешанных данных не имеет единого подхода. Используемые при построении графического образа традиционные метафоры, вызывая у эксперта ассоциации с исследуемыми характеристиками, не позволяют в большинстве случаев выявить скрытые закономерности и прочую производную информацию об исследуемых объектах[13].
Для представления информации в рамках методологии когнитивной графики был разработан практический механизм визуализации взаимодействия и отношений объектов неструктурированной базы данных в виде графов.
Модуль осуществляет работу по построению графического образа данных в соответствии с концепцией, описанной в разделе 2.1. Концепция предполагает возможность автоматизированной предподготовки данных, и изменения графического образа для достижения целей когнитивной графики и наиболее наглядной визуализации информации. Диаграмма вариантов использования данного модуля представлена на рисунке 3.14.
Рисунок 3.14 – Диаграмма вариантов использования модуля построения графов
Алгоритм работы модуля заключается в следующем, в начале работы модуль посылает серверу GET запрос на загрузку представления (view), либо документа с типом «graph». Согласно алгоритму пружинной укладки строится графический образ. Далее пользователь способен манипулировать вершинами графа, при необходимости после получения соответствующего запроса, созданный графический образ будет сохранен в виде JSON документа и методом POST отправлен на сервер базы данных. При программной реализации была использована библиотека vis.js.
На рисунке 3.15 представлен результат визуализации запроса. Наведение курсора на любой элемент вызывает всплывающую подсказку содержащую комментарий.
Рисунок 3.15 – Результат автоматической визуализации
Для снижения нагрузки на восприятие большого количества элементов используется механизм композиции который активируется прокруткой колесика мыши, группа объектов приобретает имя элемента более высокого ранга, перед названым группы ставится символ «#» для декомпозиции группы объектов, необходимо произвести нажатие левой кнопкой мыши по элементу представляющему группу.
Так результат композиции представлен на рисунке 3.16, при нажатии на элемент «#ЕНИ» графический образ вернется к состоянию представленному на рисунке 3.15.
Рисунок 3.16 – Результат композиции группы объектов «ЕНИ»
При выделении элемента в верхней части экрана выводится панель управления, изображенная на рисунке 3.17
Рисунок 3.17 – Панель управления графическим образом
Для удаления элемента его необходимо выделить нажатием левой кнопки мыши, а затем на панели управления нажать удалить. Для добавления элемента нужно нажать на кнопку «Добавить элемент», а затем шелкнуть в произвольной области экрана. Тогда будет предложено меню со свойствами объекта. Обьекту можно задать цвет, форму, значение id, название объкта в рамках модуля, текст всплывающей подсказки. На рисунке 3.18 представлено окно добавления обьекта. Добавление элемента можно отменить нажатием на кнопку «Отмена» в диалоговом окне. Для перестроения графического образа с новым объектом необходимо нажать кнопку «Сохранить».
Рисунок 3.18 – Окно добавления объекта
Параметры любого объекта можно редактировать таким образом, чтобы обеспечить наиболее наглядное представление. Для редактирования элемента нужно выбрать элемент, нажать кнопку «Редактировать элемент» будет выведено окно в котором будут доступны такие же возможности, как и при создании элемента. Редактирование элемента также можно отменить нажатием на кнопку «Отмена» в диалоговом окне.
Для добавления связи необходимо нажать на кнопку «Добавить связь», выбрать элемент, зажать левую кнопку мыши, а затем протянуть линию связи до другого элемента. Процесс и результат создания связи изображены на рисунке 3.19
Рисунок 3.19 – Создания связи между элементами
Практическая значимость данного модуля заключается в возможности автоматического построения структурных схем, диаграмм состояний, онтологического описания систем объектов в нотации IDF5, когнитивных карт, а также формирования пользовательского набора объектов в графическом режиме.
Пример автоматической генерации структурной схемы для объекта «Министерство промышленности и транспорта» представлен на рисунке 3.20.
Возможности композиции объектов в группы позволяет строить достаточно объемные структурные схемы, однако аппаратные возможности клиентских компьютеров, способны обрабатывать и отображать в режиме комфортной работы около 100 объектов единовременно.
Рисунок 3.20 – Результат автоматической генерации структурной схемы
Формирование пользовательского набора объектов с последующим сохранением позволяет избежать построение map-функции сложной логики, для набора объектов, не связанных внутри системы, однако имеющих связь в рамках логики эксперта.
После сохранения в базе данных, документ можно извлекать для последующего использования, а также редактирования. Из полученного документа будет возможно извлечение списков id документов, которые в дальнейшем можно использовать для построения таблиц, отображения объектов на карте вместе со связями, построения схем и диаграмм.
Пример построения диаграммы деятельности показан на рисунке 3.21.
Рисунок 3.21 – Построение диаграммы деятельности в модуле визуализации.
Указывание при создании id документа позволит прикрепить к узлам схемы/диаграммы реальный объект, в том числе и технический, это могут быть станки, камеры блоки устройств, сохраняющие информацию в хранилище.
Дальнейшая разработка модуля будет вестись в направлении создания более приятного интерфейса, а также роста функциональных возможностей.
4 ПЕРСПЕКТИВЫ РАЗВИТИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ.
4.1 Внедрение полнотекстового поиска
Сервер CouchDB справляется с задачей хранения данных, в формате JSON, а также любых других форматах файлов в виде вложений к документу. Однако у CouchDB отсутствует возможность вести полнотекстовый поиск.
Для решения задачи полнотекстового поиска решено использовать Elastic Search. Данный модуль предназначен для полнотекстового поиска и позволяет хранить, анализировать и получать большие объемы данных в режиме реального времени.
Этот модуль планируется применять при реализации следующих задач:
– полнотекстовый поиск;
– поиск по параметрам;
– агрегация данных для статистики и их последующая визуализация;
– генерация вариантов для автокомплита.
Для анализа и поиска Elastic Search использует библиотеку Apache Lucene. Для работы с данными у Elastic Search используется REST API.
4.2 Распознавание речи
Так как значительный объем данных связанный с заседаниями, комиссиями, слушаниями и обсуждениями хранится в формате аудио и видео файлов, для ведения полнотекстового поиска необходимо внесение текстовой версии в документы объекта.















