Есть у меня векторный слой районов города, а также векторизированный слой NDVI, на котором только объекты у которых был NDVI>0.5. Нужно подсчитать площадь территории с NDVI>0.5 для каждого района. Алгоритм у меня такой:
1) Вынести один из районов в отдельный слой
2) Обрезать вектор NDVI>0.5 по слою того района
3) Посчитать площадь в калькуляторе полей и посмотреть общую в статистике
Поскольку районов много, да и градаций NDVI будет несколько, то действия 1 - 3 придется повторять несколько десятков раз..
Если ли способ как-нибудь автоматизировано посчитать площади? Думал как-нибудь объединять атрибуты слоев, но пока непонятно
Сосчитать площади объектов одного вектора в пределах объектов другого вектора
-
- Новоприбывший
- Сообщения: 1
- Зарегистрирован: 19 мар 2022, 18:31
- Репутация: 0
- Откуда: РФ
-
- Интересующийся
- Сообщения: 35
- Зарегистрирован: 13 окт 2011, 01:30
- Репутация: 8
Re: Сосчитать площади объектов одного вектора в пределах объектов другого вектора
Делаете объединение слоёв районов и NDVI. В новом слое есть атрибуты и того и другого. Добавляете в слой столбец с названием площадь и считаете её. Далее вариант 1: Экспорт таблицы в exel. Открыв таблицу и добавив сводную таблицу на новый лист смотрите сумму площадей по нужным атрибутам района. Вариант 2: Делаете выборку по номеру района в ГИС???? какой либо и смотрите статистику по полю площадь (где сумма).
-
- Завсегдатай
- Сообщения: 359
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 144
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Сосчитать площади объектов одного вектора в пределах объектов другого вектора
QGIS: добавляете в карту оба слоя (районов и NDVI). Меню - Вектор - Геообработка - Пересечения: в диалоге указываете исходный слой (Районы), оверлейный слой (NDVI), в Imput fields to keep - выбираете поля из слоя Районы, которые нужно будет добавить в результирующий (порезанный по районам) слой NDVI. Настраиваете, куда сохранить и выполняете. В результате появится новый слой NDVI-пересечение, в котором все полигоны ndvi будут разрезаны по границе всех районов, и в каждом из них исходные атрибуты NDVI и дополнительные из Районов.
Ну а далее - собираете нужную статистику (Таблица - Калькулятор полей - Геометрия - $area, Меню - Вектор - Анализ - Статистика для полей, Exel, Python, Модели, Сценарии и т.п.)
Желательно, что бы слой Районов был топологически корректен по границам (иначе получится куча артефактов - узких незначащих геометрий на стыках)
Ну а далее - собираете нужную статистику (Таблица - Калькулятор полей - Геометрия - $area, Меню - Вектор - Анализ - Статистика для полей, Exel, Python, Модели, Сценарии и т.п.)
Желательно, что бы слой Районов был топологически корректен по границам (иначе получится куча артефактов - узких незначащих геометрий на стыках)
-
- Завсегдатай
- Сообщения: 359
- Зарегистрирован: 24 мар 2022, 05:54
- Репутация: 144
- Ваше звание: хм, сам не знал
- Откуда: Томск
Re: Сосчитать площади объектов одного вектора в пределах объектов другого вектора
Еще, полезный инструмент для сбора статистических данных. Ваш слой Районы, созданный слой NDVI-пересечение. Вызываете Меню - Анализ данных - Вектор - Присоединить атрибуты по пространственному положению (сводка).
Исходный слой - Районы, связанный слой - NDVI-пересечение. Настраиваете геометрический предиракт (содержит, совпадает, в пределах и т.п., экспериментом). Выбираете Поля для суммирования и Резюме для расчета (показатели), можно оставить пустым. Если хотите статистику только для отдельных объектов, предварительно их выделите на карте (или в таблице), а в этих настройках - галку "Только выделенные".
Выполняете. Результат - новый слой Районы2, в атрибутах объектов которого - все количества (объектов ndvi), суммы (численных полей ndvi), средние, медианные и прочие для попавших в район объектов ndvi.
Исходный слой - Районы, связанный слой - NDVI-пересечение. Настраиваете геометрический предиракт (содержит, совпадает, в пределах и т.п., экспериментом). Выбираете Поля для суммирования и Резюме для расчета (показатели), можно оставить пустым. Если хотите статистику только для отдельных объектов, предварительно их выделите на карте (или в таблице), а в этих настройках - галку "Только выделенные".
Выполняете. Результат - новый слой Районы2, в атрибутах объектов которого - все количества (объектов ndvi), суммы (численных полей ndvi), средние, медианные и прочие для попавших в район объектов ndvi.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость