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?

Thanks
Hanlie
Hanlie,

You would use v.overlay with operator=and to create a new vector that combines the two polygons.

Then, add an area column to the new vector, and upload the area of the overlay to that column. You will also want columns to record the areas of the original two vectors (soil_area and catchment_area, for example).

Use v.distance from your new polygon (from_type=centroid) to the original polygons (to_type=area and dmax=0) to upload the original areas into their respective columns.

Also add a soil type column to the new polygon and, once again, use v.distance to record the soil type into the new polygon.

You can then calculate percentages based on new_area/old_area.

Richard

_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

Reply via email to