Provided by: grass-doc_6.4.3-3_all bug

NAME

       r.grow  - Generates a raster map layer with contiguous areas grown by one cell.

KEYWORDS

       raster, geometry

SYNOPSIS

       r.grow
       r.grow help
       r.grow  [-q]  input=name  output=name   [radius=float]    [metric=string]    [old=integer]
       [new=integer]   [--overwrite]  [--verbose]  [--quiet]

   Flags:
       -q
           Quiet

       --overwrite
           Allow output files to overwrite existing files

       --verbose
           Verbose module output

       --quiet
           Quiet module output

   Parameters:
       input=name
           Name of input raster map

       output=name
           Name for output raster map

       radius=float
           Radius of buffer in raster cells
           Default: 1.01

       metric=string
           Metric
           Options: euclidean,maximum,manhattan
           Default: euclidean

       old=integer
           Value to write for input cells which are non-NULL (-1 => NULL)

       new=integer
           Value to write for "grown" cells

DESCRIPTION

       r.grow adds cells around the perimeters of all areas in a user-specified raster map  layer
       and  stores  the  output  in a new raster map layer. The user can use it to grow by one or
       more than one cell (by varying the size of the radius parameter), or  like  r.buffer,  but
       with  the  option  of  preserving  the  original  cells (similar to combining r.buffer and
       r.patch).

NOTES

       The user has the option of specifying three different metrics which control  the  geometry
       in  which  grown  cells  are  created,  (controlled  by  the metric parameter): Euclidean,
       Manhattan, and Maximum.

       The Euclidean distance or Euclidean metric is the "ordinary" distance between  two  points
       that  one  would  measure with a ruler, which can be proven by repeated application of the
       Pythagorean theorem.  The formula is given by: </div>
       Cells grown using this metric would form isolines of distance that are
       circular from a given point, with the distance given by the radius.

       The Manhattan metric, or Taxicab geometry, is a form of geometry in
       which the usual metric of Euclidean geometry is replaced by a new
       metric in which the distance between two points is the sum of the (absolute)
       differences of their coordinates. The name alludes to the grid layout of
       most streets on the island of Manhattan, which causes the shortest path a
       car could take between two points in the city to have length equal to the
       points' distance in taxicab geometry.
       The formula is given by:
        </div>
       where cells grown using this metric would form isolines of distance that are
       rhombus-shaped from a given point.

       The Maximum metric is given by the formula
        </div>
       where the isolines of distance from a point are squares.

       If there are two cells which are equal candidates to grow into an empty space,
       r.grow will choose the northernmost candidate; if there are multiple
       candidates with the same northing, the westernmost is chosen.

EXAMPLE

       You can shrink inwards by preparing an inverse map first, and then
       inverting the resulting grown map. For example:

       # Spearfish sample dataset
       MAP=fields
       g.region rast=$MAP
       r.mapcalc "inverse = if(isnull($MAP), 1, null())"
       r.grow in=inverse out=inverse.grown
       r.mapcalc "$MAP.shrunken = if(isnull(inverse.grown), $MAP, null())"
       r.colors $MAP.shrunken rast=$MAP
       g.remove inverse,inverse.grown

SEE ALSO

        r.buffer,
       r.grow.distance,
       r.patch

       Wikipedia Entry: Euclidean Metric
       Wikipedia Entry: Manhattan Metric

AUTHORS

       Marjorie Larson, U.S. Army Construction Engineering Research Laboratory

       Glynn Clements

       Last changed: $Date: 2010-03-29 15:24:01 -0800 (Mon, 29 Mar 2010) $

       Full index

       © 2003-2013 GRASS Development Team