Процент площади классов по зонам

Вопросы по нескольким пакетам сразу, или вопросы, которые непонятно к какой ГИС отнести
Ответить
Аватара пользователя
Jasen
Участник
Сообщения: 95
Зарегистрирован: 27 янв 2006, 18:33
Проекты: 1
Репутация: 4
Ваше звание: Специалист
Откуда: Москва
Контактная информация:

Процент площади классов по зонам

Сообщение Jasen » 27 авг 2018, 12:13

Доброго дня!
Как считать зональную статистику по растру и что это такое я понимаю. Если есть поле - можно посчитать показатели по полигонам (зонам).
А если есть вектор с дискретными классами (или растр из того же вектора) - как посчитать, какую площадь занимает каждый класс в зоне (полигоне)? Я что-то не нашел такого инструмента, а в excel считать при большом количестве полигонов все-таки долго.
Пример: полигональный вектор с типизацией землепользования (пашня, луг, село, лес) и вектор административных районов области -> таблица процента площади каждого типа землепользования в каждом районе.
Что написал - то написал!

trir
Гуру
Сообщения: 4353
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 793
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Процент площади классов по зонам

Сообщение trir » 27 авг 2018, 12:23

для этого придумали SQL

Аватара пользователя
Эдуард Казаков
Завсегдатай
Сообщения: 439
Зарегистрирован: 23 апр 2014, 17:11
Статьи: 3
Репутация: 416
Откуда: Санкт-Петербург
Контактная информация:

Re: Процент площади классов по зонам

Сообщение Эдуард Казаков » 27 авг 2018, 13:31

В SAGA есть инструмент Points Statistics for polygons.

Можно провернуть такое - 1. Обрезать полигоны землепользования по полигонам областей (чтобы раздробить полигоны на границах) 2. посчитать площади полигонов землепользования в атрибуты, 3. потом сгенерировать центроиды для этих полигонов (они унаследуют поле с площадью), 4. затем использовать Points Statistics for polygons для этих центроидов и административных районов.

Это делается в QGIS в четыре кнопки.

trir
Гуру
Сообщения: 4353
Зарегистрирован: 09 апр 2010, 19:30
Статьи: 1
Репутация: 793
Ваше звание: просто мимо прохожу
Откуда: Ё-бург

Re: Процент площади классов по зонам

Сообщение trir » 27 авг 2018, 14:26


Аватара пользователя
Jasen
Участник
Сообщения: 95
Зарегистрирован: 27 янв 2006, 18:33
Проекты: 1
Репутация: 4
Ваше звание: Специалист
Откуда: Москва
Контактная информация:

Re: Процент площади классов по зонам

Сообщение Jasen » 28 авг 2018, 17:08

Спасибо всем. SQL пока не очень получилось, никогда не пробовал использовать его для QGIS.

Так что обошёлся калькулятором полей:
"Ploshad" / attribute(get_feature( 'subbasins_barsuki_crct1','value', attribute( $currentfeature,'value')),'Area'),
где "Ploshad" - поле с площадями классов, 'subbasins_barsuki_crct1' - слой с зонами (районами), в котором 'value' имеют такие же значения что и в слое классов, 'Area' - площади в слое районов. Слой районов содержит уникальные значения районов с указанием площадей. В слое классов каждый объект содержит значение района, в пределах которого находится.
Результат - столбец долей площадей каждого класса в площади его района. Задача решена.

Предложение Эдуарда, возможно, имеет недостаток: мои полигоны имеют тип multifeature. Возможно, при генерировании центроидов, возникнут ошибки. Хотя, если у multifeature центроиды генерируются также как у обычных полигонов, то все в порядке.
Что написал - то написал!

Ответить

Вернуться в «Общий - ПО»

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

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