Расчёт фрактальной размерности Минковского для векторных объектов в QGIS
Фрактальная размерность Минковского, применение подобных фрактальных размерностей в географии, описание QGIS модуля для расчета размерности Минковского для векторных объектов.
В географических исследованиях время от времени обращаются к оценке фрактальных размерностей изучаемых объектов, предпринимаются попытки интерпретировать различные значения этих фрактальных размерностей, сравнивать их между собой. В этой статье кратко рассмотрена сущность вычисления размерности Минковского, приведены примеры применения фрактальных размерностей в географии, а также представлен простой QGIS-модуль, позволяющий произвести оценку размерности Минковского для объектов из любого набора линейных векторных геоданных.
Фрактальная размерность Минковского
Понятие пространственной размерности (в т.ч. фрактальной) корректно толкуется только с использованием математической терминологии и не имеет простого интуитивного описания. Подробную информацию можно найти в соответствующих трудах [1]. Говоря о фрактальной размерности, можно грубо определить, что она характеризует геометрическую сложность пространственного объекта [2]. Существует ряд методов и подходов к определению (и трактованию) фрактальных размерностей, среди которых, благодаря относительной простоте определения и распространенности выделяется размерность Минковского, также известная как Minsowki-Bouligand dimension или box-counting dimension [3, раздел 5.1]. Технически её вычисление сводится к следующей процедуре:
- Объект покрывается квадратной сеткой с ячейками известного размера
- Подсчитывается количество ячеек, которые оказались содержащими фрагмент исследуемого объекта. Сохраняется пара значений "размер (длина стороны) ячейки" - "количество ячеек содержащих объект".
- Сетка детализируется - т.е. размер ячеек уменьшается, и, соответственно, количество ячеек, содержащих объект, увеличивается. Сохраняется новая пара значений.
- Процедура детализации повторяется многократно.
Представим такую процедуру визуально, позаимствовав границы Украины у проекта Natural Earth Data:
На каждом шаге мы аккуратно считаем количество желтых квадратов и их размеры. Получаем два следующих ряда:
Размеры ячеек (e): [200000, 195365, 190731, 186097, 181463, 176829, 172195, 167560, 162926, 158292, 153658, 149024, 144390, 139756, 135121, 130487, 125853, 121219, 116585, 111951, 107317, 102682, 98048, 93414, 88780, 84146, 79512, 74878, 70243, 65609, 60975, 56341, 51707, 47073, 42439, 37804, 33170, 28536, 23902, 19268, 14634, 10000] Количество содержащих объект ячеек(L): [44, 44, 43, 41, 44, 46, 49, 48, 52, 52, 54, 58, 59, 62, 62, 67, 64, 74, 77, 76, 87, 88, 96, 90, 106, 111, 120, 122, 143, 149, 158, 181, 192, 217, 242, 276, 333, 380, 458, 584, 799, 1223]
Согласно методу вычисления размерности Минковского, её значение будет равно угловому коэффициенту линии регрессии, построенной на плоскости по рядам значений log(N) и log(1/e). Без графических построений такая задача решается, к примеру, с использованием NumPy. Но для наглядности изобразим:
Искомая размерность составила 1.14523476825017. Неплохо!
Примеры применения фрактальных размерностей в географии
Вместе с развитием теоретических основ фрактальной геометрии естественным образом возникали попытки их применения в естественных науках - геологии, географии, биологии и других. Сегодня можно найти немало статей и даже больших книг [2,3], посвященных различным аспектам географической интерпретации фракталов.
В урбанистике исследователи часто пытаются связать различные аспекты городского пространства с фрактальной размерностью контуров города и её изменениями во времени. Вот, к примеру, фрактальная размерность крупных городов мира [4]:
Авторы оценивают фрактальные размерности в совокупности с большим набором социально-экономических показателей развития города, таких как ИРЧП, обеспеченность населения автотранспортом, динамика численности населения и других.
Множество работ в области урбанистики посвящено фрактальным исследованиям транспортных сетей [5], границ городов, в том числе и с использованием размерности Минковского [6], и других аспектов [7].
Широкий интерес к фракталам обнаруживается и в области гидрологии. Оценка фрактальных характеристик речных систем позволяет расширить понимание их генезиса и спрогнозировать дальнейшую динамику развития, а также оценить взаимосвязь различных геометрических и гидродинамических параметров рек [8, 9, 10, 11].
На этой карте отображено распределение величины фрактальной размерности речных систем по территории Северной Евразии [12]
Автор отмечает связь между фрактальной размерностью и высотой речного водосбора, глубиной вреза речной сети, а также с увлажненностью территории.
Подобные исследования можно найти в решениях задач ландшафтоведения [13], геоботаники [14], физической географии [15], экологии [16] и многих других.
QGIS-модуль для вычисления размерности Минковского
Общая информация
Разработанный простой модуль позволяет вычислить размерность Минковского для объектов из наборов векторных геоданных с линейным типом геометрии. Не требует дополнительных библиотек, распространяется по лицензии GNU GPL v2, поддерживается версиями QGIS от 2.0 и выше.
Для установки модуля достаточно загрузить архив и распаковать его содержимое как директорию в <home dir>/.qgis2/python/plugns/
Например, в Windows это может быть папка C:/users/silent/.qgis2/python/plugins/minkowskiDimCalculator/
В Linux: /home/silent/.qgis2/python/plugins/minkowskiDimCalculator/
Описание
Основным результатом работы модуля является создание нового (или перезапись существующего) атрибута векторного слоя с записью в него для каждого объекта его фрактальной размерности. Пользователь выбирает исследуемый векторный слой, а также задаёт имя атрибута, в который будет записан результат. Далее, в зависимости от выбранного подхода построения сетки, задаёт параметры.
Модуль поддерживает два подхода к построению сеток для вычисления фрактальной размерности: Layer Grid и Feature Grid.
Метод Layer Grid подразумевает построение единой сетки на всю исследуемую территорию (фактически, охват сетки совпадет с охватом слоя или выделенных объектов), и одновременный расчет необходимых показателей для всех объектов по ней. При этом параметры сетки (начальный и конечный размер, количество шагов) задаются пользователем один раз. Такой подход позволяет корректно сравнивать размерности различных объектов слоя, так как измерения производятся одними и теми же ячейками. Требуется, чтобы сложность объектов (и их масштаб) была сопоставимой и её можно было бы определять единой сеткой. Предположим, мы хотим вычислить размерность Минковского для границ Индии, Туркменистана и Саудовской Аравии (данные Natural Earth Data). В режиме Layer Grid расчёт будет производится следующим образом:
Метод Feature Grid подразумевает построение отдельных сеток для каждого отдельного объекта, с возможностью задания параметров сетки через атрибуты. В таком режиме пользователь может аккуратно и с требуемой точностью задать параметры сеток для каждого отдельного объекта, с учётом их сложности и масштаба, и получить точные размерности для каждого из них. Вот как будет производиться расчёт для границ тех же государств в режиме Feature Grid:
Исходной информацией для построения сеток являются три параметра: размер начальной ячейки (наибольшей), размер конечной ячейки (наименьшей), количество шагов от начального к конечному размерам. Выбирать значения следует исходя из сложности и масштаба объектов.
При обоих способах возможен автоматический подбор параметров, на данном этапе реализованный довольно примитивно (основан на охвате объектов слоя).
Пример использования
Рассчитаем размерность Минковского для границ Российской Федерации. В данном случае объект один, и нет разницы в использовании подходов Layer Grid / Feature Grid. При автоматическом подборе параметров, как видно, размер самой маленькой ячейки довольно большой, и расчет сложности будет произведен довольно грубо. Зато быстро, так как не придётся строить сетки огромной подробности (в чём и заключается основная проблема).
Теореотически, наиболее правильный результат для векторного объекта будет получен в том случае, если размер наименьшей ячейки сетки будет равен наименьшему (или близкому к нему) расстоянию между соседними узлами. Так алгоритм учтёт все особенности. Очевидно, однако, что при таком выборе расчёт займет огромное время. Такая уж у нас с вами страна. Во многих случаях (реки, границы городов) возможно использовать максимальную детализацию в виду не такой сложной структуры, как в примере.
Поэтому необходимо искать компромисс, согласующийся со здравым смыслом. При увеличении числа шагов до 40 и выборе значения минимального размера ячейки равного 100000, в таблице атрибутов обнаруживаем искомое значение. Расчёт занял несколько минут. При уменьшении размера ячейки до 50000 значение практически не изменилось - признак того, что для набора данных в представленном масштабе расчёт верен.
Литература
1. Александров П. С., Пасынков Б. А. Введение в теорию размерности. М.: Наука, 1973. - 576 с.
2. Mandelbrot B.B. The Fractal Geometry of Nature.- N.Y.: Freerman, 1982. - 468 p.
3. P. M. Кроновер. Фракталы и хаос в динамических системах. Основы теории. М., 2000. — 352 с.
2. Nina Siu-Ngan Lam, Lee De Cola. Fractals in Geography, 2002. 308p.
3. André Dauphiné. Fractal Geography, 2012. 241p.
4. Gizem Erdogan, K. Mert Cubukcu. Explaining fractal dimension in populous cities, EURAU 2014
9. Никора В.И. Фрактальные свойства некоторых гидрологических объектов. Кишинев: ИГИГ АН МССР, 1988. 43 с
11. Shi-Xia Z., Zi-Wen W., Shi-Min Z., & Zu-Hong Y. (2014). Research on the relevance between flood disaster and fractal characteristics of river networks-a case study of Hangzhou, China. Disaster Advances, 7(5), 94-100
12. А.Ю. Сидорчук. Фрактальная геометрия речных сетей. Геоморфология. 2014;(1):3-14
15. Gao J., & Xia Z.-G. Fractals in physical geography. Progress in Physical Geography, 20(2), 178-191