Научная статья на тему 'Геоинформационная система динамической пространственной кластеризации распределенных источников данных'

Геоинформационная система динамической пространственной кластеризации распределенных источников данных Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
106
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
геоинформатика / пространственные данные / кластеризация / индекс Моришита / гео-информационные системы / geoinformatics / spatial data / clustering / Morishita index / geoinformation systems

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

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

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

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

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

Geoinformation system for dynamic spatial clustering of distributed data sources

The results of developing an approach to dynamic clustering of geospatial objects, the distribution of which is characterized by pronounced spatial anisotropy, are presented. An approach to dynamic spatial clustering is proposed based on the analysis of the distribution of Morishita index values, supplemented by clustering based on the attribute values of the corresponding points. A new version of the web application architecture that implements dynamic spatial clustering is proposed, which is a combination of a “pure” architecture and a “model-view-controller” pattern that provides an increase in the modularity of the application, as well as its independence from software frameworks. An algorithm for dynamic spatial clustering has been developed, which in an asynchronous mode provides the calculation of the Morishita index and informational correlation for the formation of a cluster structure of spatial objects in the form of a layer available for rendering.

Текст научной работы на тему «Геоинформационная система динамической пространственной кластеризации распределенных источников данных»

ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

2023 Управление, вычислительная техника и информатика № 64

Tomsk: State University Journal of Control and Computer Science

Научная статья УДК 004.95

doi: 10.17223/19988605/64/7

Геоинформационная система динамической пространственной кластеризации

распределенных источников данных

Андрей Владимирович Воробьев1, Гульнара Равилевна Воробьева2

1 Геофизический центр РАН, Москва, Россия 12 Уфимский университет науки и технологий, Уфа, Россия 1 geomagnet@list. ru 2 [email protected]

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

Ключевые слова: геоинформатика; пространственные данные; кластеризация; индекс Моришита; геоинформационные системы.

Благодарности: Исследование выполнено при финансовой поддержке Российского научного фонда в рамках научного проекта № 21-77-30010.

Для цитирования: Воробьев А.В., Воробьева Г.Р. Геоинформационная система динамической пространственной кластеризации распределенных источников данных // Вестник Томского государственного университета. Управление, вычислительная техника и информатика. 2023. № 64. С. 61-73. doi: 10.17223/19988605/64/7

Original article

doi: 10.17223/19988605/64/7

Geoinformation system for dynamic spatial clustering of distributed data sources

Andrei V. Vorobev1, Gulnara R. Vorobeva2

1 Geophysical Center RAS, Moscow, Russian Federation 12 Ufa University of Science and Technology, Ufa, Russian Federation 1 geomagnet@list. ru 2 [email protected]

Abstract. The results of developing an approach to dynamic clustering of geospatial objects, the distribution of which is characterized by pronounced spatial anisotropy, are presented. An approach to dynamic spatial clustering is proposed based on the analysis of the distribution of Morishita index values, supplemented by clustering based on the attribute values of the corresponding points. A new version of the web application architecture that implements dynamic spatial clustering is proposed, which is a combination of a "pure" architecture and a "model-viewcontroller" pattern that provides an increase in the modularity of the application, as well as its independence from software frameworks. An algorithm for dynamic spatial clustering has been developed, which in an asynchronous

© А.В. Воробьев, Г.Р. Воробьева, 2023

mode provides the calculation of the Morishita index and informational correlation for the formation of a cluster structure of spatial objects in the form of a layer available for rendering.

Keywords: geoinformatics; spatial data; clustering; Morishita index; geoinformation systems.

Acknowledgments: The research was carried out with the financial support of the Russian Science Foundation for No. 21-77-30010.

For citation: Vorobev, A.V., Vorobeva, G.R. (2023) Geoinformation system for dynamic spatial clustering of distributed data sources. Vestnik Tomskogo gosudarstvennogo universiteta. Upravlenie, vychislitelnaja tehnika i informatika - Tomsk State University Journal of Control and Computer Science. 64. pp. 61-73. doi: 10.17223/19988605/64/7

Введение

