[GRASS-user] Extracting vegetation phenology from Landsat-based time series

Nikos Alexandris nik at nikosalexandris.net
Mon Oct 31 02:06:46 PDT 2016


* Markus Metz <markus.metz.giswork at gmail.com> [2016-10-30 22:30:46 +0100]:

>On Sun, Oct 30, 2016 at 12:37 PM, Nikos Alexandris
><nik at nikosalexandris.net> wrote:
>> Nikos Alexandris:
>>
>>>> is there a GRASS-native, of GRASS-friendly, practical tool or tutorial
>>>> or implementation of models, as in the TIMESAT [0] software or SPIRITS
>>>> [1], to exctract phenological parameters from NDVI (or, preferrably
>>>> EVI2) times series?
>>>>
>>>> Thank you, Nikos
>>>>
>>>> [0] http://web.nateko.lu.se/timesat/timesat.asp
>>>> [1] http://spirits.jrc.ec.europa.eu/download/software/
>>
>>
>> Sajid Pareeth:
>>>
>>> I was also looking for the same functionalities very recently. Closest
>>> solution i could find is the 'greenbrown' package in R. Atleast we could
>>> make use of the GRASS-R interface to implement the work flow.
>>>
>>> Phenology function in this package has a good comprehensive list of
>>> functions as in timestat and spirits.
>>> See fig4 here: http://greenbrown.r-forge.r-project.org/phenology.php
>>>
>>> If you find anything else, please do post here.
>>>
>>> And above all, it would be really great to have these functionalities in
>>> GRASS ;)
>>
>>
>> Thank you Sajid.
>>
>> As I am not an expert in cropping cycles monitoring, I
>> naively thought there would be more or less some ready to use tools in
>> the GFOSS domain (TIMESAT requires Matlab, SPIRITS works only under
>> Windows).
>>
>> R is good, but there is still the back-and-forth step.  There is also a
>> "french" tool for QGIS:
>> https://plugins.qgis.org/plugins/VERSAO_VegaMonitor/
>>
>> At the moment I am looking for an over-simplified way to just
>> hint/classify surfaces on which multiple cropping cycles per year take
>> place (related to industrial agricultural surfaces).  Something to get
>> going.
>>
>> Given TGRASS, if we find a practical algorithm, it shouldn't be too hard
>> to implement it GRASS-natively.

Markus M:

>[ currently trying to get a grip on MODIS version 6 time series ]
>
>In theory, extracting seasons such as cropping cycles is quite easy to
>implement: whenever a parameter in a time series is above/below a
>given threshold, start/stop the season. The question is how to store
>the results for multiple cropping cycles: a separate raster for each
>cycle and each start and stop date?

May Yann's addon i.lmf (Temporal Local Maximum Fitting of vegetation
indices) be useful within the context? (can't test it, it
segfaults and I have no time to debug these days).

Nikos

>For preparation, I think that GRASS needs more tools to remove
>outliers and fill gaps in time series. A commonly used tool is local
>weighted regression, also known as LOESS or LOWESS.
>
>I would like to have a module like r.series.lwr (local weighted
>regression) in GRASS with the options
>
> * order=1,2,3 with 1 = linear regression, 2 = second order polynomial
>regression, 3 = third order polynomial regression
> * dod = degree of over-determination because for e.g. linear
>regression you need only 2 data points but that gives an exact fit and
>does not remove outliers, so a number of additional points
>(over-determination) is needed for smoothing. The number of additional
>points should not be too large, otherwise local real fluctuations can
>not be represented by the regression and are smoothed out.
> * weighing function: default tricube, additional options uniform,
>triangular, epanechnikov, quartic, triweight, cosine
> * extreme: iteratively replace outliers with the estimate until a
>given goodness of fit (e.g. coefficient of determination) is obtained
>
>Output: one output for each input map.
>
>Currently I am using r.hants a lot, but r.hants assumes more or less
>regular cycles in the time series (e.g. NDVI) and fits a single
>function to the complete time series, while a local weighted
>regression can work with much less points and can still capture
>short-term non-linear fluctuations.
>
>Markus M


More information about the grass-user mailing list