Страница 1 из 1
Как присвоить полигону среднее значение растрового слоя (grid)?
Добавлено: 20 ноя 2020, 10:15
Артем Васильченко
Коллеги, здравствуйте!
Имеем настроенный проект QGIS с подгруженными grid поверхностью (из Surfer) и полигональными объектами.
Возможно ли в атрибут полигона записать среднее значение точек грида попадающих внутрь полигона?
Может быть нужно построить изолинии и уже через площади между изолиниями выходить на среднее значение внутри какого-то полигона? Но это как-то слишком.
А может легче это сделать средствами Surfer?
Прошу подсказать куда копать =)
Re: Как присвоить полигону среднее значение растрового слоя (grid)?
Добавлено: 20 ноя 2020, 11:17
Артем Васильченко
Нашел решение.
Растр перегоняем в вектор (Растр - Преобразование - Создание полигонов (растр в вектор)...)
Идем в инструменты и выбираем "Присоединить атрибуты по пространственному положению (сводка)"
Исходный слой выбираем тот к которому нужно присоединить, а в связанный - недавно векторизованный растр из которого забираем атрибуты.
В полученном новом слое будут наши полигоны со всеми данными по атрибуту (от, до, среднее и т.д.).
Теперь остается понять насколько точен данный метод и зависят ли полученные значения от размеров присоединяемых полигонов, когда они частично выходят за пределы исходного?
Re: Как присвоить полигону среднее значение растрового слоя (grid)?
Добавлено: 20 ноя 2020, 14:12
antonv
Артем Васильченко, в QGIS это делается при помощи Zonal statistics plugin. Скармливаете ему полигональный векторный слой и растр, выбираете какую статистику считать. Если статистика нужна какая-то посложнее, которой нет в Zonal statistics, можете попробовать плагин LecoS, он умеет произвольные процентили считать, например. Правда, он довольно древний, не знаю, запустится ли он в третьем QGIS.
Re: Как присвоить полигону среднее значение растрового слоя (grid)?
Добавлено: 20 ноя 2020, 15:27
_taras_
LecoS запустится в третьем QGIS.
Re: Как присвоить полигону среднее значение растрового слоя (grid)?
Добавлено: 20 ноя 2020, 19:53
Артем Васильченко
antonv писал(а): ↑20 ноя 2020, 14:12
в QGIS это делается при помощи Zonal statistics plugin
Спасибо за наводку, только в QGIS 3.16 это оказался не отдельный плагин, а встроенный инструмент в Растр-анализ.
Отработал он как надо. Главное что бы слои были в одной проекции, а то выдает ошибку.
_taras_ писал(а): ↑20 ноя 2020, 15:27
LecoS запустится в третьем QGIS
antonv писал(а): ↑20 ноя 2020, 14:12
можете попробовать плагин LecoS
А вот с ним, почему-то, совладать не получилось. Ругается на user projection, ладно перепроецировал в общеизвестную. Повтор. Опять ошибка "There is something wrong with your polygon layer. Try to save it to a new file."
Что с этим слоем не так, не понял.
Re: Как присвоить полигону среднее значение растрового слоя (grid)?
Добавлено: 21 ноя 2020, 02:57
_taras_
LecoS модуль древний и не развивается. Ему нужны библиотеки numpy и scipy для работы. При подвисании помогал перезапуск QGIS и открытие файлов по новой. А так же проверка на наличие русских (кириллических) букв в путях и ошибки в геометрии полигона.
Re: Как присвоить полигону среднее значение растрового слоя (grid)?
Добавлено: 21 ноя 2020, 19:26
antonv
Артем Васильченко, может, самопересечения или ещё какие ошибки геометрии?