Создание точек относительно площади полигона
-
- Участник
- Сообщения: 52
- Зарегистрирован: 06 июн 2018, 14:21
- Репутация: 3
- Откуда: Киев
Создание точек относительно площади полигона
Доброго времени суток уважаемые форумчане.
Возникла необходимость создания точек в каждом полигоне мультиполигона. Количество точек в полигоне должно зависеть от площади этого полигона. К примеру 1-10га - 1 точка, 10-20га- две точки итп. Стандартный инструмент "random points inside polygons" не подходит по причине одинакового количества точек во всех полигонах...
Подскажите пожалуйста, каким образом возможно решить подобную задачу?
Заранее благодарен.
С уважением,
athe.
Возникла необходимость создания точек в каждом полигоне мультиполигона. Количество точек в полигоне должно зависеть от площади этого полигона. К примеру 1-10га - 1 точка, 10-20га- две точки итп. Стандартный инструмент "random points inside polygons" не подходит по причине одинакового количества точек во всех полигонах...
Подскажите пожалуйста, каким образом возможно решить подобную задачу?
Заранее благодарен.
С уважением,
athe.
-
- Участник
- Сообщения: 86
- Зарегистрирован: 31 янв 2012, 10:51
- Репутация: 51
Re: Создание точек относительно площади полигона
Если речь о qgis, то задайте количество точек в инструменте выражением
Код: Выделить всё
int($area/10000)+1
-
- Участник
- Сообщения: 52
- Зарегистрирован: 06 июн 2018, 14:21
- Репутация: 3
- Откуда: Киев
Re: Создание точек относительно площади полигона
drrrrr, добрый день.
Попробовал ваш код. QGIS выдаёт ошибку. Вроде решился вопрос через:
Спасибо за совет.
Попробовал ваш код. QGIS выдаёт ошибку. Вроде решился вопрос через:
Код: Выделить всё
round(($area/10000)+1,0)
-
- Активный участник
- Сообщения: 186
- Зарегистрирован: 28 июл 2018, 08:40
- Репутация: 12
- Откуда: Киев
Re: Создание точек относительно площади полигона
athe, ежели не секрет, какую задачу решаете?
-
- Участник
- Сообщения: 52
- Зарегистрирован: 06 июн 2018, 14:21
- Репутация: 3
- Откуда: Киев
Re: Создание точек относительно площади полигона
_taras_, добрый день.
Не секрет конечно. На скрине выше- результат векторизации индекса вегетации. Мне необходимо получить более внятные участки для отбора образцов почвы. Я подумал что как вариант, можно было-бы присвоить точкам соответствующие значения, проинтерполировать и векторизировать снова. Пока правда толку особо нет, так как точки генерируются в полигонах рандомно, не покрывая участок равномерно.
Не секрет конечно. На скрине выше- результат векторизации индекса вегетации. Мне необходимо получить более внятные участки для отбора образцов почвы. Я подумал что как вариант, можно было-бы присвоить точкам соответствующие значения, проинтерполировать и векторизировать снова. Пока правда толку особо нет, так как точки генерируются в полигонах рандомно, не покрывая участок равномерно.
-
- Гуру
- Сообщения: 4057
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
-
- Активный участник
- Сообщения: 186
- Зарегистрирован: 28 июл 2018, 08:40
- Репутация: 12
- Откуда: Киев
Re: Создание точек относительно площади полигона
athe, так скорее вы типы растительности определите по индексу. Возможно стоит попробовать добавить данные SRTM и slope-aspect?
Нашел видео где решают примерно Вашу задачу - создание стратифицированной случайной выборки для планированиябор проб в поле (https://www.youtube.com/watch?v=oFK70FBPxCw)
Кстати для Украины сделана интерактивная карта почв (https://superagronom.com/karty/karta-gr ... ainy#close)
Нашел видео где решают примерно Вашу задачу - создание стратифицированной случайной выборки для планированиябор проб в поле (https://www.youtube.com/watch?v=oFK70FBPxCw)
Кстати для Украины сделана интерактивная карта почв (https://superagronom.com/karty/karta-gr ... ainy#close)
-
- Участник
- Сообщения: 52
- Зарегистрирован: 06 июн 2018, 14:21
- Репутация: 3
- Откуда: Киев
Re: Создание точек относительно площади полигона
gamm, _taras_, здравствуйте.
Gamm, не могли-бы вы уточнить по поводу регулярных точек и оверлейного запроса? Я попробовал использовать инструмент "Regular points", но он проставляет точки в пределах крайних точек слоя и никак не работает с отдельными полигонами (как это работает с инструментом "random points inside polygons").
Значения из растра вегетационного индекса. В данный момент сами данные не так важны, я просто пытаюсь понять, имеет-ли право на жизнь подобный метод..?
_taras_, тип растительности известен и методика расчёта растра на данный момент имеет скорей второстепенное значение. Основная проблема в том, что в результате векторизации я получаю вектор с большим количеством полигонов, который я вынужден искусственно загрублять для удобства использования. В работе использую данные Alos. Мне казалось они точней SRTM(?) До стратифицированной случайной выборки пока не добрался, но посмотрю обязательно. Благодарю за информацию.
Gamm, не могли-бы вы уточнить по поводу регулярных точек и оверлейного запроса? Я попробовал использовать инструмент "Regular points", но он проставляет точки в пределах крайних точек слоя и никак не работает с отдельными полигонами (как это работает с инструментом "random points inside polygons").
Значения из растра вегетационного индекса. В данный момент сами данные не так важны, я просто пытаюсь понять, имеет-ли право на жизнь подобный метод..?
_taras_, тип растительности известен и методика расчёта растра на данный момент имеет скорей второстепенное значение. Основная проблема в том, что в результате векторизации я получаю вектор с большим количеством полигонов, который я вынужден искусственно загрублять для удобства использования. В работе использую данные Alos. Мне казалось они точней SRTM(?) До стратифицированной случайной выборки пока не добрался, но посмотрю обязательно. Благодарю за информацию.
-
- Гуру
- Сообщения: 4057
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
-
- Участник
- Сообщения: 52
- Зарегистрирован: 06 июн 2018, 14:21
- Репутация: 3
- Откуда: Киев
Re: Создание точек относительно площади полигона
gamm,
Моя задача состоит в том, чтобы получить укрупненные участки. В идеале- 5-10 полигонов. В данный момент вектор состоит из 894 полигонов, 875 из которых- меньше половины гектара. Я подумал, если установить в полигонах регулярные точки (совсем мелкие полигоны проигнорировать), то вследствие интерполяции и последующей векторизации- смогу получить более-менее требуемый результат. Понимаю что звучит это странно, я просто ищу вариант решения своего вопроса.
Спасибо.
Моя задача состоит в том, чтобы получить укрупненные участки. В идеале- 5-10 полигонов. В данный момент вектор состоит из 894 полигонов, 875 из которых- меньше половины гектара. Я подумал, если установить в полигонах регулярные точки (совсем мелкие полигоны проигнорировать), то вследствие интерполяции и последующей векторизации- смогу получить более-менее требуемый результат. Понимаю что звучит это странно, я просто ищу вариант решения своего вопроса.
Спасибо.
-
- Гуру
- Сообщения: 4057
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1054
- Ваше звание: программист
- Откуда: Казань
Re: Создание точек относительно площади полигона
попробуйте задачу сформлировать, пока один туман
пока более-менее ясно следующее:
1) еть набор полигонов неясной этиологии - результат построения ландшафтной карты на основе рельефа?
2) есть растр NDVI
3) есть желание генерализовать полигоны. Чем тут NDVI поможет? если нужно его участи в построении ландшафтной карты, то лучше использовать весь снимок при построении ландшафтных выделов. Хотя для почв важнее рельеф, в том числе нелокальние характеристики, типа длины линий тока и специфической водосборной площади. Если нужна карта растительности, то лучше использовать весь снимок.
Если нужна генерализация полигонов, то лучше снести полигоны на растр, и использовать морфологические операции, в Питоне их есть, вроде и через QGIS можно добраться. А еще лучше генерализовать классы на растре, перед векторизацией полигонов.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 37 гостей