GeodesicProj -- perform projections based on geodesics
Contents
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.
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.
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
History
GeodesicProj was added to GeographicLib, <https://geographiclib.sourceforge.io>, in 2009-08. Prior to
version 1.9 it was called EquidistantTest.
GeographicLib 2.5 2024-12-28 GEODESICPROJ(1)
Name
GeodesicProj -- perform projections based on geodesics
Options
-zlat0lon0
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.
-clat0lon0
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.
-glat0lon0
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.
-eaf
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).
-pprec
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-delimitercommentdelim
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-fileinfile
read input from the file infile instead of from standard input; a file name of "-" stands for
standard input.
--input-stringinstring
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-separatorlinesep
set the line separator character to linesep. By default this is a semicolon.
--output-fileoutfile
write output to the file outfile instead of to standard output; a file name of "-" stands for
standard output.
See Also
The ellipsoidal gnomonic projection is derived in Section 8 of C. F. F. Karney, Algorithmsforgeodesics,
J. Geodesy 87, 43-55 (2013); DOI <https://doi.org/10.1007/s00190-012-0578-z>; addenda:
<https://geographiclib.sourceforge.io/geod-addenda.html>.
Synopsis
GeodesicProj ( -z | -c | -g ) lat0lon0 [ -r ] [ -eaf ] [ -w ] [ -pprec ] [ --comment-delimitercommentdelim ] [ --version | -h | --help ] [ --input-fileinfile | --input-stringinstring ] [
--line-separatorlinesep ] [ --output-fileoutfile ]
