УДК 004.9
ББК 32.81
К 68
Коробков В.Н.
Старший преподаватель кафедры автоматизированных систем обработки информации и управления
инженерно-физического факультета Адыгейского государственного университета, Майкоп, тел. (8772)
593911, e-mail: [email protected]
Программный модуль построения и анализа векторных полей
(Рецензирована)
Аннотация. Приведен краткий обзор существующих дополнений СУБД для хранения пространственных данных и наиболее популярных программных продуктов создания ГИС. Дано обоснование создания собственного программного модуля и представлено описание его функциональных возможностей.
Ключевые слова: алгоритм, программный модуль, геоинформационная система, векторное поле.
Korobkov V.N.
Senior Lecturer of Department of Automated Systems of Processing Information and Control at Engineering-
Physics Faculty, Adyghe State University, Maikop, ph. (8772) 593911, e-mail: [email protected]
Software module of creation and analysis of vector fields
Abstract. This work presents a short review of the existing DBMS addings to store spatial data and the most popular software products of GIS creation. The author provides reasons for creation of his own software module and the description of its functional capabilities.
Keywords: algorithm, software module, geographic information system, vector field.
Разработка программных продуктов в области геоинформационных систем (ГИС) на сегодняшний день основана на использовании:
1) специализированных расширений систем управления базами данных (СУБД) - для хранения пространственных данных;
2) проблемно-ориентированных пакетов прикладных программ - для анализа данных и создания интерфейсной оболочки конечного пользователя.
В настоящее время практически все крупные компании в области баз данных (БД) имеют собственные решения для хранения пространственных данных, например, у фирмы Oracle для одноименной коммерческой СУБД - это Oracle Locator/Spatial, а для свободно распространяемой СУБД MySQL - MySQL Spatial Data Types, у фирмы Microsoft для SQL Server - Microsoft Spatial, а в свободно распространяемой объектно-реляционной СУБД PostgreSQL - модуль PostGIS. Эти решения предоставляют необходимый функционал для хранения пространственных данных в реляционных базах данных, что облегчает и ускоряет работу с этими данными на сервере БД посредством SQL запросов. Все представленные расширения СУБД поддерживают как минимум основные стандарты обмена геопространственными данными, разработанные международной организацией Open Geospatial Consortium (открытый геопространственный консорциум, OGC), основанной в 1994 году.
Из большого многообразия программных продуктов в области создания геоинформационных систем можно выделить несколько наиболее популярных программных средств. Зарубежные коммерческие продукты: семейство программных продуктов ArcGIS компании ESRI, ПО MapINFO фирмы Pitney Bowes Software, платформа GeoMedia корпорации Intergraph и ERDAS Imagine компании ERDAS Inc. На рынке российского программного обеспечения выделяются ГИС «Панорама» - ЗАО КБ «Панорама», ГИС платформы группы компаний CSoft и базовая геоинформационная платформа КОСМОС от научно-производственной корпорации РЕКОД. Из свободно распространяемых систем наибольшей популярностью пользуется кросплатформенная ГИС - Quantum GIS.
Все перечисленные программные продукты имеют свои достоинства и недостатки. К достоинствам коммерческого ПО можно отнести наличие хорошо отлаженного функционала
по работе с пространственными данными и решения типичных геофизических, строительных и инженерных задач. Недостатками таких систем являются, как правило, высокая стоимость и необходимость специального обучения работе с данным ПО, что влечет за собой дополнительные расходы, а также закрытость систем, практически не позволяющая интегрировать их с другими системами. Главным достоинством свободно распространяемых систем является открытость исходных кодов, что позволяет пользователям самостоятельно расширять и интегрировать их с другими ГИС, делая такие системы перспективными при использовании в образовательных, научных и прикладных целях. Однако основным недостатком данных продуктов, как и любого другого свободно распространяемого ПО, является необходимость тратить большое количество времени на поиск информации по многочисленным модулям. К тому же, если работа узкоспециализированная, то не всегда бывает возможно воспользоваться готовым плагином.
Для проведения научных исследований по созданию структурно подобной геодинамической модели территорий неограниченной площади с целью прогнозирования движений тектонических блоков земной коры, сейсмических проявлений различной магнитуды и мониторинга безопасности производственной инфраструктуры [1-3], проводимых в Центре интеллектуальных геоинформационных систем Адыгейского государственного университета, было принято решение создания собственной автоматизированной геоинформационной системы. Анализ как представленных, так и других ГИС платформ показал, что ни одна из них в полной мере не предоставляет необходимый инструментарий для автоматизации решаемых в Центре задач. Однако для хранения пространственных данных были выбраны готовые решения, а именно, свободно распространяемая объектно-реляционная СУБД PostgreSQL с подключением модуля PostGIS.
На начальном этапе, в процессе проектирования программного продукта, использованы методы структурного анализа с применением среды функционального моделирования BPwin. Была построена контекстная диаграмма программного модуля и проведена ее декомпозиция, позволившая выделить и наглядно отобразить концептуальную схему работы модуля как в целом, так и по логически завершенным блокам [4].
Непосредственная реализация программы осуществлялась в свободно распространяемой версии среды разработки Qt 4.8.4 на языке программирования C++. Данная среда располагает широкими возможностями по созданию приложений для графического отображения пространственных данных с помощью встроенной графической библиотеки OpenGL. А также включает в себя классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для многопользовательской работы по локальной сети с базой данных. Кросс-платформенность системы предоставляет возможность в дальнейшем создания системы не только под управлением операционной системы Windows, но и под Linux и других ОС.
Входными данными представленного программного модуля являются векторные поля тектонического напряжения, полученные в результате вычисления градиентов мощности разностных слоев высотных показателей базисных поверхностей смежного геологического возраста [2].
Рабочее пространство программы логически разбито на две части: область вкладок и область визуализации. Первая часть содержит вкладки: «Структура», «Слои», «Палитра» и «Расчеты». В области визуализации пользователь может увидеть результаты выбора опций из соответствующих вкладок.
Вкладка «Расчеты» (см. рис. 1) предлагает функционал для создания векторного поля по авторскому алгоритму, описание которого приведено в [5]. Во вкладке имеется возможность задания шага по осям координат OX и OY для построения решетки, в узлах которой будут вычисляться градиенты. Так как построение векторного поля - процесс ресурсозатратный и достаточно продолительный по времени, то предусмотрена возможность вычисления градиентов как по всему полю, так и по отдельным блокам. После успешного построения векторного поля у пользователя появляется возможность вычисления результирующих векторов, характеризующих относительную скорость и направления движения тектонических блоков.
Файл
Структура_[ Слои Палитра
Расчеты
Наложение решетки :
Смещение по оси X 0
Смещение по оси V о
Выполнить
Построение векторного поля :
0 все с |о Щ по |р Щ
Выполнить
Вычисление результирующих векторов блоков :
Выполнить
Рис. 1. Вкладка «Расчеты»
Во вкладке «Структура» выполняется подключение программного модуля к базе данных, хранящей построенные с помощью инструментария вкладки «Расчеты» векторные поля, и отображение структуры базы древовидным способом с возможностью выбора только пространственных данных, то есть полей с типом "geometry". При нажатии на соответствующее поле оно выделяется красным цветом (рис. 2) и переносится во вкладку «Слои», а при повторном нажатии на уже выделенный элемент выделение снимается, и соответствующий элемент удаляется из вкладки «Слои».
При добавлении элемента во вкладку «Слои» выполняется анализ типа геометрии (полигон, линия или точка) и вывод уточненного типа в соседнем поле. Для каждого слоя реализованы настройки цвета линии и заливки, а также толщины линии, по желанию пользователя. С помощью кнопок «Вверх» и «Вниз» предусмотрена возможность менять слои местами в зависимости от того, какой слой должен отображаться сверху (снизу) другого. Кнопка «Удалить» позволяет удалять ненужные для отображения слои. На рисунке 3 представлен результат отображения в области визуализации слоя, описывающего тектонические блоки, с установленными для него настройками при нажатии на кнопку «Рисовать».
Рис. 2. Вкладка «Структура» (подключение к базе данных)
Рис. 3. Вкладка «Слои»
Во вкладке «Палитра» находится инструментарий для анализа векторного поля с помощью алгоритма кластеризации, который описан в [6]. Вкладка разделена на 5 частей:
■ расположение векторного поля - в базе данных может находиться несколько версий векторного поля, и пользователю предоставляется возможность выбора для анализа необходимого варианта;
■ длина градиентов - содержит статистические данные о максимальных и минимальных значениях векторов как всего поля, так и выбранного блока;
■ ограничения - блок включает в себя некоторые ограничения, необходимые для кластеризации векторов в блоке;
■ информация о блоке - позволяет ввести название поля в базе данных, содержащее индексы блоков и непосредственно сам номер блока, который требуется проанализировать;
■ вывод на экран - позволяет выбрать степень глубины анализа векторного поля, а также отображать само векторное поле или только полученные кластеры.
После выбора расположения векторного поля в базе данных, определения начальных ограничений, ввода номера блока и определения степени глубины анализа векторного поля необходимо нажать кнопку «Выполнить», и программа произведет все необходимые вычисления по кластеризации векторов, а затем отобразит результаты в выбранном виде в области визуализации. Пример работы алгоритма кластеризации векторов одного тектонического блока представлен на рисунке 4.
Рис. 4. Вкладка «Палитра»
Представленный программный модуль является логически законченной частью разрабатываемой геоинформационной системы научных исследований процессов изменчивости геосистем.
Примечания:
1. Структурно подобная геодинамическая модель Краснодарского края и Республики Адыгея: монография / Т.П. Варшанина, О. А. Плисенко, А. А. Со-лодухин, В.Н. Коробков; под ред. Б.И. Кочурова. Москва; Майкоп: Камертон, 2011. 128 с.
2. Варшанина Т.П., Солодухин А.А., Коробков В.Н. ГИС построения и анализа геодинамической модели территорий // ИнтерКарто/ИнтерГИС-18: устойчивое развитие территорий: теория ГИС и
References:
1. Structurally similar geodynamic model of the Krasnodar Territory and the Republic of Adyghea: a monograph / T.P. Varshanina, O.A. Plisenko, A.A. So-lodukhin, V.N. Korobkov; ed. by B.I. Kochurov. Moscow; Maikop: Kamerton, 2011. 128 pp.
2. Varshanina T.P., Solodukhin A.A., Korobkov V.N. GIS construction and analysis of the geodynamic model of territories // InterKarto/InterGIS-18: sustainable development of territories: GIS theory and practi-
практический опыт: материалы междунар. науч. конф., г. Смоленск, Сен-Дье-де-Вож. Смоленск: Принт АП, 2012. С. 17-23.
3. Modelling the Space-Time Field of Tectonic Stresses in the Area of Unlimited Space for Seismic Safety / R. Khunagov, T. Varshanina, O. Plisenko, V. Korobkov, E. Shtelmakh // Indian Journal of Science and Technology. 2015. Vol. 8 (29). P. 1-9. DOI: 10.17485/ijst/2015/v8i29/86864. 2015. November.
4. Коробков В.Н., Варшанина Т.П. К вопросу о применении структурного анализа при моделировании концентрации тектонических напряжений в земной коре // Технические науки: тенденции, перспективы и технологии развития: сб. науч. тр. по итогам междунар. науч.-практ. конф. Волгоград, 2014. С. 9-11.
5. Коробков В.Н., Варшанина Т.П. Построение векторного поля для моделирования пространственно-временной структуры поля тектонических напряжений // Вестник Адыгейского государственного университета. Сер. Естественно-математические и технические науки. 2011. Вып. 4 (91). С. 139-145. URL: http://vestnik.adygnet.ru
6. Коробков В.Н. Алгоритм анализа векторного поля применительно к полям тектонических напряжений в земной коре // Вестник Адыгейского государственного университета. Сер. Естественно-математические и технические науки. 2014. Вып. 4 (147). С. 175-179. URL: http://vestnik.adygnet.ru
cal experience: proceedings of the international scient. conf., Smolensk, Saint-Dieu-de-Vosges. Smolensk: Print AP, 2012. P. 17-23.
3. Modelling the Space-Time Field of Tectonic Stresses in the Area of Unlimited Space for Seismic Safety / R. Khunagov, T. Varshanina, O. Plisenko, V. Korobkov, E. Shtelmakh // Indian Journal of Science and Technology. 2015. Vol. 8 (29). P. 1-9. DOI: 10.17485/ijst/2015/v8i29/86864. 2015. November.
4. Korobkov V.N., Varshanina T.P. On the application of structural analysis in modeling the concentration of tectonic tension in the Earth's Crust // Technical Sciences: trends, perspectives and technologies of development: coll. of proceedings on the results of the international scient.-pract. conf. Volgograd, 2014. P. 9-11.
5. Korobkov V.N., Varshanina T.P. Construction of a vector field for modeling a spatiotemporal structure of the tectonic pressure field // The Bulletin of the Ady-ghe State University. Ser. Natural-Mathematical and Technical Sciences. 2011. Iss. 4 (91). P. 139-145. URL: http://vestnik.adygnet.ru
6. Korobkov V.N. Analysis algorithm of a vector field in relation to fields of tectonic tension in the crust // The Bulletin of the Adyghe State University. Ser. Natural-Mathematical and Technical Sciences. 2011. Iss. 4 (147). P. 175-179. URL: http://vestnik.adygnet.ru