Прочно укрепившиеся тенденции к цифровизации современного общества находят свое отражение в том числе и во все возрастающих потребностях разнообразных областей деятельности к информации, имеющей геопространственную привязку, - пространственным данным. Современные реалии таковы, что практически ни одна сфера науки и производства не обходится без данных, описывающих местоположение объектов на поверхности Земли или характеризующих пространственное распределение параметров явлений и процессов различной природы. Считается, что около 80% данных, образующих национальные (в том числе государственные) информационные ресурсы, снабжено или без существенных затрат может быть снабжено координатным описанием, фактически или потенциально представляя из себя пространственные данные [1].

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

Одним из начальных этапов работы с пространственными данными является оценка их распределения с точки зрения регулярности распределения по соответствующей пространственной сетке. Если пространственные данные (и, соответственно, их источники) могут быть описаны нерегулярной кластерной сетью мониторинга, то необходима их декластеризация для расчета характеристик глобальной статистики. В случае высокой плотности пространственного распределения анализируемых данных имеет место кластерная сеть мониторинга; при этом выделяются пространственные области с более плотными по сравнению с остальными значениями. Тогда возникает необходимость декла-стеризации во избежание искажения оценок глобальной статистики [2].

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

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

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

На сегодняшний день задача пространственной кластеризации решается во многих прикладных областях, где предполагается обработка данных с геопространственной привязкой. Так, к примеру, в работе [3] предложен метод пространственной регрессии на основе методов и моделей кластеризации, который позволяет спрогнозировать влияние внешних факторов на значение исследуемой переменной в заданном пространственном кластере. Технология представляет интерес для выявления пространственных закономерностей для исследования, к примеру, социально-экономических процессов, данные которых имеют выраженную пространственную привязку. Известны исследования, направленные на изучение пространственных закономерностей развития природных процессов на основе пространственно-кластеризованной модели переменных коэффициентов, в которой коэффициенты регрессии могут плавно изменяться в пределах каждого кластера, но резко изменяться на границах соседних кластеров [4].

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

Несмотря на серьезные достижения исследователей в области кластерного анализа, разработанные алгоритмы оказываются слишком статичными для динамического формирования пространственных кластеров в зависимости от размеров соответствующих пространственных ячеек [6]. Были разработаны различные методы пространственной кластеризации, включая статистические подходы, триангуляцию Делоне [2], деление на основе сетки [2], методы случайного блуждания [2] и даже полный перебор [7]. Однако для эффективного исследования больших и многомерных геопространственных наборов данных необходимо разработать высоко интерактивную среду анализа, которая объединила бы лучшие академические достижения и программные технологии.

В настоящее время также существует ряд программных решений по кластеризации источников данных, основанных на комплексе геоинформационных технологий. К примеру, одним из таких подходов является программная библиотека ArcGIS API for JavaScript, которая по входным пространственным данным (к примеру, GeoJSON или CSV) объединяет измерения в визуальные кластеры [8]. При этом невозможно иным, отличным от визуального, способом оценить, равномерно ли распределены точки в пространственном слое. Для серверной (или десктопной) программной реализации известны применения языка программирования Python и библиотеки sklearn с классом cluster, однако при таком подходе не учитываются специфика рассматриваемых данных и статистическое (а не детерминистическое) описание их пространственного распределения (здесь имеют место пространственные регионализованные переменные), что может привести к ложным аналитическим выводам [9].

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

1. Формализация задачи пространственной кластеризации

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

Здесь и далее предполагается, что расстояние между точками внутри пространственного кластера, а также между кластерами определяется евклидовой нормой.

Одним из статистических методов, позволяющих оценить равномерность распределения пространственных точек в сети мониторинга, является индекс Моришита 1$ [2, 10]. Индекс характеризует вероятность того, что две случайные пространственные точки могут попасть в один пространственный кластер, и может быть определен из следующего соотношения:

1^-1) !.....д , (1)

° 4 N(N-1) V /

где N - общее число пространственных точек, Q - количество ячеек разбиения, п - количество пространственных точек, которые попали в 7-ю ячейку.

