# rdist.earth: Great circle distance matrix or vector In fields: Tools for Spatial Data

## 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.