Scroll to navigation

r.distance(1grass) Grass User's Manual r.distance(1grass)

NAME

r.distance - Locates the closest points between objects in two raster maps.

KEYWORDS

raster, distance

SYNOPSIS

r.distance
 
r.distance help
 
r.distance [-loq] maps=map1,map2[,map1,map2,...] [ fs=string] [-- verbose] [--quiet]

Flags:

-l
 
Include category labels in the output
-o
 
Report zero distance if rasters are overlapping
-q
 
Run quietly
--verbose
 
Verbose module output
--quiet
 
Quiet module output

Parameters:

maps=map1,map2[,map1,map2,...]
 
Maps for computing inter-class distances
fs=string
 
Output field separator
 
Default: :

DESCRIPTION

r.distance locates the closest points between "objects" in two raster maps. An "object" is defined as all the grid cells that have the same category number, and closest means having the shortest "straight-line" distance. The cell centers are considered for the distance calculation (two adjacent grid cells have the distance between their cell centers).
The output is an ASCII list, one line per pair of objects, in the following form:
 
cat1:cat2:distance:east1:north1:east2:north2
 
cat1
 
Category number from map1
cat2
 
Category number from map2
distance
 
The distance in meters between "cat1" and "cat2"
east1,north1
 
The coordinates of the grid cell "cat1" which is closest to "cat2"
east2,north2
 
The coordinates of the grid cell "cat2" which is closest to "cat1"

Flags

-l The -l flag outputs the category labels of the matched raster objects at the beginning of the line, if they exist.
-o The -o flag reports zero distance if the input rasters are overlapping.

NOTES

The output format lends itself to filtering. For example, to "see" lines connecting each of the category pairs in two maps, filter the output using awk and then into d.graph:
 
r.distance maps=map1,map2 | \
 

awk -F: '{print "move",$4,$5,"\ndraw",$6,$7}' | d.graph -m
 
To create a vector map of all the "map1" coordinates, filter the output into awk and then into v.in.ascii:
 
r.distance maps=map1,map2 | \
 

awk -F: '{print $4,$5}' | v.in.ascii format=point output=name fs=space
 

SEE ALSO

r.buffer, r.cost, r.drain, r.grow, r.grow.distance, v.distance

AUTHOR

Michael Shapiro, U.S. Army Construction Engineering Research Laboratory
Last changed: $Date: 2013-11-16 18:04:46 +0100 (Sat, 16 Nov 2013) $
Full index
© 2003-2014 GRASS Development Team
GRASS 6.4.4