Если значение индекса Моришита колеблется около 1, то распределение пространственных точек считается равномерным. В случае, если значение 1$ превышает 1, сеть мониторинга имеет выраженную кластерную структуру, что затрудняет при анализе получение репрезентативной гистограммы распределения и требует проведения процедуры декластеризации. Каждой пространственной точке в зависимости от ее принадлежности пространственному кластеру присваивается весовое значение, которое учитывается, к примеру, при расчете усредненных и агрегированных значений в соответствующем пространственном регионе. В общем случае, когда точка располагается в регионе с высокой концентрацией измерений, ее весовое значение меньше, чем в регионе с равномерной сетью мониторинга. Кроме того, для решения задачи декластеризации также может быть применен распространенный в настоящее время метод ячейковой декластеризации (cell-declustering) [10].

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

Р = = 1(^1,^2,гз,... }|, (2)

где - площадь рассматриваемого пространственного региона (ячейки), Z - мощность множества пространственных точек, размещенных в указанном пространственном регионе.

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

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

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

В качестве критерия оценки схожести атрибутивных значений представляется целесообразным выбрать значение коэффициента информационной корреляции, под которым понимается мера зависимости между атрибутивными значениями двух пространственных точек X и У, определяемая как функция от количества информации в одной случайной величине относительно другой [11]:

где 1(Х, У) - количество информации, являющееся, в свою очередь, мерой взаимной информации для соответствующих выборок атрибутивных значений в пространственных точках X и У.

При этом взаимная информация квантифицирует количество информации (по мере Хартли), полученное от одной величины при наблюдении другой, и рассчитывается на основании известной формулы, базирующейся на постулатах теоремы Шеннона [12]:

где p(xi) - вероятность появления значения Xi в точке X, p(yj) - вероятность появления значения y}-в точке Y, p(xi, yj) - вероятность совместного появления значения Xi в точке X и значения y}- в точке Y.

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

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

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

Проблема (преимущественно техническая) при этом заключается в том, что с точки зрения вычислительной скорости процедура определения источников данных с наибольшей информационной корреляцией является весьма ресурсозатратной, что было подтверждено серией вычислительных экспериментов на серверах используемого хостинга (технические характеристики: процессоры: 88 * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz, операционная система Ubuntu Server Edition). При этом сначала последовательно рассчитывается индекс Моришита для выявления пространственных кластеров.

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

