Модуль r.series.filter ГИС GRASS

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
Эта страница является черновиком статьи.


Назначение модуля

Модуль r.series.filter -- это модуль для геоинформационной системы GRASS, предназначенный для обработки временных рядов растровых данных, в первую очередь вегетационных индексов. Модуль производит очистку от шумов временных рядов с использованием различных фильтров (медианый фильтр, фильтр Савицкого-Голея). Модуль может использоваться для очистки от шумов временных рядов произвольной природы, однако одной из важных особенностей модуля является поддерка фильтрации данных вегетационных индексов. Для обработки таких рядов модуль реализует процедуру фильтрации, предложенную в статье "Chen J. et al. A simple method for reconstructing a high-quality NDVI time-series data set based on the Savitzky–Golay filter //Remote sensing of Environment. – 2004. – Т. 91. – №. 3. – С. 332-344.". Основная идея этого фильтра опирается на то, что шумы в значениях вегетационных индексов обычно индуцируются условиями съемки и атмосферными явлениями, которые занижают зачения индекса. В очень упрощенном виде можно сказать, что предлагаемая в указанной статье методика производит отбраковку низких значений индекса и производит фильтрацию по верхним значениям анализируемого временного ряда.

Установка

Модуль был написан на языке Python и предназначен для работы в GRASS GIS седьмой версии. В модуле используются библиотека scipy.signal, входящая в состав пакета SciPy. Поэтому перед началом работы в интерпретатор Python, используемый в GRASS, следует установить SciPy.

После установки SciPy появится возможность установить сам модуль r.series.filter. Данный модуль доступен в репозитории модулей GRASS ADDONS, поэтому его установка производится автоматически, если использовать модуль g.extension (вызываемый из графического интерфейса пользователя или командной строки). Например, можно использовать следущюую команду:

g.extension r.series.filter

В результате модуль будет выкачан и установлен.

Особенности работы и примеры

Параметры модуля и их назначение

Модуль находится в состоянии разработки, это означает, что в него будут добавляться новые возможности. На момент написания статьи модуль использует следующие параметры и ключи (показаны наиболее важные):

r.series.filter [-cu] input=string[,string,...] result_prefix=string
  [method=string] [winsize=value] [order=value] [opt_points=value]
  [diff_penalty=value] [deriv_penalty=value] [iterations=value]
Flags:
  -c   Try to find optimal parameters for filtering
  -u   Fit the result curve by upper boundary
Parameters:
         input   Raster names of equally spaced time series.
 result_prefix   Prefix for raster names of filtered X(t)
        method   Used method
                 default: savgol
       winsize   Length of running window for the filter
                 default: 9
         order   Order of the Savitzky-Golay filter
                 default: 2
    opt_points   Count of random points used for parameter optimization
                 default: 50
  diff_penalty   Penalty for difference between original and filtered signals
                 default: 1.0
 deriv_penalty   Penalty for big derivates of the filtered signal
                 default: 1.0
    iterations   Number of iterations
                 default: 1