Есть стопка из растров, представляющая временной ряд. Есть значения NoData - облака, иногда неправильно дешифрированный как облака снег. Поскольку местами пропуски данных составляют до 30% снимка r.fillnuls использовать не получается.
Идея использовать кусочную линейную регрессию для заполнения дыр за счет непустых значений из двух смежных по дате растров:
1. Сканируем растр, находим NoData пиксель.
2. Находим в стопке растров из временной серии два ближайших по дате не пустых значения.
3. Находим промежуточные значения между 2-мя известными.
4. Заполняем NoData.
Как лучше реализовать в GRASS? Растры для R великоваты. М.б. Есть готовые рецепты, задача то распространенная.
Сейчас смотрю в сторону GRASS7 + PyGRASS т.к. нужно, если я правильно понимаю, получить доступ к растру на уровне отдельного пикселя.
Пример рядов значений с дырками в приложении.
Временные ряды, заполнение пропусков данных
-
- Гуру
- Сообщения: 920
- Зарегистрирован: 30 дек 2008, 14:11
- Репутация: 236
- Откуда: Ханты-Мансийск
- Контактная информация:
Временные ряды, заполнение пропусков данных
- Вложения
-
- Выделение_004.png (37.72 КБ) 4554 просмотра
-
- Гуру
- Сообщения: 810
- Зарегистрирован: 22 авг 2007, 14:58
- Репутация: 123
- Откуда: Казань
Re: Временные ряды, заполнение пропусков данных
Была похожая тема:
там было несколько советов. Я в конце-концов остановился на R (сделал небольшую выборку данных, подобрал параметры), потом прогнал на всех данных в GRASS. Сейчас бы я наверное, использовал PyGRASS + линейную интерполяцию.
Код: Выделить всё
http://gis-lab.info/forum/viewtopic.php?f=14&t=9934
Кто сейчас на конференции
Сейчас этот форум просматривают: Ahrefs [Bot] и 6 гостей