Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. Join them; it only takes a minute:

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

I tried to interpolate the mean avyerage annual temperature to produce a "realistic" surface.In qgis I used Raster-Interpolation-Interpolation. Both methods TIN and IDW did not deliver a "realistic" surface (e.g. compared to a good map in an atlas).

IDW with factor 3

TIN linear showing also my interpolation points

any hints howto get a "better, more realistic" interpolation?

share|improve this question
Especially for the mountainous area I'd expect that you have to consider elevation to get something remotely realistic. – underdark Aug 4 '12 at 17:13
@underdark: can you point me to a web-page, forum, tutorial, literature how this can be done? thanks!! – Kurt Aug 4 '12 at 17:26
This seems a reasonable source:…. But climate data is not my specialty. – underdark Aug 4 '12 at 19:43
Are you looking to make a map where the temperatures are grouped into classes Kurt? Say, something like this, N. – nhopton Aug 5 '12 at 8:42
@nhopton: my primary intention was to make a continuous surface, which is at least "remotely realistic". There are only a few hundered data-points and interpolation in the moutain areas is beyond my scope. so perhaps I should consider trying to make a "grouped" temperature surface . But: Doesnt such a "grouped" surface need enough correectly interpolated data-points as a first step?? Do you have instructions / a tutorial for this? This would be very welcomed! thanks – Kurt Aug 10 '12 at 7:19

You may take the elevation-temperature relationship into account, especially in mountainous areas. Co-kriging or splines interpolation (e.g., 3D splines as supported by GRASS GIS) can be used for this. For larger areas further variables may play a role: distance from the sea, latitude, etc.

Update: a reasonable method may also be multiple regression, for GRASS 7 there is a new Addon: r.regression.multi

share|improve this answer
is there a tutorial ? I have purchased the 3rd edition of your grass-book (springer) , but as a complete rockie I dont know howto start with grass thanks – Kurt Aug 6 '12 at 10:41
Enjoy the first chapters :) It is for newcomers. See also the course at (material is linked to that page). – markusN Aug 7 '12 at 8:05
Updated material at – markusN Feb 3 '13 at 16:29

Interpolating climate data, you have two options (i see you need ready to use tutorials, I will give reference, but also some theoretical aspects you have here):

  1. simple interpolation using a kriging approach is the best option, cause you will have a statistical sounding relation. You can use this tutorial: In Romanian, but you can use Google Translate (use SAGA).

  2. covariate interolation, kriging or other method, supplementing temperature data with elevation or other data. You can use these tutorials: Mitasova spline with tension (use GRASS) or Tom Hengl book example (using R)

share|improve this answer

Are you atmospherically correcting the temperature data? That would account for surface elevation above sea-level and atmosphere. NCEP provides an abundance of atmospheric data for North America.

Also, a linear interpolation wouldn't be that good because temperature has diurnal variation throughout each day.

share|improve this answer

Kurt, you can group the temperature values in your raster to classes and export the results to a new raster using v.reclass from the Sextante toolbox.

I guess the minimum value of your interpolated raster might be (say) -5 and the maximum value (say) 30.

Using GRASS v.reclass from the Sextante toolbox would allow the values to be grouped into seven classes using this 'rules' text file (you could call it 'rules.txt'):

-5 thru 0 = 1
1 thru 5 = 2
6 thru 10 = 3
11 thru 15 = 4
16 thru 20 = 5
21 thru 25 = 6
26 thru 30 = 7

The output would be a new raster having a value of 1 for all of the values of between -5 and zero in the original raster, of 2 for all of the values between 1 and 5 in the original raster, and so on.

The procedure is very simple, all you need is the interpolated raster and the 'rules' text file. See also the Man page for v.reclass here:

Once classified, the new raster could also be polygonised to produce a polygon shapefile, to put hard edges on the colour-rendered image. Or you could colour style the shapefile and forget about the raster.

Just a quick note. Interpolation is one of those things that makes what's left of my hair stand on end because it can produce very convincing-looking results from very thin data. What's more the results are usually impossible to check because you've used all of the data you have to do the interpolation, so it's in the nature of things that you can't carry out meaningful checks on the areas for which you don't have data.

In your case, the data for the area outside of the borders of Austria is thin and you might consider clipping the final map image to show just Austria. Or maybe leave the points in. For example, I might have a graph with a shotgun splatter of points through which I draw a straight line. The dishonesty starts when I then remove the points :)


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.