Сосчитать площади объектов одного вектора в пределах объектов другого вектора

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Fyodor
Новоприбывший
Сообщения: 1
Зарегистрирован: 19 мар 2022, 18:31
Репутация: 0
Откуда: РФ

Сосчитать площади объектов одного вектора в пределах объектов другого вектора

Сообщение Fyodor » 18 окт 2023, 22:56

Есть у меня векторный слой районов города, а также векторизированный слой NDVI, на котором только объекты у которых был NDVI>0.5. Нужно подсчитать площадь территории с NDVI>0.5 для каждого района. Алгоритм у меня такой:
1) Вынести один из районов в отдельный слой
2) Обрезать вектор NDVI>0.5 по слою того района
3) Посчитать площадь в калькуляторе полей и посмотреть общую в статистике
Поскольку районов много, да и градаций NDVI будет несколько, то действия 1 - 3 придется повторять несколько десятков раз..
Если ли способ как-нибудь автоматизировано посчитать площади? Думал как-нибудь объединять атрибуты слоев, но пока непонятно

Ostran2004
Интересующийся
Сообщения: 29
Зарегистрирован: 13 окт 2011, 01:30
Репутация: 8

Re: Сосчитать площади объектов одного вектора в пределах объектов другого вектора

Сообщение Ostran2004 » 19 окт 2023, 00:06

Делаете объединение слоёв районов и NDVI. В новом слое есть атрибуты и того и другого. Добавляете в слой столбец с названием площадь и считаете её. Далее вариант 1: Экспорт таблицы в exel. Открыв таблицу и добавив сводную таблицу на новый лист смотрите сумму площадей по нужным атрибутам района. Вариант 2: Делаете выборку по номеру района в ГИС???? какой либо и смотрите статистику по полю площадь (где сумма).

AlexRomantsov
Завсегдатай
Сообщения: 316
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 137
Ваше звание: хм, сам не знал
Откуда: Томск

Re: Сосчитать площади объектов одного вектора в пределах объектов другого вектора

Сообщение AlexRomantsov » 19 окт 2023, 05:23

QGIS: добавляете в карту оба слоя (районов и NDVI). Меню - Вектор - Геообработка - Пересечения: в диалоге указываете исходный слой (Районы), оверлейный слой (NDVI), в Imput fields to keep - выбираете поля из слоя Районы, которые нужно будет добавить в результирующий (порезанный по районам) слой NDVI. Настраиваете, куда сохранить и выполняете. В результате появится новый слой NDVI-пересечение, в котором все полигоны ndvi будут разрезаны по границе всех районов, и в каждом из них исходные атрибуты NDVI и дополнительные из Районов.
Ну а далее - собираете нужную статистику (Таблица - Калькулятор полей - Геометрия - $area, Меню - Вектор - Анализ - Статистика для полей, Exel, Python, Модели, Сценарии и т.п.)
Желательно, что бы слой Районов был топологически корректен по границам (иначе получится куча артефактов - узких незначащих геометрий на стыках)

AlexRomantsov
Завсегдатай
Сообщения: 316
Зарегистрирован: 24 мар 2022, 05:54
Репутация: 137
Ваше звание: хм, сам не знал
Откуда: Томск

Re: Сосчитать площади объектов одного вектора в пределах объектов другого вектора

Сообщение AlexRomantsov » 19 окт 2023, 09:29

Еще, полезный инструмент для сбора статистических данных. Ваш слой Районы, созданный слой NDVI-пересечение. Вызываете Меню - Анализ данных - Вектор - Присоединить атрибуты по пространственному положению (сводка).
Исходный слой - Районы, связанный слой - NDVI-пересечение. Настраиваете геометрический предиракт (содержит, совпадает, в пределах и т.п., экспериментом). Выбираете Поля для суммирования и Резюме для расчета (показатели), можно оставить пустым. Если хотите статистику только для отдельных объектов, предварительно их выделите на карте (или в таблице), а в этих настройках - галку "Только выделенные".
Выполняете. Результат - новый слой Районы2, в атрибутах объектов которого - все количества (объектов ndvi), суммы (численных полей ndvi), средние, медианные и прочие для попавших в район объектов ndvi.

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 19 гостей