Learn R Programming

geosphere (version 1.5-14)

distHaversine: 'Haversine' great circle distance

Description

The shortest distance between two points (i.e., the 'great-circle-distance' or 'as the crow flies'), according to the 'haversine method'. This method assumes a spherical earth, ignoring ellipsoidal effects.

Usage

distHaversine(p1, p2, r=6378137)

Value

Vector of distances in the same unit as r (default is meters)

Arguments

p1

longitude/latitude of point(s). Can be a vector of two numbers, a matrix of 2 columns (first one is longitude, second is latitude) or a SpatialPoints* object

p2

as above; or missing, in which case the sequential distance between the points in p1 is computed

r

radius of the earth; default = 6378137 m

Author

Chris Veness and Robert Hijmans

Details

The Haversine ('half-versed-sine') formula was published by R.W. Sinnott in 1984, although it has been known for much longer. At that time computational precision was lower than today (15 digits precision). With current precision, the spherical law of cosines formula appears to give equally good results down to very small distances. If you want greater accuracy, you could use the distVincentyEllipsoid method.

References

Sinnott, R.W, 1984. Virtues of the Haversine. Sky and Telescope 68(2): 159

https://www.movable-type.co.uk/scripts/latlong.html

https://en.wikipedia.org/wiki/Great_circle_distance

See Also

distGeo, distCosine, distVincentySphere, distVincentyEllipsoid, distMeeus

Examples

Run this code
distHaversine(c(0,0),c(90,90))

Run the code above in your browser using DataLab