Добрый день,
Помогите реализовать задачу как-то рационально ( не вручную).
В общем есть 1 растр и много мелких полигонов, которые попадают на этот растр. Нужно получить много мелких растров по границам полигона.
Нашел несколько туториалов в сети на Python, но не получается адаптировать.
Может кто-то подскажет инструмент, или у кого-то есть каки-то готовые шаблоны.
Софт: ArcGis, QGIS, Saga
Огромное спасибо заранее!
Обрезка растра множеством полигонов.
-
- Участник
- Сообщения: 58
- Зарегистрирован: 18 янв 2013, 10:27
- Репутация: 0
- Откуда: Бишкек Киргизия
-
- Гуру
- Сообщения: 4064
- Зарегистрирован: 15 окт 2010, 08:33
- Репутация: 1061
- Ваше звание: программист
- Откуда: Казань
Re: Обрезка растра множеством полигонов.
не очень понятно, в чем проблема - сначала запишите каждый полигон в свой файл (в том же Питоне, или R), а потом нарезайте, тем же Питоном, или gdal
- antonv
- Активный участник
- Сообщения: 229
- Зарегистрирован: 29 ноя 2016, 10:44
- Репутация: 114
- Откуда: Санкт-Петербург
Re: Обрезка растра множеством полигонов.
neroznik, если задачу решать в QGIS, то алгоритм таков:
1) сначала "разобрать" файл с полигонами на много отдельных файлов, в каждом из которых будет один-единственный полигон. Для этого можно воспользоваться инструментом Vector > Data Management Tools > Split Vector Layer. Инструмент разбивает слой исходя из значений какого-либо поля. Чтобы получить поле, в котором для каждого из полигонов был свой уникальный номер, в калькуляторе полей нужно применить функцию $rownum.
2) открыть диалог обрезки растров Raster > Extraction > Crop raster by mask layer и нажать в левом нижнем углу кнопку, которая открывает пакетный режим. Выбрать во всех полях один растр, и все нужные векторные слои.
1) сначала "разобрать" файл с полигонами на много отдельных файлов, в каждом из которых будет один-единственный полигон. Для этого можно воспользоваться инструментом Vector > Data Management Tools > Split Vector Layer. Инструмент разбивает слой исходя из значений какого-либо поля. Чтобы получить поле, в котором для каждого из полигонов был свой уникальный номер, в калькуляторе полей нужно применить функцию $rownum.
2) открыть диалог обрезки растров Raster > Extraction > Crop raster by mask layer и нажать в левом нижнем углу кнопку, которая открывает пакетный режим. Выбрать во всех полях один растр, и все нужные векторные слои.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя