Create a Distance Matrix Between Two Sp Objects

Share:

Description

This function creates a distance matrix between two sp objects (SpatialPointsDataFrame or SpatialPolygonsDataFrame).

Usage

1
CreateDistMatrix(knownpts, unknownpts, bypassctrl = FALSE)

Arguments

knownpts

sp object; rows of the distance matrix.

unknownpts

sp object; columns of the distance matrix.

bypassctrl

logical; bypass the distance matrix size control (see Details).

Details

The function returns a full matrix of distances in meters using the Great Circle distance (WGS84 ellipsoid) method. This is a wrapper for the spDists function.
.

If the matrix to compute is too large (more than 100,000,000 cells or more than 10,000,000 origins or destinations) the function sends a confirmation message to warn users about the amount of RAM mobilized. Use bypassctrl = TRUE to skip this control.

Value

A distance matrix, row names are knownpts row names, column names are unknownpts row names.

See Also

CreateGrid

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Create a SpatialPointsDataFrame grid of spatMask extent and 200 meters 
# resolution
data(spatData)
mygrid <- CreateGrid(w = spatMask, resolution = 200)
# Create a distance matrix between known spatPts and mygrid
mymat <- CreateDistMatrix(knownpts = spatPts, unknownpts = mygrid, 
                          bypassctrl = FALSE)
mymat[1:5,1:5]
nrow(spatPts)
nrow(mygrid)
dim(mymat)