[GRASSLIST:1590] Re: interpolate nominal values

Rich Shepard rshepard at appl-ecosys.com
Fri Mar 9 12:26:04 EST 2001


On Fri, 9 Mar 2001, SUSANNE HOFGAERTNER wrote:

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

Susanne,

  Now we have something of substance with which to work! Thank you.

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

  Nutrients: how? Percentages of C, H, N, P, K?

  Moisture and slope are ratio data. Nutrients may be, depending on just
what you mean by the term. Soil type is nominal and warmth is interval. No
problem. You just need to handle each type differently until you have
created five raster maps, each covering the same geographic extent and with
the same cell resolution. Once you have that, you can use r.mapcalc to add
layers, or you can create a string (as you suggest below) representing each
possible category.

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

  Suitability of soil types is a major reason for the county-by-county soil
surveys done in this country. The results indicate drainage and flooding
conditions, suitability for wildlife or different plant crops, and potential
use for residential, commercial or industrial occupation.

> 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

  This is what I would do. For your ration data (moisture, slope and
nutrients), reclassify your points based on your categories. Then use a
nearest-neighbor interpolation (Theissen or Veronoi polygons) to "spread
out" each point so that each cell in your grid is assigned a class value.
Once you have five maps with a category value for each parameter in each
cell, you can extract these cell by cell or by any other grouping you want.

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

  This won't work because each parameter varies (somewhat) independently of
all the others. Slope and moisture may be positively correlated if they're
on a northern aspect, but negatively correlated if they're on a southern
aspect. Soil type and nutrients are related, but independent of warmth
(which may be related to slope and aspect).

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

  Perhaps your data are too dispersed. That is, you need more data points.
Also, try creating Thiessen polygons on each category map first, then
combine them.

  Sometimes, goals like yours are better described in words than in maps.
For example, you can describe suitability for each parameter independent of
the others, suggest interdependencies, and leave the interpretation of what
to do with a specific point to the policy makers.

  Well, I've stirred the pot enough. I'm going back to my own work now.
'Bye, all! :-)

Rich

Dr. Richard B. Shepard, President

                       Applied Ecosystem Services, Inc. (TM)
              Making environmentally-responsible mining happen. (SM)
                       --------------------------------
            2404 SW 22nd Street | Troutdale, OR 97060-1247 | U.S.A.
 + 1 503-667-4517 (voice) | + 1 503-667-8863 (fax) | rshepard at appl-ecosys.com




More information about the grass-user mailing list