Learn R Programming

oce (version 0.2-1)

geodDist: Geodesic distance on earth

Description

Compute geodesic distance on surface of earth.

Usage

geodDist(lat1, lon1, lat2, lon2)

Arguments

lat1
latitude or a vector of latitudes, or a section
lon1
longitude or vector of longitudes
lat2
latitude or vector of latitudes
lon2
longitude or vector of longitudes

Value

  • Distance, or vector of differences, measured along the surface of the earth.

Details

This calculates distance between points on the earth, measured along the surface. The method involves the solution of the geodetic inverse problem, using T. Vincenty's modification of Rainsford's method with Helmert's elliptical terms.

If the first argument is an object of class section, the result is vector containing the distances of the individual stations from the first one in the section.

If the first argument is a vector, then the "1" and "2" vectors are of equal length, then the result is the pairwise distances. However, if the length of "2" is shorter than the length of "1", then only the first value in the "2" vector is used, repeated over and over to match the length of "1".

A common use is for "1" to contain a vector of positions along a cruise track, and for "2" to contain a reference point; e.g. geodDist(lats,lons,lats[1],lons[1]) gives distance along the track starting from zero.

References

T. Vincenty, "Direct and Inverse Solutions of Ellipsoid on the Ellipsoid with Application of Nested Equations", Survey Review, April 1975. (As of early 2009, this document is available at http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf.)

See Also

geodXy

Examples

Run this code
# There are roughly 111km per degree of latitude
 km <- geodDist(45, 100, 46, 100)/1000

Run the code above in your browser using DataLab