GeodesicProj -- perform projections based on geodesics
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
]
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.
-
-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.
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
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.
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>.
GeodesicProj was written by Charles Karney.
GeodesicProj was added to GeographicLib,
<
https://geographiclib.sourceforge.io>, in 2009-08. Prior to version 1.9
it was called EquidistantTest.