Страница 1 из 1

Создание точек относительно площади полигона

Добавлено: 06 апр 2021, 16:16
athe
Доброго времени суток уважаемые форумчане.
Возникла необходимость создания точек в каждом полигоне мультиполигона. Количество точек в полигоне должно зависеть от площади этого полигона. К примеру 1-10га - 1 точка, 10-20га- две точки итп. Стандартный инструмент "random points inside polygons" не подходит по причине одинакового количества точек во всех полигонах...
Подскажите пожалуйста, каким образом возможно решить подобную задачу?
Изображение
Заранее благодарен.
С уважением,
athe.

Re: Создание точек относительно площади полигона

Добавлено: 06 апр 2021, 17:50
drrrrr
Если речь о qgis, то задайте количество точек в инструменте выражением

Код: Выделить всё

int($area/10000)+1

Re: Создание точек относительно площади полигона

Добавлено: 07 апр 2021, 14:05
athe
drrrrr, добрый день.
Попробовал ваш код. QGIS выдаёт ошибку. Вроде решился вопрос через:

Код: Выделить всё

round(($area/10000)+1,0)
Спасибо за совет.

Re: Создание точек относительно площади полигона

Добавлено: 07 апр 2021, 15:08
_taras_
athe, ежели не секрет, какую задачу решаете?

Re: Создание точек относительно площади полигона

Добавлено: 07 апр 2021, 16:43
athe
_taras_, добрый день.
Не секрет конечно. На скрине выше- результат векторизации индекса вегетации. Мне необходимо получить более внятные участки для отбора образцов почвы. Я подумал что как вариант, можно было-бы присвоить точкам соответствующие значения, проинтерполировать и векторизировать снова. Пока правда толку особо нет, так как точки генерируются в полигонах рандомно, не покрывая участок равномерно.

Re: Создание точек относительно площади полигона

Добавлено: 07 апр 2021, 17:27
gamm
athe писал(а):
06 апр 2021, 16:16
оличество точек в полигоне должно зависеть от площади этого полигона
кто мешает накинуть регулярную сетку точек, и оверлейным запросом отнести к полигонам?
athe писал(а):
07 апр 2021, 16:43
присвоить точкам соответствующие значения
а откуда значения?

Re: Создание точек относительно площади полигона

Добавлено: 07 апр 2021, 17:33
_taras_
athe, так скорее вы типы растительности определите по индексу. Возможно стоит попробовать добавить данные SRTM и slope-aspect?
Нашел видео где решают примерно Вашу задачу - создание стратифицированной случайной выборки для планированиябор проб в поле (https://www.youtube.com/watch?v=oFK70FBPxCw)
Кстати для Украины сделана интерактивная карта почв (https://superagronom.com/karty/karta-gr ... ainy#close)

Re: Создание точек относительно площади полигона

Добавлено: 08 апр 2021, 13:12
athe
gamm, _taras_, здравствуйте.
Gamm, не могли-бы вы уточнить по поводу регулярных точек и оверлейного запроса? Я попробовал использовать инструмент "Regular points", но он проставляет точки в пределах крайних точек слоя и никак не работает с отдельными полигонами (как это работает с инструментом "random points inside polygons").
Значения из растра вегетационного индекса. В данный момент сами данные не так важны, я просто пытаюсь понять, имеет-ли право на жизнь подобный метод..?

_taras_, тип растительности известен и методика расчёта растра на данный момент имеет скорей второстепенное значение. Основная проблема в том, что в результате векторизации я получаю вектор с большим количеством полигонов, который я вынужден искусственно загрублять для удобства использования. В работе использую данные Alos. Мне казалось они точней SRTM(?) До стратифицированной случайной выборки пока не добрался, но посмотрю обязательно. Благодарю за информацию.

Re: Создание точек относительно площади полигона

Добавлено: 08 апр 2021, 15:45
gamm
athe писал(а):
08 апр 2021, 13:12
Значения из растра вегетационного индекса
Так если растр есть, то на кой его на точки переносить, а потом интерполировать, и тот же растр получить? Чтобы статистики с растра снять по полигонам, есть "зональные статистики", ищите в мануале ...

Re: Создание точек относительно площади полигона

Добавлено: 09 апр 2021, 09:25
athe
gamm,
Моя задача состоит в том, чтобы получить укрупненные участки. В идеале- 5-10 полигонов. В данный момент вектор состоит из 894 полигонов, 875 из которых- меньше половины гектара. Я подумал, если установить в полигонах регулярные точки (совсем мелкие полигоны проигнорировать), то вследствие интерполяции и последующей векторизации- смогу получить более-менее требуемый результат. Понимаю что звучит это странно, я просто ищу вариант решения своего вопроса.
Спасибо.

Re: Создание точек относительно площади полигона

Добавлено: 09 апр 2021, 11:37
gamm
athe писал(а):
09 апр 2021, 09:25
ищу вариант
попробуйте задачу сформлировать, пока один туман :mrgreen:
пока более-менее ясно следующее:
1) еть набор полигонов неясной этиологии - результат построения ландшафтной карты на основе рельефа?
2) есть растр NDVI
3) есть желание генерализовать полигоны. Чем тут NDVI поможет? если нужно его участи в построении ландшафтной карты, то лучше использовать весь снимок при построении ландшафтных выделов. Хотя для почв важнее рельеф, в том числе нелокальние характеристики, типа длины линий тока и специфической водосборной площади. Если нужна карта растительности, то лучше использовать весь снимок.

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