R(X,Y) = J 1-e-2I(x'Y\

(3)

(4)

быстрее приложению удается обработать каждый отдельный запрос, тем больше запросов за единицу времени может быть обработано и тем больше пользователей одновременно может работать с приложением.

Исследования показали, что если количество анализируемых источников данных превышает 50, то расчет в среднем занимает порядка 2-3 мин, что негативно сказывается на производительности веб-приложения в целом (в то время как с точки зрения эргономики в веб-приложении время отклика от сервера на клиентскую сторону не должно превышать 4-5 с, а с точки зрения производительности в целом - не превышать 500 мс). Если добавить к этому еще вычисление коэффициента информационной корреляции в цикле для каждой пары источников данных, то совокупное время выполнения вычислительных операций занимает более 8-9 мин в зависимости от количества рассматриваемых источников данных.

Снизить временным затраты на выполнение перечисленных операций возможно посредством сокращения рассматриваемых источников данных. Для этого расчет коэффициента информационной корреляции осуществляется не на всем множестве доступных источников данных, а локально, внутри выделенного на предшествующем этапе региона - пространственного кластера. В результате проведенных вычислительных экспериментов для источников геомагнитных данных было установлено сокращение времени расчета коэффициента информационной корреляции в среднем в 3,38 раза, что для рассматриваемого примера составляет около 1,7 минут. Если предварительно выполнить расчет пространственных кластеров по известным геопространственным данным (без привязки к атрибутивным значениям), то указанное расчетное время еще более сократится, что обеспечит соответствие скорости выполнения вычислительных операций и формирования отклика от сервера к клиенту заданным эргономическим требованиям к веб-приложениям.

2. Архитектура программного инструмента для динамической пространственной кластеризации

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

Идентификация кластерной структуры пространственных данных на программном уровне реализована на базе паттерна «наблюдатель» (observer) [14]. Объект, называемый «субъектом» (subject), в данном случае является экземпляром серверного класса, через который выполняется интеграция исходных данных, полученных из распределенных гетерогенных источников (в частности, для геомагнитных данных это соответствующие программные сервисы магнитных обсерваторий и вариационных станций либо, к примеру, экземпляр класса Python API агрегатора геомагнитной информации SuperMag [15]). При этом функция расчета индекса Моришита выступает в качестве объекта, который называется «наблюдателем» (observer) и исполняется в качестве функции обратного вызова (callback) при изменении состояния объекта «субъекта» (т.е. при завершении получения информационных потоков от сторонних источников и формировании готового для дальнейшей обработки набора пространственных данных).

В общем виде процесс взаимодействия между указанными субъектом и наблюдателем можно представить в виде схемы. Здесь задан класс "Data Aggr", предназначенный для формирования единого набора пространственных данных по запросам к удаленным распределенным источникам различного типа. На класс "Data Aggr" (на его экземпляр) подписывается (subscribe) функция "Cluster", обеспечивающая идентификацию кластерности сети мониторинга по пространственным данным. При этом функция обратного вызова подписана на событие, определяемое завершением загрузки данных от распределенных источников и формированием готового для дальнейшей обработки набора про-

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

Предложенное программное решение базируется на комбинировании двух видов архитектуры веб-приложений. Основой является архитектура вида «Модель-Представление-Контроллер» (ModelView-Controller, MVC), что обусловлено отчасти необходимостью реализации серверной части на языке программирования Python для упрощения последующей ее интеграции с другими проектами авторов. В дополнение к обозначенной использована так называемая «чистая» архитектура (the clean architecture), широко использующаяся в современных веб-приложениях для обеспечения независимости от программных фреймворков [16]. Преимуществом обоих подходов является многоуровневая реализация веб-приложения, при которой его компоненты разделяются на слои в зависимости от своего назначения или обязанностей (принцип, известный как separation of concerns [16]), что, как результат, обеспечивает независимость конечного программного продукта от фреймворка, пользовательского интерфейса, базы данных и какого-либо внешнего приложения / сервиса.

Комбинирование обозначенных подходов нашло отражение в следующей совокупности компонентов (слоев) веб-приложения, реализующего динамическую пространственную кластеризацию:

- View (представление) - обеспечивает обработку пространственных данных в контексте идентификации соответствующих пространственных кластеров и анализа информационной корреляции соответствующих источников данных;

- Controller (контроллер) - реализует взаимодействие между клиентом и сервером, фактически между пользователем и серверной частью приложения (его бизнес-логикой);

- Repository (репозиторий) - отвечает за получение пространственных данных из внешних источников различного типа, а также формирование набора данных для последующей обработки и анализа с учетом заданной в приложении бизнес-логики;

- Model (модель) - обеспечивает описание предметной области в терминах информационной модели или внутреннего домена веб-приложения;

- Service (сервис) - реализует непосредственно бизнес-логику веб-приложения и обеспечивает в том числе ее переиспользование между компонентами приложения;

- Template (шаблон) - описывает представление отклика от сервера конечному пользователю в виде совокупности визуальных элементов, доступных для рендеринга браузером.

В предложенной архитектуре внешними при этом являются два слоя: Repository, поскольку он обращается к сторонним источникам данных, и Template отвечающий непосредственно за взаимодействие с конечным пользователем через визуальные элементы управления в окне браузера. При этом применяемое в «чистой» архитектуре правило зависимостей [16] должно быть несколько адаптировано под специфику предложенной архитектуры в контексте независимости только внешних слоев, которые при незначительных корректировках могут быть использованы несколькими приложениями под разные задачи. По сути, здесь прослеживается концепция отделения бизнес-логики приложения от ее представления, также положенная в основу архитектуры типа MVC.

Известно, что «чистая» архитектура не привязана к определенному фреймворку или языку программирования, что, однако, нехарактерно для архитектуры «Модель-Представление-Контроллер»: здесь набор доступных программных технологий ограничен. В рамках проекта, рассматриваемого в статье, был применен фреймворк Django, обеспечивающий реализацию MVC-архитектуры веб-приложения и предполагающий создание серверных сценариев на языке программирования Python. При этом, согласно предлагаемой концепции, компоненты View, Model и Controller уже представлены во фреймворке Django: компонент Model с описанием используемых объектов определяет работу компонента View, представленного множеством Python-функций, вызов которых прописан в компоненте Controller и связанном с ним модуле URL Dispatcher.

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

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

Для взаимодействия между отдельными слоями используются дополнительные программные модули, каждый из которых предполагает применение двух программных интерфейсов: один для запроса, другой - для ответа. Такие модули-переходы обеспечивают независимость модулей внутреннего слоя от компонент внешнего слоя, сохраняя при этом возможность передачи данных. При этом важно отметить, что имеет место неявная зависимость между слоями, обратными потоку данных. С точки зрения «чистой» архитектуры это соответствует принципу инверсии зависимостей [16].

Таким образом, предложенная архитектура приложения, сочетая особенности MVC и «чистой» архитектуры, с одной стороны, затрагивает все веб-приложение, усиливая его модульность, переносимость и обратную совместимость. С другой стороны, применение презентационного паттерна MVC (MVP) обеспечивает отделение бизнес-логики от визуальной компоненты приложения, что существенно упрощает работу фронтэнд-разработчика.

3. Алгоритм динамической пространственной кластеризации

В общем виде процесс динамической пространственной кластеризации может быть представлен последовательностью этапов получения и обработки соответствующих данных (рис. 1).

На начальной стадии выполнения алгоритм предполагает обращение к внешним и внутренним источникам данных посредством соответствующих протоколов передачи данных (как правило, HTTP(s) или FTP). В соответствии с прикладной спецификой обрабатываемых данных определяется период, за который должен быть проведен анализ. Так, к примеру, в случае геомагнитных данных представляется целесообразным рассматривать годовые архивы минутных данных, зарегистрированных магнитными обсерваториями и вариационными станциями. Для данных, к примеру, по вероятности наблюдения полярных сияний можно рассмотреть как годовые, так и суточные архивы 5-минутных или получасовых прогнозов.

На следующем шаге в соответствии с предлагаемым алгоритмом выделенные источники данных с учетом их пространственного распределения анализируются на предмет оценки соответствующей сети мониторинга. Для этого по имеющимся данным выполняется расчет значения индекса Моришита, который и характеризует пространственную анизотропию пространственных объектов.

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

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

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

Рис. 1. Схема алгоритма динамической пространственной кластеризации Fig. 1. Scheme of the dynamic spatial clustering algorithm

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

Отслеживание изменения пользователем масштаба пространственного изображения выполняется на протяжении всего цикла работы пользователя с веб-приложением (пользовательского сеанса). По завершении сеанса работы работа алгоритма динамической пространственной кластеризации завершается.

4. Примеры реализации веб-приложений для динамической кластеризации

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

Первый проект ориентирован на работу с геомагнитными данными, зарегистрированными магнитными обсерваториями и вариационными станциями. В качестве источника данных выступает ресурс SuperMAG (https://supermag.jhuapl.edu/) [15, 17]. Данные уже были использованы ранее в одном из проектов авторов статьи, который обеспечивает визуализацию геомагнитных возмущений по данным наземных магнитных станций [18].

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

Посредством разработанного программного средства был определен индекс Моришита для анализируемых источников данных. Установлено, что сеть мониторинга может быть классифицирована как произвольная слабо связанная кластеризованная сеть [2].

На следующем шаге серверным сценарием на основе предложенного авторами алгоритма был определен размер ячейки, в соответствии с которой должна быть выполнена пространственная кластеризация для заданного по умолчанию масштаба (1 :20 000 000). Соответствующий результат получен на основе расчета расстояния между пространственными точками, что в общем виде может быть представлено в виде гистограммы. В соответствии с вычисленным значением и на основании заданного масштаба заданные пространственные точки были объединены в группы-кластеры. Непосредственно результат кластеризации представлен в виде GeoJSON-слоя, передаваемого в HTTP-сообщении отклика от сервера клиенту.

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

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

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

В общем виде результат такой кластеризации имеет вид, представленный на рис. 2. Здесь используется заданный по умолчанию масштаб пространственного изображения (см. рис. 2, а). Для явного представления динамической кластеризации выполняется изменение масштаба пространственного изображения (см. рис. 2, b).

Стек технологий представлен фреймворком Django, дополненным модулями для реализации предложенной интеграции программных архитектур. На серверной стороне используется язык программирования Python, клиентская сторона представлена связкой HTML5 / CSS3 / JavaScript. При этом формирование пространственных изображений реализовано посредством библиотеки ArcGIS API for JavaScript, сценарии на основе которой также выполняются на клиентской стороне.

Другое разработанное авторами приложение предназначено для визуализации пространственных точек, каждой из которых соответствует некоторое прогнозируемое значение наблюдения вероятности полярных сияний. В основе приложения лежит модель Ovation-Prime [19], программно реализованная в виде соответствующих сценариев, которые выполняются на стороне сервера. Таким образом, источником данных выступает модель, или результат работы соответствующего программного серверного сценария, возвращающего результат-отклик на клиентскую сторону по протоколу HTTP(s). Такие данные также уже были использованы авторами ранее для визуализации геофизических параметров в области аврорального овала [20].

Для сравнения в качестве вычислительного эксперимента была сформирована регулярная сетка пространственных точек, соответствующих указанным атрибутивным значениям

а b

Рис. 2. Пример работы веб-приложения динамической пространственной кластеризации: а - пространственное

изображение для масштаба по умолчанию, b - пространственное изображение при изменении масштаба Rice. 2. An example of the work of a dynamic spatial clustering web application: a) a spatial image for the default scale,

b) a spatial image when the scale changes

