123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- <h2>DESCRIPTION</h2>
- <em>r.buffer</em> creates a new raster map showing
- buffer (a.k.a. "distance" or "proximity") zones around all
- cells that contain non-NULL category values in an existing
- raster map. The distances of buffer zones from cells with
- non-zero category values are user-chosen and must be positive value(s).
- Suppose, for example, that you want to place buffer zones around
- roads. This program could create the raster map
- shown below on the right based on road information
- contained in the raster map shown on the left.
- <div class="code"><pre>
- 000000000000000000000000 222233333333333333444444
- 111000000000000000000000 111222222222223333333333
- 000111111111100000000000 222111111111122223333333
- 000000001000011100000000 332222221222211122222222
- 000000001000000011111111 333333321233222211111111
- 000000001000000000000000 433333321233333222222222
- 000000001000000000000000 444443321233333333333333
- 000000001000000000000000 444443321233443333333333
- 000000001000000000000000 444443321233444444444444
- Category 0: No roads
- Category 1: Road location
- Category 2: Buffer Zone 1 around roads
- Category 3: Buffer Zone 2 around roads
- Category 4: Buffer Zone 3 around roads
- </pre></div>
- <h2>NOTES</h2>
- The user has the option of identifying up to 250 continuous zones.
- The zones are identified by specifying the upper limit of each desired
- zone (<em>r.buffer</em> assumes that <tt>0</tt> is the starting
- point). "Continuous" is used in the sense that each category zone's
- lower value is the previous zone's upper value. The first buffer zone
- always has distance <tt>0</tt> as its lower bound. Buffer distances
- can be specified using one of five units with the <b>units</b> parameter.
- <p>
- <!-- ??? is this the real method used or some ancient option ??? -->
- Distances from cells containing the user-specified category values
- are calculated using the "fromcell" method. This method locates each
- cell that contains a category value from which distances are to be
- calculated, and draws the requested distance rings around
- them. This method works very fast when there are few cells
- containing the category values of interest, but works
- slowly when there are numerous cells containing the
- category values of interest spread throughout the area.
- <p>
- <em>r.buffer</em> measures distances from center of cell to
- center of cell using Euclidean distance measure for
- planimetric locations (like UTM) and using ellipsoidal
- geodesic distance measure for latitude/longitude locations.
- <p>
- <em>r.buffer</em> calculates distance zones from all cells having
- non-NULL category values in the <b>input</b> map. If the user wishes
- to calculate distances from only selected <b>input</b> map category
- values, the user should run (for example)
- <em><a href="r.reclass.html">r.reclass</a></em> prior to
- <em>r.buffer</em>, to reclass all categories from which distance zones
- are not desired to be calculated into category NULL.
- <p>
- The <b>-z</b> flag can be used to ignore raster values of zero instead of NULL
- values in the input raster map.
- <p>
- When working with massive raster regions consider
- the <em><a href="r.buffer.lowmem.html">r.buffer.lowmem</a></em> module
- if RAM use becomes a problem. The lowmem version can be > 40x
- slower, but will work with minimal memory requirements. The
- classic <em>r.buffer</em> should be able to deal with raster maps of
- 32000x32000 size on a system with 1 GB RAM, and rasters of 90000x90000
- on a system with 8 GB RAM without going into swap.
- <h2>EXAMPLE</h2>
- In the following example (North Carolina sample dataset), the buffer zones
- would be (in the default map units of meters): 0-100, 101-200, 201-300,
- 301-400 and 401-500.
- <br>
- <div class="code"><pre>
- g.region raster=roadsmajor -p
- r.buffer input=roadsmajor output=roadsmajor_buf distances=100,200,300,400,500
- </pre></div>
- Result:
- <div class="code"><pre>
- r.category input=roads.buf
- 1 distances calculated from these locations
- 2 0-100 meters
- 3 100-200 meters
- 4 200-300 meters
- 5 300-400 meters
- 6 400-500 meters
- </pre></div>
- <center>
- <img src="r_buffer_road.png" border=1><br>
- <i>Distances to road</i>
- </center>
- <h2>SEE ALSO</h2>
- <em>
- <a href="r.buffer.lowmem.html">r.buffer.lowmem</a>,
- <a href="r.grow.html">r.grow</a>,
- <a href="v.buffer.html">v.buffer</a>
- </em>
- <p>
- <em>
- <a href="g.region.html">g.region</a>,
- <a href="r.cost.html">r.cost</a>,
- <a href="r.distance.html">r.distance</a>,
- <a href="r.grow.distance.html">r.grow.distance</a>,
- <a href="r.mapcalc.html">r.mapcalc</a>,
- <a href="r.reclass.html">r.reclass</a>
- </em>
- <h2>AUTHORS</h2>
- Michael Shapiro, U.S. Army Construction Engineering
- Research Laboratory
- <br>
- James Westervelt, U.S. Army Construction Engineering
- Research Laboratory
- <!--
- <p>
- <i>Last changed: $Date$</i>
- -->
|