geodesic and inverse geodesic problem
Description
Highly accurate estimate of the 'geodesic problem' (find location and azimuth at arrival when departing from a location, given an direction (azimuth) at departure and distance) and the 'inverse geodesic problem' (find the distance between two points and the azimuth of departure and arrival for the shortest path. Computations are for an ellipsoid (default is WGS84 ellipsoid).
This is a direct implementation of the the GeographicLib code by C.F.F. Karney that is also used in several other functions in this package (for example, in distGeo
and areaPolygon
).
Usage
1 2 3  geodesic(p, azi, d, a=6378137, f=1/298.257223563, ...)
geodesic_inverse(p1, p2, a=6378137, f=1/298.257223563, ...)

Arguments
p 
longitude/latitude of point(s). Can be a vector of two numbers, a matrix of 2 columns (first column is longitude, second column is latitude) or a SpatialPoints* object 
p1 
as above 
p2 
as above 
azi 
numeric. Azimuth of departure in degrees 
d 
numeric. Distance in meters 
a 
numeric. Major (equatorial) radius of the ellipsoid. The default value is for WGS84 
f 
numeric. Ellipsoid flattening. The default value is for WGS84 
... 
additional arguments (none implemented) 
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: http://en.wikipedia.org/wiki/Reference_ellipsoid
Value
Three column matrix with columns 'longitude', 'latitude', 'azimuth' (geodesic); or 'distance' (in meters), 'azimuth1' (of departure), 'azimuth2' (of arrival) (geodesic_inverse)
Author(s)
This function calls GeographicLib code by C.F.F. Karney
References
C.F.F. Karney, 2013. Algorithms for geodesics, J. Geodesy 87: 4355. https://dx.doi.org/10.1007/s001900120578z. Addenda: http://geographiclib.sf.net/geodaddenda.html. Also see http://geographiclib.sourceforge.net/
See Also
distGeo
Examples
1 2  geodesic(cbind(0,0), 30, 1000000)
geodesic_inverse(cbind(0,0), cbind(90,90))