Как и в предыдущем случае, посредством разработанного программного средства был определен индекс Моришита для анализируемых пространственных точек. Установлено, что в соответствии с построенной диаграммой Моришита сеть мониторинга может быть классифицирована как регулярная равномерная сеть [2].

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

Заключение

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

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

Предложенная в работе архитектура веб-приложений, сочетающая в себе особенности «чистой» архитектуры, с одной стороны, и паттерна МУС - с другой, реализует предложенный подход к пространственной кластеризации. При этом обеспечивается динамическая пространственная кластериза-

ция, при которой размер ячейки меняется в зависимости от действий пользователя при работе с пространственным изображением в окне браузера.

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

Список источников

1. Белогурова Е.Б., Воробьев В.Е., Гвоздев О.Г. и др. Пространственные данные: потребности экономики в условиях цифро-

визации / Фед. служба гос. регистрации, кадастра и картографии; Нац. исслед. ун-т «Высшая школа экономики»; НИИ АЭРОКОСМОС. М. : НИУ ВШЭ, 2020. 128 с.

2. Демьянов В.В., Савельева Е.А. Геостатистика: теория и практика. М. : Наука, 2010. 327 с.

3. Sugasawa Sh., Murakami D. Spatially clustered regression // Spatial Statistics. 2021. V. 44. Art. 100525.

