distMeeus: 'Meeus' great circle distance

View source: R/distMeeus.R

distMeeusR Documentation

'Meeus' great circle distance

Description

The shortest distance between two points on an ellipsoid (the 'geodetic'), according to the 'Meeus' method. distGeo should be more accurate.

Usage

distMeeus(p1, p2, a=6378137, f=1/298.257223563)

Arguments

p1

longitude/latitude of point(s), in degrees 1; 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

a

numeric. Major (equatorial) radius of the ellipsoid. The default value is for WGS84

f

numeric. Ellipsoid flattening. The default value is for WGS84

Details

Parameters from the WGS84 ellipsoid are used by default. It is the best available global ellipsoid, but for some areas other ellipsoids could be preferable, or even necessary if you work with a printed map that refers to that ellipsoid. Here are parameters for some commonly used ellipsoids:

ellipsoid a f
WGS84 6378137 1/298.257223563
GRS80 6378137 1/298.257222101
GRS67 6378160 1/298.25
Airy 1830 6377563.396 1/299.3249646
Bessel 1841 6377397.155 1/299.1528434
Clarke 1880 6378249.145 1/293.465
Clarke 1866 6378206.4 1/294.9786982
International 1924 6378388 1/297
Krasovsky 1940 6378245 1/298.2997381

more info: https://en.wikipedia.org/wiki/Reference_ellipsoid

Value

Distance value in the same units as parameter a of the ellipsoid (default is meters)

Note

This algorithm is also used in the spDists function in the sp package

Author(s)

Robert Hijmans, based on a script by Stephen R. Schmitt

References

Meeus, J., 1999 (2nd edition). Astronomical algoritms. Willman-Bell, 477p.

See Also

distGeo, distVincentyEllipsoid, distVincentySphere, distHaversine, distCosine

Examples

distMeeus(c(0,0),c(90,90))
# on a 'Clarke 1880' ellipsoid
distMeeus(c(0,0),c(90,90), a=6378249.145, f=1/293.465)

geosphere documentation built on Nov. 16, 2022, 1:06 a.m.