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

On Sun, Oct 30, 2016 at 12:37 PM, Nikos Alexandris
<n...@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
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to