Как посчитать пространственную статистику? Рассуждения на пирогах
Дано: у вас есть слой с районами города и слой с чем-то еще. В моем случае это слой с полигонами растительности. Это может быть любой площадной / точечный / линейный слой.
Что хочется получить: красивую картинку, на которой показано, сколько по каждому району растительности.
В чем вообще логика таких пространственных вычислений?
Предположим, у вас есть город, а в нем - много остановок общественного транспорта. Образно можно представить это в виде пирога с ягодками сверху.
А еще у пирога есть деление на кусочки (образно - районы). В зависимости от города районы могут быть разного размера, как и куски у пирога.
Предположим, что вам нужно посчитать, сколько ягодок у каждого куска пирога. А потом еще и прикинуть, сколько ягод приходится на каждый квадратный см пирога. Как это считать?
1) Посчитаем, сколько ягодок в каждом пироге. Для этого вам в первую очередь надо разделить пирог, а после уже считать. Для деления пирога используем специальную форму - каркас деления пирога на куски.
2) А теперь после деления пирога на куски можно посчитать ягодки по каждому куску. В реальной жизни мы сделаем это сами. В аналогичном примере в пространственных данных - используем инструмент "count points in polygons" (так он называется в qgis).
В результате вы получите, сколько ягодок на каждом куске пирога вне зависимости от его размера:
Если же вам нужно посчитать не кол-во ягодок, а, например, их площадь (ягодки бывают разного размера), то ситуация будет другой. И принцип будет другим.
А если надо узнать, сколько ягодок приходится на см2 пирога в зависимости от куска, то кол-во ягод в каждом куске нужно разделить на его площадь в см2:
Тогда мы получим плотность ягод на кусок пирога. Если любите ягоды, то с помощью этой информации вы сможете выбрать наиболее оптимальный для себя кусок - такой, где плотность ягод выше.
Когда разобрались в целом с механикой, попробуем на примерах.
Идеален если у вас точечный файл.
Используем инструмент подсчета точек в полигоне.
Вариант 2. Если вы хотите посчитать площадные характеристики.
Дано: районы города и полигоны с промышленными зонами города
Но что делать, если какая-то зона находится на стыке районов? Получается, что сначала надо поделить промзоны с помощью "каркаса пирога" - полигонов районов.
1) Режем промзоны по районам с помощью инструмента пересечения
2) В новом слое с промзонами для каждого полигона считаем площадь
3) По районам считаем сумму площадей всех промзон, которые входят в этот район
4) в итоге все можно раскрасить по получившемуся показателю и оформить:
Вариант 3. Если вы хотите посчитать площадные характеристики, но и не только.
Дано: районы города и зоны растительности. У каждой зоны есть свое значение NDVI, нам нужно посчитать высшее среднее значение ndvi по району. Получается, что тут надо и по районам порезать, и учесть площадь, и сами значения.
Интерпретация на примере пирогов: у вас на пироге есть пятна разного цвета. у каждого пятна своя интенсивность. вам нужно посчитать, на каком куске пирога интенсивность цвета будет больше всего. при этом учитываем, что размеры кусков - разные, а пятна могут быть на нескольких кусках сразу.
1) Режем растительность по районам с помощью инструмента пересечения
2) Как и в прошлый раз, присоединяем к каждому району суммарную информацию о площади кусков растительности, но также и об ndvi.
3) Cчитаем площадь каждого района (куска пирога) с помощью стандартной функции: $area/1000000 (делим на миллион, чтобы получить км2)
4) Узнаем среднее значение NDVI в пределах каждого района (сумму NDVI по району делим на кол-во кусков растительности); После, чтобы учесть не просто среднее значение ндви, но и учесть, сколько процентов растительность занимает в каждом районе, нужно все это умножить на долю покрытия растительностью в районе (сумма площадей кусков растительности по району / площадь района).