d.rast.arrow(1)

NAME
d.rast.arrow - Draws arrows representing cell aspect direction for a raster map containing aspect data.

KEYWORDS
display

SYNOPSIS
d.rast.arrow
d.rast.arrow help
d.rast.arrow [map=string] [type=string] [arrow_color=string] [grid_color=string] [x_color=string] [unknown_color=string] [skip=integer] [magnitude_map=string] [scale=float]

  Parameters:

map=string
    Name of raster aspect map to be displayed

type=string
    Type of existing raster aspect map Options: grass,compass,agnps,answers Default: grass

arrow_color=string
    Color for drawing arrows Options: red,orange,yellow,green,blue,indigo,violet,white,black,gray,brown,magenta,aqua,grey,cyan,purple Default: green

grid_color=string
    Color for drawing grid, or "none" Options: red,orange,yellow,green,blue,indigo,violet,white,black,gray,brown,magenta,aqua,grey,cyan,purple,none Default: gray

x_color=string
    Color for drawing X's (Null values) Options: red,orange,yellow,green,blue,indigo,violet,white,black,gray,brown,magenta,aqua,grey,cyan,purple Default: black

unknown_color=string
    Color for showing unknown information Options: red,orange,yellow,green,blue,indigo,violet,white,black,gray,brown,magenta,aqua,grey,cyan,purple Default: red

skip=integer
    Draw arrow every Nth grid cell Default: 1

magnitude_map=string
    Raster map containing values used for arrow length

scale=float
    Scale factor for arrows (magnitude map) Default: 1.0

DESCRIPTION
d.rast.arrow is designed to help users better visualize surface water flow direction, as indicated in an aspect raster map layer. There are two ways to specify the aspect layer the program is to use. The first is to display the aspect map layer on the graphics monitor before running d.rast.arrow. The second method involves setting the map parameter to the name of the desired aspect map. This allows the arrows to be drawn over any other maps already displayed on the graphics monitor.

d.rast.arrow will draw an arrow over each displayed cell to indicate in which direction the cell slopes. If the aspect layer has a category value denoting locations of "unknown" aspect, d.rast.arrow draws a question mark over the displayed cells of that category. Cells containing null data will be marked with an "X".

If you specify the magnitude_map option, arrow lengths denoting magnitude will be extracted from the cell values of the specified map. In this case the tail of the arrow will be centered on the source cell. You may adjust the overall scale using the scale option. d.rast.arrow will ignore NULL and negative magnitudes, and will warn you if the debug level is set at 5 or higher. Be aware. If your application uses negative values for magnitude, you can use r.mapcalc to prepare the magnitude map to suit your needs (absolute value, inverted direction and so on).

NOTES
By default, arrows are drawn at the size of a cell and cannot be seen if the raster map is relatively close in scale. You can use the skip option to draw arrows every n-th cell in both directions if you are working with relatively high resolutions. It may be useful to disable the grid in this case, which is accomplished by setting its color to "none".

For GRASS and Compass type aspect maps, the cell values of the aspect map will determine the corresponding direction in 360 degrees. ANSWERS type aspect maps will be plotted in multiples of 15 degrees, and AGNPS type aspect maps will be displayed in D8 representation, i.e. the eight multiples of 45 degrees.

GRASS aspect maps are measured using Cartesian conventions, i.e. in degrees counterclockwise from east. e.g.:
    90 North
    180 West
    270 South
    0,360 East

They can be created from a raster elevation map with r.slope.aspect.

Compass type aspect maps are measured in degrees clockwise from north.

This module uses oceanographic conventions, i.e. arrows point downslope or direction "to", as opposed to atmospheric conventions (direction "from").

EXAMPLE
Convert U,V velocity component maps into magnitide,direction maps for use with d.rast.arrow:
  r.mapcalc 'magnitude = sqrt(U_map^2 + V_map^2)'
  r.mapcalc 'direction = atan(U_map, V_map)'
  d.rast.arrow map=direction type=grass magnitude_map=magnitude skip=3 grid=none

SEE ALSO
d.frame
d.rast
d.rast.edit
d.rast.num
g.region
r.slope.aspect

AUTHORS
Original author
Chris Rewerts
Agricultural Engineering,
Purdue University
Magnitude and 360 arrow code
Hamish Bowman
Department of Marine Science,
University of Otago, New Zealand

Last changed: $Date: 2005/10/18 04:58:58 $

Full index