Как в GRASS GIS 6.44 исключить (вырезать) из растра Null?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
Да, команда "r.mask -r" удаляет текущую растровую маску.
Если после <r.null> что-то идёт не так, рекомендую импортировать растры заново и повторить цикл (я не зря говорил выше про работу с копиями).
Если после <r.null> что-то идёт не так, рекомендую импортировать растры заново и повторить цикл (я не зря говорил выше про работу с копиями).
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 63
- Зарегистрирован: 07 окт 2014, 12:08
- Репутация: 2
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
И еще вопрос: если мне понадобится заново импортировать растр и я просто удалю то, что мне ненужно из списка отображаемых, значит ли это, что он вообще удалится из набора, или просто не будет отображаться в данном рабочем пространстве?
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
После всех операций у вас просто создана маска, которая отсекает "бахрому" и null-значения в отображаемом на экране растре. Чтобы получить новый "очищенный" растр, нужно выполнить:kclo писал(а):Как можно еще проверить то ли получилось, что нужно?
Код: Выделить всё
r.mapcalc 'LT51700271987166XXX02_B3.clean = LT51700271987166XXX02_B3'
Удаление из списка слоёв не влияет на состояние самих данных в наборе. Чтобы удалить из набора, используйте <g.remove> или <g.mremove>. Если при импорте у вас будет активна опция "перезаписать данные", то растр будет перезаписан.kclo писал(а): И еще вопрос: если мне понадобится заново импортировать растр и я просто удалю то, что мне ненужно из списка отображаемых, значит ли это, что он вообще удалится из набора, или просто не будет отображаться в данном рабочем пространстве?
Окончательно убедиться, что получилось "как надо", можно только сделав по растру диаграммы в Матлабе.
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 63
- Зарегистрирован: 07 окт 2014, 12:08
- Репутация: 2
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
Спасибо Вам огромное за помощь!
Просто камень с плеч!
Просто камень с плеч!
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
Если вам надо обрабатывать таким образом много сцен со всеми каналами, то это надо будет автоматизировать скриптом на Питоне. Как именно это делается, давайте разбираться отдельно. Или можно вместо этого сочинить модель в wxGUI.Modeler.
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 63
- Зарегистрирован: 07 окт 2014, 12:08
- Репутация: 2
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
Здравствуйте!
Думаю, скрипт был бы очень кстати тут. Буду очень благодарна, если поможете с этим.
Прямо сейчас мне требуется всего 2 сцены по 6 каналов, но недели через 2 нужны будут и другие, и немало.
Думаю, скрипт был бы очень кстати тут. Буду очень благодарна, если поможете с этим.
Прямо сейчас мне требуется всего 2 сцены по 6 каналов, но недели через 2 нужны будут и другие, и немало.
-
- Участник
- Сообщения: 63
- Зарегистрирован: 07 окт 2014, 12:08
- Репутация: 2
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
Хочу добавить еще тут один момент, возможно очевидный для знатоков, но ставший для меня сюрпризом. Может, кому тоже такой опыт пригодится:
При попытке экспортировать файл в формат .hdf все удаленные Null откуда-то взялись обратно, а вот если экспортировать в .tif, то все ОК
При попытке экспортировать файл в формат .hdf все удаленные Null откуда-то взялись обратно, а вот если экспортировать в .tif, то все ОК
-
- Участник
- Сообщения: 63
- Зарегистрирован: 07 окт 2014, 12:08
- Репутация: 2
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
Здравствуйте!
Попыталась сделать то же самое в Грасс 7, но возникла проблема. Седьмому Грассу не нравится "in" . Как только доходит до этой операции, все заканчивается.
что-то поменялось, но что написать вместо этого, не пойму.
Рылась в мануалах на сайте - что-то не нашла, как решить проблему
Кто-нибудь знает?
Попыталась сделать то же самое в Грасс 7, но возникла проблема. Седьмому Грассу не нравится "in" . Как только доходит до этой операции, все заканчивается.
что-то поменялось, но что написать вместо этого, не пойму.
Рылась в мануалах на сайте - что-то не нашла, как решить проблему
Кто-нибудь знает?
-
- Участник
- Сообщения: 63
- Зарегистрирован: 07 окт 2014, 12:08
- Репутация: 2
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
4я строчкаАлександр Мурый писал(а):Попробуйте такую последовательность команд (здесь "landsat_B1" - условный растр для примера):
Код: Выделить всё
g.region rast=landsat_B1 r.null landsat_B1 setnull=0 r.mapcalc "landsat_B1.mask = if(isnull(landsat_B1))" r.mask in=landsat_B1.mask maskcats=0
-
- Гуру
- Сообщения: 5173
- Зарегистрирован: 26 сен 2009, 16:26
- Репутация: 793
- Ваше звание: званий не имею
- Откуда: Москва
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
Если верить мануалу, надо заменить "in" на "raster".
Редактор материалов, модератор форума
-
- Участник
- Сообщения: 63
- Зарегистрирован: 07 окт 2014, 12:08
- Репутация: 2
Re: Как в GRASS GIS 6.44 исключить (вырезать) из растра Null
Да, все получилось! спасибо!
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей