Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.


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.


share|improve this question
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 Sep 29 '11 at 8:35
Found this for SDA4PP – BWill Sep 29 '11 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 Sep 30 '11 at 15:24
I made another edit – BWill Oct 1 '11 at 8:49
up vote 0 down vote accepted

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.

share|improve this answer
I see th elogic, many thanks – BWill Oct 3 '11 at 10:26

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...

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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