OS Manuals

/usr/bin/GeodesicProj

C++ library and tools for geographic calculations

From geographiclib 2.7-r3 (enterprise-packages), captured 2026-11-08 by running GeodesicProj --help (exit 0). permalink

Man page:

SYNOPSIS
       GeodesicProj ( -z | -c | -g ) lat0 lon0 [ -r ] [ -e a f ] [ -w ] [ -p
       prec ] [ --comment-delimiter commentdelim ] [ --version | -h | --help ]
       [ --input-file infile | --input-string instring ] [ --line-separator
       linesep ] [ --output-file outfile ]

DESCRIPTION
       Perform projections based on geodesics.  Convert geodetic coordinates
       to either azimuthal equidistant, Cassini-Soldner, or gnomonic
       coordinates.  The center of the projection (lat0, lon0) is specified by
       either the -c option (for Cassini-Soldner), the -z option (for
       azimuthal equidistant), or the -g option (for gnomonic).  At least one
       of these options must be given (the last one given is used).

       Geodetic coordinates are provided on standard input as a set of lines
       containing (blank separated) latitude and longitude (decimal degrees or
       degrees, minutes, seconds); for details on the allowed formats for
       latitude and longitude, see the "GEOGRAPHIC COORDINATES" section of
       GeoConvert(1).  For each set of geodetic coordinates, the corresponding
       projected coordinates x, y (meters) are printed on standard output
       together with the azimuth azi (degrees) and reciprocal scale rk.  For
       Cassini-Soldner, azi is the bearing of the easting direction and the
       scale in the easting direction is 1 and the scale in the northing
       direction is 1/rk.  For azimuthal equidistant and gnomonic, azi is the
       bearing of the radial direction and the scale in the azimuthal
       direction is 1/rk.  For azimuthal equidistant and gnomonic, the scales
       in the radial direction are 1 and 1/rk^2, respectively.

OPTIONS
       -z lat0 lon0
           use the azimuthal equidistant projection centered at latitude =
           lat0, longitude = lon0.  The -w flag can be used to swap the
           default order of the 2 coordinates, provided that it appears before
           -z.

       -c lat0 lon0
           use the Cassini-Soldner projection centered at latitude = lat0,
           longitude = lon0.  The -w flag can be used to swap the default
           order of the 2 coordinates, provided that it appears before -c.

       -g lat0 lon0
           use the ellipsoidal gnomonic projection centered at latitude =
           lat0, longitude = lon0.  The -w flag can be used to swap the
           default order of the 2 coordinates, provided that it appears before
           -g.

       -r  perform the reverse projection.  x and y are given on standard
           input and each line of standard output gives latitude, longitude,
           azi, and rk.

       -e a f
           specify the ellipsoid via the equatorial radius, a and the
           flattening, f.  Setting f = 0 results in a sphere.  Specify f < 0
           for a prolate ellipsoid.  A simple fraction, e.g., 1/297, is
           allowed for f.  By default, the WGS84 ellipsoid is used, a =
           6378137 m, f = 1/298.257223563.

       -w  toggle the longitude first flag (it starts off); if the flag is on,
           then on input and output, longitude precedes latitude (except that,
           on input, this can be overridden by a hemisphere designator, N, S,
           E, W).

       -p prec
           set the output precision to prec (default 6).  prec is the number
           of digits after the decimal point for lengths (in meters).  For
           latitudes, longitudes, and azimuths (in degrees), the number of
           digits after the decimal point is prec + 5.  For the scale, the
           number of digits after the decimal point is prec + 6.

       --comment-delimiter commentdelim
           set the comment delimiter to commentdelim (e.g., "#" or "//").  If
           set, the input lines will be scanned for this delimiter and, if
           found, the delimiter and the rest of the line will be removed prior
           to processing and subsequently appended to the output line
           (separated by a space).

       --version
           print version and exit.

       -h  print usage and exit.

       --help
           print full documentation and exit.

       --input-file infile
           read input from the file infile instead of from standard input; a
           file name of "-" stands for standard input.

       --input-string instring
           read input from the string instring instead of from standard input.
           All occurrences of the line separator character (default is a
           semicolon) in instring are converted to newlines before the reading
           begins.

       --line-separator linesep
           set the line separator character to linesep.  By default this is a
           semicolon.

       --output-file outfile
           write output to the file outfile instead of to standard output; a
           file name of "-" stands for standard output.

EXAMPLES
          echo 48.648 -2.007 | GeodesicProj -c 48.836 2.337
          => -319919 -11791 86.7 0.999
          echo -319919 -11791 | GeodesicProj -c 48.836 2.337 -r
          => 48.648 -2.007 86.7 0.999

ERRORS
       An illegal line of input will print an error message to standard output
       beginning with "ERROR:" and causes GeodesicProj to return an exit code
       of 1.  However, an error does not cause GeodesicProj to terminate;
       following lines will be converted.

SEE ALSO
       The ellipsoidal gnomonic projection is derived in Section 8 of C. F. F.
       Karney, Algorithms for geodesics, J. Geodesy 87, 43-55 (2013); DOI
       <https://doi.org/10.1007/s00190-012-0578-z>; addenda:
       <https://geographiclib.sourceforge.io/geod-addenda.html>.

AUTHOR
       GeodesicProj was written by Charles Karney.

HISTORY
       GeodesicProj was added to GeographicLib,
Options (15)
OptionDescriptionSource
-z lat0use the azimuthal equidistant projection centered at latitude = lat0, longitude = lon0.help + man
-g lat0use the ellipsoidal gnomonic projection centered at latitude = lat0, longitude = lon0.help + man
-rperform the reverse projection.help + man
-wtoggle the longitude first flag (it starts off);help + man
-p precset the output precision to prec (default 6).help + man
--comment-delimiter commentdelimset the comment delimiter to commentdelim (e.g., "#" or "//").help + man
--versionprint version and exit.help + man
-hprint usage and exit.help + man
--helpprint full documentation and exit.help + man
--input-file infileread input from the file infile instead of from standard input;help + man
--input-string instringread input from the string instring instead of from standard input.help + man
--line-separator linesepset the line separator character to linesep.help + man
--output-file outfilewrite output to the file outfile instead of to standard output;help + man
-c lat0use the Cassini-Soldner projection centered at latitude = lat0, longitude = lon0. (in the manual page but not in --help)man
-e aspecify the ellipsoid via the equatorial radius, a and the flattening, f. (in the manual page but not in --help)man
Examples (1) from the manual page, untested

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.