Learn R Programming

geosphere (version 1.3-13)

distVincentyEllipsoid: 'Vincenty' (ellipsoid) great circle distance

Description

The shortest distance between two points (i.e., the 'great-circle-distance' or 'as the crow flies'), according to the 'Vincenty (ellipsoid)' method. This method uses an ellipsoid and the results are very accurate. The method is computationally more intensive than the other great-circled methods in this package.

Usage

distVincentyEllipsoid(p1, p2, a=6378137, b=6356752.3142, 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
a
Equatorial axis of ellipsoid
b
Polar axis of ellipsoid
f
Inverse flattening of ellipsoid

Value

  • Distance value in the same units as the ellipsoid (default is meters)

Details

The WGS84 ellipsoid is 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: rllll{ ellipsoid a b f WGS84 6378137 6356752.3142 1/298.257223563 GRS80 6378137 6356752.3141 1/298.257222101 GRS67 6378160 6356774.719 1/298.25 Airy 1830 6377563.396 6356256.909 1/299.3249646 Bessel 1841 6377397.155 6356078.965 1/299.1528434 Clarke 1880 6378249.145 6356514.86955 1/293.465 Clarke 1866 6378206.4 6356583.8 1/294.9786982 International 1924 6378388 6356911.946 1/297 Krasovsky 1940 6378245 6356863 1/298.2997381 } a is the 'semi-major axis', and b is the 'semi-minor axis' of the ellipsoid. f is the flattening. Note that f = (a-b)/a more info: http://en.wikipedia.org/wiki/Reference_ellipsoid

References

Vincenty, T. 1975. Direct and inverse solutions of geodesics on the ellipsoid with application of nested equations. Survey Review Vol. 23, No. 176, pp88-93. Available here: http://www.movable-type.co.uk/scripts/latlong-vincenty.html http://en.wikipedia.org/wiki/Great_circle_distance

See Also

distVincentySphere, distHaversine, distCosine, distMeeus

Examples

Run this code
distVincentyEllipsoid(c(0,0),c(90,90))
# on a 'Clarke 1880' ellipsoid
distVincentyEllipsoid(c(0,0),c(90,90), a=6378249.145, b=6356514.86955, f=1/293.465)

Run the code above in your browser using DataLab