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

Задача по заполнению nodata из продуктов за разные даты

Добавлено: 08 ноя 2017, 02:34
Natalia Novoselova
Скачиваю продукты MODIS на территорию за определенную дату. И внутри продукта есть большие прогалы NoData (несмотря на то, что продукты 8-16 дневные композиты, почему-то они есть). Если скачать на ту же территорию продукт с датой на неделю позже – то прогалы частично им покрываются.
Мой вопрос. Есть ли такая операция (В QGIS или еще где-то), которая позволяет сделать из серии выбранных продуктов один растр так, чтобы все пустоты NoData заполнились? То есть там, где в одном пустота из Nodata он берет пикселы из другого продукта. А где есть значения, то оставляет их без изменения.


Если такого нет, то как оптимально решить такую задачу?

Re: Задача по заполнению nodata из продуктов за разные даты

Добавлено: 08 ноя 2017, 12:33
ericsson

Re: Задача по заполнению nodata из продуктов за разные даты

Добавлено: 08 ноя 2017, 15:08
Natalia Novoselova
ericsson писал(а): 08 ноя 2017, 12:33http://www.qgistutorials.com/en/docs/ra ... pping.html
По ссылке нет моего случая, не?
We will download some public domain raster data for Brazil and view it in QGIS. Next, we will merge these into a single mosaic and clip it using a country boundary to get a single seamless dataset for the count
Они просто скачивают тайлы, их слеивают в один растр и вырезают контуром страны.

Моя задача - заполнить прогалы NoData из разных снимков или продуктов. По сути, как кажется, эта операция (выборка лучших значений) уже должна быть проделана в композите. Но вот почему-то огромные прогалы.

Можно вручную, наверное, 1м шагом сделать маску на всю NoData 1-го снимка, присвоив ей значение "1". Затем эту маску умножить на 2-й снимок, в котором визуально будут закрыты большие прогалы. Прибавить полученное к 1-му. Опять выудить оставшиеся NoData - умножить на 3й снимкок. И так далее..

Может быть, есть что-то автоматическое для такой процедуры?

Re: Задача по заполнению nodata из продуктов за разные даты

Добавлено: 08 ноя 2017, 15:54
rhot
Первый растр: A (NoData==0)
Второй растр (продукт с датой на неделю позже): B

В растровом калькуляторе QGIS:

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

("A@1"=0) * "B@1" + ("A@1"!=0) * "A@1"

Re: Задача по заполнению nodata из продуктов за разные даты

Добавлено: 08 ноя 2017, 16:18
Natalia Novoselova
rhot писал(а): 08 ноя 2017, 15:54Первый растр: A (NoData==0)
Второй растр (продукт с датой на неделю позже): B

В растровом калькуляторе QGIS:

Не поняла. Что значит "Первый растр: A (NoData==0)"?
Это Первый растр, в котором всем NoData присвоено значение "0"? Тогда "A@1"=0) * "B@1" будет ноль разве нет?

И Второй растр (продукт с датой на неделю позже): B А в нем ведь есть свое NoData, чему оно равно?

Общая идея использовать растровый калькулятор понятна, но конкретики не хватает. Кажется, все-таки формула не все учиытвает

Но, наверное, я его просто не понимаю. Что означает каждое выражение в формуле, не могли бы пояснить? Попробую разобраться в формуле.

Re: Задача по заполнению nodata из продуктов за разные даты

Добавлено: 08 ноя 2017, 16:39
rhot

Re: Задача по заполнению nodata из продуктов за разные даты

Добавлено: 08 ноя 2017, 23:13
ericsson
Natalia Novoselova писал(а): 08 ноя 2017, 15:08о ссылке нет моего случая, не?
По ссылке есть пример использования общих принципов работы с NoData, это то, с чего этот tutorial начинается, а обрезка там уже во второй части. Если вы не умеете читать - не могу вас научить.

Re: Задача по заполнению nodata из продуктов за разные даты

Добавлено: 09 ноя 2017, 00:33
Natalia Novoselova
Спасибо за ссылки. Попробую разобраться.