4. Lin F., Tang Y., Zhu H., Zhu Z. Spatially clustered varying coefficient model // Journal of Multivariate Analysis. 2022. V. 192.

Art. 105023.

5. Rui Xu, Wunsch D. Survey of clustering algorithms // IEEE Transactions on Neural Networks. 2005. V. 16, is. 3. P. 645-678.

6. Дулин С.К., Розенберг И.Н., Уманский В.И. Методы кластеризации в исследовании массивов геоданных // Системы и

средства информации 2009. Т. 19, № 2. C. 86-113.

7. Turton I., Openshaw S., Brunsdon C. et al. Testing spacetime and more complex hyperspace geographical analysis tools // Innova-

tions in GIS 7. London : Taylor & Francis, 2000. P. 87-100.

8. Zhu H., Cui K., Lin J., Yuan Z. et al. Research on WebGL-based 3D Visualization Platform for Earthquake Rapid Reporting //

IOP Conference Series: Materials Science and Engineering. 2019. V. 631. Art. 052023.

9. Vassilvitskii S. K-means: The advantages of careful seeding // Proc. of the eighteenth annual ACM-SIAM symposium on Discrete

algorithms, Society for Industrial and Applied Mathematics. 2007. P. 147-164.

10. Olea R. Revisiting the declustering of spatial data with preferential sampling // Computers & Geosciences. 2021. V. 157. Art. 104946.

11. Purcaru I. On the information correlation coefficient // Studii §i Cercetari Matematice. 1976. V. 28, № 2. P. 111-121.

12. Feldman J. Mutual Information and Categorical Perception // Psychological science. 2021. № 32. Art. 956797621996663.

13. Воробьев А.В., Воробьева Г.Р. Методы резервирования в задачах восстановления временных рядов геомагнитных данных // Информационные процессы. 2018. Т. 19, № 1. C. 1-18.

14. Baroudi D., Nait-Bahloul S. Observer Patterns for Timed Properties // International Journal of Software Innovation. 2021. № 9. P. 1 -17.

15. Gjerloev J.W. The SuperMAG data processing technique // J. Geophys. Res. 2012. № 117. Art. A09213.

16. Martin R.C. Clean Architecture: A Craftsman's Guide to Software Structure and Design. Upper Saddle River, NJ : Prentice-Hall Press, 2017.

17. Gjerloev J.W. A Global Ground-Based Magnetometer Initiative // Eos Trans. AGU. 2009. № 90 (27). P. 230-231.

18. Vorobev A.V., Pilipenko V.A., Enikeev T.A., Vorobeva G.R., Khristodulo O.I. System for dynamic visualization of geomagnetic disturbances according to the data of ground magnetic stations // Scientific Visualization. 2021. № 13.1. P. 162-176.

19. Newell P.T., Liou K., Zhang Y., Sotirelis T., Paxton L.J., Mitchell E.J. OVATION Prime-2013: Extension of auroral precipitation model to higher disturbance levels // Space Weather. 2014. V. 12, № 6. P. 368-379.

20. Vorobev A.V., Vorobeva G.R., Khristodulo O.I. An information system for spatial visualization of prognostic and retrospective data on the probability of observing auroras // Scientific and Technical Journal of Information Technologies, Mechanics and Optics. 2021. V. 21, № 2. P. 225-233.

References

1. Belogurova, E.B., Vorobiev, V.E., Gvozdev, O.G. et al. (2020) Prostranstvennye dannye: potrebnosti ekonomiki v usloviyakh

tsifrovizatsii [Spatial data: The needs of the economy in the context of digitalization]. Moscow: HSE.

2. Demyanov, V.V. & Savelyeva, E.A. (2010) Geostatistika: teoriya ipraktika [Geostatistics: Theory and Practice]. Moscow: Nauka.

3. Sugasawa, Sh. & Murakami, D. (2021) Spatially clustered regression. Spatial Statistics. 44. Art. 100525. DOI:

10.1016/j.spasta.2021.100525

4. Lin, F., Tang, Y., Zhu, H. & Zhu, Z. (2022). Spatially clustered varying coefficient model. Journal of Multivariate Analysis.

Art. 105023. DOI: 10.1016/j.jmva.2022.105023

5. Rui, Xu & Wunsch, D. (2005) Survey of clustering algorithms. IEEE Transactions on Neural Networks. 16(3). pp. 645-678.

6. Dulin, S.K., Rozenberg, I.N. & Umansky, V.I. (2009) Metody klasterizatsii v issledovanii massivov geodannykh [Clustering

methods in the study of geodata arrays]. Sistemy i sredstva informatsii. 19(2). pp. 86-113.

7. Turton, I., Openshaw, S., Brunsdon C. et al. (2000) Testing spacetime and more complex hyperspace geographical analysis tools.

In: Innovations in GIS 7. London: Taylor & Francis. pp. 87-100.

8. Zhu, H., Cui, K., Lin, J., Yuan, Z. et al. (2019) Research on WebGL-based 3D Visualization Platform for Earthquake Rapid Re-

porting. IOP Conference Series: Materials Science and Engineering. 631. Art. 052023. DOI: 10.1088/1757-899X/631/5/052023

