Задача с циклами в QGIS

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Задача с циклами в QGIS

Сообщение Natalia Novoselova » 26 окт 2017, 03:31

Есть ли способы выполнить в QGIS или связанных софтах задачу рода циклического выполнения операции?

По ссылке тема (20 мб): https://drive.google.com/file/d/0B3D_Ig ... sp=sharing

Она представляет собой фрагменты с площадью от 10 кв. км до 3281 кв км. В графе “DistGrid10" дано расстояние (в метрах) через которые в каждом полигоне надо построить грид из точек (плагином FeatureGridCreator).
Вручную это можно сделать так: выделять по строке каждый полигон, запускать FeatureGridCreator и внутри плагина ставить в Distance X direction, Distance Y direction – значение из поля DistGrid10. Запускать плагин и строить точки. Потом переходить к следующему. Всего их 1595.
Можно ли эту операцию выполнить в QGIS? Или связанных открытых софтах (в аргис есть целый раздел этому посвященный).


Для чего это нужно. Точки внутри каждого полигона – должны охватывать его бм равмномерно. Поэтому при построении я учитывала площадь полигона. Но довольно просто (DistGrid10 = корень из площади фрагмента (поле AreaSqKmUT))* 100). Идея была «= корень из площади» - это сторона примерно квадрата, а *100 – это как бы 10% от этой стороны. При построении визуально вроде охватывает как надо..несмотря на то, что все фрагменты очень далеки по форме от квадрата).
Данные точки нужны, чтобы охватить равномерным покрытием фрагмент, чтобы потом извлекать в них значение подстилающего растра (температура, NDVI, EVI , LAI и ряд др) и осреднять их значения для каждого фрагмента, чтобы после обрабатывать статистически (поэтому нужна равномерность охвата) Я сама измышляю способы, как это сделать. Может быть, есть какие-то устоявшиеся способы подхода к таким задачам.. не знаю.

alexandr cherepanov
Гуру
Сообщения: 534
Зарегистрирован: 30 ноя 2006, 13:31
Репутация: 116
Откуда: Moscow

Re: Задача с циклами в QGIS

Сообщение alexandr cherepanov » 26 окт 2017, 10:33

и осреднять их значения для каждого фрагмента
А зачем все эти манипуляции с точками если в конечном итоге все равно среднее?
Не проще на полных фрагментах зональную статистику посчитать?

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Задача с циклами в QGIS

Сообщение Natalia Novoselova » 26 окт 2017, 14:13

alexandr cherepanov писал(а):
26 окт 2017, 10:33
А зачем все эти манипуляции с точками если в конечном итоге все равно среднее?
Не проще на полных фрагментах зональную статистику посчитать?
Точки нужны для того, чтобы перенести значения подстилающих растров (данные продуктов MODIS - surface temperature, NDVI, EVI, LAI) на полигон.

Я не знаю способа, как иначе можно перенести значени растра на векторный полигон. А есть такой способ?

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

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Задача с циклами в QGIS

Сообщение Natalia Novoselova » 26 окт 2017, 15:42

Если кто-то выскажет свои идеи по методике задачи – сейчас это важно! Вот на скрине – кусок карты с фрагментами наложенными на продукт MODIS (surface temperature). Фрагменты показаны полупрозрачной желтой заливкой. Видно, что внутри много пикселей продукта. Моя задача минимум – просто получить среднее значение параметра по каждому фрагменту. Для чего я решила пойти по методу грида – имитация забора проб по сетке. На скане показаны точки, построенные по формуле 10% от корня площади. Но если бы удалось перенести целиком значения растра во фрагмент, то это дало бы возможность провести более сложную статистику - что также нужно для других целей. Пока кроме идеи вырезать растр контуром объекта... может быть, это и идея, но скорее годится для case study, т.е. единичных фрагментов.
Вложения
fragments_ex.jpg
fragments_ex.jpg (376.49 КБ) 4373 просмотра

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Задача с циклами в QGIS

Сообщение Natalia Novoselova » 26 окт 2017, 16:17

