[GRASS-user] Area weighting for vectors

Micha Silver micha at arava.co.il
Thu Nov 4 08:27:05 EDT 2010


On 04/11/2010 10:56, Hanlie Pretorius wrote:

> 2010/11/3, Micha Silver<micha at arava.co.il>:
>> On 11/03/2010 04:55 PM, Hanlie Pretorius wrote:
>>> Hi,
>>>
>>> I need to add some attributes from a soil polygon layer to a catchment
>>> polygon layer using area weighting. In other words, the contribution
>>> of the soil layer needs to be weighted by the amount with which its
>>> polygons overlap the catchment polygons.
>>>
>>> For example, suppose I want to weight soil infiltration rates. 30% of
>>> a catchment polygon overlaps with soil type 1 and 70% overlaps with
>>> soil type 2. Now I want a new attribute in the catchment polygon that
>>> takes 30% of the infiltration rate of soil type 1 and adds it to 70%
>>> of the infiltration rate of soil type 2.
>>>
>>> How can I do this in GRASS?
>>>
>> The most straight forward way is using v.rast.stats. This module adds to
>> a vector attribute table the univariate statistics from a raster. So
>> you'll first convert the soil map to raster, then run v.rast.stats using
>> the catchment polygons as the vector and the soil infiltration as the
>> raster.
> Thanks, this worked.
>
> Is there a reason (other than no one has had time to do it) that a
> similar function doesn't exist for two vector layers?

The general case is that some value varies continuously over a 
region - suppose, for example, that  your soil infiltration 
was some continuously changing value and not discrete 
polygons. Averaging (or other stats) over the raster cell 
values is the way to get statistics from one spatial 
phenomenon into another.

> This mail was received via Mail-SeCure System.
>
>


-- 
Micha Silver
http://www.surfaces.co.il/
Arava Development Co.  +972-52-3665918



More information about the grass-user mailing list