[GRASSLIST:1588] Re: interpolate nominal values

SUSANNE HOFGAERTNER hofgaertner at fh-nuertingen.de
Fri Mar 9 06:23:52 EST 2001


On 8 Mar 01, Rich Shepard wrote:

> On Thu, 8 Mar 2001, SUSANNE HOFGAERTNER wrote:
> 
> > I want to interpolate nominal data (soil types as point information).
> > Which possibilities do I have, what's the best method? -Any experiences,
> > suggestions?
> 
> Susanne,
> 
>   While modules such as s.surf.idw will interpolate points to form a
> surface, it will have no meaning with nominal values. (I presume you mean
> nominal in the data type sense of having numbers assigned to categories,
> without any mathematical relationships among the numbers.)
> 
>   What are you trying to do?
> 
> Rich
> 

Rich,

your definition of nominal is exactly what I mean.

Here's a more detailed description of what I want to do:

I've got point data with information on moisture, nutrients and soil 
type and I've got grid data with information on slope and on classes 
of warmth.
What I want to get in the end is a surface showing categories of a 
combination of the above features. This means I'll have areas with a 
code like for example: 01331 (which means 0:slope=0-10%, 
1:warmth=cold, 3:moisture=dry, 3:nutrients=little, 1:soil type=clay).  
This is a methodology used to determine the eligibility for different 
land uses (finding out about eligibility would be the next step to do).

Now there are two different approaches:
1. first produce grids from my point data for the single features 
(moisture, nutrients and soil type) , afterwards combine them to get 
my end surface with combinded categories

or

2. assign my grid information (warmth and slope) to my points, 
create a new point attribute "category" with all my single features 
combined, then create my surface out of this new attribute.

In both cases I have to "interpolate" nominal data (case 1: soil type, 
case 2: combined categories).

What I already tried out is r.neighbors with the "mode" method. 
Therefore I first converted my point data to raster data with no-data-
values between my points. I think this is something I could work with 
but I just wondered if there's a better method out there. 
I also tried the Thiessen-Polygons but the resulting areas don't look 
"right" (it looks like a patchwork).


Here are some comments to the other answers to my request:


On 8 Mar 01, sturm at datacomm.ch wrote:
> Hi Susanne
> I made very good experiences with s.surf.rst (regularised splines 
with tension).
> I used it for the interpoaltion of rainfall point data. I wrote a small 
perl
> script with which you can determine the best available 
interpolation model (comparing
> IDW and RST) by using the cross validation method. You will have 
to 'play' with
> the RST parameters in order to get quite accurate results. In the 
best cases
> I achieved a correlation coefficient of 0.9 for the RST model. But 
the cross
> validation approach took over a week processor time to compute 
the best fit...
> 
> If you'd like I can post you the perl script (but you'll have to adapt it 
to
> your own needs)
> 
> Bernhard Sturm

Bernhard,
thank you for offering your script but I don't think that interpolation 
methods like IDW, RST or Spline can help me with my problem 
since I'm handling with nominal data. (Also: since I'm new to 
GRASS, and Linux I have no idea how to work with a perl script... I 
guess that's something I better won't deal with now).


On 8 Mar 01, Edzer J. Pebesma wrote:
> They're hard to interpolate. Nearest neighbour (forming thiessen 
polygon) seems
> a useful action; indicator simulation another one. Most 
interpolation methods
> are based on weighted averages, and are therefore only suitable 
> to interval/ratio data. Don't use them.
> --
> Edzer
>

Edzer,
what do you mean with "indicator simulation"? 

******************************************************
Susanne Hofgaertner
Fachhochschule Nuertingen
Institut fuer Angewandte Forschung
Schelmenwasen 6-8
72622 Nuertingen




More information about the grass-user mailing list