In an E-mail message, motte wrote:
> 
> Erin O'Doherty writes:
> > 
> > I need something that works like the "site characteristics report" in 
> > s.menu but I want to include a radius around the site not a square.  
> > I can't get away with just r.buffer because the buffers run together 
> > and I'd have to sort out the sites to avoid overlap.  I was hoping to 
> > modify the code in s.menu to do a "circle" (I know it won't be a real 
> > circle because it's a raster map) instead of a square, but I couldn't 
> > figure out where it learns which cells to run stats on.  I could 
> > figure out a way to do it if I just had one site map to do this to, 
> > but I have hundreds.  What I want to do is describe the vegetation in 
> > an error polygon around aerial telemetry locations.  My veg map has a 
> > resolution of about 3 m and the error polygon has a radius of 280 m.  
> > If two sites fall in the same place I want to sample that area twice. 
> > So if somebody could point me to the files in s.menu that I'd need to 
> > change or figure out a slick way I could do this and repeat it for 
> > many sets of sites, I'd be eternally grateful.  Left to my own 
> > devices I'll probably try something with r.mapcalc and r.stats. 
> > 
> > 
> The problem you're mentioning has been one of my concerns as well over 
> the last two years (basically, I wanted to obtain information about the 
> environment of archaeological sites within a certain radius). There is no 
> possibility to do this inside s.menu, unfortunately, so you should revert 
> to using shell-scripting. My solution was to zoom in on each site (using 
> the site_list as input for x,y-coordinates and then determining the 
> maximum extent I needed from there), and then create a 'circle' around 
> the site running r.los on a map called 'empty' (just zero's) with a 
> maximum distance of the desired radius. This produces a circular raster 
> map that could be used as a MASK that can be used to provide data from 
> r.stats. I could send you this script if you're interested, but I assume 
> the procedure will be clear to you. If you're really thinking of hacking 
> into s.menu, I'd be very much interested in any solution you might find.
> 
> Philip Verhagen
> -- 

I thought I might add that you could produce circles of any desired distance
around points with the contributed program v.circle.  The resultant vector
layer can be rasterized.  This becomes the MASK that you can use as discussed
above.  The advantage is that you can use a site file as input and the program
runs fairly quickly.  This procedure for producing what you want is still a
multiple step procedure though.  I've included the syntax for v.circle in
case you haven't seen it yet.

Usage:
 v.circle [-s] [radius=value] [radius_uom=name] [area=value]
   [area_uom=name] sitefile=name output=name

Flags:
  -s   Automatically run "v.support" on newly created vector file.

Parameters:
      radius   Radius of circle(s) with "site_lists" point(s) as center(s).  If ra
dius selected then area values are not used for computations.  If both radius and
area selected, then radius has precedence over area.
               default: 0.0
  radius_uom   Radius unit of measure, ie. (m)meters, ft(feet), (mi)miles.
               default: m
        area   Area of circle(s) with "site_lists" point(s) as center(s).  If area
 selected then radius values are not used for computations.
               default: 0.0
    area_uom   Area unit of measure, ie. sqm(square meters), ac(acres), sqmi(squar
e miles), hec(hectares).
               default: sqm
    sitefile   GRASS site_lists file (input).
               default:
      output   Vector file to be created (output).
               default:


-- 
-------------------------

Paul Loechl					p-loechl@cecer.army.mil
USA CERL					(217)352-6511x7668

