Raster aggregate values

From GRASS-Wiki
Revision as of 15:49, 26 August 2010 by ⚠️DylanBeaudette (talk | contribs) (added some details regarding r.resamp.stats)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Q: How can I calculate the average map values by spatial unit (grid)? For example, I would like to calculate the average slope by square kilometer for a given area.

A: Procedure outline:

  • Make a slope map from the DEM with r.slope.aspect at the same resolution and bounds as the DEM. (run 'g.region rast=dem' first)
  • Make the grid with v.mkgrid, with box=1000,1000 (assuming the location is meters-based)
  • Draw a 1 km x 1 km grid (d.grid), and overlay the v.mkgrid vector map (area fill = none, or only display boundary features, colored red or so) just to verify where it will be and what it will look like.
  • Run v.rast.stats to calculate stats for each grid box, and upload to that area's attribute table.

A: Another approach using r.resamp.stats:

  • Generate a region that defines the required grid topology: extent, cell size, origin
  • Zoom to that region, and set the resolution accordingly
  • Aggregate slope values within each of the cells defined by this new region using r.resamp.stats
  • The resulting raster will contain aggregate values of the input raster, using the new grid topology
  • Optionally vectorize with r.to.vect