[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