Мультифрактальный анализ данных OpenStreetMap в QGis

Бенуа Мандельброт в своей «Геометрии» утверждает, что понятие «фрактал» применимо исключительно к множествам, которые проявляют свойства самоподобия не менее чем на протяжении трех порядков единиц измерения. Манфред Шредер в не менее известной монографии описывает принцип расчета корреляционной размерности, приводя ее к общему виду. Там же он наглядно показывает, как неэвклидовы размерности отражают строение систем в стадии детерминированного хаоса. Аналогичным, но в более популярной форме занимается Хакен, а Федер постулирует чрезвычайно занятную мысль о взаимосвязи самоподобия с теорией перколяции. Однако, несмотря на все это, фракталом называют любой каскад дихотомических ветвлений, а под фрактальным анализом — банальное определение размерности покрытия, забывая даже то, что в оригинальном мануале она идет под названием размерности Хаусдорфа-Безиковича. Еще в одной статье на эту тему нет смысла, но процедура оценки сложности геоданных в QGis настолько проста, что заслуживает краткого упоминания даже среди всеобщей скуки.

Начнем с того, что выберем интересующую область (в моем случае это Москва, район трех вокзалов), которую обводим полигоном. Любой тулзой скачаем OSM данные на этот регион — я использовал плагин OSMDownload, но можно и просто выкачать все через overpass. После того, как данные получены, я рекомендую перевести все в спроецированную систему координат, например в EPSG:2705. Это облегчит дальнейшую работу и позволит вам избежать необходимости перевода градусов в метры для объяснения полученного результата. Я для упрощения работы использовал только точечные данные, но нет препятствий к применению этого метода для линий или даже полигонов.

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

Я использовал 22 сетки со сторонами квадратов 5, 10, 13, 20, 21, 34, 40, 55, 80, 89, 100, 144, 160, 200, 233, 300, 320, 377, 400, 500, 610 и 640 метров. Не стоит удивляться размерам — эту работу я проводил в рамках изучения встречаемости последовательности Фиббоначчи в геоданных и связи этой последовательности с размерностью покрытия данных. В результате были получены следующие данные:

Сторона
квадрата, м
Полное количество квадратов Количество заполненых
квадратов
Достоверность аппроксимации
(R2)
Размерность
Хаусдорфа-Безиковича
5 241001 4322 1,00 0,00
10 60501 3963 1,00 0,13
13 35574 3755 0,99 0,14
20 15251 3115 0,89 0,22
21 13728 3041 0,91 0,25
34 5251 2151 0,86 0,35
40 3876 1830 0,87 0,41
55 2035 1290 0,87 0,50
80 988 760 0,86 0,62
89 782 650 0,88 0,69
100 651 535 0,89 0,74
144 294 280 0,89 0,83
160 247 237 0,90 0,89
200 176 148 0,90 0,96
233 117 115 0,91 1,02
300 77 69 0,91 1,08
320 70 68 0,92 1,12
377 48 47 0,92 1,16
400 48 40 0,93 1,19
500 35 24 0,93 1,24
610 20 20 0,93 1,27
640 20 19 0,94 1,29


График функции количества заполненных клеток от масштаба клетки как и ожидалось, имеет степенной вид (R2функции аппроксимации = 0,94). Расчеты выполнены в экселе с использованием формул для расчета достоверности авппроксимации:

=ИНДЕКС(ЛИНЕЙН(LN($D$2:$D23);LN($B$2:$B23);;1);3;1)

Для расчета размерности Хаусдорфа-Безиковича:

=-1*ИНДЕКС(ЛИНЕЙН(LN($D$2:$D23);LN($B$2:$B23));1)

На основе полученной таблицы построен график мультифрактального спектра, отражающий изменение сложности данных в зависимости от масштаба (сложность точки = 0, сложность прямой = 1, сложность плоскости = 2):
график мультифрактального спектра

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

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

К слову об источниках русловой динамики степных рек с малым течением

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

Принято считать, что самой наглядной демонстрацией меандр являются космические снимки. Например, как вот этот мапбоксовский снимок реки Аксай:
aksaj

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

Гидрологическая наука в лице А. Ю. Сидорчука (статья «Главные формы речных русел: меандры и разветвления«) утверждает, что: «Первоначальный изгиб русла появляется за счет гидродинамической неустойчивости прямолинейного потока». Утверждение настолько тривиальное, что создается ощущение, будто автор пытается уйти от вопроса первопричины образования изгиба водотока. В чем механика процесса зарождения изгиба, господа? Не развития, подчеркиваю, а именно изгиба? Если принять за истину, что в основе всего стоит «гидродинамическая неустойчивость», то следует признать, что такой неустойчивости присуще странное свойство сохранения ассиметричной структуры на время, достаточное, для появления разности скоростей течения, а это согласитесь, едва ли возможно.

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

Но, хватит теории. Сплавляясь по Аксаю, я с интересом отметил, что во многих случаях, причиной появления разности скоростей водного потока у противоположных берегов являются упавшие стволы деревьев:
img_3042

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

Накопленный, благодаря колебаниям уровня воды ил, вкупе с разлагающимся субстратом древесины создает достаточные условия для произрастания трав, а в редких случаях даже кустарников:
img_3044

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

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

С кем не бывает

Дело было так. Стою на остановке в Тосно, никого не трогаю, жду свой пазик в деревню. Вдруг, чувствую в затылке предательски закололи теплые иголки, в глазах потемнело и ноги потеряли силу как прошлогодний агар-агар. Ну все, думаю, пизда пришла. Тут бы не валиться мешком на заплеванный асфальт, сесть на лавку, принять косоносную с достоинством. А вот хрен там. Все лавки бабками заняты, хули что семь утра на дворе. К тому же дико потянуло блевать, а я ввиду врожденной интеллигентности на остановках блевать не привык, поэтому собрав остатки сил утащил свое туловище за угол и повинуясь окончательной страсти перед закрытой дверью «Евросети»изверг из себя в урну следующее:

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

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

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

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

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

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

Тут-то меня и отпустило.