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

Программы и алгоритмы для обработки данных дистанционного зондирования: ERDAS, ENVI и другие.
Ответить
Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

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

Сообщение Natalia Novoselova » 08 ноя 2017, 02:34

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


Если такого нет, то как оптимально решить такую задачу?
Вложения
ex.jpg
ex.jpg (217.81 КБ) 5412 просмотров

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

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

Сообщение ericsson » 08 ноя 2017, 12:33


Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

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

Сообщение Natalia Novoselova » 08 ноя 2017, 15:08

ericsson писал(а):
08 ноя 2017, 12:33
http://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й снимкок. И так далее..

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

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

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

Сообщение rhot » 08 ноя 2017, 15:54

Первый растр: A (NoData==0)
Второй растр (продукт с датой на неделю позже): B

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

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

("A@1"=0) * "B@1" + ("A@1"!=0) * "A@1"
___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

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

Сообщение Natalia Novoselova » 08 ноя 2017, 16:18

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

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

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

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

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

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

Аватара пользователя
rhot
Гуру
Сообщения: 1727
Зарегистрирован: 25 янв 2011, 17:50
Репутация: 194
Ваше звание: доктор
Откуда: Архангельск

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

Сообщение rhot » 08 ноя 2017, 16:39

___________(¯`·.¸(¯`·.¸ Scientia potentia est _/ {SILVA}:::{FOSS}:::{GIS} \_ Знание сила ¸.·´¯)¸.·´¯)___________

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

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

Сообщение ericsson » 08 ноя 2017, 23:13

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

Аватара пользователя
Natalia Novoselova
Гуру
Сообщения: 3020
Зарегистрирован: 15 янв 2013, 20:14
Репутация: 69
Ваше звание: Лиса
Откуда: **
Контактная информация:

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

Сообщение Natalia Novoselova » 09 ноя 2017, 00:33

Спасибо за ссылки. Попробую разобраться.

Ответить

Вернуться в «Обработка ДДЗ»

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

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