focal (3) geodesic.3.gz

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)