Provided by: libproj-dev_6.3.1-1_amd64 bug

NAME

       geod_init - initialize an ellipsoid
       geod_direct geod_gendirect - the direct geodesic problem
       geod_inverse geod_geninverse - the inverse geodesic problem
       geod_lineinit  geod_directline geod_gendirectline geod_inverseline - initialize a geodesic
       line
       geod_setdistance geod_gensetdistance - set distance to reference point
       geod_position geod_genposition - a position on a geodesic line
       geod_polygon_init - initialize a polygon
       geod_addpoint geod_addedge - add to a polygon
       geod_polygon_compute geod_polygon_testpoint geod_polygon_testedge - compute properties  of
       polygon
       geod_polygon_clear - clear polygon
       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  https://geographiclib.sourceforge.io/1.50/C.    Detailed
       documentation         of         the         interface         is         given         at
       https://geographiclib.sourceforge.io/1.50/C/geodesic_8h.html.

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",
                      &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),
       https://geographiclib.sourceforge.io/1.50/C
       https://geographiclib.sourceforge.io/1.50/C/geodesic_8h.html

       geod(1)

       GeographicLib, https://geographiclib.sourceforge.io

       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: https://doi.org/10.1007/s00190-012-0578-z
       https://geographiclib.sourceforge.io/geod-addenda.html

       A geodesic bibliography,
       https://geographiclib.sourceforge.io/geodesic-papers/biblio.html

       The Wikipedia page, Geodesics on an ellipsoid,
       https://en.wikipedia.org/wiki/Geodesics_on_an_ellipsoid

BUGS

       A list of known bugs can  found  at  https://github.com/OSGeo/PROJ/issues  where  new  bug
       reports can be submitted too.

HOME PAGE

       https://proj.org/

                                      2020/02/10 Rel. 6.3.1                           GEODESIC(3)