DragonFly On-Line Manual Pages
GEODESIC(3) DragonFly Library Functions Manual GEODESIC(3)
NAME
geod_init - initialize an ellipsoid
geod_lineinit - initialize a geodesic line
geod_position - a position on a geodesic line
geod_direct - the direct geodesic problem
geod_inverse - the inverse geodesic problem
geod_polygonarea - the area of a polygon
SYNOPSIS
#include <geodesic.h>
and link against the proj library.
DESCRIPTION
This library is a port of the geodesic routines in the C++ library,
GeographicLib, to C. It solves the direct and inverse geodesic
problems on an ellipsoid of revolution. In addition, the reduced
length of a geodesic and the area between a geodesic and the equator
can be computed. The results are accurate to round off for |f| < 1/50,
where f is the flattening. Note that the geodesic routines measure
angles (latitudes, longitudes, and azimuths) in degrees, unlike the
rest of the proj library, which uses radians. The documentation for
this library is included in geodesic.h. A formatted version of the
documentation is available at http://geographiclib.sf.net/1.40/C
EXAMPLE
The following program reads in lines with the coordinates for two
points in decimal degrees (lat1, lon1, lat2, lon2) and prints out azi1,
azi2, s12 for the geodesic line between each pair of points on the
WGS84 ellipsoid. (N.B. azi2 is the forward azimuth at point 2.)
#include <stdio.h>
#include <geodesic.h>
int main() {
double a = 6378137, f = 1/298.257223563; /* WGS84 */
double lat1, lon1, azi1, lat2, lon2, azi2, s12;
struct geod_geodesic g;
geod_init(&g, a, f);
while (scanf("%lf %lf %lf %lf\n",
&lat1, &lon1, &lat2, &lon2) == 4) {
geod_inverse(&g, lat1, lon1, lat2, lon2,
&s12, &azi1, &azi2);
printf("%.8f %.8f %.3f\n", azi1, azi2, s12);
}
return 0;
}
LIBRARY
libproj.a - library of projections and support procedures
SEE ALSO
Full online documentation for geodesic(3),
http://geographiclib.sf.net/1.40/C
geod(1)
GeographicLib, http://geographiclib.sf.net
The GeodesicExact class in GeographicLib solves the geodesic problems
in terms of elliptic integrals; the results are accurate for arbitrary
f.
C. F. F. Karney, Algorithms for Geodesics,
J. Geodesy 87, 43-55 (2013);
DOI: http://dx.doi.org/10.1007/s00190-012-0578-z
http://geographiclib.sf.net/geod-addenda.html
The online geodesic bibliography,
http://geographiclib.sf.net/geodesic-papers/biblio.html
HOME PAGE
http://proj.osgeo.org
2014/12/17 Rel. 4.9.0 GEODESIC(3)