Научная статья на тему 'Разработка программного модуля визуализации геопространственной информации в 3D-режиме'

Разработка программного модуля визуализации геопространственной информации в 3D-режиме Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
143
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГЕОПРОСТРАНСТВЕННЫЕ ДАННЫЕ / ТРЕХМЕРНОЕ ПРОСТРАНСТВО / ТОПОГРАФИЧЕСКАЯ СЪЕМКА / ЦИФРОВАЯ МОДЕЛЬ МЕСТНОСТИ / ЗОНЫ ЗАТОПЛЕНИЯ / ОБЪЕМЫ ЗЕМЛЯНЫХ РАБОТ / 3D ГИС / GEOSPATIAL DATA / 3D SPACE / TOPOGRAPHICAL SURVEY / DIGITAL TERRAIN MODEL / FLOODED AREAS / EXCAVATION VOLUME / 3D GIS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Гринев Александр Сергеевич, Бугаков Петр Юрьевич

Разработан модуль для программной системы, позволяющий визуализировать геопространственную информацию, полученную в результате топографической съемки, в 3D-режиме.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Гринев Александр Сергеевич, Бугаков Петр Юрьевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DEVELOPMENT OF THE SOFTWARE MODULE FOR 3D VISUALIZING OF GEOSPATIAL DATA

A module was developed for software system that allows visualizing geospatial data obtained as a result of topographical survey in 3D mode.

Текст научной работы на тему «Разработка программного модуля визуализации геопространственной информации в 3D-режиме»

УДК 004.9

DOI: 10.33764/2618-981Х-2019-6-1-180-186

РАЗРАБОТКА ПРОГРАММНОГО МОДУЛЯ ВИЗУАЛИЗАЦИИ ГЕОПРОСТРАНСТВЕННОЙ ИНФОРМАЦИИ В 3D-РЕЖИМЕ

Александр Сергеевич Гринев

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, магистрант, тел. (953)866-60-69, e-mail: grinev95@bk.ru

Петр Юрьевич Бугаков

Сибирский государственный университет геосистем и технологий, 630108, Россия, г. Новосибирск, ул. Плахотного, 10, кандидат технических наук, доцент кафедры прикладной информатики и информационных систем, тел. (905)946-77-27, e-mail: peter-bugakov@yandex.ru

Разработан модуль для программной системы, позволяющий визуализировать геопространственную информацию, полученную в результате топографической съемки, в 3D-режиме.

Ключевые слова: геопространственные данные, трехмерное пространство, топографическая съемка, цифровая модель местности, зоны затопления, объемы земляных работ, 3D ГИС.

DEVELOPMENT OF THE SOFTWARE MODULE FOR 3D VISUALIZING OF GEOSPATIAL DATA

Alexander S. Grinev

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Graduate, phone: (953)866-60-69, e-mail: grinev95@bk.ru

Peter Yu. Bugakov

Siberian State University of Geosystems and Technologies, 10, Plakhotnogo St., Novosibirsk, 630108, Russia, Ph. D., Associate Professor, Department of Applied Informatics and Information Systems, phone: (905)946-77-27, e-mail: peter-bugakov@yandex.ru

A module was developed for software system that allows visualizing geospatial data obtained as a result of topographical survey in 3D mode.

Key words: geospatial data, 3D space, topographical survey, digital terrain model, flooded areas, excavation volume, 3D GIS.

Введение

Трехмерные геоинформационные системы позволяют наглядно и ярко представить пространственную информацию. Подобные системы используются во многих областях, включая военное и горное дело, геологию, добычу природных ископаемых, и даже медицину [1]. Разрабатываемые инструменты позволяют обнаруживать корреляцию между пространственными сущностями и объектами в реальном мире. Геопространственное описание объектов может быть получено различными методами топографической съемки, начиная от традиционной тахеометрической съемки, заканчивая результатами обработки облаков

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

Методы и материалы

В качестве базового программного продукта был использован Geocad Systems Enterprise Edition, который представляет собой модульную многоцелевую кадастровую систему для разработки и обслуживания пользовательских моделей данных и клиент-приложений, ставящих своими целями сбор, хранение, обработку, поиск и графическое (пространственное) отображение информации об объектах территорий для эффективного решения задач управления базами данных. Среди основных организаций-пользователей в России - администрации городов: Новосибирск, Томск, Кемерово, Находка, Бийск, Иркутск, Асбест, Каменск-Уральский. Одним из достоинств системы является наличие графического редактора, который позволяет пользователю взаимодействовать с геопространственными объектами в интерактивном режиме. Для данного графического редактора была выполнена разработка программного модуля для визуализации трехмерных данных.

