3

Maybe a data management problem, not too sure, but likely a challenge which someone has dealt with before.

I have a time series of rasters. I can summarise the information by taking averages of each raster and then plotting the averages with time (which is what is shown in the image). I also want to show a spatial representation and produce a map of the interpolated history on the polygon area of a site.

Fittedcurve

The green data points are the averages from each of the rasters. The fine dashed line is the expected/modelled performance. The red line with square data points is the hand fitted curve of what I "know to be true", something between the model and the measured values, an interpolation.

Unfortunately the relationship with time is not amenable to regression, at least not with any of the simplistic tools I use. Note that there is tail on the curve which the model shows but the lack of measurements at that time is ignorant of.

I would like the hand fitted curve/model to be modified by each of the rasters so that a final map can be created. The extent of variation is about 0.9 - 1.35 on the max values, this substantial when the whole lot are summed.

Experienced workers will recognise the feature being plotted, thats great, but I suspect it would be a common problem in many other disciplines as well.

I am looking for solutions I could implement in QGIS and GRASS.

4
  • Hey, I am just finding that the krigging plug in for QGIS is not available, SDA4PP. The repository is offline. Any thoughts? So I don't have that loaded in my version of QGIS.
    – BWill
    Commented Sep 29, 2011 at 8:35
  • Found this for SDA4PP code.google.com/p/sda4pp/downloads/list
    – BWill
    Commented Sep 29, 2011 at 11:16
  • I'm not sure I understand exactly what you are looking for. Maybe you could explain in different words what you mean with "I would like the hand fitted curve/model to be modified by each of the rasters so that a final map can be created. "
    – underdark
    Commented Sep 30, 2011 at 15:24
  • I made another edit
    – BWill
    Commented Oct 1, 2011 at 8:49

2 Answers 2

1

Convert the scalar values of the raster in the polygon extent to standard deviations in the raster. Generate a handfitted curve for the standard deviation of the raster as well as the mean of the raster. Use the calculated, from your curve, standard deviation and mean at each time step to recalculate your polygon extent standard deviation back into a value raster.

E.g. a t0 your have a mean of 100 and a standard deviation of 20. You have a pixel in your extent with a value of 80, so -1 std. At t1, your hand fitted curve species a mean of 120 and a standard deviation of 18, so your pixel value is transformed to 120 - 18 = 102 at t1.

You might want to try this using both variance and standard deviation, but I think standard deviation is the value you will want to use.

0
0

In GRASS, you need to add some non-linear regression or likewise to r.series. This could be done by interfacing to the GNU Scientific Library (GSL). We had started to implement a prototype using nls() of GSL but didn't finish it yet. Hopefully in some months...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.