Туториал: считаем плотность застройки по данным ОСМ (и не только)

Туториал: считаем плотность застройки по данным ОСМ (и не только)


В этом туториале мы посчитаем FSI (Floor Space Index) и GSI (Ground Space Index). Более подробно о них вы можете узнать из статьи Картетики https://cartetika.ru/tpost/odvx1s2yh1-kak-schitayut-goroda-plotnost-zastroiki


Если кратко, то GSI = площадь следа застройки / площадь квартала(или района), а FSI = Σ(площадь застройки по этажам) / площадь квартала (или района).

Соответственно, GSI просто использует площадь по первому этажу, а FSI - по всем.


Для работы вам необходимы следующие данные из ОСМ:
🔗 polygon buildings - можно скачать с http://download.geofabrik.de/ для больших территорий, или лучше с использованием overpass turbo или же плагина QuickOSM

🔗 адм. деление города - удобно брать тут - https://osm-boundaries.com/Map

Считаем по районам

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

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

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

Прописываем следующую команду с условным оператором:

Создается новое поле floors, значение которого зависит от B_LEVELS. Если B_LEVELS - пустое поле, или там прописано NULL, то тогда кол-во этажей равняется единице. Если B_LEVELS - любое другое число, то оно преобразуется в целочисленный формат и записывается в атрибут Floors


2) Мы будем считать несколько вариантов плотности застройки, и они используют разные площади застроенной территории. Расчитаем площадь для GSI в квадратных метрах:

площадь - просто функция площади в м.кв.


3) Рассчитаем площадь для FSI:

площадь = кол-во этажей * площадь одного этажа
площади по разным методикам отличаются друг от друга в зависимости от кол-ва этажей

4) Теперь надо понять, на какую площадь будет производиться расчет. Можно смотреть плотность по районам, по кварталам, по жилым массивам (ха). А можно по регулярной сетке, если нет адм деления города. Попробуем все варианты.

Начнем с простого - если есть адм. деление. В качестве примера возьмем Казань.

адм. деление Казани

Важный момент - при расчете на адм. округа или районы нужно обязательно оставить в атрибутивной таблице ваших районов только один уровень генерализации (Adm-Level). Например, если у районов города уровень 9, то нужно чтобы у вас в таблице оставались только полигоны со значением 9, а остальные надо убрать.

Просто потому что это уже другой уровень вложенности и генерализации.

5) Каждому району нужно присоединить информацию о сумме площадей домов, в него входящих. Присоединим сразу и GSI, и FSI. Это проще всего сделать с помощью инструмента "Объединение атрибутов по расположению (Сводка)" - "Join by location Summary".

Заполняем следующим образом

В результате для каждого района города появится информация о сумме площадей по этажам (FSI) или по одному этажу (GSI).

6) С помощью калькулятора полей посчитаем GSI и FSI:

В случае с FSI нужно сделать то же самое

В итоге получится так:

Чем больше развита высотность зданий, тем больше будут отличия между GSI и FSI.


Считаем по кварталам

1) подсчет этажности + суммарной и одиночной площадей по домам идентичен шагам выше.

2) Выбираем кварталы - берем landuse полигоны из ОСМ. В них выбираем только типы землепользования, соответствующие жилым массивам. Вот пример Казани:

"landuse" in ( 'allotments' , 'residential' , 'village_green' )

Выбираем только жилые кварталы и экспортируем в отдельный слой.

3) Теперь каждому жилому кварталу по аналогии с методикой выше нужно присоединить информацию о входящих в него домах. Инструмент - Join by location Summary.


4) далее так же считаем GSI и FSI

Получится такая картина в итоге:


Считаем по регулярной сетке


Если нет нормальной информации по районам города или жилым кварталам, то наиболее оптимально будет создать квадратную/гексагональную сетку и посчитать плотность по ней


1) подсчет этажности + суммарной и одиночной площадей по домам идентичен шагам выше.

2) Создаем сетку - create grid.

Форма - прямоугольник или шестиугольник, охват сетки берем из слоя со зданиями (справа на кнопку - расчитать из слоя - здания), шаг по горизонтали и вертикали какой хотите (оптимально - от 500 до 1000 м)

3) Сетке присоединяем информацию о площадях домов (как выше)

4) Считаем GSI и FSI

итог:






Report Page