9. Vassilvitskii, S. (2007) K-means: The advantages of careful seeding. Proceedings of the eighteenth annual ACM-SIAM symposium

on Discrete algorithms, Society for Industrial and Applied Mathematics. pp. 147-164.

10. Olea, R. (2021) Revisiting the declustering of spatial data with preferential sampling. Computers & Geosciences. 157. Art. 104946. DOI: 10.1016/j.cageo.2021.104946

11. Purcaru, I. (1976) On the information correlation coefficient. Studii §i Cercetari Matematice. 28.

12. Feldman, J. (2021) Mutual Information and Categorical Perception. Psychological Science. 32. Art. 956797621996663. DOI: 10.1177/0956797621996663

13. Vorobev, A.V. & Vorobeva, G.R. (2018) Redundancy Methods in Solutions of Geomagnetic Data Time Series Recovery Problem. Informatsionnye protsessy - Information processes. 19(1). pp. 1-18.

14. Baroudi, D. & Nait-Bahloul, S. (2021) Observer Patterns for Timed Properties. International Journal of Software Innovation. 9. pp. 1-17. DOI: 10.4018/IJSI.2021040101

15. Gjerloev, J.W. (2012). The SuperMAG data processing technique. Journal of Geophysical Research. 117. Art. A09213. DOI: 10.1029/2012JA017683.

16. Martin, R.C. (2017) Clean Architecture: A Craftsman's Guide to Software Structure and Design. Upper Saddle River, NJ, USA: Prentice-Hall Press.

17. Gjerloev, J.W. (2009). A Global Ground-Based Magnetometer Initiative. Eos Trans. AGU. 90(27). pp. 230-231. DOI: 10.1029/2009EO270002

18. Vorobev, A.V., Pilipenko, V.A., Enikeev, T.A., Vorobeva, G.R. & Khristodulo, O.I. (2021) System for dynamic visualization of geomagnetic disturbances according to the data of ground magnetic stations. Scientific Visualization. 13.1. pp. 162-176. DOI: 10.26583/sv.13.1.11

19. Newell, P.T., Liou, K., Zhang, Y., Sotirelis, T., Paxton, L.J. & Mitchell, E.J. (2014) Ovation Prime-2013: Extension of auroral precipitation model to higher disturbance levels. Space Weather. 12(6). pp. 368-379. DOI: 10.1002/2014SW001056

20. Vorobev, A.V., Vorobeva, G.R. & Khristodulo, O.I. (2021) An information system for spatial visualization of prognostic and retrospective data on the probability of observing auroras. Scientific and Technical Journal of Information Technologies, Mechanics and Optics. 21(2). pp. 225-233. DOI: 10.17586/2226-1494-2021-21-2-225-233

Информация об авторах:

Воробьев Андрей Владимирович - доцент, доктор технических наук, профессор кафедры геоинформационных систем Уфимского университета науки и технологий (Уфа, Россия); старший научный сотрудник ФГБУН Геофизический центр РАН (Москва, Россия). E-mail: [email protected]

Воробьева Гульнара Равилевна - доцент, доктор технических наук, профессор кафедры вычислительной математики и кибернетики Уфимского университета науки и технологий (Уфа, Россия). E-mail: [email protected]

Вклад авторов: все авторы сделали эквивалентный вклад в подготовку публикации. Авторы заявляют об отсутствии конфликта интересов.

Information about the authors:

Vorobev Andrei V. (Associate Professor, Doctor of Technical Sciences, Professor, Ufa University of Science and Technology, Ufa, Russian Federation); Senior Researcher, Geophysical Center of the Russian Academy of Science, Moscow, Russian Federation). E-mail: [email protected]

Vorobeva Gulnara R. (Associate Professor, Doctor of Technical Sciences, Professor, Ufa University of Science and Technology, Ufa, Russian Federation). E-mail: [email protected]

Contribution of the authors: the authors contributed equally to this article. The authors declare no conflicts of interests.

Поступила в редакцию 10.01.2023; принята к публикации 04.09.2023 Received 10.01.2023; accepted for publication 04.09.2023

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