как в GDAL маскирование делается?

Ответить
kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

как в GDAL маскирование делается?

Сообщение kryl » 21 окт 2010, 08:37

Как в GDAL маскирование делается по растровой маске?

Trace
Активный участник
Сообщения: 153
Зарегистрирован: 14 окт 2009, 05:07
Репутация: 0
Откуда: Красноярск
Контактная информация:

Re: как в GDAL маскирование делается?

Сообщение Trace » 24 окт 2010, 13:15

т.е вы имеете в виду замещение данных одного слоя. данными другого слоя?

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: как в GDAL маскирование делается?

Сообщение kryl » 24 окт 2010, 13:52

На входе: 1 многоканальный растр и 1 1битный
На выходе должен получатся многоканальный растр, в котором растре должны быть равны 0 все пиксели во всех каналах, которые равны 0 в 1 битном растре, а остальные должны быть как в исходном многоканальном растре.

Trace
Активный участник
Сообщения: 153
Зарегистрирован: 14 окт 2009, 05:07
Репутация: 0
Откуда: Красноярск
Контактная информация:

Re: как в GDAL маскирование делается?

Сообщение Trace » 25 окт 2010, 05:00

Можно попробовать gdal_merge.py
для этого попробуйте ввести следующую команду:
gdal_merge -o rezult.tif -pct -n 1 rastr.tif mask.tif
для растров в индексной палитре параметр "-pct" обязателен, параметр "-n 1" задает значение "nodata_value". в моем слуечае получается "1"
Но вот в вашем случае я затрудняюсь, но можно попробовать растровый калькулятор для кугис, или обрезку по вектору.

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

Re: как в GDAL маскирование делается?

Сообщение ericsson » 28 окт 2010, 19:49

Если растры совпадают, можно сделать dump привязки и воспользоваться ImageMagick (см. http://www.imagemagick.org/Usage/compose/ ), потом вернуть привязку на место.

Trace
Активный участник
Сообщения: 153
Зарегистрирован: 14 окт 2009, 05:07
Репутация: 0
Откуда: Красноярск
Контактная информация:

Re: как в GDAL маскирование делается?

Сообщение Trace » 29 окт 2010, 10:55

если есть возможность выложите маленькие фрагменты растров для эксперимента.

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: как в GDAL маскирование делается?

Сообщение kryl » 21 апр 2011, 08:10

Не появилось свежих идей? Я на выходных мучился через GRASS (это же надо сначала импорт, потом саму маску, потом экспорт)

Voltron
Гуру
Сообщения: 2627
Зарегистрирован: 29 мар 2007, 14:12
Репутация: 34
Откуда: Ukraine

Re: как в GDAL маскирование делается?

Сообщение Voltron » 21 апр 2011, 09:31

Ваша задача решается элементарным скриптом на Python. Здесь есть вся необходимая информация

Аватара пользователя
Denis Rykov
Гуру
Сообщения: 3376
Зарегистрирован: 11 апр 2008, 21:09
Репутация: 529
Ваше звание: Author
Контактная информация:

Re: как в GDAL маскирование делается?

Сообщение Denis Rykov » 21 апр 2011, 10:07

В QGIS с помощью RasterCalc можно сделать так:

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

eq([raster]@1*[mask]@1, 0, 0)
Повторить для всех каналов.
Spatial is now, more than ever, just another column- The Geometry Column.

kryl
Завсегдатай
Сообщения: 324
Зарегистрирован: 14 фев 2010, 20:42
Репутация: 0

Re: как в GDAL маскирование делается?

Сообщение kryl » 21 апр 2011, 16:01

А raster Calc может сохранять результат в виде мульти канального файла?

Ответить

Вернуться в «GDAL/OGR»

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

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