Learn R Programming

oce (version 0.1.69)

geod.dist: Geodesic distance on earth

Description

Compute geodesic distance on surface of earth.

Usage

km <- geod.dist(lat1, lon1, lat2, lon2);

Arguments

lat1
latitude or a list of latitudes
lon1
longitude or list of longitudes
lat2
latitude or list of latitudes
lon2
longitude or list of longitudes

Value

  • Distance between "1" and "2" in metres, measured along the surface of the earth. If "1" is a vector, the returned value is a vector of the same length.

Details

Solution of the geodetic inverse problem after T.Vincenty modified Rainsford's method with Helmert's elliptical terms effective in any azimuth and at any distance short of antipodal standpoint/forepoint must not be the geographic pole.

If 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.

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