Разработка выполнена с использованием языка программирования Java. В качестве графической библиотеки была выбрана JavaOpenGL (JOGL) - библиотека, представляющая собой прямую привязку функций OpenGL к языку программирования Java, предоставляющая разработчикам доступ ко всем возможностям API OpenGL спецификации 2.0 и всем расширениям OpenGL от ведущих производителей [2]. Благодаря широкой отраслевой поддержке OpenGL является единственным действительно открытым, независимым от поставщиков, мультиплатформенным графическим стандартом [3]. В комплекте с графической библиотекой используется OpenGL Shading Language - язык высокого уровня для программирования шейдеров. Для взаимодействия с 3Б-моделями были использованы некоторые функциональные возможности графической библиотеки. VertexBufferObject обеспечивает выгрузку атрибутов вершин (координаты, нормали, цвета и т. д.) в графический процессор для неоперативного рендеринга [4]. ElementBufferObject (он же IndexBufferObject) - позволяет хранить в памяти только уникальные атрибуты вершин, осуществляя доступ к данным во время рендеринга с помощью индексов [5]. VertexArrayObject - инкапсулирует все данные, связанные с вершинным процессором, в один объект, что позволяет ускорить процесс обработки этих самых данных [6]. Для работы с двумерной геометрией была использована библиотека JavaTopologySuite (JTS). JTS - это программная библиотека c открытым исходным кодом, которая предоставляет объектную модель для евклидовой линейной геометрии вместе с набором фундаментальных геометрических функций. JTS часто используется

в качестве основного компонента векторного программного обеспечения для геоматики [7]. Библиотека также может использоваться для решения задач общего назначения, обеспечивая алгоритмы в вычислительной геометрии.

Результаты

Разработанный программный модуль способен визуализировать на трехмерной сцене все геопространственные объекты, имеющиеся в банке данных, которые могли быть получены как с помощью традиционных методов топографических съемок, так и современных. Все объекты на ЭБ-сцене распределяются по слоям, что позволяет пользователю взаимодействовать с необходимым набором трехмерных объектов, в зависимости от выбранного активного слоя. Управление слоями выполнено с помощью специальной легенды, реализованной в отдельном диалоговом окне. Помимо выбора активного слоя, с помощью окна легенды у пользователя имеется возможность настройки визуализации объектов по классификатору, а также изменения параметра прозрачности, что удобно для просмотра коммуникаций, находящихся вне зоны видимости (например, под землей или непосредственно внутри какого-либо другого объекта).

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

Обсуждение

Цифровые модели местности (ЦММ), построенные с помощью растров и интерполяции высот, имеют хорошее качество и точность (рис. 1).

Рис. 1. ЦММ, построенная с помощью растров и интерполяции высот

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

Вся структура трехмерных тайлов представлена в виде файлов четырех типов: файл с реальными координатами местности и путями к файлам со структурой тайловых деревьев; файлы со структурой тайловых деревьев, содержащих описание всех узлов; файлы с моделями тайлов; файлы с текстурами тайлов. Все перечисленные файлы (кроме файлов текстур) имеют XML структуру, а файлы с моделями тайлов представлены в формате COLLADA с расширением DAE.

COLLADA - это формат для обмена между 3D-приложениями, разработанный Khronos Group. COLLADA использует открытый стандарт XML для обмена форматами, которые, в противном случае, были бы несовместимы. 27 марта 201З г. Khronos Group анонсировала опубликование COLLADA l.5.0 в качестве официального стандарта ISO, предназначенного для обмена между 3D-приложениями [S].

Для импорта 3D-моделей (в том числе COLLADA) с возможностью их обработки с помощью графической библиотеки OpenGL имеется специальная кроссплатформенная библиотека, обеспечивающая общий API для различных форматов - OpenAssetImportLibrary (Assimp). В настоящее время Assimp поддерживает 57 форматов для импортирования [9]. Проблема в том, что библиотека Assimp написана на языке программирования С++ и не имеет открытых аналогов для JOGL [l0]. В связи с этим был реализован отдельный модуль для импорта трехмерных моделей формата COLLADA, соответствующий спецификации.

