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  radi‐
       ans.   The documentation for this library is included in geodesic.h.  A formatted version of the documen‐
       tation is available at https://geographiclib.sourceforge.io/1.50/C.  Detailed documentation of the inter‐
       face 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 sub‐
       mitted too.

HOME PAGE

       https://proj.org/

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