rdist.earth: Great circle distance matrix or vector

Description Usage Arguments Details Value Author(s) See Also Examples

Description

Given two sets of longitude/latitude locations, rdist.earth computes the Great circle (geographic) distance matrix among all pairings and rdist.earth.vec computes a vector of pairwise great circle distances between corresponding elements of the input locations using the Haversine method and is used in empirical variogram calculations.

Usage

1
2
rdist.earth(x1, x2, miles = TRUE, R = NULL)
rdist.earth.vec(x1, x2, miles = TRUE, R = NULL)

Arguments

x1

Matrix of first set of lon/lat coordinates first column is the longitudes and second is the latitudes.

x2

Matrix of second set of lon/lat coordinates first column is the longitudes and second is the latitudes. If missing x1 is used.

miles

If true distances are in statute miles if false distances in kilometers.

R

Radius to use for sphere to find spherical distances. If NULL the radius is either in miles or kilometers depending on the values of the miles argument. If R=1 then distances are of course in radians.

Details

Surprisingly the distance matrix is computed efficiently in R by dot products of the direction cosines. Thanks to Qing Yang for pointing this out a long time ago.

Value

The great circle distance matrix if nrow(x1)=m and nrow( x2)=n then the returned matrix will be mXn.

Author(s)

Doug Nychka, John Paige

See Also

rdist, stationary.cov, fields.rdist.near

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
data(ozone2)
out<- rdist.earth ( ozone2$lon.lat)
#out is a 153X153 distance matrix
upper<-  col(out)> row( out)
# histogram of all pairwise distances. 
hist( out[upper])

#get pairwise distances between first 10 and second 10 lon/lat points
x1 = ozone2$lon.lat[1:10,]
x2 = ozone2$lon.lat[11:20,]
dists = rdist.earth.vec(x1, x2)
print(dists)

Example output

Loading required package: spam
Loading required package: dotCall64
Loading required package: grid
Spam version 2.1-1 (2017-07-02) is loaded.
Type 'help( Spam)' or 'demo( spam)' for a short introduction 
and overview of this package.
Help for individual functions is also obtained by adding the
suffix '.spam' to the function name, e.g. 'help( chol.spam)'.

Attaching package: 'spam'

The following objects are masked from 'package:base':

    backsolve, forwardsolve

Loading required package: maps
 [1] 233.92528 137.13272  27.45679 206.58464  43.33655  31.13017  55.62943
 [8]  23.30296  40.37388 150.58339

fields documentation built on Jan. 30, 2018, 1:07 a.m.

Related to rdist.earth in fields...