Итоговая цифровая модель местности, построенная с помощью трехмерных тайлов (рис. 2) на всех уровнях декомпозиции, может занимать десятки гигабайт, что является недостатком данного подхода, ведь такой объем данных не всегда возможно выгрузить в запоминающее устройство с произвольным доступом единовременно. Для решения данной задачи предлагается применить мультиагентный подход. Его суть заключается в использовании в системе нескольких интеллектуальных агентов, каждый из которых будет ответственен за свою часть работы. Агенты в мультиагентной системе имеют несколько важных характеристик: автономность, ограниченность представления, децентрализация [ll]. Также важным свойством такого подхода является обеспечение единого соглашения между агентами каждый раз, когда между ними возникают противоречия.

Рис. 2. ЦММ, построенная с помощью ЭБ-тайлов

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

Полученная цифровая модель местности может быть использована для демонстрации зон затопления (рис. Э), а также для учета административно-хозяйственной деятельности предприятия. Для выполнения оценки зон затопления пользователю дополнительно предоставляется возможность динамически изменять уровень воды на местности в интерактивном режиме.

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

Также реализованы инструменты редактирования ЭБ-объектов на сцене (перемещение, масштабирование и вращение), позволяющие в интерактивном режиме применять к ним аффинные преобразования. Вдобавок к редактированию, у пользователя имеется возможность заменить объект на ЭБ-сцене на любую другую сущность, представленную в библиотеке объектов. В программном модуле имеются инструменты для выполнения промеров в трехмерном пространстве, а также инструменты для измерения объемов земляных работ (насыпи и выемки) между исходной и референс поверхностями.

Заключение

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Computer and Computing Technologies in Agriculture, Volume II: First IFIP TC 12 International Conference on Computer and Computing Technologies in Agriculture (CCTA 2007), Wuyishan, China, August 18-20, 2007

2. Language bindings [Электронный ресурс] / Khronos Group. - Электрон. дан. - Beaver-ton: [б.и.], 2017. - Режим доступа: https://www.khronos.org/opengl/wiki/Language_bindings/. -Загл. с экрана.

3. OpenGL Overview [Электронный ресурс] / Khronos Group. - Электрон. дан. - Beaver-ton: [б.и.], 2006. - Режим доступа: https://www.opengl.org/about/. - Загл. с экрана.

4. ARB vertex buffer object [Электронный ресурс] / Khronos Group. - Электрон. дан. -Beaverton: [б.и.], 2003. - Режим доступа: https://www.khronos.org/registry/OpenGL/extensions/ ARB/ARB_vertex_buffer_object.txt. - Загл. с экрана.

5. VertexArrayObjects [Электронный ресурс] / EtayMeiri. - Электрон. дан. - Haifa: [б.и.], 2016. - Режим доступа: http://ogldev.atspace.co.uk/www/tutorial32/tutorial32.html. - Загл. с экрана.

6. Debugging [Электронный ресурс] / Joey de Vries. - Электрон. дан. - Leeuwarden: [б.и.], 2016. - Режим доступа: http://learnopengl.com/#!In-Practice/Debugging. - Загл. с экрана.

7. The 2012 free and open source GIS software map - A guide to facilitate research, development, and adoption / ed. byStefan Steiniger, Andrew J.S. Hunter - Department of Geomatics Engineering, University of Calgary, 2500 University Drive N.W., Calgary, Alberta, Canada T2N 1N4.

8. ISO/PAS 17506:2012 "Industrial automation systems and integration - COLLADA digital asset schema specification for 3D visualization of industrial data".

9. Open Asset Import Library - Import formats [Электронный ресурс] / Alexander Gessler, Thomas Schulze, Kim Kulling. - Электрон. дан. - Munich: [б.и.], 2015. - Режим доступа: http://assimp.sourceforge.net/main_features_formats.html- Загл. с экрана.

10. Open Asset Import Library - Documentation [Электронный ресурс] / Alexander Gessler, Thomas Schulze, Kim Kulling. - Электрон. дан. - Munich: [б.и.], 2015. - Режим доступа: http://assimp.sourceforge.net/main_doc.html- Загл. с экрана.

11. Michael Wooldridge, An Introduction to MultiAgent Systems. - Hoboken: John Wiley & Sons Ltd, 2009. - 366 p.

© А. С. Гринев, П. Ю. Бугаков, 2019

i Надоели баннеры? Вы всегда можете отключить рекламу.