[GRASS-dev] Re: [GRASS GIS] #1401: r.series for time series
GRASS GIS
trac at osgeo.org
Mon Jul 11 04:44:08 EDT 2011
#1401: r.series for time series
---------------------------------+------------------------------------------
Reporter: mmetz | Owner: grass-dev@…
Type: enhancement | Status: new
Priority: normal | Milestone: 7.0.0
Component: Raster | Version: svn-trunk
Keywords: raster, time series | Platform: All
Cpu: All |
---------------------------------+------------------------------------------
Comment(by mmetz):
Replying to [comment:4 glynn]:
> Replying to [comment:3 mmetz]:
>
> The more I think about it, the less sense this patch appears to make.
>
> Filtering would make sense if you were generating a (time-domain)
filtered version of the data (with the filter radius on the order of the
sample interval) then computing the aggregate over the filtered data (i.e.
a 1-dimensional analogue of r.resamp.filter as a pre-processing stemp),
but that isn't what's happening.
>
> Computing a weighted aggregate would make sense if the weights were
inputs, e.g. "confidence" measures for individual maps or individual
cells. It might also make sense with calculated weights where the
weighting function had some theoretical basis (e.g. weight decreasing with
age). But that isn't what's happening either.
>
> Maybe I'm missing something, but I can't see how any of the
r.resamp.filter functions actually make sense as a weighting function for
time-series data.
I came up with this path because I want to do NULL cell interpolation in
time. The time series data need to change gradually over time, e.g. NDVI
or temperature, not e.g. daily rainfall.
I will try to explain the motivation for this patch with an example. MODIS
16 day NDVI comes with many NULL cells. Spatial interpolation of these
NULL cells is problematic because NDVI does not necessarily change
gradually in space. NDVI changes gradually in time for most natural land
cover types if the time steps are not too large. I assume that NDVI at a
given time step will be more similar to the next or previous time step and
less similar to, say, 5 time steps before or ahead. Therefore I want to
give higher weight to time steps closer to the given time step instead of
using a simple arithmetic mean.
More accurate would probably be some interpolation method. I can not use
the Rast_interp_*() methods because they return NULL if any of the input
values is NULL, instead I would need a non-uniform method as implemented
in the RST and lidar (bspline) libs, but for 1D.
Since NDVI is cyclic, an FFT approach would also be an option, but again
FFT can not handle NULL cells, NULLs need to be replaced first with a
reasonable fill value.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/1401#comment:5>
GRASS GIS <http://grass.osgeo.org>
More information about the grass-dev
mailing list