[GRASS-user] New modules in add-ons: v.in.geoplot, r.xtent + r.burn.frict

The two are made for very different but equally specific purposes:

r.carve actually "carves" rivers into a DEM, subtracting their depths
from the DEM.

r.burn.frict does essentially the same job as v.to.rast would, except
it performs some anti-aliasing on line edges, so there is no case like
this:

   0100
   0010
   0001

where a cost surface algorithm that scans for 8 directions could
"slip" diagonally through the cells that represent a boundary line.
Instead, the line would be rasterized like this:

   0100
   0110
   0011

This is (only?) useful for rasterizing lines onto friction surfaces.
It's really just a primitive little script that I wrote because I needed
it for territorial modeling with r.xtent which involves cost surfaces.

Ben

Markus Neteler wrote:

On Mon, Sep 28, 2009 at 4:26 PM, Benjamin Ducke
<benjamin.ducke@oxfordarch.co.uk> wrote:

http://grass.osgeo.org/wiki/GRASS_AddOns#r.burn.frict

r.burn.frict converts vector geometries to raster cells, using a simple anti-aliasing method to close "gaps" between diagonal cells. Useful for "burning" vector geometries into a friction surface, making sure that simulated movement does not "slip" through converted cells that have only diagonal neighbours.

Hi Benjamin,

out of curiosity: what's the difference to r.carve?

Markus

--
Benjamin Ducke
Senior Applications Support and Development Officer

Oxford Archaeological Unit Limited
Janus House
Osney Mead
OX2 0ES
Oxford, U.K.

Tel: +44 (0)1865 263 800 (switchboard)
Tel: +44 (0)1865 980 758 (direct)
Fax :+44 (0)1865 793 496
benjamin.ducke@oxfordarch.co.uk

------
Files attached to this email may be in ISO 26300 format (OASIS Open Document Format). If you have difficulty opening them, please visit http://iso26300.info for more information.

Ben wrote:

r.carve actually "carves" rivers into a DEM, subtracting
their depths from the DEM.

r.burn.frict does essentially the same job as v.to.rast
would, except it performs some anti-aliasing on line edges,
so there is no case like this:

0100
0010
0001

where a cost surface algorithm that scans for 8 directions
could "slip" diagonally through the cells that represent a
boundary line.
Instead, the line would be rasterized like this:

0100
0110
0011

This is (only?) useful for rasterizing lines onto friction
surfaces. It's really just a primitive little script that I
wrote because I needed it for territorial modeling with
r.xtent which involves cost surfaces.

if a module does its job well, then great. congrats. but FYI a
couple other ways to accomplish the same thing if it helps.
(not sure it will, once done r.mapcalc is pretty hard to beat)
- r.grow[.distance]
- v.type boundary,line or v.cat add to boundaries -> v.to.rast
  (see man page)
- not G_bresenham_line() but ...?

Hamish