alexandr cherepanov писал(а):
26 окт 2017, 10:33
А зачем все эти манипуляции с точками если в конечном итоге все равно среднее?
Не проще на полных фрагментах зональную статистику посчитать?

Вот, нашла Zonal Statistics Plugin, по описанию – то, что надо (он вроде и реализует задачу анализа подстилающего растра при помощи полигона).
https://docs.qgis.org/2.2/en/docs/user_ ... statistics
Круто.... не помню в аркгис такого в зональной статистике (у меня уже были подобные задачи, как-то я их иначе решала)
Но сам плагин почему-то не видится в установках (нет активизации кнопки instull при его выборе) . Вместо этого указано:
Installed version: Version 0.1 (in C:/Program Files/QGIS2~1.18/apps/qgis/plugins/zonalstatisticsplugin.dll)

Нашла файл zonalstatisticsplugin.dll в установочном пакете QGIS 2.18
Как его поставить чтобы попробовать плагин?
Он же стоит. ))

Попробую его посмотреть.


П.С. Обсуждение ушло от первоначального вопроса, просто мне подсказали другое решение. Но вопрос с возможностями циклических операций - все еще остается. Хотя бы наводку, есть ли такие возможности в QGIS.

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

Re: Задача с циклами в QGIS

Сообщение trir » 26 окт 2017, 16:42

для этого есть python

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Задача с циклами в QGIS

Сообщение Natalia Novoselova » 26 окт 2017, 16:44

alexandr cherepanov писал(а):
26 окт 2017, 10:33
Не проще на полных фрагментах зональную статистику посчитать?

Да, здорово! Для этой задачи – лучшее решение. :) Плагин Zonal Statistics Plugin,посчитал по контуру каждого объекта все нужные параметры.
А КАК он это сделал? Мне хорошо бы понять его принцип работы... Когда по точкам - я сама вижу пробы и их частоту.. А он как считает?



Но вот еще вопрос в этой связи.

По другой задаче для того же проекта – мне надо изучить, как себя ведут параметры подстилающего растра (surftemper, NDVI, EVI, LAI, FPAR, GPP) при движении ОТ границ К центру фрагмента (который есть центр наибольшей вписанной во фрагмент окружности – уже построенные, с посчитанными координатами центров).
И здесь я тоже пока ничего лучшего не смогла придумать, кроме как (вручную, для некоторых фрагментов) сделать от руки профиль из таких точек от границы к центру. И после построить график эти параметров, изучить статистикой.
Может быть, здесь тоже есть какие-то способы, позволяющие грамотнее реализовать идею профиля от границ к центру..? :roll:
Вложения
zonal-stat.jpg
zonal-stat.jpg (72.84 КБ) 4347 просмотров

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

Re: Задача с циклами в QGIS

Сообщение Natalia Novoselova » 26 окт 2017, 17:26

trir писал(а):
26 окт 2017, 16:42
для этого есть python
Конечно, я многого прошу, но если бы на каждую задачу по SQL и Phython давался бы близкий пример ее решения (как вебинар или текстом) то это помогло бы , разобравшить на этом примере, войти и начать использовать. Пока же, каждый раз я не знаю, как начать решать – с самых азов все читать и разбираться в совсем новой логике сейчас нет времени, надо быстро делать проект. Хоть и держу себе задание попробовать освоить. Может и сделаю..

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Задача с циклами в QGIS

Сообщение ericsson » 26 окт 2017, 21:38

Дофига времени освободится, если перестать изливать поток создания и начать читать.

Константин Силкин
Завсегдатай
Сообщения: 420
Зарегистрирован: 21 мар 2012, 07:37
Репутация: 67
Откуда: Воронеж

Re: Задача с циклами в QGIS

Сообщение Константин Силкин » 28 ноя 2017, 23:27

Наталия, добрый вечер! А вам обязательно это в QGIS делать? В исходных данных только растры или векторные данные тоже?

Ответить

Вернуться в «QGIS»

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

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