raster (version 3.6-20)

distance: Distance


For a single RasterLayer (y is missing) this method computes the distance, for all cells that are NA, to the nearest cell that is not NA. The distance unit is in meters if the RasterLayer is not projected (+proj=longlat) and in map units (typically also meters) when it is projected.

If two RasterLayer objects are provided, the cell-value distances are computed. If two Spatial vector type objects are provided, the distances between pairs of geographic object are computed.


# S4 method for RasterLayer,missing
distance(x, y, filename='', doEdge=TRUE, ...)
# S4 method for RasterLayer,RasterLayer
distance(x, y, ...)
# S4 method for Spatial,Spatial
distance(x, y, ...)





RasterLayer object


missing, RasterLayer or Spatial object


Character. Filename for the output RasterLayer (optional)


Logical. If TRUE, the boundaries function is called first. This may be efficient in cases where you compute the distance to large blobs. Calling boundaries determines the edge cells that matter for distance computation


Additional arguments as for writeRaster

See Also

distanceFromPoints, gridDistance, pointDistance

See the gdistance package for more advanced distances, and the geosphere package for great-circle distances (and more) between points in longitude/latitude coordinates.


Run this code
r <- raster(ncol=36,nrow=18)
values(r) <- NA
r[500] <- 1
dist <- distance(r) 
#plot(dist / 1000)

Run the code above in your browser using DataLab