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