Learn R Programming

oce (version 0.1-76)

geod.dist: Geodesic distance on earth

Description

Compute geodesic distance on surface of earth.

Usage

geod.dist(lat1, lon1, lat2, lon2)

Arguments

lat1
latitude or a list of latitudes, or a section
lon1
longitude or list of longitudes
lat2
latitude or list of latitudes
lon2
longitude or list 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 list, then the "1" and "2" lists 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" list 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. geod.dist(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 late 2007, this is available at http://www.ngs.noaa.gov/PUBS_LIB/inverse.pdf.)

See Also

N/A.

Examples

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

Run the code above in your browser using DataLab